Commit Graph

1022 Commits

Author SHA1 Message Date
Charles Lombardo 5883473651 Merge pull request #12560 from GayPotatoEmma/master
android: add basic support for google game dashboard
2024-01-07 10:43:53 -05:00
liamwhite 2d388e1391 Merge pull request #12576 from t895/total-save-manager
android: Re-add global save manager
2024-01-07 07:33:31 -05:00
Narr the Reg 146975c880 hid_core: Move hid to it's own subproject 2024-01-05 11:41:15 -06:00
liamwhite 4123b3a7e0 Merge pull request #12575 from t895/inconsistent-settings-application
frontend_common: config: Only write setting related to opened config file
2024-01-04 15:51:24 -05:00
liamwhite 7f8b8db95c Merge pull request #12571 from t895/apply-orientation-on-start
android: Expose more orientation options
2024-01-04 15:51:08 -05:00
t895 a8ca5b211a android: Re-add global save manager
Reworked to correctly collect and import/export saves that could exist in either /nand/user/save/000...000/<user id> or /nand/user/save/account/<user id raw string>
2024-01-04 00:56:40 -05:00
t895 45089149db android: Save global config synchronously in onCloseGameFoldersFragment
Could cause multiple global saves at once that went untracked previously
2024-01-03 22:50:21 -05:00
t895 89ef2a6bac android: Don't save settings on config destruction
Android doesn't have a proper way of destroying its config object so it's best to stick to the built-in methods to control saving config
2024-01-03 22:12:15 -05:00
t895 dbe346a4a3 android: Update orientation on emulation fragment start 2024-01-03 21:35:45 -05:00
t895 b33c7c89cc android: Expose all orientation locking options 2024-01-03 21:35:45 -05:00
Emma ce022aa941 android: add basic support for google game dashboard 2024-01-04 01:07:43 +01:00
t895 9d4e56245e android: Add internal option to disable compression for zip exports
Disables compression for user data and save exports
2024-01-02 18:11:22 -05:00
liamwhite 84b5003a30 Merge pull request #12551 from t895/dpad-save-fix
android: Fix dpad position saving
2024-01-02 10:44:26 -05:00
t895 872082e0e1 android: Use case-insensitive check for addon directory 2024-01-01 22:51:32 -05:00
t895 ef107ad402 android: Fix dpad position saving
Was using the wrong key previously
2024-01-01 22:48:10 -05:00
t895 df5b5aaebb android: Expose touchscreen toggle 2023-12-30 15:11:36 -05:00
t895 697d61d292 android: Don't apply material you below android 12
Since you can manually change the config file now, users can force the material you theme under Android 12 and that will result in crashing on startup. This swaps to the default theme if that happens.
2023-12-30 15:11:36 -05:00
t895 c206e92b35 android: Migrate in-game overlay settings to ini 2023-12-30 15:11:36 -05:00
t895 c90fc6308c frontend_common: config: Refactor WriteSetting to stricter types
Previously this could cause problems if a version of the template generated for WriteSetting didn't use the type you needed (e.g. floating point values). Now these are all ready without having to be used within frontend_common first.
2023-12-30 15:11:36 -05:00
t895 b5a08cb0c1 android: Migrate theme settings to ini 2023-12-30 15:11:35 -05:00
t895 464060b380 android: Update Kotlin version to 1.9.20 2023-12-30 15:11:00 -05:00
t895 402641a78c android: Expose anisotropic filtering setting 2023-12-29 17:43:36 -05:00
t895 5d9c9d5aae android: Center switch setting title when no description is present 2023-12-29 17:28:01 -05:00
t895 44ebc797f5 android: Pair fastmem toggle to CPU Debug toggle
Hides fastmem toggle when CPU Debugging is disabled
2023-12-29 17:27:36 -05:00
t895 f3bf876e9e android: Fix "No games found" text appearing on load 2023-12-21 00:49:22 -05:00
Liam fbb2834ccf android: add oboe to audio configuration 2023-12-17 11:44:49 -05:00
liamwhite b5f4a18f2f Merge pull request #12335 from t895/per-game-settings
android: Game Properties
2023-12-16 13:57:54 -05:00
liamwhite 21512172f3 Merge pull request #12237 from liamwhite/nce-sigtrap
nce: implement instruction emulation for misaligned memory accesses
2023-12-16 11:47:35 -05:00
t895 69a66cd6fe android: Rework InstallableProperty view with icon 2023-12-12 17:25:37 -05:00
t895 0cbc3c4fd1 android: Prevent editing non-savable settings in per-game settings 2023-12-12 17:25:37 -05:00
t895 7313aa4d9b android: Pre-select custom config in game launch dialog 2023-12-12 17:25:37 -05:00
t895 bfaeb1925c android: Use confirmation dialog when deleting shader cache 2023-12-12 17:25:37 -05:00
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
FearlessTobi ff92a0c8f4 am: Implement UserChannel parameters
Used by the Super Mairo 3D All-Stars collection.
2023-09-10 15:39:25 -04:00
Charles Lombardo 3d1a408a99 android: Fix game content installer
Before this would run on the main thread and freeze the device. Additionally this fixes the result dialog not appearing if a config change happens during the installation by getting the activity's fragment manager when needed.
2023-08-30 19:05:33 -04:00
Charles Lombardo b737fe66aa android: Combine LongMessageDialogFragment with MessageDialogFragment 2023-08-30 18:02:16 -04:00
Charles Lombardo 6cd58e9bd3 android: Support dynamic app shortcuts 2023-08-30 16:26:10 -04:00
Charles Lombardo 351caad5db android: Separate emulation states from emulation mutex
Emulation states are repeatedly checked by input and performance stats. During startup and shutdown, this could lead to a long halt on the UI thread because the call to IsRunning will be waiting on the emulation mutex to be unlocked. Using atomics should replace the existing functionality without causing problems.
2023-08-30 15:19:23 -04:00
Charles Lombardo 5b69f2967e android: Game loading/shutting down indicators 2023-08-30 15:19:23 -04:00
Charles Lombardo 2b09d48329 android: Create custom game icon loader 2023-08-30 10:19:05 -04:00
Charles Lombardo 483a39e4fb Merge pull request #11380 from t895/settings-integration
android: Settings rework
2023-08-29 22:20:59 -04:00
Charles Lombardo 1b4e4f9992 android: Don't reload settings when stopping settings activity 2023-08-29 21:44:18 -04:00
Charles Lombardo 27049027b4 android: Add optional androidDefault property to settings
Certain settings have specific defaults for Android only. This lets us reflect them in the Kotlin side with very little code.
2023-08-29 19:42:42 -04:00
Charles Lombardo ea9f569361 android: Proper state restoration on settings dialogs
All dialog code (except for the Date/Time ones) has been extracted out into a generic settings dialog fragment that handles everything through a viewmodel. State for each dialog will now be retained and dialogs will stay shown through configuration changes.

