t895
698c854d5b
android: Compare all properties between games in DiffCallback
2023-12-12 17:25:37 -05:00
t895
ca5b135ddf
android: Expose MemoryUtil size formatting function
2023-12-12 17:25:37 -05:00
t895
dbddc627d4
android: Add JNI initialization information for Game class
...
Unused in this PR, but will be useful later
2023-12-12 17:25:37 -05:00
t895
62fc386bb4
settings: Allow CPU Debug and Fastmem to be changed per-game
2023-12-12 17:25:37 -05:00
t895
f2eb3c579f
android: Add per-game drivers
2023-12-12 17:25:37 -05:00
t895
2fce812026
android: Add per-game settings
2023-12-12 17:25:36 -05:00
t895
e975f3cde9
android: Add Game properties
...
This commit has the UI for viewing a game's properties on long-press and some links to useful tools like
- Game info
- Shortcut to settings (global in this commit)
- Addon manager with installer
- Save data manager
- Option to clear all save data
- Option to clear shader cache
2023-12-12 17:25:36 -05:00
t895
6b5fb2063f
frontend_common: Fix settings reload bug
...
This clears the touch_from_button_maps array before we read new data into it because this read duplicate data on a reload otherwise.
2023-12-12 17:25:36 -05:00
t895
70c3d36536
android: Refactor settings to expose more options
...
In AbstractSetting, this removes the category, androidDefault, and valueAsString properties as they are no longer needed and have replacements. isSwitchable, global, and getValueAsString are all exposed and give better options for working with global/per-game settings.
2023-12-12 17:25:36 -05:00
t895
a53cd2854e
android: Listen for directory selection in viewmodel
...
Fixes broken game directory selection setup flow
2023-12-08 22:02:04 -05:00
t895
8225ac004e
settings: Enable NCE by default on capable systems
2023-12-08 20:25:07 -05:00
t895
5d4da07943
frontend_common: Use optional for language default
2023-12-04 19:49:01 -05:00
t895
08be9cff0f
android: Don't reload filesystem on update install
2023-12-01 20:19:28 -05:00
t895
7dddf5cb3c
android: Save global settings in onStop
2023-11-27 23:46:30 -05:00
t895
b8f66c9412
android: Multi directory UI
2023-11-27 23:46:29 -05:00
Charles Lombardo and GitHub
5a182f4e7c
Merge pull request #11889 from t895/ini-lib
...
configuration: Unify config handling across frontends
2023-11-24 22:59:55 -05:00
t895
dda187d300
frontend_common: Don't specify default value for screenshot_path
2023-11-23 00:36:45 -05:00
t895
0b8218d8eb
frontend_common: Don't load config files that we fail to open
2023-11-23 00:30:49 -05:00
t895
d8f380961e
frontend_common: Add option to read unsigned integers
2023-11-21 21:01:46 -05:00
t895
1654b8f9e0
frontend_common: Set config array size to 0 if the array is ended without changing its index
2023-11-21 15:14:41 -05:00
t895
14398a1cbb
frontend_common: Manually handle opening config file
...
SimpleIni only has the ability to use ANSI strings for config paths so this breaks opening configs on paths with special characters. This ensures that we open the right path on each platform.
2023-11-21 14:53:32 -05:00
t895
f3fe362c93
frontend_common: Add special config case for unmapped windows network drives
...
Normally we save paths with '/' as the delimiter for each segment but when you manually select a network drive instead of using a mapped location, this would break. This ensures that if the read filesystem location starts with '//', we keep that pattern.
2023-11-21 01:58:13 -05:00
t895
eedecaef96
frontend_common: Disable UTF-8 BOM in config
2023-11-21 01:58:13 -05:00
t895
e637ec0c38
android: Rework config lifecycle
...
Exposes options for initializing, unloading, reloading, and saving settings that let us update the config much more granularly based on what's happening in the UI.
2023-11-21 01:58:13 -05:00
t895
e744c06f61
android: Remove ini4j
2023-11-21 01:58:13 -05:00
t895
ac522db857
common: settings: Add ifdefs to define android's default settings
2023-11-21 01:58:13 -05:00
t895
aa20311969
general: Remove inih
2023-11-21 01:58:13 -05:00
t895
da14c7b8e4
config: Unify config handling under frontend_common
...
Replaces every way of handling config for each frontend with SimpleIni. frontend_common's Config class is at the center where it saves and loads all of the cross-platform settings and provides a set of pure virtual functions for platform specific settings.
As a result of making config handling platform specific, several parts had to be moved to each platform's own config class or to other parts. Default keys were put in platform specific config classes and translatable strings for Qt were moved to shared_translation. Default hotkeys, default_theme, window geometry, and qt metatypes were moved to uisettings. Additionally, to reduce dependence on Qt, QStrings were converted to std::strings where applicable.
2023-11-21 01:58:13 -05:00
t895
0298c2cc5d
translations: Add android translations to transifex config
2023-11-20 10:37:09 -05:00
t895
82a4a67f6b
android: Use file picker intent for save exporter
2023-11-19 17:52:53 -05:00
t895
8e93a9a9ef
android: Use path instead of programId for recently added / played key
2023-11-19 16:00:41 -05:00
t895
23c1f7c72f
android: Select recently played games by default in search tab
2023-11-19 15:57:05 -05:00
t895
d3ed771f39
android: Allow up to 400% for the limit speed percent setting
2023-11-19 15:36:25 -05:00
t895
e2be180136
android: Disable PiP by default
2023-11-15 10:30:43 -05:00
t895
fcd54c6479
android: Don't enter PiP during startup or shutdown
2023-11-14 18:11:38 -05:00
t895
08296f151e
android: Add drop shadow to FPS counter
...
Also let the style control the text size
2023-11-14 17:53:40 -05:00
t895
4d0b7f8496
android: Use suspend function for creating dynamic shortcuts
...
If the coil loader ever got stuck when creating a dynamic shortcut icon, the app would freeze. This would happen most notably when booting nca format games. This pushes that process to a separate coroutine that can be cancelled by the main activity's lifecycle.
2023-11-14 10:57:00 -05:00
t895
4aac971864
android: Use the same transition animation between every fragment in settings
...
The animation that I used for entering search was prone to weird visual bugs and could appear visually jarring. This just makes things appear more consistent.
2023-11-12 21:36:51 -05:00
t895
6c93cdffb1
android: Use more padding on top of each settings header
2023-11-12 21:36:51 -05:00
t895
470714e2d1
android: Remove dividers between each setting
2023-11-12 21:36:51 -05:00
t895
6b888b0fa8
android: Add icons and descriptions to the first-level advanced settings page
...
Additionally adjusts padding to place the icons in-line with the back button in the top app bar and makes the text for normal settings appear in-line with the expanded top app bar title.
2023-11-12 21:36:50 -05:00
t895
1a1393dad7
android: Remove general section from settings
...
Limit speed options were moved to system, cpu accuracy was moved to debug, and PiP was moved to graphics.
2023-11-12 19:08:57 -05:00
t895
55412962c0
android: Remove "auto" region option
...
This doesn't exist and if you clicked it, your region would be set to Taiwan.
2023-11-12 15:45:42 -05:00
t895
d920da2631
android: Add a landscape-specific layout to the about page
...
Moves the logo to the side to fit more information on screen
2023-11-12 13:56:42 -05:00
t895
ff72bf2cb2
android: Shrink logo in about page
2023-11-12 13:56:13 -05:00
t895
4efb9763d9
android: Shrink logo in settings tab
...
Adjusts padding between the cards and logo to fit appropriately
2023-11-12 13:55:20 -05:00
t895
c600bc8652
android: Fix top app bar tint being cut off in the about fragment
...
Adjust margin on the toolbar, not the app bar
2023-11-12 13:54:31 -05:00
t895
09f993899e
android: Hide loading animation on first frame
2023-11-09 22:27:40 -05:00
Charles Lombardo and GitHub
737d1cea62
Merge pull request #11974 from t895/ci-fix-again
...
ci: android: Declare secrets during build step
2023-11-06 11:03:19 -05:00
Charles Lombardo
2f8e237ab7
ci: android: Declare secrets during build step
2023-11-05 21:09:21 -05:00
Charles Lombardo
5191465b0a
android: Simplify FPS counter padding
2023-11-05 18:34:27 -05:00
Charles Lombardo
50c604f37f
android: Color the FPS counter white
2023-11-05 18:29:00 -05:00
Charles Lombardo
9543adf072
android: Always update FPS counter
2023-11-04 00:04:20 -04:00
Charles Lombardo
036d2686af
android: Don't reload log/system after loading firmware/backup
2023-11-03 22:49:31 -04:00
Charles Lombardo and GitHub
a80e0e7da5
Merge pull request #11954 from t895/log-hardware
...
android: Log more system information
2023-11-03 21:16:35 -04:00
Charles Lombardo
4b321c003c
arm: NativeClock: Special handling for bad system counter clock frequency reporting
...
On some devices, checking the system counter clock frequency will return 0. Substitute in the correct values to prevent issues.
2023-11-03 16:21:54 -04:00
Charles Lombardo
0a83047368
android: Log more system information during startup
...
Logs device manufacturer/model, SoC manufacturer/model where available, and the total system memory
2023-11-03 15:52:01 -04:00
Charles Lombardo
9bb8ac7cb6
android: Fix fetching system memory size from MemoryUtil
...
We weren't rounding up the value at a unit before (GB, MB, etc) we were rounding up the total bytes and that would do nothing. This fixes that, and the check for total system memory during first emulation start where we tried to check the required system memory against 1 gigabyte.
2023-11-03 15:51:17 -04:00
Charles Lombardo
b3a1f793c3
android: Update surface parameters on emulation start
...
This adds a quick update that notifies the render surface if there was a change between surface creation and emulation starting.
2023-11-03 13:31:06 -04:00
Charles Lombardo
398e881428
android: Adjust log lifecycle
...
Now logging will start when the frontend starts like qt does. This also adjusts the share log button to follow where we share the current log if we just returned from a game or return the old log if we haven't started a game yet.
2023-11-01 14:41:19 -04:00
Charles Lombardo
92418e909f
android: Use yuzu logging system
...
Now anything that's logged in the frontend will be printed into the log file
2023-11-01 14:41:19 -04:00
Charles Lombardo
344162db75
android: Default to player number 0 if we get an input from an unrecognized controller
2023-11-01 13:10:51 -04:00
Charles Lombardo
5872c7d420
android: Adjust driver manager source string
2023-11-01 00:18:20 -04:00
Charles Lombardo
2b6edd3efd
android: Reorganize settings tab
2023-11-01 00:17:38 -04:00
Charles Lombardo and GitHub
987b37798a
Merge pull request #11932 from t895/translations-update
...
android: Update translations
2023-10-31 23:04:13 -04:00
Charles Lombardo
135b645b3d
ci: android: Use signing key if available
...
Lets gradle handle apk signing when available
2023-10-31 22:23:57 -04:00
Charles Lombardo
97b4ca1d01
android: Auto-generate locale config
2023-10-31 22:07:44 -04:00
Charles Lombardo
1d7ff850d6
android: Update translations from transifex
2023-10-31 22:07:43 -04:00
Charles Lombardo
133788d0d4
android: Initialize filesystem components during application start
2023-10-31 14:41:40 -04:00
Charles Lombardo
e8cb8b2668
android: Implement applet launcher
2023-10-31 14:41:40 -04:00
Charles Lombardo
f7755df2af
android: Reorder controller indexes and only use controllers
...
Before we could ignore controller inputs by forwarding them to player two if a non-controller was connected before and recognized as an input device.
2023-10-30 21:38:51 -04:00
Charles Lombardo
e867768316
android: Simplify game card layout
...
Using a material card view to shape the image was just a waste of a layout pass. A shapeable image view does what we want and does it faster.
2023-10-30 13:28:52 -04:00
Charles Lombardo
f04bc172ae
android: FileUtil: Add option to suppress log for native exists() calls
...
We often check for the existence of files that only exist in ExeFS so this can spam logcat with useless messages when scanning for games.
2023-10-30 11:38:10 -04:00
Charles Lombardo
585b6e9d46
android: Fix resolving android URIs in native code
2023-10-30 11:38:10 -04:00
Charles Lombardo
a9e29a3972
android: Refactor game metadata collection to new file
...
This also removes irrelevant data and adds new information from/to the Game data class and RomMetadata struct
2023-10-30 11:38:09 -04:00
Charles Lombardo
1e61c3e1e7
android: Use header for EmulationSession
2023-10-30 11:28:23 -04:00
Charles Lombardo
70be45c992
android: InputHandler: Convert to object
...
This doesn't need to be an instance of a class because it doesn't hold any data. It's just all helper functions.
2023-10-30 01:20:27 -04:00
Charles Lombardo
9b3c64f4a4
android: Removed unused ControllerMappingHelper
2023-10-30 01:20:27 -04:00
Charles Lombardo
2c1d850b46
android: Release touch on input overlay when opening in-game menu
2023-10-29 21:42:47 -04:00
Charles Lombardo
2581590023
android: Move game deserialization to another thread
...
Deserializing games from the cache in shared preferences was done on the main thread and could cause a stutter on startup.
2023-10-29 21:29:32 -04:00
Charles Lombardo
a5aa5876b4
android: Break home settings into grid with large screens
2023-10-29 13:47:41 -04:00
Charles Lombardo and GitHub
3e4edbe007
Merge pull request #11767 from t895/gradle-stuff
...
android: Update dependencies
2023-10-13 15:08:47 -04:00
Charles Lombardo and GitHub
4a9240599a
Merge pull request #11773 from t895/manager-fix
...
android: Fix incorrect assumption for driver installation validation
2023-10-13 15:08:39 -04:00
Charles Lombardo
82c845dc2f
android: Fix incorrect assumption for driver installation validation
...
The driver was assumed to be installed at this point before I made a refactor. Now we just check if the copy operation was successful and delete the file if it fails.
2023-10-13 13:50:38 -04:00
Charles Lombardo
3aa6d4d8ce
android: Allow ANDROID_STL
2023-10-13 12:55:41 -04:00
Charles Lombardo
9b961dddb4
android: Remove unnecessary flag to extract native libs in AndroidManifest.xml
2023-10-13 12:55:41 -04:00
Charles Lombardo
224b6036a4
android: Update dependencies
...
Updates to androidx navigation, lifecycle, preference, fragment, recyclerview, and core
2023-10-13 12:55:41 -04:00
Charles Lombardo
2c3281c66b
externals: Update LLVM to 17.0.2
...
Matches android ndk
2023-10-13 12:55:41 -04:00
Charles Lombardo
1591923f91
android: Update ndk to 26.1.10909125
...
The new ndk uses LLVM 17.0.2 so we can remove the LLVM download and libc++ options for the android builds
2023-10-13 12:55:41 -04:00
Charles Lombardo
8b64878258
android: Update AGP to 8.1.2
2023-10-12 18:59:57 -04:00
Charles Lombardo
a5fb9de6fa
android: Add GPU driver management fragment
...
Implements a GPU driver manager that saves all drivers to the user data directory and asynchronously installs drivers when they're needed.
2023-10-12 17:17:21 -04:00
Charles Lombardo
26f9d1f122
android: Use application context for all FileUtil functions
2023-10-01 15:56:02 -04:00
Charles Lombardo and GitHub
882859bc78
Merge pull request #11613 from t895/fragment-exception-change
...
android: Various play store fixes
2023-09-27 18:08:54 -04:00
Charles Lombardo
22284fc504
android: Prevent crash when trying to change pages in setup fragment
...
Sometimes when we want to change the current setup page, the current view isn't available and we try to alter the current view. This adds a guard to prevent that issue.
2023-09-27 13:40:09 -04:00
Charles Lombardo
d70f18b87b
android: Prevent setup fragment crash in background
...
Sometimes during onSaveInstanceState, the SetupFragment would crash the app in the background if we tried to store the state of a view.
2023-09-27 13:40:09 -04:00
Charles Lombardo
ec388622ff
android: Don't update views if binding is null in onConfigurationChanged
2023-09-27 13:40:09 -04:00
Charles Lombardo
6a425e95cb
android: Don't wait for post to update input overlay visibility
2023-09-27 13:40:09 -04:00
Charles Lombardo
1fdfedc43e
android: Close activity with toast if emulation has no game
2023-09-27 13:40:09 -04:00
Charles Lombardo and GitHub
18b240c071
Merge pull request #11616 from t895/save-error
...
android: Correctly reload settings file during reset
2023-09-27 10:51:05 -04:00
Charles Lombardo and GitHub
0aa99b8f47
Merge pull request #11603 from t895/consolidate-installs
...
android: Consolidate installers to one fragment
2023-09-27 10:50:38 -04:00