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