I won't be changing the current state of the date and time dialog fragments until Google decides to make their classes non-final or if/when we migrate to Jetpack Compose.
2023-08-29 19:42:42 -04:00
Charles Lombardo b5176a035c android: Add search for settings 2023-08-29 19:42:42 -04:00
Charles Lombardo 7673cdc6e5 android: Implement paired settings
Enables and disables editing on settings that rely on other boolean settings.
2023-08-29 19:42:41 -04:00
Charles Lombardo 38c7d26ffa android: Prevent infinite switch toggle loop
If something like a lifecycle event happens when this switch is toggled (Ex. whenever the black backgrounds switch is toggled), this could move the switch from the default position and trigger the checked changed listener and restart the loop. Here I just removed the listener at the start so we recycle the view properly still, set the checked state and then add the new listener.
2023-08-29 19:42:41 -04:00
Charles Lombardo 484189d435 android: Migrate settings to navigation component
Consolidates all of the settings components to the fragment and activity with no interfaces and only the settings fragment presenter. This also includes new material animations and new viewmodel usage to prevent the fragment and activity directly interacting with one another.
2023-08-29 19:42:41 -04:00
Charles Lombardo ccacd84582 android: Trim settings enums and items
Take advantage of the new settings interface to reduce the amount of code we need for each setting item. Additionally make all settings items non-null to improve brevity.
2023-08-29 19:40:18 -04:00
Charles Lombardo 26d3fa2d01 android: Expose interface for getting settings from native code
Completely removes code related to parsing the settings file on the java side. Now all settings are accessed via NativeConfig.kt and config.cpp has been modified to be closer to the core counterpart. Since the core currently uses QSettings, we can't remove reliance from Wini yet. This also includes simplifications to each settings interface to get closer to native code and prepare for per-game settings.
2023-08-29 19:40:17 -04:00
Charles Lombardo 99ae57c433 android: Support intents to emulation activity 2023-08-29 02:57:20 -04:00
Charles Lombardo daee8fe1d4 android: Don't set a default emulation orientation
Could cause unnecessary configuration change when setting an orientation other than "Landscape"
2023-08-27 00:19:03 -04:00
Charles Lombardo b3fac55a35 android: Properly adjust emulation surface aspect ratio
Previously the emulation surface wouldn't respond properly to orientation changes. This would result in the screen appearing stretched when starting in one orientation and switching to another.

