t895
ac73c85c7b
android: Always use custom settings when launched from intent
2023-12-12 17:25:37 -05:00
t895
32f5aa3ae8
android: Adjust variable name format for native config
2023-12-12 17:25:37 -05:00
t895
0a7b3db9a0
android: Add game dir entries to FilesystemProvider
...
Allows us to correctly parse update metadata
2023-12-12 17:25:37 -05:00
t895
e3ed46e72b
android: Fix games list loading thread safety
...
Previously we relied on a stateflow for reloading state. Now we use an atomic boolean.
2023-12-12 17:25:37 -05:00
t895
1c0730959b
android: Collect latest information for games list
2023-12-12 17:25:37 -05:00
t895
88f4217c8f
android: Remove global save import/exporter UI
...
The original implementation exposed here was fundamentally broken where it would not export or import all of your saves depending on your user profile configuration
2023-12-12 17:25:37 -05:00
t895
349b06bcc6
android: Compare all properties between games in DiffCallback
2023-12-12 17:25:37 -05:00
t895
1a2f96badb
android: Expose MemoryUtil size formatting function
2023-12-12 17:25:37 -05:00
t895
b652ea328b
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
6cf701ae25
android: Add per-game drivers
2023-12-12 17:25:37 -05:00
t895
44271a7cc5
android: Add per-game settings
2023-12-12 17:25:36 -05:00
t895
363eaa185c
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
10eee4c0c3
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
Liam
ecb3d74dcd
nce: implement instruction emulation for misaligned memory accesses
2023-12-10 18:23:42 -05:00
german77
c2b2d7a903
core: Use single instance of profile manager
2023-12-10 11:29:43 -06:00
t895
a939ceb7cb
android: Listen for directory selection in viewmodel
...
Fixes broken game directory selection setup flow
2023-12-08 22:02:04 -05:00
t895
cb32614e4e
android: Don't reload filesystem on update install
2023-12-01 20:19:28 -05:00
liamwhite
da8676dda1
Merge pull request #12074 from GPUCode/yuwu-on-the-metal
...
Implement Native Code Execution (NCE)
2023-11-30 09:20:55 -05:00
liamwhite
308b8211ef
Merge pull request #12204 from t895/config-migration
...
android: Multi directory UI
2023-11-29 12:34:09 -05:00
t895
125b12e808
android: Save global settings in onStop
2023-11-27 23:46:30 -05:00
t895
f22099942f
android: Multi directory UI
2023-11-27 23:46:29 -05:00
german77
007ca4f80e
android: input: Flip abxy on backbone labs controllers
2023-11-25 18:22:03 -06:00
german77
a8211485f5
android: input: Flip abxy on redmagic controllers
2023-11-25 10:53:59 -06:00
GPUCode
1e5a1d1702
Address more review comments
2023-11-25 00:47:43 -05:00
Liam
8ad895c164
android: show current backend in fps overlay
2023-11-25 00:47:36 -05:00
GPUCode
3764cc4be2
android: Add cpu bakend gui toggle
2023-11-25 00:47:28 -05:00
t895
a830d9af3e
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
4b8d9604ab
android: Remove ini4j
2023-11-21 01:58:13 -05:00
t895
227c5ecbb1
general: Remove inih
2023-11-21 01:58:13 -05:00
t895
230bd06245
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
liamwhite
671df51874
Merge pull request #12093 from t895/zip-intent
...
android: Use file picker intent for save exporter
2023-11-20 09:38:44 -05:00
liamwhite
93ae67ce97
Merge pull request #12092 from t895/recent-games-default
...
android: Select recently played games by default in search tab
2023-11-20 09:38:36 -05:00
t895
e60440e42c
android: Use file picker intent for save exporter
2023-11-19 17:52:53 -05:00
t895
2129d33eaa
android: Use path instead of programId for recently added / played key
2023-11-19 16:00:41 -05:00
t895
edb8d4c406
android: Select recently played games by default in search tab
2023-11-19 15:57:05 -05:00
t895
0b747daa41
android: Allow up to 400% for the limit speed percent setting
2023-11-19 15:36:25 -05:00
t895
3a60a7c776
android: Disable PiP by default
2023-11-15 10:30:43 -05:00
liamwhite
d61160d21d
Merge pull request #12034 from t895/fps-outline
...
android: Add drop shadow to FPS counter
2023-11-14 18:20:24 -05:00
t895
a1e302cc69
android: Don't enter PiP during startup or shutdown
2023-11-14 18:11:38 -05:00
t895
38c8e7f6ee
android: Add drop shadow to FPS counter
...
Also let the style control the text size
2023-11-14 17:53:40 -05:00
t895
dfe5b1545d
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
liamwhite
88fc1c2a8c
Merge pull request #12014 from t895/shrink-logo
...
android: Shrink branding images
2023-11-13 09:12:16 -05:00
liamwhite
8f761e622c
Merge pull request #12015 from t895/remove-auto
...
android: Remove "auto" region option
2023-11-13 09:12:07 -05:00
t895
975bdf8302
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
35f88ad90a
android: Use more padding on top of each settings header
2023-11-12 21:36:51 -05:00
t895
74bb8371a1
android: Remove dividers between each setting
2023-11-12 21:36:51 -05:00
t895
260ff2b43f
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
2ed0850b83
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
91cd83b480
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
df567abb9d
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
f49e9a2a30
android: Shrink logo in about page
2023-11-12 13:56:13 -05:00
t895
551bde2598
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
d2eac17cda
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
95684f9fd4
android: Hide loading animation on first frame
2023-11-09 22:27:40 -05:00
liamwhite
3b292177eb
Merge pull request #11972 from t895/fps-counter-adjustments
...
android: FPS counter adjustments
2023-11-06 11:09:59 -05:00
Charles Lombardo
faa2a17ad1
android: Simplify FPS counter padding
2023-11-05 18:34:27 -05:00
Charles Lombardo
751211e681
android: Color the FPS counter white
2023-11-05 18:29:00 -05:00
Charles Lombardo
b7dad6a1b0
android: Always update FPS counter
2023-11-04 00:04:20 -04:00
Charles Lombardo
0d957d05d6
android: Don't reload log/system after loading firmware/backup
2023-11-03 22:49:31 -04:00
Charles Lombardo
ff12abbd81
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
9edeefab44
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
c6c8a10ba5
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
liamwhite
d2e10f69ef
Merge pull request #11942 from t895/log-version
...
android: Adjust log lifecycle
2023-11-01 15:45:53 -04:00
Charles Lombardo
5611471909
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
4c2a802547
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
2befdba713
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
dc34cf21dc
android: Adjust driver manager source string
2023-11-01 00:18:20 -04:00
Charles Lombardo
2ec397608f
android: Reorganize settings tab
2023-11-01 00:17:38 -04:00
Charles Lombardo
008548cfb3
android: Auto-generate locale config
2023-10-31 22:07:44 -04:00
Charles Lombardo
a3e2c34486
android: Update translations from transifex
2023-10-31 22:07:43 -04:00
liamwhite
e6597d3c87
Merge pull request #11931 from t895/applet-launcher
...
android: Applet launcher UI
2023-10-31 16:55:57 -04:00
Charles Lombardo
035b4317a1
android: Initialize filesystem components during application start
2023-10-31 14:41:40 -04:00
Charles Lombardo
7cccf0e7a3
android: Implement applet launcher
2023-10-31 14:41:40 -04:00
liamwhite
85b4af2ba0
Merge pull request #11925 from t895/controller-fix
...
android: Fix controllers stuck on player 2
2023-10-31 09:47:42 -04:00
Charles Lombardo
9cdb6b1180
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
liamwhite
bf9bd6b521
Merge pull request #11922 from t895/simplify-card-layout
...
android: Simplify game card layout
2023-10-30 15:32:45 -04:00
Charles Lombardo
8e9b3d97e8
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
366f5b80d6
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
df17162f9c
android: Fix resolving android URIs in native code
2023-10-30 11:38:10 -04:00
Charles Lombardo
8500e7bc8f
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
225df3ff23
android: Use header for EmulationSession
2023-10-30 11:28:23 -04:00
liamwhite
1e223c499b
Merge pull request #11916 from t895/focus-fix
...
android: Release touch on input overlay when opening in-game menu
2023-10-30 09:59:53 -04:00
liamwhite
2fd7fb828b
Merge pull request #11915 from t895/startup-freeze
...
android: Move game deserialization to another thread
2023-10-30 09:59:45 -04:00
Charles Lombardo
94d24c3b42
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
a70a3bbcd0
android: Removed unused ControllerMappingHelper
2023-10-30 01:20:27 -04:00
Charles Lombardo
87f3232ae9
android: Release touch on input overlay when opening in-game menu
2023-10-29 21:42:47 -04:00
Charles Lombardo
44e8e8c169
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
80087ac9dc
android: Break home settings into grid with large screens
2023-10-29 13:47:41 -04:00
Charles Lombardo
f34c6df566
Merge pull request #11767 from t895/gradle-stuff
...
android: Update dependencies
2023-10-13 15:08:47 -04:00
Charles Lombardo
a8aaa2674c
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
fca03a83ef
android: Remove unnecessary flag to extract native libs in AndroidManifest.xml
2023-10-13 12:55:41 -04:00
Charles Lombardo
646a5d1bc1
android: Update dependencies
...
Updates to androidx navigation, lifecycle, preference, fragment, recyclerview, and core
2023-10-13 12:55:41 -04:00
Charles Lombardo
bacfefe92c
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
liamwhite
19834c6a2e
Merge pull request #11649 from t895/driver-manager
...
android: Driver manager
2023-10-13 09:28:53 -04:00
Charles Lombardo
75d58610c0
android: Update AGP to 8.1.2
2023-10-12 18:59:57 -04:00
Charles Lombardo
1ed340f317
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
Liam
79e055318c
vk_present_manager: recreate surface on any surface loss
2023-10-02 19:07:18 -04:00
Charles Lombardo
2a67cc8a66
android: Use application context for all FileUtil functions
2023-10-01 15:56:02 -04:00
liamwhite
7ecb4052bf
Merge pull request #11604 from t895/only-install-nsp
...
Frontend: Remove ability to install xci files
2023-09-28 09:35:16 -04:00
Charles Lombardo
fe07e39d1a
Merge pull request #11613 from t895/fragment-exception-change
...
android: Various play store fixes
2023-09-27 18:08:54 -04:00
Charles Lombardo
3a1e8ce888
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
95c131060b
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
8d16a74198
android: Don't update views if binding is null in onConfigurationChanged
2023-09-27 13:40:09 -04:00
Charles Lombardo
7bde8691f2
android: Don't wait for post to update input overlay visibility
2023-09-27 13:40:09 -04:00
Charles Lombardo
3d9fd80496
android: Close activity with toast if emulation has no game
2023-09-27 13:40:09 -04:00
Charles Lombardo
5ddc88448c
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
13ec52bdf3
Merge pull request #11603 from t895/consolidate-installs
...
android: Consolidate installers to one fragment
2023-09-27 10:50:38 -04:00
Charles Lombardo
92a02ec0b5
android: Correctly reload settings file during reset
...
Previously the config file wasn't being recreated when resetting all settings. Now just call into native code to recreate the settings file and reload all defaults.
2023-09-27 01:15:57 -04:00
Charles Lombardo
982fe27279
android: Remove ability to install xci files
2023-09-26 18:56:19 -04:00
Charles Lombardo
ed61a7a22a
android: Adjust failure dialogs for user data and firmware installers
2023-09-26 13:59:46 -04:00
Charles Lombardo
c44545c6d2
android: Fix cancel behavior on indeterminate progress dialog fragment
...
The dialog would previously dismiss immediately when it should stay alive until the task is cancelled completely.
2023-09-26 13:27:28 -04:00
Charles Lombardo
8c7d6c0675
android: Refactor zip code into FileUtil
2023-09-26 13:26:20 -04:00
Charles Lombardo
07d7c5b927
android: Use a different string for the content install dialog
2023-09-26 00:26:46 -04:00
Charles Lombardo
33b0150496
android: Fix case bug for installing game content
...
The C++ side never made the filename lowercase when checking the extension. This just passes the pre-prepared extension to have it checked.
2023-09-26 00:25:20 -04:00
Charles Lombardo
863cbaaeb0
android: Consolidate installers to one fragment
...
This also allows save imports to happen without starting a game at first.
2023-09-25 23:48:28 -04:00
Charles Lombardo
13f1e63659
Merge pull request #11594 from t895/rotation-fix
...
android: Prevent nav bar shade from laying out across screen
2023-09-25 20:57:33 -04:00
Charles Lombardo
1606e702c5
android: Prevent click ripple from appearing on loading card
2023-09-25 18:33:21 -04:00
Charles Lombardo
b7f8339347
android: Remove bottom attribute from navigation view
...
Using the "bottom" attribute would break the navigation view and prevent things like rounded corners and lock modes from being applied properly.
2023-09-25 18:31:23 -04:00
Charles Lombardo
df8de8b260
android: Prevent nav bar shade from laying out across screen
2023-09-25 18:10:58 -04:00
Charles Lombardo
6147477bbd
android: Use measured size of view for input overlay bounds
...
Even after updating the androidx window library, this did not fix the issue for all devices. This ensures that the measured size of the overlay will be used instead of a potentially larger one seen by androidx.
2023-09-24 22:18:38 -04:00
Charles Lombardo
4e485766bd
android: Use smaller read buffer size for exporting user data
...
The File.readBytes() extension attempts to load an entire file into a byte array. This would cause crashes when loading huge files into memory.
2023-09-22 16:51:48 -04:00
Charles Lombardo
6315cb8010
android: Adjust valid user data check
2023-09-22 12:05:44 -04:00
Charles Lombardo
156c12d97d
Merge pull request #11564 from t895/overlay-inset-fix
...
android: Update androidx window library to 1.2.0-beta03
2023-09-21 19:15:36 -04:00
Charles Lombardo
68068a8113
android: Update androidx window library to 1.2.0-beta03
...
Fixes an issue with the input overlay on certain devices where the controls would appear offscreen.
2023-09-21 17:36:14 -04:00
Charles Lombardo
e6c468f8a4
Revert "android: Allow save imports always"
2023-09-21 02:57:28 -04:00
Charles Lombardo
93ab5df3ee
android: Remove unused strings related to the save manager
2023-09-20 15:01:03 -04:00
Charles Lombardo
e68fb0a884
android: Allow importing saves even if no saves are found
...
Exporting still won't be allowed on an empty save directory.
2023-09-20 15:00:34 -04:00
Charles Lombardo
a6a0aaa013
android: Add import/export buttons for user data
2023-09-19 15:54:47 -04:00
liamwhite
49b783c9a2
Merge pull request #11542 from t895/touch-offset-fix
...
android: Screen orientation and aspect ratio fixes
2023-09-19 09:25:09 -04:00
Charles Lombardo
eac616b224
android: Ignore validation layers library in git
2023-09-19 00:31:43 -04:00
Charles Lombardo
88b8509c53
android: Don't pause emulation when entering PiP
2023-09-19 00:31:43 -04:00
Charles Lombardo
ff4322ca01
android: Fix showing input overlay in PiP
2023-09-19 00:31:43 -04:00
Charles Lombardo
329403d279
android: Properly update emulation surface
...
Previously the emulation surface wasn't being updated during configuration changes and only during specific view events. This would break input and the screen dimensions after each orientation/aspect ratio change. Now a new surface is provided every time and the display dimensions are updated as needed.
2023-09-19 00:31:43 -04:00
Charles Lombardo
755928ffd1
android: Export PiP receiver on API 33 and later
...
Could cause crashes on API 33+ devices
2023-09-17 17:33:33 -04:00
Charles Lombardo
2940967210
android: Set up signing config for release builds
2023-09-17 01:22:16 -04:00
Charles Lombardo
6af676e2ce
android: Collect task state once view is created
...
Before the viewLifecycleOwner wasn't ready and would cause a crash
2023-09-16 17:15:20 -04:00
liamwhite
f56103605e
Merge pull request #11492 from lat9nq/c-numeric-conversions
...
general: Remove uncaught usages of C++ string number conversions
2023-09-16 11:40:03 -04:00
Charles Lombardo
f6b02d059e
android: Remove settings interface specifically for audio mute
2023-09-14 23:46:19 -04:00
Charles Lombardo
1fd72951b8
Merge pull request #11507 from t895/emulation-stop-fix
...
android: Return the correct status code on emulation stop
2023-09-14 23:22:00 -04:00
Charles Lombardo
3ce204e7ba
Merge pull request #11506 from t895/icon-fix
...
android: Use resource as shortcut intermediary
2023-09-14 23:21:45 -04:00
Charles Lombardo
52d7075ae0
android: Return the correct status code on emulation stop
2023-09-14 23:08:06 -04:00
Charles Lombardo
a1b80ed37a
Merge pull request #11505 from t895/config-patch
...
android: Don't reinitialize settings on emulation start
2023-09-14 22:20:45 -04:00
Charles Lombardo
ebcde602e7
android: Use resource as shortcut intermediary
...
Fixes issue where the shortcut icon would appear cropped on certain devices
2023-09-14 22:19:08 -04:00
Charles Lombardo
b1e7638eab
Merge pull request #11504 from t895/emu-args
...
android: Fix emulation to settings navigation args
2023-09-14 21:25:58 -04:00
Charles Lombardo
136e1f395d
android: Don't reinitialize settings on emulation start
...
Config is already initialized on application start
2023-09-14 21:25:17 -04:00
Charles Lombardo
003ee32d6d
android: Fix emulation to settings navigation args
2023-09-14 20:24:43 -04:00
Charles Lombardo
e6595bb31d
android: Delay collecting UI state in games fragment
2023-09-14 20:02:48 -04:00
Charles Lombardo
89660a50bf
android: Refactor menu tags to enum
2023-09-14 15:18:56 -04:00
Charles Lombardo
0c2cbd2469
android: Use StateFlow instead of LiveData
2023-09-14 15:18:56 -04:00
lat9nq
a681050e24
android/config: Remove uncaught usage of stoul
2023-09-13 13:36:25 -04:00