Charles Lombardo
fd09784231
android: Don't pause emulation when entering PiP
2023-09-19 00:31:43 -04:00
Charles Lombardo
3b612cff28
android: Fix showing input overlay in PiP
2023-09-19 00:31:43 -04:00
Charles Lombardo
32d65fc8de
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
e3c546a1ed
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
67eeb05692
android: Set up signing config for release builds
2023-09-17 01:22:16 -04:00
Charles Lombardo
c484a61515
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
c05ea35f78
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
832a2fcc69
android: Remove settings interface specifically for audio mute
2023-09-14 23:46:19 -04:00
Charles Lombardo
958bed4545
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
0c688b0bf5
Merge pull request #11506 from t895/icon-fix
...
android: Use resource as shortcut intermediary
2023-09-14 23:21:45 -04:00
Charles Lombardo
7e2bd395bc
android: Return the correct status code on emulation stop
2023-09-14 23:08:06 -04:00
Charles Lombardo
19053ab631
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
6481f4e937
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
d1deff6b07
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
e8aaab2fc1
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
21b133de40
android: Fix emulation to settings navigation args
2023-09-14 20:24:43 -04:00
Charles Lombardo
b394389170
android: Delay collecting UI state in games fragment
2023-09-14 20:02:48 -04:00
Charles Lombardo
8baed5d95d
android: Refactor menu tags to enum
2023-09-14 15:18:56 -04:00
Charles Lombardo
4a3cbf0021
android: Use StateFlow instead of LiveData
2023-09-14 15:18:56 -04:00
lat9nq
85e1754728
android/config: Remove uncaught usage of stoul
2023-09-13 13:36:25 -04:00
FearlessTobi
87c0ba129c
am: Implement UserChannel parameters
...
Used by the Super Mairo 3D All-Stars collection.
2023-09-10 15:39:25 -04:00
Charles Lombardo
50d4e0f4f7
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
d833fc383d
android: Combine LongMessageDialogFragment with MessageDialogFragment
2023-08-30 18:02:16 -04:00
Charles Lombardo
b48dbb18f2
android: Support dynamic app shortcuts
2023-08-30 16:26:10 -04:00
Charles Lombardo
5445e974e0
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
b0a96d5216
android: Game loading/shutting down indicators
2023-08-30 15:19:23 -04:00
Charles Lombardo
270f430f70
android: Create custom game icon loader
2023-08-30 10:19:05 -04:00
Charles Lombardo
44bce11853
Merge pull request #11380 from t895/settings-integration
...
android: Settings rework
2023-08-29 22:20:59 -04:00
Charles Lombardo
4701eea646
android: Don't reload settings when stopping settings activity
2023-08-29 21:44:18 -04:00
Charles Lombardo
21ad5f5cc5
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
45280a0342
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
fd5c7b21dd
android: Add search for settings
2023-08-29 19:42:42 -04:00
Charles Lombardo
d786d19880
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
369d06292f
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
95a939a49f
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
f5e6b12c74
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
6c8f2b355a
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
2dbe067d74
android: Support intents to emulation activity
2023-08-29 02:57:20 -04:00
Charles Lombardo
037f82025c
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
338d6f29b1
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
6c4abd23be
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
4e71628097
android: Use appCategory to specify the app is a game
2023-08-25 17:17:48 -04:00
bunnei
92e6ff30a1
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
ccd163ab2c
Merge pull request #11352 from t895/recurse-subfolders
...
android: Search game directory recursively
2023-08-23 10:20:02 -04:00
Charles Lombardo
182fb83556
android: Set default build variant to mainlineRelWithDebInfo ( #11358 )
2023-08-23 16:12:39 +02:00
Liam
2c4ebeb51d
android: jni: ensure NCAs from loaded filepath are registered in manual content provider
2023-08-22 22:47:25 -04:00
lat9nq
00af46c356
native: Use Docked Mode helper
2023-08-22 22:40:36 -04:00
lat9nq
75f5b3177d
config-android: Translate console mode setting
...
Translates the previous boolean to the enum.
2023-08-22 22:00:28 -04:00
Charles Lombardo
35b77b9599
android: Search game directory recursively
2023-08-22 15:16:20 -04:00
liamwhite
a9f223cd9f
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
1bc832c9b1
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
df00da1760
android: Show associated value in home settings ( #11272 )
2023-08-21 22:25:11 +02:00
Charles Lombardo
062113374d
android: Use sensor landscape for landscape mode ( #11337 )
2023-08-21 21:56:12 +02:00
bunnei
bbc6b08fc7
Merge pull request #11273 from t895/setup-completion
...
android: Setup additions
2023-08-14 15:41:35 -07:00
Charles Lombardo
242ce2a0b3
android: Page forward on setup step completion
2023-08-12 20:21:47 -04:00
Charles Lombardo
8ab3685a39
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
8bd0521b58
android: Show complete indicator during setup
2023-08-12 16:53:14 -04:00
Charles Lombardo
64ea5522d3
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
798a439eb1
android: Reduce opacity of non-editable settings
2023-08-12 15:42:55 -04:00
Charles Lombardo
786b609151
android: Use string resource for slider value/units
2023-08-12 15:42:54 -04:00
Charles Lombardo
89a2d308c3
android: Display setting value in setting list items
2023-08-12 14:38:46 -04:00
Charles Lombardo
0d4bf53ad9
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
fca7d975fd
Merge pull request #10839 from lat9nq/pgc-plus
...
general: Reimplement per-game configurations
2023-08-02 14:25:52 -04:00
Abandoned Cart
e2ea46f6ef
android: Only label language with language
2023-07-25 10:38:30 -04:00
Liam
4bee333d84
general: reduce use of dynamic_cast
2023-07-21 19:22:14 -04:00
lat9nq
b55a763618
config-android: Update memory layout member name
2023-07-21 10:56:55 -04:00
lat9nq
69bc8ea148
android-config: Update enum labels
2023-07-21 10:56:55 -04:00
lat9nq
ab795fe0e2
(android)config: Clang format
2023-07-21 10:56:55 -04:00
lat9nq
d373cc3d3f
android-config: Adapt settings rework
2023-07-21 10:56:07 -04:00
Valeri Ochinski
50fe45f1e4
android: fix links to re-dumping guides
2023-07-16 20:22:27 +03:00
Charles Lombardo
4b870b28e8
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
a6e467cd55
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
ef7d44e243
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
b41006004b
android: Reintroduce launch mode as single top
2023-07-03 09:31:02 -06:00
Charles Lombardo
68f6f2671b
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
657ab0287d
Merge pull request #10949 from t895/memory-requirements
...
android: Rework MemoryUtil
2023-07-02 11:29:08 -04:00
Charles Lombardo
ff6d35f2c7
android: Show memory warning once
2023-06-30 13:46:35 -04:00
Charles Lombardo
11991fbd7f
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
13506e7782
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
a1dd5dfba5
android: Make MemoryUtil an object
2023-06-28 20:00:25 -04:00
Charles Lombardo
b76b698c17
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
28df6ac0aa
Merge pull request #10888 from 8bitDream/native
...
android: (native) Parameter types from Android Studio
2023-06-26 14:31:00 -04:00
liamwhite
0030fa9721
Merge pull request #10865 from t895/extension-meme
...
android: Clean up file extension checks
2023-06-26 14:30:49 -04:00
Charles Lombardo
0f31039831
android: Clean up file extension checks
2023-06-26 13:25:56 -04:00
Abandoned Cart
b53945a99f
android: define [[maybe_unused]] (const) auto
2023-06-23 14:05:14 -04:00
Abandoned Cart
a58a1403ba
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
5ab4aa1edb
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
5558fc4aa5
Merge pull request #10794 from 8bitDream/multiples
...
android: Add support for multiple installs
2023-06-22 14:26:24 -07:00
Morph
7f12c6159f
Merge pull request #10878 from GPUCode/log-droid
...
android: Log settings
2023-06-22 16:16:20 -04:00
GPUCode
c133509368
android: Log settings
2023-06-22 20:17:52 +03:00
Abandoned Cart
1a85d8804a
android: Generalize string message dialog
2023-06-21 18:25:15 -04:00
Abandoned Cart
6c7e284f64
android: Add support for concurrent installs
2023-06-21 18:25:15 -04:00
Abandoned Cart
8b841aa7ba
android: Convert memory sizes to resource
2023-06-21 18:24:49 -04:00
Abandoned Cart
699e78c666
android: Add a notice when RAM inadequate
2023-06-21 18:24:49 -04:00
Abandoned Cart
cfc6ef42d9
android: Refactor native and corresponding variables
2023-06-21 18:23:13 -04:00
Abandoned Cart
e35371e50c
Fix JNI and expose mute settings to Android
2023-06-21 18:23:13 -04:00
Abandoned Cart
e31152ee34
android: Add a PiP interface to mute / unmute
2023-06-21 17:21:36 -04:00
Charles Lombardo
e684515578
android: Don't show custom driver button on mali and x86
2023-06-20 20:06:36 -04:00
bunnei
24e1e4dcee
Merge pull request #10808 from t895/settings-stuffs
...
android: Expose settings
2023-06-16 16:52:54 -07:00
Charles Lombardo
9f92104f3e
android: Expose audio output engine setting
2023-06-16 16:42:56 -04:00
Charles Lombardo
330358cd16
android: Bump ktlint version to 0.47.1
2023-06-16 16:32:08 -04:00
Charles Lombardo
fc6a2fe779
android: Disable import-ordering ktlint check
2023-06-16 16:31:49 -04:00
Charles Lombardo
13a4de647d
android: Expose CPU debugging option
2023-06-16 16:25:06 -04:00
Charles Lombardo
3ac2c74e85
android: Expose fastmem option
2023-06-16 16:24:40 -04:00
Charles Lombardo
5aca03d0ff
android: Support changing multiple settings at once
2023-06-16 15:49:49 -04:00
Abandoned Cart
c89be0dfab
android: Fix aspect ratio when rotating screen
2023-06-16 10:11:18 -04:00
Charles Lombardo
d0be850f25
android: Apply ktlint codestyle
2023-06-15 22:36:54 -04:00
Charles Lombardo
d85129aa17
Android: Use ktlint for Kotlin code style
2023-06-15 22:22:49 -04:00
Charles Lombardo
a29fa119e0
android: Enable android linting
2023-06-15 22:19:58 -04:00
bunnei
5384fa4998
android: fs: Fix Exists / IsFile for SAF.
2023-06-15 17:20:56 -07:00
Abandoned Cart
0e957c2e35
android: Move overlays to their own layout
2023-06-14 16:43:24 -04:00
Abandoned Cart
e20c4fbbd4
android: Initialize defaults for each orientations
2023-06-14 16:35:58 -04:00
Abandoned Cart
f34535f362
android: Display FPS with emulation on hinge
2023-06-14 16:35:57 -04:00
Abandoned Cart
724823c193
android: Remove PiP reliance on fragment
2023-06-14 16:35:56 -04:00
Abandoned Cart
0b442b6dd2
android: Set layout by fragment, not view
2023-06-14 16:35:54 -04:00
Abandoned Cart
2b5dde162a
android: Add a separate foldable layout set
2023-06-14 16:34:23 -04:00
Abandoned Cart
fb28f9fd96
android: Set portrait default control params
2023-06-14 16:34:22 -04:00
Abandoned Cart
eb4026e3db
android: Actually implement portrait controls
2023-06-14 16:34:19 -04:00
Abandoned Cart
0ef93541b4
android: Enable automated portrait controls
2023-06-14 16:34:16 -04:00
Abandoned Cart
de9100ea81
android: Add Picture in Picture / Orientation
2023-06-14 16:34:14 -04:00
Charles Lombardo
b79c993328
android: Adapt EmulationActivity to navigation component
2023-06-14 14:55:25 -04:00
Charles Lombardo
190eed8199
Merge pull request #10760 from FearlessTobi/translations
...
android: Declare languages in locales_config.xml
2023-06-13 15:48:45 -04:00
FearlessTobi
00fe302e60
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
0644c9d6cb
Merge pull request #10751 from german77/touch
...
android: Fix touch input
2023-06-13 14:01:02 -04:00
german77
322ac1c20c
android: Fix touch input
2023-06-13 00:17:10 -06:00
bunnei
bcdd35e8be
android: settings: Disable force_max_clock by default.
2023-06-12 17:57:48 -07:00
bunnei
f8a33f85ef
android: settings: Add reactive flushing as a default-disabled setting.
2023-06-12 17:56:44 -07:00
bunnei
306ad012c8
android: res: Remove translated strings that no longer exist.
2023-06-12 17:45:02 -07:00
bunnei
f9197f4dae
Merge pull request #10743 from FearlessTobi/translations
...
android: Add translation files manually
2023-06-12 17:20:27 -07:00
bunnei
9bee930045
Merge pull request #10705 from german77/updates
...
android: Add update and DLC support
2023-06-12 17:03:44 -07:00
FearlessTobi
26cdd7d980
android: Add translation files manually
2023-06-13 01:00:23 +02:00
bunnei
5144ca8bb6
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
a338de7850
android: Add update support
2023-06-11 23:33:50 -06:00
Charles Lombardo
eb7ccf5249
android: Use autogenerated hash code function for Game class
2023-06-11 21:15:13 -04:00
Charles Lombardo
5751822e31
android: Use autoVersion when gradle property is set
2023-06-11 20:04:08 -04:00
bunnei
f4c383392d
Merge pull request #10713 from t895/gradle-updates
...
android: Gradle updates
2023-06-11 11:31:03 -07:00
Charles Lombardo
92d49ad652
android: Update dependencies
2023-06-11 02:17:29 -04:00
Charles Lombardo
f23a2b514b
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
37e135d74d
Android: Remove unused relWithVersionCode build type
2023-06-11 02:15:28 -04:00
Charles Lombardo
16fe64ad0c
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
ea716eb5cc
android: Fix screen orientation & blurriness.
2023-06-10 15:13:06 -07:00
bunnei
f759ff3a5c
Merge pull request #10691 from t895/nro-check
...
android: Add proper homebrew check
2023-06-09 23:59:51 -07:00
Charles Lombardo
72d9dc9a3f
android: Add proper homebrew check
2023-06-09 20:17:51 -04:00
Charles Lombardo
3cce51d25b
android: Fix input overlay version check
2023-06-09 15:15:57 -04:00
bunnei
064bad6ddf
android: EmulationActivity: Fix orientation on Mi Pad 5.
2023-06-08 17:20:13 -07:00
bunnei
9c6fc44a59
Merge pull request #10650 from qurious-pixel/android_tv
...
Android TV banner
2023-06-07 16:32:25 -07:00
qurious-pixel
45f80f2b06
remove version code declaration
2023-06-07 13:27:51 -07:00
Live session user
9611a9e220
Android TV banner
2023-06-06 11:32:25 -07:00
Narr the Reg
4d61319307
android: Set version code
2023-06-06 12:14:38 -06:00
Abandoned Cart
0968e315f4
android: Improve Gradle build configuration
2023-06-06 12:46:21 -04:00