The code for calculating the bounds of the view have been changed to match the expected behavior now. Before the view would just match parent in height and width. Now instead of using setLeftTopRightBottom (which is intended to be used for animations) we pass newly calculated bounds for the view into super. Now the view bounds match the emulation output.

This also means that we don't need the overload for the SettingsActivity to launch it using an ActivityResultLauncher. We can just update the view in onResume.
2023-08-27 00:16:53 -04:00
liamwhite e392005f94 Merge pull request #11356 from lat9nq/console-mode-pg
general,config-qt: Present Console Mode as an enum with separate options in game properties
2023-08-26 19:15:00 -04:00
Charles Lombardo 64e569ee75 android: Use appCategory to specify the app is a game 2023-08-25 17:17:48 -04:00
bunnei 22e7d8d36d Merge pull request #11357 from liamwhite/lime-vfs
android: jni: ensure NCAs from loaded filepath are registered in manual content provider
2023-08-25 13:04:22 -07:00
liamwhite df1a6d30a0 Merge pull request #11352 from t895/recurse-subfolders
android: Search game directory recursively
2023-08-23 10:20:02 -04:00
Charles Lombardo 7305df2e3f android: Set default build variant to mainlineRelWithDebInfo (#11358) 2023-08-23 16:12:39 +02:00
Liam 45957b2ab1 android: jni: ensure NCAs from loaded filepath are registered in manual content provider 2023-08-22 22:47:25 -04:00
lat9nq 1bf14338b7 native: Use Docked Mode helper 2023-08-22 22:40:36 -04:00
lat9nq 7bc06e2c9d config-android: Translate console mode setting
Translates the previous boolean to the enum.
2023-08-22 22:00:28 -04:00
Charles Lombardo 72da1cd4d2 android: Search game directory recursively 2023-08-22 15:16:20 -04:00
liamwhite 453fd52d82 Merge pull request #11346 from t895/ktlint-fix
android: lint: Delete generated ktlint folder between builds
2023-08-22 11:30:01 -04:00
Charles Lombardo 4165adc80f android: lint: Delete generated ktlint folder between builds
There's a bug in ktlint where it will run into an error if you build the project, delete a source file, and then build again. It will be unable to find the file you deleted and can't recover until these files are deleted. This just deletes those files before every run.
2023-08-21 17:31:13 -04:00
Charles Lombardo b3646c33ae android: Show associated value in home settings (#11272) 2023-08-21 22:25:11 +02:00
Charles Lombardo 4decc08f2b android: Use sensor landscape for landscape mode (#11337) 2023-08-21 21:56:12 +02:00
bunnei 5be144671f Merge pull request #11273 from t895/setup-completion
android: Setup additions
2023-08-14 15:41:35 -07:00
Charles Lombardo 279d14f8b1 android: Page forward on setup step completion 2023-08-12 20:21:47 -04:00
Charles Lombardo ced5b29eeb android: Adjust setup fragment layout
Fixes padding issues in small and large layouts and allows viewpager to reach into system insets.
2023-08-12 17:02:59 -04:00
Charles Lombardo 447cf0a336 android: Show complete indicator during setup 2023-08-12 16:53:14 -04:00
Charles Lombardo 465c5c02a0 android: Remove redundant option from slider dialog
You can already reset any setting by long pressing the settings item.
2023-08-12 15:45:27 -04:00
Charles Lombardo cea5d7d400 android: Reduce opacity of non-editable settings 2023-08-12 15:42:55 -04:00
Charles Lombardo 7384816f8b android: Use string resource for slider value/units 2023-08-12 15:42:54 -04:00
Charles Lombardo 52942ac262 android: Display setting value in setting list items 2023-08-12 14:38:46 -04:00
Charles Lombardo e75c4156ce android: Set switch listener before assigning new value
Previously the switch could have its old listener triggered when recycled.
2023-08-12 01:00:42 -04:00
liamwhite 28b236b988 Merge pull request #10839 from lat9nq/pgc-plus
general: Reimplement per-game configurations
2023-08-02 14:25:52 -04:00
Abandoned Cart 9a1c345f7e android: Only label language with language 2023-07-25 10:38:30 -04:00
Liam f07dd39222 general: reduce use of dynamic_cast 2023-07-21 19:22:14 -04:00
lat9nq b7a56c1ff5 config-android: Update memory layout member name 2023-07-21 10:56:55 -04:00
lat9nq fa626cd665 android-config: Update enum labels 2023-07-21 10:56:55 -04:00
lat9nq ce08bcb4a1 (android)config: Clang format 2023-07-21 10:56:55 -04:00
lat9nq 0f8a902d8c android-config: Adapt settings rework 2023-07-21 10:56:07 -04:00
Valeri Ochinski cd7fc3a3fe android: fix links to re-dumping guides 2023-07-16 20:22:27 +03:00
Charles Lombardo b9b5f6a885 android: Visualize disabled home options
Allow for displaying options in the home options that are disabled with messages that explain why they are disabled.

This includes reasoning for the GPU driver installation button.
2023-07-10 22:17:19 -04:00
Charles Lombardo 190a9d386b android: Don't prompt to save user data on uninstall
While this can be convenient in some scenarios, this will be a big problem for users trying to sideload different APK versions. If they forget the last one they had installed, they could have problems installing a new copy.
2023-07-09 19:02:42 -04:00
liamwhite 9c44ee364c Merge pull request #11006 from german77/nfc_nfc
service: nfc: Ensure controller is in the correct mode
2023-07-05 09:23:47 -04:00
german77 91445cd2e8 android: Reintroduce launch mode as single top 2023-07-03 09:31:02 -06:00
Charles Lombardo e4fc1f5d7b android: Version the input overlay
Now within the Input Overlay file, there is a version that will determine when the overlay will be reset. This is intended for breaking changes like the ones we had with the additions of percentage based layouts or the addition of foldable/portrait layouts. This also includes versions for each individual layout so we don't have to reset every layout if only one is broken.

Additionally, this includes new L3/R3 buttons.
2023-07-02 20:19:01 -04:00
liamwhite 0a416da90b Merge pull request #10949 from t895/memory-requirements
android: Rework MemoryUtil
2023-07-02 11:29:08 -04:00
Charles Lombardo a81e654c4d android: Show memory warning once 2023-06-30 13:46:35 -04:00
Charles Lombardo 79637a9038 android: Rework MemoryUtil
Uses string templates and rounds up memory amount for potentially inaccurate checks now
2023-06-30 01:00:19 -04:00
Abandoned Cart 17d8ad19b9 android: Suppress a known incompatibility
Android Gradle plugin 8.0.2 is designed for API 33, but a newer plugin hasn't been released yet. The warning message is rather extravagant, but also suggests adding this property if you are aware of the risks.
2023-06-29 07:32:12 -04:00
Charles Lombardo 03db05843a android: Make MemoryUtil an object 2023-06-28 20:00:25 -04:00
Charles Lombardo fc8362a875 android: Android 14 support
Specifies the permissions needed for the changes to foreground services in Android 14.
2023-06-28 16:15:18 -04:00
liamwhite 6121aed4a8 Merge pull request #10888 from 8bitDream/native
android: (native) Parameter types from Android Studio
2023-06-26 14:31:00 -04:00
liamwhite 30cae69b33 Merge pull request #10865 from t895/extension-meme
android: Clean up file extension checks
2023-06-26 14:30:49 -04:00
Charles Lombardo f56487bf3e android: Clean up file extension checks 2023-06-26 13:25:56 -04:00
Abandoned Cart 51068a23af android: define [[maybe_unused]] (const) auto 2023-06-23 14:05:14 -04:00
Abandoned Cart f2aeaddf52 android: Parameter types from Android Studio
Android Studio marked these parameters as errors because it is an instance, not a class, that is being passed from Java.
2023-06-23 10:36:30 -04:00
liamwhite 188f3d786f Merge pull request #10811 from 8bitDream/pip_mute
android: Add a PiP interface to mute / unmute
2023-06-23 09:27:28 -04:00
bunnei 889371ab35 Merge pull request #10794 from 8bitDream/multiples
android: Add support for multiple installs
2023-06-22 14:26:24 -07:00
Morph 0ad233da22 Merge pull request #10878 from GPUCode/log-droid
android: Log settings
2023-06-22 16:16:20 -04:00
GPUCode 925a069402 android: Log settings 2023-06-22 20:17:52 +03:00
Abandoned Cart c955fc20b3 android: Generalize string message dialog 2023-06-21 18:25:15 -04:00
Abandoned Cart 42548ded9d android: Add support for concurrent installs 2023-06-21 18:25:15 -04:00
Abandoned Cart 25ad652787 android: Convert memory sizes to resource 2023-06-21 18:24:49 -04:00
Abandoned Cart 0891b3e775 android: Add a notice when RAM inadequate 2023-06-21 18:24:49 -04:00
Abandoned Cart f06174ed2b android: Refactor native and corresponding variables 2023-06-21 18:23:13 -04:00
Abandoned Cart 777567975e Fix JNI and expose mute settings to Android 2023-06-21 18:23:13 -04:00
Abandoned Cart 67ec04ddd5 android: Add a PiP interface to mute / unmute 2023-06-21 17:21:36 -04:00
Charles Lombardo 839e5f65e4 android: Don't show custom driver button on mali and x86 2023-06-20 20:06:36 -04:00
bunnei e979299431 Merge pull request #10808 from t895/settings-stuffs
android: Expose settings
2023-06-16 16:52:54 -07:00
Charles Lombardo 8586ed3bfe android: Expose audio output engine setting 2023-06-16 16:42:56 -04:00
Charles Lombardo cb65166fac android: Bump ktlint version to 0.47.1 2023-06-16 16:32:08 -04:00
Charles Lombardo fa67cd8edf android: Disable import-ordering ktlint check 2023-06-16 16:31:49 -04:00
Charles Lombardo a88166f870 android: Expose CPU debugging option 2023-06-16 16:25:06 -04:00
Charles Lombardo 6c18ceff4d android: Expose fastmem option 2023-06-16 16:24:40 -04:00
Charles Lombardo c050dd3122 android: Support changing multiple settings at once 2023-06-16 15:49:49 -04:00
Abandoned Cart 465927f4c5 android: Fix aspect ratio when rotating screen 2023-06-16 10:11:18 -04:00
Charles Lombardo 37cbf16322 android: Apply ktlint codestyle 2023-06-15 22:36:54 -04:00
Charles Lombardo 98f711100e Android: Use ktlint for Kotlin code style 2023-06-15 22:22:49 -04:00
Charles Lombardo 1ad4a05d64 android: Enable android linting 2023-06-15 22:19:58 -04:00
bunnei bc21da779e android: fs: Fix Exists / IsFile for SAF. 2023-06-15 17:20:56 -07:00
Abandoned Cart dfa23c70c6 android: Move overlays to their own layout 2023-06-14 16:43:24 -04:00
Abandoned Cart 5d37de1e70 android: Initialize defaults for each orientations 2023-06-14 16:35:58 -04:00
Abandoned Cart e438f2e053 android: Display FPS with emulation on hinge 2023-06-14 16:35:57 -04:00
Abandoned Cart 468a6c5555 android: Remove PiP reliance on fragment 2023-06-14 16:35:56 -04:00
Abandoned Cart 5417700e64 android: Set layout by fragment, not view 2023-06-14 16:35:54 -04:00
Abandoned Cart be83a80f62 android: Add a separate foldable layout set 2023-06-14 16:34:23 -04:00
Abandoned Cart df42e34dfb android: Set portrait default control params 2023-06-14 16:34:22 -04:00
Abandoned Cart f24d322941 android: Actually implement portrait controls 2023-06-14 16:34:19 -04:00
Abandoned Cart 78826a0afd android: Enable automated portrait controls 2023-06-14 16:34:16 -04:00
Abandoned Cart 399fb74890 android: Add Picture in Picture / Orientation 2023-06-14 16:34:14 -04:00
Charles Lombardo 8e33b7993d android: Adapt EmulationActivity to navigation component 2023-06-14 14:55:25 -04:00
Charles Lombardo 8395dcea78 Merge pull request #10760 from FearlessTobi/translations
android: Declare languages in locales_config.xml
2023-06-13 15:48:45 -04:00
FearlessTobi f437542a7f android: Declare languages in locales_config.xml
This is required to make per-app language swithcing possible on Android 13.
2023-06-13 20:26:45 +02:00
Charles Lombardo 33812b0c24 Merge pull request #10751 from german77/touch
android: Fix touch input
2023-06-13 14:01:02 -04:00
german77 110f8ea167 android: Fix touch input 2023-06-13 00:17:10 -06:00
bunnei 5f6c1b5243 android: settings: Disable force_max_clock by default. 2023-06-12 17:57:48 -07:00
bunnei 501e43a053 android: settings: Add reactive flushing as a default-disabled setting. 2023-06-12 17:56:44 -07:00
bunnei 5c6c48fe24 android: res: Remove translated strings that no longer exist. 2023-06-12 17:45:02 -07:00
bunnei f631b3a39a Merge pull request #10743 from FearlessTobi/translations
android: Add translation files manually
2023-06-12 17:20:27 -07:00
bunnei 72db3f10d0 Merge pull request #10705 from german77/updates
android: Add update and DLC support
2023-06-12 17:03:44 -07:00
FearlessTobi cf118cecd0 android: Add translation files manually 2023-06-13 01:00:23 +02:00
bunnei 5f6814da47 Merge pull request #10728 from t895/game-hash
android: Use autogenerated hash code function for Game class
2023-06-12 14:45:18 -07:00
Narr the Reg 707999d4c0 android: Add update support 2023-06-11 23:33:50 -06:00
Charles Lombardo c62bbe270a android: Use autogenerated hash code function for Game class 2023-06-11 21:15:13 -04:00
Charles Lombardo 8180d213d7 android: Use autoVersion when gradle property is set 2023-06-11 20:04:08 -04:00
bunnei e35f1fc123 Merge pull request #10713 from t895/gradle-updates
android: Gradle updates
2023-06-11 11:31:03 -07:00
Charles Lombardo 81d4145aca android: Update dependencies 2023-06-11 02:17:29 -04:00
Charles Lombardo 6d1b8d6ca4 android: Differentiate build types with new names
Change the applicationIdSuffix and app launcher title based on build type
2023-06-11 02:16:45 -04:00
Charles Lombardo 4ad4f6cf26 Android: Remove unused relWithVersionCode build type 2023-06-11 02:15:28 -04:00
Charles Lombardo 62a8bb65be android: Use ContentResolver to get file extension
Fixes an issue where we try to resolve file extension from URIs. Sometimes the URI will not contain the file name at all and instead a string of numbers. Here we query the content resolver and guarantee that we get a file name every time.
2023-06-11 01:41:58 -04:00
bunnei e1402935d9 android: Fix screen orientation & blurriness. 2023-06-10 15:13:06 -07:00
bunnei 33fe748bd3 Merge pull request #10691 from t895/nro-check
android: Add proper homebrew check
2023-06-09 23:59:51 -07:00
Charles Lombardo b1b9075f2d android: Add proper homebrew check 2023-06-09 20:17:51 -04:00
Charles Lombardo 1595600bf2 android: Fix input overlay version check 2023-06-09 15:15:57 -04:00
bunnei 571c5c728e android: EmulationActivity: Fix orientation on Mi Pad 5. 2023-06-08 17:20:13 -07:00
bunnei 400286b7a0 Merge pull request #10650 from qurious-pixel/android_tv
Android TV banner
2023-06-07 16:32:25 -07:00
qurious-pixel 2984cc4b30 remove version code declaration 2023-06-07 13:27:51 -07:00
Live session user 9cf85cb9e3 Android TV banner 2023-06-06 11:32:25 -07:00
Narr the Reg fa13ede502 android: Set version code 2023-06-06 12:14:38 -06:00
Abandoned Cart 5e1a62e7af android: Improve Gradle build configuration 2023-06-06 12:46:21 -04:00
bunnei f9db8b7c70 Merge pull request #10633 from t895/variable-surface-ratio
android: Use a custom view for changing emulation aspect ratio
2023-06-05 20:27:58 -07:00
bunnei 09ee7b07a0 Merge pull request #10578 from PabloG02/lime-firmware&logs
Add UI to import firmware and share logs
2023-06-05 17:41:19 -07:00
bunnei c09c2c9292 android: HomeSettingsFragment: Use string resource for "Share log". 2023-06-05 17:40:43 -07:00
Charles Lombardo f83acbd1ae android: Use a custom view for changing emulation aspect ratio
Credit to the Skyline team for the FixedRatioSurfaceView.
2023-06-05 20:24:36 -04:00
bunnei eb0ebf2282 Merge pull request #10618 from t895/licenses
android: Add licenses page
2023-06-05 17:14:15 -07:00
PabloG02 582f6df48c Address feedback 2023-06-06 00:07:54 +02:00
Charles Lombardo f51882a9ae android: Create licenses page 2023-06-05 14:34:23 -04:00
bunnei 29d01cd2a7 Merge pull request #10613 from t895/settings-changes
android: String and settings organization changes
2023-06-04 19:17:42 -07:00
Charles Lombardo 079a3deced android: Move settings to debug submenu 2023-06-04 19:53:27 -04:00
Charles Lombardo 73440cbb01 android: Load settings at the start of each activity 2023-06-04 19:37:10 -04:00
PabloG02 14665c97f2 Attempt to move the unzip coroutine to a ViewModel 2023-06-04 20:52:12 +02:00
PabloG02 25be1f62cd android: update strings 2023-06-04 20:52:12 +02:00
PabloG02 1b3b1592ea android: add option to share log 2023-06-04 20:52:12 +02:00
PabloG02 b63d3b7fce android: add option to install firmware 2023-06-04 20:52:12 +02:00
PabloG02 3c15b89b78 android: move unzip function to FileUtil and use SecurityException 2023-06-04 20:50:00 +02:00
Charles Lombardo 546a2653b9 android: Several string changes 2023-06-04 13:30:56 -04:00
Abandoned Cart d3b46a88af android: Resolve a couple Gradle warnings 2023-06-04 02:06:38 -04:00
Abandoned Cart fa02375617 android: Add support for split foldable view 2023-06-03 22:57:28 -04:00
Abandoned Cart b360aa794e android: Replace deprecated and Java code 2023-06-03 15:16:25 -04:00
Charles Lombardo 80069f2bc4 android: Fix crash on importing invalid save 2023-06-03 00:06:08 -07:00
Charles Lombardo 82cf343786 android: Rename "Input Overlay" to "Overlay Options" 2023-06-03 00:06:08 -07:00
Charles Lombardo 53547f7f37 android: Adjust import/export saves dialog 2023-06-03 00:06:08 -07:00
Charles Lombardo 30c65465d8 android: Warning dialogs for key errors 2023-06-03 00:06:08 -07:00
bunnei cb077cc1b0 android: EmulationFragment: Remove unnecessary surface destroy on pause. 2023-06-03 00:06:08 -07:00
bunnei fb362f0b6e android: renderer_vulkan: Fix crash with surface recreation. 2023-06-03 00:06:07 -07:00
bunnei d57495d3c0 android: Fix presentation layout on foldable and tablet devices. 2023-06-03 00:06:07 -07:00
Charles Lombardo cbfc1d7809 android: Enable overlay scale/opacity dialog 2023-06-03 00:06:07 -07:00
PabloG02 09bbcceec6 Add image to card_game.xml to preview in the Layout Editor 2023-06-03 00:06:07 -07:00
PabloG02 aa5437bc16 Save the position of buttons as a percentage 2023-06-03 00:06:07 -07:00
Charles Lombardo 0153f39bc1 android: Don't crash the app when selecting a zip that causes a SecurityException 2023-06-03 00:06:07 -07:00
bunnei a7696575f1 android: ForegroundService: Handle null intent. 2023-06-03 00:06:06 -07:00
bunnei a01f8ae529 android: ImportExportSavesFragment: Cleanup strings. 2023-06-03 00:06:06 -07:00
bunnei 29f677f10d Update src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/ImportExportSavesFragment.kt 2023-06-03 00:06:06 -07:00
PabloG02 5091df34bf Remove `?.` 2023-06-03 00:06:06 -07:00
PabloG02 b96e520f89 Check if folder exists before letting the user import/export saves 2023-06-03 00:06:06 -07:00
PabloG02 fdfea60242 Add save import/export in UI 2023-06-03 00:06:06 -07:00
Charles Lombardo 57afc35f1a android: Fix FPS text getting cut off by rounded display corners 2023-06-03 00:06:05 -07:00
Charles Lombardo 074fc0bc13 android: Prevent deleting the settings file while a game is running 2023-06-03 00:06:05 -07:00
Charles Lombardo 64110e582c android: Fix link text color for base theme dialog 2023-06-03 00:06:05 -07:00
bunnei 04eabc45e5 android: Various fixes for CI. 2023-06-03 00:06:05 -07:00
bunnei cb9ba1b004 android: externals: Update libadrenotools, use useLegacyPackaging. 2023-06-03 00:06:05 -07:00
Charles Lombardo 70b013ab2f android: Re-enable service notification 2023-06-03 00:06:05 -07:00
Charles Lombardo ecdbaecea2 android: Ensure keys are loaded before populating games list 2023-06-03 00:06:05 -07:00
Charles Lombardo aadc63e1b5 android: Use dialog fragment for the reset settings dialog 2023-06-03 00:06:05 -07:00
Charles Lombardo 1ca8ba6864 android: Upgrade AGP to 8.0.2 2023-06-03 00:06:04 -07:00
Charles Lombardo f4077c398b android: Show notification permission page during setup 2023-06-03 00:06:04 -07:00
Charles Lombardo aa9911ade5 android: DIsable FPS counter by default 2023-06-03 00:06:04 -07:00
Charles Lombardo dbe7cc58e3 android: Improve searches with one character
The Jaccard algorithm is great for searches with 2 or more characters but nothing is returned for searches with one character. To get around this, just search with JaroWinkler for single character searches.
2023-06-03 00:06:04 -07:00
Charles Lombardo 15e3bb4cfb android: Stop building x86 packages in APKs
This was really only meant for building the app to run in an emulator. If this is necessary, just add manually.
2023-06-03 00:06:04 -07:00
Charles Lombardo f2e0a38157 android: Add FPS toggle 2023-06-03 00:06:04 -07:00
Charles Lombardo 75ae2c948e android: Clean up app build.gradle
Removes the conflicting declaration of "version" and changes to versionCode that did nothing.
2023-06-03 00:06:04 -07:00
bunnei 803c50a861 android: config: Expose VSync as a configurable setting. 2023-06-03 00:06:04 -07:00
bunnei 230dd8192d android: GPU: Enable async presentation, increase frames in flight. 2023-06-03 00:06:03 -07:00
Charles Lombardo bb48ac9fe3 android: Enable onBackInvokedCallback
For now this enables the ability to see the new Android 13 back gesture animations but later we can create custom animations that follow the back gesture.
2023-06-03 00:06:03 -07:00
Charles Lombardo a7fa14edd3 android: Remove deprecated use of onBackPressed() 2023-06-03 00:06:03 -07:00
Charles Lombardo 83bd1cf20c android: Add option for touch overlay haptics
Disabled by default
2023-06-03 00:06:03 -07:00
Charles Lombardo 5341f58f2f android: Improve missing game handling
Previously the app would crash if you selected a game that no longer existed. Now we show an error message and reload the games list to remove any invalid games from the list.
2023-06-03 00:06:03 -07:00
Charles Lombardo f0beadece2 android: Clean up dependencies
Additionally updates material and androidx core libraries
2023-06-03 00:06:03 -07:00
Charles Lombardo e470a37e61 android: Delete java code style file 2023-06-03 00:06:03 -07:00
Charles Lombardo 04afc03500 android: Settings UI tweaks
New spacing and fonts for list items
2023-06-03 00:06:03 -07:00
Charles Lombardo 3dbe044910 android: Simplify setup in search and games fragments 2023-06-03 00:06:03 -07:00
Charles Lombardo cb564b067b android: Use collapsing toolbar layout in settings 2023-06-03 00:06:03 -07:00
Charles Lombardo d0d7e555aa android: Remove unnecessary JvmStatic/JvmField annotations 2023-06-03 00:06:02 -07:00
Charles Lombardo 00d0a93e65 android: Fix navigation rail animation in rtl layout 2023-06-03 00:06:02 -07:00
Charles Lombardo 39de6c6e54 android: Use cutout insets on setup fragment 2023-06-03 00:06:02 -07:00
Charles Lombardo 54bf98ef0b android: Button to reset all settings 2023-06-03 00:06:02 -07:00
Charles Lombardo 3c6b472134 android: Use proguard file in relWithDebInfo 2023-06-03 00:06:02 -07:00
Charles Lombardo 537fcc8339 android: Fix background color within inset areas 2023-06-03 00:06:02 -07:00
Charles Lombardo 715f83a060 android: Shortcut to settings activity on reselection 2023-06-03 00:06:01 -07:00
Charles Lombardo 6be54d1aa8 android: Expose custom RTC setting 2023-06-03 00:06:01 -07:00
Charles Lombardo 6b1767ac32 android: Reset setting on long press 2023-06-03 00:06:01 -07:00
Charles Lombardo 5fd13f02fd android: Fix issues with ea/main icons and version codes
Now all yuzu icon variants are taken care of and now we have a build variant that uses the versioning we need for the play store.
2023-06-03 00:06:01 -07:00
Charles Lombardo 5fa9b35e3f android: Move theme options out of advanced settings 2023-06-03 00:06:01 -07:00
Charles Lombardo a3844cc597 android: Check if cached games are valid
Fixes bug when you close yuzu, delete games, and reopen to an instant crash.
2023-06-03 00:06:01 -07:00
german77 3e1613dc20 android: Invert rotation to match phone orientation 2023-06-03 00:06:01 -07:00
bunnei 576cfa137b android: config: Use default anisotropic filtering. 2023-06-03 00:06:01 -07:00
Charles Lombardo 7c5e6bc895 android: Remove top padding from in game menu items 2023-06-03 00:06:00 -07:00
Charles Lombardo c478f51b46 android: Use different icons for mainline/ea 2023-06-03 00:06:00 -07:00
Charles Lombardo 7072a9b19c android: Add early access upgrade fragment
We now have a second build flavor that will determine whether the "Get Early Access" button appears.
2023-06-03 00:06:00 -07:00
bunnei 0f676451b3 android: settings: Use mailbox vsync by default. 2023-06-03 00:06:00 -07:00
bunnei baa09b9cef android: video_core: Disable problematic compute shaders.
- Fixes #104.
2023-06-03 00:06:00 -07:00
Charles Lombardo 053f0fb1fe android: Update progard to fix settings crash
R8 full mode was removing important classes from Wini that would cause a crash on saving settings. This keeps the relevant classes and suppresses warnings about irrelevant ones.
2023-06-03 00:05:59 -07:00
bunnei 2650faea9d android: vulkan: Recreate surface after suspension & adapt to async. presentation. 2023-06-03 00:05:59 -07:00
Charles Lombardo 710e19a4bb android: Game data cache 2023-06-03 00:05:59 -07:00
Charles Lombardo 50187bc017 android: Update to Kotlin 1.8.21 2023-06-03 00:05:59 -07:00
Charles Lombardo 1601f9e435 android: Disable jetifier
We no longer depend on any legacy libraries that required this flag
2023-06-03 00:05:59 -07:00
Charles Lombardo 76108cee0a android: Update dependencies 2023-06-03 00:05:59 -07:00
Charles Lombardo 1367956b05 android: Migrate to AGP 8.0.1 2023-06-03 00:05:59 -07:00