Commit Graph

1022 Commits

Author SHA1 Message Date
FearlessTobi dcc9189dcb Address review comments 2024-02-19 19:11:07 +01:00
FearlessTobi 4d55e58ee4 scope_exit: Make constexpr
Allows the use of the macro in constexpr-contexts.
Also avoids some potential problems when nesting braces inside it.
2024-02-19 16:00:46 +01:00
liamwhite f01f9cdae2 Merge pull request #13064 from t895/auto-map-fail
android: Only do first startup automapping if nothing has been mapped
2024-02-18 10:27:49 -05:00
liamwhite 6d7339a332 Merge pull request #13065 from t895/cancel-button-fail
android: Show cancel button for the content install notice
2024-02-18 10:25:04 -05:00
t895 d62cea4622 android: Map touches to touchscreen
I neglected to map touches to the touchscreen when refactoring in the input mapping PR. This fixes that regression.
2024-02-18 10:00:37 -05:00
t895 45b159e21b android: Show cancel button for the content install notice 2024-02-18 09:23:46 -05:00
t895 7dc4962c83 android: Only do first startup automapping if nothing has been mapped 2024-02-18 09:18:54 -05:00
t895 4b0ab0fc00 android: Create lifecycle utility to simplify common StateFlow operations 2024-02-17 23:09:09 -05:00
t895 370f2eb7dd android: Use extension functions for view visibility and text marquee 2024-02-17 22:45:33 -05:00
liamwhite 73fd4133d1 Merge pull request #13052 from t895/serializable-stuff
android: Move CoreErrorDialogFragment to its own file
2024-02-17 22:22:46 -05:00
t895 ee98ee491a android: Move CoreErrorDialogFragment to its own file 2024-02-17 21:58:25 -05:00
t895 a29782ce6a android: Input mapping 2024-02-17 12:32:33 -05:00
t895 4e34af1a26 android: Allow SettingsItems to use String or StringRes 2024-02-16 21:04:26 -05:00
Narr the Reg 21e754cffb Merge pull request #12993 from liamwhite/am-rewrite-part1
am: rewrite part 1
2024-02-14 11:02:38 -06:00
liamwhite 887db829ba Merge pull request #13009 from t895/message-dialog-fix
android: Message dialog tweaks
2024-02-13 14:46:56 -05:00
t895 a3f5a8151f android: Prevent user from dismissing mod/cheat notice
Makes sure that a user can't miss this dialog by touching outside the window. They must press "OK" or "Close" to continue.
2024-02-13 13:46:14 -05:00
t895 d2fd59733b android: Show cancel option for delete addons dialog 2024-02-13 13:45:17 -05:00
t895 cb0d5896c5 android: Swap ok and close default strings for MessageDialogFragment 2024-02-13 13:44:35 -05:00
t895 4507d2f9c3 android: Add screen vertical alignment setting
It's a bit of a hack since I'm moving the view instead of telling the Vulkan surface to bias itself to the top/bottom/center but it works fine for now.
2024-02-13 10:10:59 -05:00
t895 1b48ee6e45 android: Expose FSR sharpness slider 2024-02-13 10:04:59 -05:00
t895 981aac6281 android: Swap confirmation buttons for delete save data dialog 2024-02-12 16:54:46 -05:00
t895 57b827eabf android: Extend MessageDialogFragment to support a negative action and button titles 2024-02-12 16:54:19 -05:00
Liam 0276ae2f95 am: rewrite appletAE, appletOE 2024-02-11 21:59:33 -05:00
liamwhite 354e0a2791 Merge pull request #12920 from t895/jni-common
android: Move JNI setup and helpers to common
2024-02-09 11:49:25 -05:00
liamwhite 80f4a91d35 Merge pull request #12968 from t895/thermal-status
android: Thermal throttling indicator
2024-02-09 11:47:17 -05:00
liamwhite dcca4e6d9b Merge pull request #12964 from t895/foreground-service-test
android: Remove foreground service
2024-02-09 11:47:11 -05:00
t895 db95f51c69 android: Use utility function for applying view margins 2024-02-09 07:07:06 -05:00
t895 bce86d8102 android: Add thermal throttling overlay 2024-02-09 07:07:05 -05:00
t895 54d8e5e643 android: Remove foreground service 2024-02-08 21:04:14 -05:00
t895 95199610fd android: Fix regex for git version 2024-02-08 14:24:15 -05:00
t895 0e001c4ab8 android: Run OnEmulationStarted frontend callback in another thread
The JVM has problems with attaching to a Fiber so we start a new thread and wait for the result here.
2024-02-08 14:13:46 -05:00
t895 28fcbacc78 android: Move JNI setup and helpers to common 2024-02-08 13:45:26 -05:00
t895 a7e7f1b899 ci: android: Play store publishing setup 2024-02-04 10:54:18 -05:00
Liam 1a51a1281c am: retrieve main applet creation info from frontend 2024-01-29 20:17:09 -05:00
Liam 6925b78bd5 am: re-namespace frontend applets to frontend directory 2024-01-29 18:43:45 -05:00
t895 6e6b084c6c android: Don't show delete button for system driver 2024-01-29 06:59:34 -05:00
liamwhite 9f2f98d9e9 Merge pull request #12826 from t895/system-driver-version
android: Show system driver information
2024-01-28 11:57:58 -05:00
t895 c84fac9ab4 android: Disable focus on loading card
Additionally de-emphasize the ripple that I can't disable
2024-01-28 00:25:07 -05:00
t895 6b23690b75 android: Show system driver information 2024-01-27 23:59:02 -05:00
t895 d9f725ba4a android: Multi-program app switching 2024-01-27 20:05:51 -05:00
t895 d275537111 android: Reload global settings on closing emulation
UI like the driver manager expects the global settings to be loaded when in the MainActivity so we reload global config to properly reset state on exit.
2024-01-26 23:05:02 -05:00
liamwhite 2f7096bf31 Merge pull request #12809 from t895/error-message
android: Add cancel condition to installed content check
2024-01-26 09:56:01 -05:00
liamwhite 1b04167b27 Merge pull request #12707 from FearlessTobi/fs-housekeeping
fs: Various cleanups & add path class for later use
2024-01-26 09:55:25 -05:00
t895 55462a3e65 android: Add cancel condition to installed content check 2024-01-26 09:29:51 -05:00
t895 ee0b3c01de android: Disable default focus highlight on views that shouldn't be selected 2024-01-25 20:49:57 -05:00
t895 d04853839d android: Allow controller to focus on toolbar menu items
Workaround for this
https://issuetracker.google.com/issues/256948272
2024-01-25 20:48:58 -05:00
t895 c7a39b02d2 android: Add 600dp layout for GameInfoFragment 2024-01-25 20:46:03 -05:00
t895 546bb43a3c android: Fix button click listener for build version name
Was set to the text instead of the parent view by mistake
2024-01-25 20:43:12 -05:00
t895 ee22a87867 android: Disable focus for the root of cards that contain buttons 2024-01-25 20:42:23 -05:00
t895 fdddac1a57 android: Focus on the in game menu when opened 2024-01-25 20:39:52 -05:00
FearlessTobi 2b4d7506a8 Address review comments and fix compilation problems 2024-01-25 16:43:53 -05:00
liamwhite 4bed2b5f36 Merge pull request #12777 from t895/firmware-warning
android: Add key warning
2024-01-25 16:21:29 -05:00
liamwhite 3f8c6405ac Merge pull request #12787 from t895/game-list-refresh
android: Only compare game contents for GameAdapter
2024-01-25 14:19:32 -05:00
t895 b24bd81938 android: Fix waiting for driver install on startup 2024-01-25 13:04:04 -05:00
t895 1533fbce51 android: Add current driver vendor to FPS overlay 2024-01-25 13:04:03 -05:00
t895 48660d8c8a android: Add key check 2024-01-25 12:58:19 -05:00
t895 227018508e android: Add option to make MessageDialogFragments non-dismissible
Additionally fixes an issue where its viewmodel could hold onto a stale positive action
2024-01-25 12:53:49 -05:00
t895 564908ba83 frontend_common: Consistently use references
Was swapping between references and pointers for no reason. Just unify them here since each of these utility functions will need their parameters to be alive.
2024-01-25 12:53:49 -05:00
t895 855ef8dc60 android: Only compare game contents for GameAdapter 2024-01-25 08:04:59 -05:00
t895 a651bb87a7 android: Add to launcher button 2024-01-22 08:19:20 -05:00
Charles Lombardo 8d097fa354 Merge pull request #12739 from t895/debug-keystore
android: Provide debug.keystore for debug and relWithDebInfo builds
2024-01-22 04:34:17 -05:00
Charles Lombardo dc8480eb8b Merge pull request #12738 from t895/lock-drawer
android: Port "Lock drawer" feature from Citra
2024-01-22 04:34:08 -05:00
t895 3116ee2cb7 android: Provide debug.keystore for debug and relWithDebInfo builds
Allows devs to share debug builds with testers without uninstalling the previous build
2024-01-21 22:08:07 -05:00
t895 49142d4e23 android: Port "Lock drawer" feature from Citra 2024-01-21 20:47:28 -05:00
t895 8f07d9bf1c android: Add options to verify installed content 2024-01-21 19:15:11 -05:00
t895 9dd8845ace android: Sync translations 2024-01-20 23:26:47 -05:00
t895 f5ff015ec9 android: Change "Clear" to "Use global setting" for per-game settings 2024-01-20 13:37:47 -05:00
liamwhite d3f54775a2 Merge pull request #12721 from t895/card-elevation
android: Use elevated card style for home setting card
2024-01-20 13:35:30 -05:00
liamwhite 5f1c12f514 Merge pull request #12719 from t895/sort-search
android: Sort recently added/played games by time
2024-01-20 13:35:14 -05:00
t895 125dae11bb android: Use elevated card style for home setting card 2024-01-20 03:55:48 -05:00
t895 aa37bffb58 android: Sort recently added/played games by time 2024-01-20 03:18:48 -05:00
t895 3df0c826a1 android: Add addon delete button
Required some refactoring of retrieving patches in order for the frontend to pass the right information to ContentManager for deletion.
2024-01-19 20:54:50 -05:00
t895 89e12de5e1 android: Use callback to update progress bar dialogs 2024-01-19 17:09:36 -05:00
t895 4959e07015 frontend_common: Add content manager utility functions
Creates utility functions to remove/install DLC, updates, and base game content
2024-01-19 17:09:35 -05:00
t895 5fdf16144e android: Save overlay data while using emulation fragment
This should have been fully embraced before but the items within the popup menu and the adjust controls dialog fell through. This ensures that everything related to the overlay is saved during emulation and can't be lost during a crash.
2024-01-17 20:14:25 -05:00
Narr the Reg 3910796711 Merge pull request #12380 from flodavid/save-profile
Save configuration profile name used by players
2024-01-16 21:27:25 -06:00
Viktor Szépe 168f763ee6 Merge remote-tracking branch 'origin/master' into typos3 2024-01-16 00:09:00 +00:00
Viktor Szépe 9b53207f25 Fix typos in arrays.xml 2024-01-15 23:39:45 +00:00
Viktor Szépe 8f8a15827f Fix more typos 2024-01-15 23:26:53 +00:00
liamwhite 33bd495eb3 Merge pull request #12681 from t895/stick-toggles
android: Fix overlay toggle ordering
2024-01-15 13:52:53 -05:00
Charles Lombardo d94c0b840f Merge pull request #12612 from liamwhite/fs-pid
fsp-srv: use program registry for SetCurrentProcess
2024-01-15 13:51:14 -05:00
t895 b175257527 android: Fix overlay toggle ordering 2024-01-15 12:41:49 -05:00
liamwhite 6796d2eeb1 Merge pull request #12667 from t895/version-info
android: Show version name instead of build hash in about fragment
2024-01-13 20:23:12 -05:00
t895 58a1e73675 android: Show version name instead of git hash in the about fragment 2024-01-13 18:12:19 -05:00
t895 b5721efd3b android: Clean up git commands in build.gradle 2024-01-13 18:06:33 -05:00
t895 1b369e8db2 android: Move ktlintCheck to yuzu-verify 2024-01-13 17:41:01 -05:00
liamwhite 7a556e94e4 Merge pull request #12605 from german77/abstract
service: hid: Create abstracted pad structure
2024-01-12 10:02:13 -05:00
german77 194746c558 service: hid: Create abstracted pad structure 2024-01-11 19:35:04 -06:00
Liam 2397093e4f fsp-srv: use program registry for SetCurrentProcess 2024-01-11 11:28:52 -05:00
t895 383f7aa8ed android: Fix added driver path
While this didn't break anything, the extra separator was unnecessary
2024-01-10 23:14:04 -05:00
t895 a4bbbed9d5 android: Add button to use global driver value 2024-01-10 23:14:04 -05:00
t895 12fa9df4a4 android: Reload driver data on importing user data 2024-01-10 23:14:04 -05:00
t895 83f5296be4 android: Rework driver fragment
Applies settings upon selection and uses a new Driver model to represent the information in-view. Also switches from an async diff list to a plain one.
2024-01-10 23:14:04 -05:00
t895 576cd8b9a2 android: Refactor DriverAdapter to use AbstractSingleSelectionList 2024-01-10 23:14:04 -05:00
t895 dd734ae862 android: Create generic single selection list adapter 2024-01-10 23:14:04 -05:00
t895 fc83aa7e9c android: Refactor recycler view adapters to use AbstractListAdapter 2024-01-10 23:14:04 -05:00
t895 7f35a23be6 android: Create generic list adapter for basic lists
Simplifies basic setup for lists
2024-01-10 23:14:04 -05:00
t895 822c85fd2d android: Refactor async diff adapters to use AbstractDiffAdapter 2024-01-10 23:14:04 -05:00
t895 f680c75cfc android: Create generic adapter and viewholder
Eliminates repeated code associated with every async differ list
2024-01-10 23:14:04 -05:00
flodavid ec5646a83e Save profile name used
- Save the profile name in global config
- Read the profile name when reading the global config
2024-01-08 18:43:56 +01:00
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