Commit Graph

739 Commits

Author SHA1 Message Date
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
bunnei
036996429e
Merge pull request #10633 from t895/variable-surface-ratio
android: Use a custom view for changing emulation aspect ratio
2023-06-05 20:27:58 -07:00
bunnei
dc2a0b2e50
Merge pull request #10578 from PabloG02/lime-firmware&logs
Add UI to import firmware and share logs
2023-06-05 17:41:19 -07:00
bunnei
e1078ec0f4 android: HomeSettingsFragment: Use string resource for "Share log". 2023-06-05 17:40:43 -07:00
Charles Lombardo
c8b91b3a89 android: Use a custom view for changing emulation aspect ratio
Credit to the Skyline team for the FixedRatioSurfaceView.
2023-06-05 20:24:36 -04:00
bunnei
71766f3269
Merge pull request #10618 from t895/licenses
android: Add licenses page
2023-06-05 17:14:15 -07:00
PabloG02
409ff26f02 Address feedback 2023-06-06 00:07:54 +02:00
Charles Lombardo
cba5865afe android: Create licenses page 2023-06-05 14:34:23 -04:00
bunnei
2f7658bd75
Merge pull request #10613 from t895/settings-changes
android: String and settings organization changes
2023-06-04 19:17:42 -07:00
Charles Lombardo
5e58af0616 android: Move settings to debug submenu 2023-06-04 19:53:27 -04:00
Charles Lombardo
0078f97227 android: Load settings at the start of each activity 2023-06-04 19:37:10 -04:00
PabloG02
3733187c14 Attempt to move the unzip coroutine to a ViewModel 2023-06-04 20:52:12 +02:00
PabloG02
72597b8ffe android: update strings 2023-06-04 20:52:12 +02:00
PabloG02
8713c442e9 android: add option to share log 2023-06-04 20:52:12 +02:00
PabloG02
5435f0be5e android: add option to install firmware 2023-06-04 20:52:12 +02:00
PabloG02
19674ec78d android: move unzip function to FileUtil and use SecurityException 2023-06-04 20:50:00 +02:00
Charles Lombardo
5de8c5b5c7 android: Several string changes 2023-06-04 13:30:56 -04:00
Abandoned Cart
00a391ce10 android: Resolve a couple Gradle warnings 2023-06-04 02:06:38 -04:00
Abandoned Cart
cfa8bec5b9 android: Add support for split foldable view 2023-06-03 22:57:28 -04:00
Abandoned Cart
b394a6b937 android: Replace deprecated and Java code 2023-06-03 15:16:25 -04:00
Charles Lombardo
a789046127 android: Fix crash on importing invalid save 2023-06-03 00:06:08 -07:00
Charles Lombardo
f94eb320ff android: Rename "Input Overlay" to "Overlay Options" 2023-06-03 00:06:08 -07:00
Charles Lombardo
c927a30d09 android: Adjust import/export saves dialog 2023-06-03 00:06:08 -07:00
Charles Lombardo
20abd49a21 android: Warning dialogs for key errors 2023-06-03 00:06:08 -07:00
bunnei
4ac9778652 android: EmulationFragment: Remove unnecessary surface destroy on pause. 2023-06-03 00:06:08 -07:00
bunnei
098e2c4077 android: renderer_vulkan: Fix crash with surface recreation. 2023-06-03 00:06:07 -07:00
bunnei
057117f009 android: Fix presentation layout on foldable and tablet devices. 2023-06-03 00:06:07 -07:00
Charles Lombardo
ca4b07a2d7 android: Enable overlay scale/opacity dialog 2023-06-03 00:06:07 -07:00
PabloG02
1957b7e6cc Add image to card_game.xml to preview in the Layout Editor 2023-06-03 00:06:07 -07:00
PabloG02
a7e0a0d5b1 Save the position of buttons as a percentage 2023-06-03 00:06:07 -07:00
Charles Lombardo
8e8627a258 android: Don't crash the app when selecting a zip that causes a SecurityException 2023-06-03 00:06:07 -07:00
bunnei
9ca8687b5f android: ForegroundService: Handle null intent. 2023-06-03 00:06:06 -07:00
bunnei
17ae85e724 android: ImportExportSavesFragment: Cleanup strings. 2023-06-03 00:06:06 -07:00
bunnei
b325ad16bc Update src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/ImportExportSavesFragment.kt 2023-06-03 00:06:06 -07:00
PabloG02
4010764279 Remove ?. 2023-06-03 00:06:06 -07:00
PabloG02
9650c1d02d Check if folder exists before letting the user import/export saves 2023-06-03 00:06:06 -07:00
PabloG02
33d36ded28 Add save import/export in UI 2023-06-03 00:06:06 -07:00
Charles Lombardo
ad9c2356a8 android: Fix FPS text getting cut off by rounded display corners 2023-06-03 00:06:05 -07:00
Charles Lombardo
fdd200d33f android: Prevent deleting the settings file while a game is running 2023-06-03 00:06:05 -07:00
Charles Lombardo
4e87a01db6 android: Fix link text color for base theme dialog 2023-06-03 00:06:05 -07:00
bunnei
ee8caac82f android: Various fixes for CI. 2023-06-03 00:06:05 -07:00
bunnei
17b5ed9baf android: externals: Update libadrenotools, use useLegacyPackaging. 2023-06-03 00:06:05 -07:00
Charles Lombardo
0f9c5b8d6a android: Re-enable service notification 2023-06-03 00:06:05 -07:00
Charles Lombardo
09747ca2d3 android: Ensure keys are loaded before populating games list 2023-06-03 00:06:05 -07:00
Charles Lombardo
897b748895 android: Use dialog fragment for the reset settings dialog 2023-06-03 00:06:05 -07:00
Charles Lombardo
9c1d42342d android: Upgrade AGP to 8.0.2 2023-06-03 00:06:04 -07:00
Charles Lombardo
7de86266fd android: Show notification permission page during setup 2023-06-03 00:06:04 -07:00
Charles Lombardo
419daf770d android: DIsable FPS counter by default 2023-06-03 00:06:04 -07:00
Charles Lombardo
bfb4e3bcaa android: Improve searches with one character
The Jaccard algorithm is great for searches with 2 or more characters but nothing is returned for searches with one character. To get around this, just search with JaroWinkler for single character searches.
2023-06-03 00:06:04 -07:00
Charles Lombardo
0cbae33790 android: Stop building x86 packages in APKs
This was really only meant for building the app to run in an emulator. If this is necessary, just add manually.
2023-06-03 00:06:04 -07:00
Charles Lombardo
d49eb7faad android: Add FPS toggle 2023-06-03 00:06:04 -07:00
Charles Lombardo
8426e97f45 android: Clean up app build.gradle
Removes the conflicting declaration of "version" and changes to versionCode that did nothing.
2023-06-03 00:06:04 -07:00
bunnei
b4725332a2 android: config: Expose VSync as a configurable setting. 2023-06-03 00:06:04 -07:00
bunnei
f0ed20c8a2 android: GPU: Enable async presentation, increase frames in flight. 2023-06-03 00:06:03 -07:00
Charles Lombardo
116e2b5f02 android: Enable onBackInvokedCallback
For now this enables the ability to see the new Android 13 back gesture animations but later we can create custom animations that follow the back gesture.
2023-06-03 00:06:03 -07:00
Charles Lombardo
7812de4ade android: Remove deprecated use of onBackPressed() 2023-06-03 00:06:03 -07:00
Charles Lombardo
ffba83d568 android: Add option for touch overlay haptics
Disabled by default
2023-06-03 00:06:03 -07:00
Charles Lombardo
5dbf842a46 android: Improve missing game handling
Previously the app would crash if you selected a game that no longer existed. Now we show an error message and reload the games list to remove any invalid games from the list.
2023-06-03 00:06:03 -07:00
Charles Lombardo
c11c5b2eb7 android: Clean up dependencies
Additionally updates material and androidx core libraries
2023-06-03 00:06:03 -07:00
Charles Lombardo
a10b1c8ef5 android: Delete java code style file 2023-06-03 00:06:03 -07:00
Charles Lombardo
e42c966110 android: Settings UI tweaks
New spacing and fonts for list items
2023-06-03 00:06:03 -07:00
Charles Lombardo
412c95e0b0 android: Simplify setup in search and games fragments 2023-06-03 00:06:03 -07:00
Charles Lombardo
aa8a48e94c android: Use collapsing toolbar layout in settings 2023-06-03 00:06:03 -07:00
Charles Lombardo
b31ab11842 android: Remove unnecessary JvmStatic/JvmField annotations 2023-06-03 00:06:02 -07:00
Charles Lombardo
8d3288b6ff android: Fix navigation rail animation in rtl layout 2023-06-03 00:06:02 -07:00
Charles Lombardo
c930b2bad2 android: Use cutout insets on setup fragment 2023-06-03 00:06:02 -07:00
Charles Lombardo
ee57aa83a4 android: Button to reset all settings 2023-06-03 00:06:02 -07:00
Charles Lombardo
0f06e73a7c android: Use proguard file in relWithDebInfo 2023-06-03 00:06:02 -07:00
Charles Lombardo
a0a0703f30 android: Fix background color within inset areas 2023-06-03 00:06:02 -07:00
Charles Lombardo
070d250858 android: Shortcut to settings activity on reselection 2023-06-03 00:06:01 -07:00
Charles Lombardo
c31a37c828 android: Expose custom RTC setting 2023-06-03 00:06:01 -07:00
Charles Lombardo
f7934bdaf7 android: Reset setting on long press 2023-06-03 00:06:01 -07:00
Charles Lombardo
2289f7ad15 android: Fix issues with ea/main icons and version codes
Now all yuzu icon variants are taken care of and now we have a build variant that uses the versioning we need for the play store.
2023-06-03 00:06:01 -07:00
Charles Lombardo
5213701e18 android: Move theme options out of advanced settings 2023-06-03 00:06:01 -07:00
Charles Lombardo
bafd4d344f android: Check if cached games are valid
Fixes bug when you close yuzu, delete games, and reopen to an instant crash.
2023-06-03 00:06:01 -07:00
german77
aa957df0dc android: Invert rotation to match phone orientation 2023-06-03 00:06:01 -07:00
bunnei
1a424ea6c6 android: config: Use default anisotropic filtering. 2023-06-03 00:06:01 -07:00
Charles Lombardo
41c20f8460 android: Remove top padding from in game menu items 2023-06-03 00:06:00 -07:00
Charles Lombardo
ec81c6cf44 android: Use different icons for mainline/ea 2023-06-03 00:06:00 -07:00
Charles Lombardo
f69bc78dc5 android: Add early access upgrade fragment
We now have a second build flavor that will determine whether the "Get Early Access" button appears.
2023-06-03 00:06:00 -07:00
bunnei
6b093224c1 android: settings: Use mailbox vsync by default. 2023-06-03 00:06:00 -07:00
bunnei
8dc7fe0c96 android: video_core: Disable problematic compute shaders.
- Fixes #104.
2023-06-03 00:06:00 -07:00
Charles Lombardo
1c9dae7cac android: Update progard to fix settings crash
R8 full mode was removing important classes from Wini that would cause a crash on saving settings. This keeps the relevant classes and suppresses warnings about irrelevant ones.
2023-06-03 00:05:59 -07:00
bunnei
117bc2ae6c android: vulkan: Recreate surface after suspension & adapt to async. presentation. 2023-06-03 00:05:59 -07:00
Charles Lombardo
65dc35a1a5 android: Game data cache 2023-06-03 00:05:59 -07:00
Charles Lombardo
b0bef6173a android: Update to Kotlin 1.8.21 2023-06-03 00:05:59 -07:00
Charles Lombardo
c16e663f70 android: Disable jetifier
We no longer depend on any legacy libraries that required this flag
2023-06-03 00:05:59 -07:00
Charles Lombardo
d8bacdfc14 android: Update dependencies 2023-06-03 00:05:59 -07:00
Charles Lombardo
56d3711e34 android: Migrate to AGP 8.0.1 2023-06-03 00:05:59 -07:00
Charles Lombardo
48065c7a0e android: Enable non-transitive R classes
New default going forward for new android projects. Best to follow the new standard.
2023-06-03 00:05:59 -07:00
bunnei
570c4a2c1b android: config: Enable asynchronous presentation by default on Android. 2023-06-03 00:05:59 -07:00
german77
e5bdb7011b android: fix deadzone calculation 2023-06-03 00:05:58 -07:00
Charles Lombardo
13b29c3f49 android: Fix background color when starting emulation 2023-06-03 00:05:58 -07:00
Charles Lombardo
34b7d58157 android: Persistent scrollbars on home settings fragment 2023-06-03 00:05:58 -07:00
Charles Lombardo
f461465a92 android: Use short build hash 2023-06-03 00:05:58 -07:00
Charles Lombardo
86e395595a android: Use navigation bar shade view 2023-06-03 00:05:58 -07:00
Charles Lombardo
21e8a8277a android: About fragment 2023-06-03 00:05:58 -07:00
Charles Lombardo
09e7b14d0e android: Use x-axis animation for navigation rail 2023-06-03 00:05:58 -07:00
Charles Lombardo
03541703fa android: Sort games alphabetically by default 2023-06-03 00:05:58 -07:00
Charles Lombardo
9f433e281a android: New icons for navigation bar 2023-06-03 00:05:57 -07:00
Charles Lombardo
efc054e47f android: New icons for home settings fragment 2023-06-03 00:05:57 -07:00
Charles Lombardo
9f6f21946c android: Add navigation rail 2023-06-03 00:05:57 -07:00
Charles Lombardo
6df030998a android: Search Fragment 2023-06-03 00:05:57 -07:00
Charles Lombardo
3281dc597e android: Fix potential zip traversal exploit 2023-06-03 00:05:57 -07:00
german77
d1fb7ea58b android: Add dedicated show overlay checkbox 2023-06-03 00:05:57 -07:00
Charles Lombardo
912bf6a0c6 android: Add user directory shortcut 2023-06-03 00:05:57 -07:00
german77
265b9139e0 android: Fix inline keyboard input 2023-06-03 00:05:57 -07:00
Charles Lombardo
7131432037 android: Fix grammatical mistake in video core error message 2023-06-03 00:05:56 -07:00
Charles Lombardo
4bb82e4860 android: Adjust wording on GPU driver install button 2023-06-03 00:05:56 -07:00
Narr the Reg
c46a1da5dc android: Add deadzone to stick input 2023-06-03 00:05:56 -07:00
german77
166bff88b8 android: Move motion listener to emulation activity 2023-06-03 00:05:56 -07:00
Narr the Reg
5c1310dc5d core: hid: Finish linking motion from virtual controllers 2023-06-03 00:05:56 -07:00
Charles Lombardo
d015b0db93 android: Change wording for "Add Games" button (#100)
Co-authored-by: bunnei <bunneidev@gmail.com>
2023-06-03 00:05:56 -07:00
Charles Lombardo
0d16805445 android: Scroll shortcut for games list
If you reselect the "Games" menu item in the bottom navigation menu, the list smoothly scrolls to the top.
2023-06-03 00:05:56 -07:00
Charles Lombardo
274b2be24f android: Setup screen hotfix
Added help button link for add games warning and a check for whether a task was completed on a given screen.
2023-06-03 00:05:56 -07:00
Charles Lombardo
792ce5cb2f android: Swap Default and Install buttons for GPU driver installation dialog 2023-06-03 00:05:56 -07:00
Charles Lombardo
72247a2324 android: Add warnings to setup screens 2023-06-03 00:05:56 -07:00
Charles Lombardo
71667e4d6d android: Allow search bar to scroll offscreen 2023-06-03 00:05:55 -07:00
Charles Lombardo
3b9791d887 android: Update app icon
Small icon updates from Flam
2023-06-03 00:05:55 -07:00
Charles Lombardo
c070a588b9 android: Change organization of the settings tab in the home screen 2023-06-03 00:05:55 -07:00
Charles Lombardo
c29f14fa0f android: Properly pop setup fragment from the back stack 2023-06-03 00:05:55 -07:00
Charles Lombardo
f41939b66e android: Vertically scalable setup pages
Previously the setup pages would remain at a fixed height but now the icon and two text boxes will give up space as a device gets shorter. This eliminates the need for a scrolling view further problems with padding.
2023-06-03 00:05:55 -07:00
Charles Lombardo
48c506682d android: Fix setup rotation bug
If you rotated the device at the "Add Games" screen the buttons would disappear until you trigged them from the beginning page swap. Now button state is saved across recreation.
2023-06-03 00:05:55 -07:00
Charles Lombardo
61e0042633 android: Temporarily switch for a fixed version code for testing 2023-06-03 00:05:55 -07:00
Charles Lombardo
986f858e6f android: Fix alignment of SwipeRefreshLayout 2023-06-03 00:05:55 -07:00
Charles Lombardo
388dc0757f android: Shape/spacing adjustments to game card
Ripple effect now reaches into rounded corners, icon size changed, company text removed, title font adjusted, and spacing around the card was adjusted as well. Text also doesn't get cut off anymore and instead scrolls indefinitely on one line.
2023-06-03 00:05:55 -07:00
Charles Lombardo
f984775f12 android: Manual tweaks for dialog colors
Small fix for Flam
2023-06-03 00:05:54 -07:00
Charles Lombardo
f2cadc4ce1 android: Fix black backgrounds bug
Start using a specific night mode check because black backgrounds could apply incorrectly when using the light app mode, dark system mode, and black backgrounds. Launching the settings activity will show light mode colors/navigation bars but with black backgrounds.
2023-06-03 00:05:54 -07:00
Charles Lombardo
033adb9723 android: Use navigation bar shade view for settings activity 2023-06-03 00:05:54 -07:00
Charles Lombardo
cfa3d73f2f android: Disable editing themes during emulation 2023-06-03 00:05:54 -07:00
Charles Lombardo
62c47011a0 android: Prevent situation where binding is called on a null view 2023-06-03 00:05:54 -07:00
Charles Lombardo
d7178ed16e android: Add black backgrounds toggle 2023-06-03 00:05:54 -07:00
Charles Lombardo
d9684a2010 android: Add theme mode picker 2023-06-03 00:05:54 -07:00
Charles Lombardo
f0ba58f5aa android: Add theme picker 2023-06-03 00:05:54 -07:00
Charles Lombardo
5b26ac9293 android: Prevent potential abstract settings crash 2023-06-03 00:05:54 -07:00
Charles Lombardo
b6f57da70a android: Fix cast for abstract settings 2023-06-03 00:05:54 -07:00
Charles Lombardo
7531641ecc android: Create xml for Material You theme 2023-06-03 00:05:54 -07:00
Charles Lombardo
89593d70bf android: Remove check for API 29 in themes 2023-06-03 00:05:53 -07:00
Charles Lombardo
8cef21a0b0 android: Adjustments to home option card
Several spacing/color adjustments provided by Flam
2023-06-03 00:05:53 -07:00
Charles Lombardo
a82f8fe1c1 android: Use different colors for logo in options menu
Reverting to the official logo colors
2023-06-03 00:05:53 -07:00
Charles Lombardo
9673974f73 android: New default theme colors 2023-06-03 00:05:53 -07:00
Charles Lombardo
6549348656 android: Use libnx default icon
Credit to jaames for the original icon
2023-06-03 00:05:53 -07:00
Liam
8b4c5a9939 android: enable LTO 2023-06-03 00:05:53 -07:00
Charles Lombardo
83dae1739c android: Show error if invalid keys file is selected
There aren't MIME types specific enough for filtering out files that aren't amiibo or production keys. So here we just check for the extensions "bin" or "keys" where appropriate and stop the process if incorrect. Previously you could select any document and it could cause the app to hang.
2023-06-03 00:05:53 -07:00
Charles Lombardo
d8c102444c android: Fix first time setup scrolling bug
If you quickly scrolled from the second page to the first and then back, the next/back buttons would disappear.
2023-06-03 00:05:53 -07:00
Charles Lombardo
45d81dc6bd android: Fix A button preference key 2023-06-03 00:05:53 -07:00
Charles Lombardo
59525ddbeb android: First time setup screen 2023-06-03 00:05:52 -07:00
Charles Lombardo
766655fa41 android: Prevent editing unsafe settings at runtime
There currently isn't a visual "disabled" cue for any of the view holders that aren't the switch setting. This will be improved in the future.
2023-06-03 00:05:52 -07:00
Charles Lombardo
c609847e49 android: Abstract settings
Previously we could only add settings that would change our ini file. Now we can create abstract settings in our presenter to alter things like shared preferences for theme support!
2023-06-03 00:05:52 -07:00
german77
6dfe4240ac android: Implement gamepad input 2023-06-03 00:05:52 -07:00
Charles Lombardo
f5c48f92f2 android: Bump minimum version to Android 11 2023-06-03 00:05:52 -07:00
Charles Lombardo
9c9d9131b5 android: Decouple status bar shade from navigation bar visibility 2023-06-03 00:05:52 -07:00
Charles Lombardo
d57ae50f17 android: Enable code minification 2023-06-03 00:05:52 -07:00
Charles Lombardo
921e6dddcc android: Switch from a colored status bar to a custom view
Allows for smoother transitions with the search bar
2023-06-03 00:05:52 -07:00
Charles Lombardo
3f2b832371 android: Adjustments to card_game
Removed a currently unused text view and moved to material text views.
2023-06-03 00:05:51 -07:00
Charles Lombardo
233ae9ab69 android: MainActivity overhaul
This moves several parts of the main activity into fragments that manage themselves to react to changes. UI changes like the appearance of a new search view or when the games list changes now gets updated via multiple view models. This also starts a conversion to the androidx navigation component which furthers the goals mentioned previously with more fragment responsibility. This will eventually allow us to use one activity with interchanging fragments and multiple view models that are stored within that central activity.

fdas
2023-06-03 00:05:51 -07:00
Charles Lombardo
859c40f00e android: Enforce Vulkan 1.1 support as minimum 2023-06-03 00:05:51 -07:00
Charles Lombardo
e5487243d3 android: Update gradle version to 8.1 2023-06-03 00:05:51 -07:00
Charles Lombardo
b1ebc1c395 android: Update app dependencies 2023-06-03 00:05:51 -07:00
Charles Lombardo
ab87f74998 android: Convert gradle scripts to Kotlin DSL 2023-06-03 00:05:51 -07:00
bunnei
d2e55558df android: settings: Add scaling filter & anti-aliasing options. (#66) 2023-06-03 00:05:50 -07:00
bunnei
4006468f73 android: video_core: Add support for disk shader cache. (#64) 2023-06-03 00:05:50 -07:00
bunnei
30bf5d5b07 android: config: Change docked mode and GPU accuracy to favor performance on Android. 2023-06-03 00:05:50 -07:00
german77
f9974f7ef3 android: Initialize account manager 2023-06-03 00:05:50 -07:00
german77
5aec62930c android: Remove unsafe null check 2023-06-03 00:05:50 -07:00
Charles Lombardo
78f02ab9a6 android: Scale input overlay independently of system display scale 2023-06-03 00:05:50 -07:00
Charles Lombardo
aeaddf407b android: Use apply instead of commit for shared preferences
Previously we were operating on the assumption that apply'd settings wouldn't be visible immediately. This isn't true and settings will be accessible via memory before being stored to disk. This reduces any potential stutters caused by saving to shared preferences.
2023-06-03 00:05:50 -07:00
Charles Lombardo
fcbf08ca98 android: Add DPad slide toggle 2023-06-03 00:05:50 -07:00
Charles Lombardo
bebc822334 android: Add relative stick center toggle 2023-06-03 00:05:49 -07:00
Charles Lombardo
63819af214 android: Make hash and branch accessible from BuildConfig 2023-06-03 00:05:49 -07:00
Charles Lombardo
f5055ca930 android: Backup shared preferences where applicable 2023-06-03 00:05:49 -07:00
Charles Lombardo
940dbdcff2 android: Enable retaining app data after uninstall 2023-06-03 00:05:49 -07:00