Commit graph

795 commits

Author SHA1 Message Date
t895
470714e2d1 android: Remove dividers between each setting 2023-11-12 21:36:51 -05:00
t895
6b888b0fa8 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
1a1393dad7 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
55412962c0 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
d920da2631 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
ff72bf2cb2 android: Shrink logo in about page 2023-11-12 13:56:13 -05:00
t895
4efb9763d9 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
c600bc8652 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
09f993899e android: Hide loading animation on first frame 2023-11-09 22:27:40 -05:00
liamwhite
ca1dd1862b
Merge pull request #11972 from t895/fps-counter-adjustments
android: FPS counter adjustments
2023-11-06 11:09:59 -05:00
Charles Lombardo
5191465b0a android: Simplify FPS counter padding 2023-11-05 18:34:27 -05:00
Charles Lombardo
50c604f37f android: Color the FPS counter white 2023-11-05 18:29:00 -05:00
Charles Lombardo
9543adf072 android: Always update FPS counter 2023-11-04 00:04:20 -04:00
Charles Lombardo
036d2686af android: Don't reload log/system after loading firmware/backup 2023-11-03 22:49:31 -04:00
Charles Lombardo
0a83047368 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
9bb8ac7cb6 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
b3a1f793c3 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
57c8dcfd77
Merge pull request #11942 from t895/log-version
android: Adjust log lifecycle
2023-11-01 15:45:53 -04:00
Charles Lombardo
398e881428 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
92418e909f 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
344162db75 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
5872c7d420 android: Adjust driver manager source string 2023-11-01 00:18:20 -04:00
Charles Lombardo
2b6edd3efd android: Reorganize settings tab 2023-11-01 00:17:38 -04:00
Charles Lombardo
97b4ca1d01 android: Auto-generate locale config 2023-10-31 22:07:44 -04:00
Charles Lombardo
1d7ff850d6 android: Update translations from transifex 2023-10-31 22:07:43 -04:00
liamwhite
7e284809de
Merge pull request #11931 from t895/applet-launcher
android: Applet launcher UI
2023-10-31 16:55:57 -04:00
Charles Lombardo
133788d0d4 android: Initialize filesystem components during application start 2023-10-31 14:41:40 -04:00
Charles Lombardo
e8cb8b2668 android: Implement applet launcher 2023-10-31 14:41:40 -04:00
liamwhite
ab3e3c11af
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
f7755df2af 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
c60204e255
Merge pull request #11922 from t895/simplify-card-layout
android: Simplify game card layout
2023-10-30 15:32:45 -04:00
Charles Lombardo
e867768316 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
f04bc172ae 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
585b6e9d46 android: Fix resolving android URIs in native code 2023-10-30 11:38:10 -04:00
Charles Lombardo
a9e29a3972 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
1e61c3e1e7 android: Use header for EmulationSession 2023-10-30 11:28:23 -04:00
liamwhite
3e0da4f698
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
789c16305d
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
70be45c992 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
9b3c64f4a4 android: Removed unused ControllerMappingHelper 2023-10-30 01:20:27 -04:00
Charles Lombardo
2c1d850b46 android: Release touch on input overlay when opening in-game menu 2023-10-29 21:42:47 -04:00
Charles Lombardo
2581590023 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
a5aa5876b4 android: Break home settings into grid with large screens 2023-10-29 13:47:41 -04:00
Charles Lombardo
3e4edbe007
Merge pull request #11767 from t895/gradle-stuff
android: Update dependencies
2023-10-13 15:08:47 -04:00
Charles Lombardo
82c845dc2f 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
9b961dddb4 android: Remove unnecessary flag to extract native libs in AndroidManifest.xml 2023-10-13 12:55:41 -04:00
Charles Lombardo
224b6036a4 android: Update dependencies
Updates to androidx navigation, lifecycle, preference, fragment, recyclerview, and core
2023-10-13 12:55:41 -04:00
Charles Lombardo
1591923f91 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
c8602e1b1f
Merge pull request #11649 from t895/driver-manager
android: Driver manager
2023-10-13 09:28:53 -04:00
Charles Lombardo
8b64878258 android: Update AGP to 8.1.2 2023-10-12 18:59:57 -04:00
Charles Lombardo
a5fb9de6fa 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
b32940d3ea vk_present_manager: recreate surface on any surface loss 2023-10-02 19:07:18 -04:00
Charles Lombardo
26f9d1f122 android: Use application context for all FileUtil functions 2023-10-01 15:56:02 -04:00
liamwhite
4487c165c8
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
882859bc78
Merge pull request #11613 from t895/fragment-exception-change
android: Various play store fixes
2023-09-27 18:08:54 -04:00
Charles Lombardo
22284fc504 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
d70f18b87b 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
ec388622ff android: Don't update views if binding is null in onConfigurationChanged 2023-09-27 13:40:09 -04:00
Charles Lombardo
6a425e95cb android: Don't wait for post to update input overlay visibility 2023-09-27 13:40:09 -04:00
Charles Lombardo
1fdfedc43e android: Close activity with toast if emulation has no game 2023-09-27 13:40:09 -04:00
Charles Lombardo
18b240c071
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
0aa99b8f47
Merge pull request #11603 from t895/consolidate-installs
android: Consolidate installers to one fragment
2023-09-27 10:50:38 -04:00
Charles Lombardo
481f91cc34 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
a29e26200f android: Remove ability to install xci files 2023-09-26 18:56:19 -04:00
Charles Lombardo
cf44be1de6 android: Adjust failure dialogs for user data and firmware installers 2023-09-26 13:59:46 -04:00
Charles Lombardo
95a31b8887 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
c8673a16bb android: Refactor zip code into FileUtil 2023-09-26 13:26:20 -04:00
Charles Lombardo
3491ba4a06 android: Use a different string for the content install dialog 2023-09-26 00:26:46 -04:00
Charles Lombardo
5326ea63e5 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
e9e6296893 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
4e855be38b
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
3d03e8b806 android: Prevent click ripple from appearing on loading card 2023-09-25 18:33:21 -04:00
Charles Lombardo
ff9d8dd0b3 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
38b939b2e9 android: Prevent nav bar shade from laying out across screen 2023-09-25 18:10:58 -04:00
Charles Lombardo
0d7d3d938c 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
5269a46399 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
f3bc7354b1 android: Adjust valid user data check 2023-09-22 12:05:44 -04:00
Charles Lombardo
c619199bb4
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
703bf7cfce 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
c644c1a90a
Revert "android: Allow save imports always" 2023-09-21 02:57:28 -04:00
Charles Lombardo
a85325f56a android: Remove unused strings related to the save manager 2023-09-20 15:01:03 -04:00
Charles Lombardo
bdb4fd208f 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
1e740df9b8 android: Add import/export buttons for user data 2023-09-19 15:54:47 -04:00
liamwhite
df56ecc318
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
7dd3d1b8ad android: Ignore validation layers library in git 2023-09-19 00:31:43 -04:00
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
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