summaryrefslogtreecommitdiffstats
path: root/src/android (unfollow)
Commit message (Collapse)AuthorFilesLines
2024-01-28android: Multi-program app switchingt8958-34/+117
2024-01-27android: Reload global settings on closing emulationt8951-0/+1
UI like the driver manager expects the global settings to be loaded when in the MainActivity so we reload global config to properly reset state on exit.
2024-01-26android: Add cancel condition to installed content checkt8951-1/+7
2024-01-26android: Disable default focus highlight on views that shouldn't be selectedt89511-5/+19
2024-01-26android: Allow controller to focus on toolbar menu itemst89511-6/+28
Workaround for this https://issuetracker.google.com/issues/256948272
2024-01-26android: Add 600dp layout for GameInfoFragmentt8951-0/+155
2024-01-26android: Fix button click listener for build version namet8951-1/+1
Was set to the text instead of the parent view by mistake
2024-01-26android: Disable focus for the root of cards that contain buttonst8954-5/+5
2024-01-26android: Focus on the in game menu when openedt8954-7/+39
2024-01-25Address review comments and fix compilation problemsFearlessTobi2-13/+14
2024-01-25android: Fix waiting for driver install on startupt8953-13/+24
2024-01-25android: Add current driver vendor to FPS overlayt8953-2/+15
2024-01-25android: Add key checkt8956-2/+67
2024-01-25android: Add option to make MessageDialogFragments non-dismissiblet8951-8/+24
Additionally fixes an issue where its viewmodel could hold onto a stale positive action
2024-01-25frontend_common: Consistently use referencest8951-7/+8
Was swapping between references and pointers for no reason. Just unify them here since each of these utility functions will need their parameters to be alive.
2024-01-25android: Only compare game contents for GameAdaptert8953-9/+22
2024-01-22android: Add to launcher buttont8957-52/+116
2024-01-22android: Provide debug.keystore for debug and relWithDebInfo buildst8952-4/+11
Allows devs to share debug builds with testers without uninstalling the previous build
2024-01-22android: Port "Lock drawer" feature from Citrat8956-4/+70
2024-01-22android: Add options to verify installed contentt8958-4/+165
2024-01-21android: Sync translationst89520-338/+2062
2024-01-20android: Change "Clear" to "Use global setting" for per-game settingst8955-10/+8
2024-01-20android: Use elevated card style for home setting cardt8951-3/+3
2024-01-20android: Sort recently added/played games by timet8951-2/+2
2024-01-20android: Add addon delete buttont89512-59/+233
Required some refactoring of retrieving patches in order for the frontend to pass the right information to ContentManager for deletion.
2024-01-19android: Use callback to update progress bar dialogst89510-121/+236
2024-01-19frontend_common: Add content manager utility functionst8958-79/+114
Creates utility functions to remove/install DLC, updates, and base game content
2024-01-18android: Save overlay data while using emulation fragmentt8952-7/+4
This should have been fully embraced before but the items within the popup menu and the adjust controls dialog fell through. This ensures that everything related to the overlay is saved during emulation and can't be lost during a crash.
2024-01-16Fix typos in arrays.xmlViktor Szépe1-1/+1
2024-01-16Fix more typosViktor Szépe3-3/+3
2024-01-15android: Fix overlay toggle orderingt8951-2/+2
2024-01-14android: Show version name instead of git hash in the about fragmentt8953-6/+6
2024-01-14android: Clean up git commands in build.gradlet8951-56/+18
2024-01-13android: Move ktlintCheck to yuzu-verifyt8951-1/+8
2024-01-12service: hid: Create abstracted pad structuregerman771-2/+2
2024-01-11fsp-srv: use program registry for SetCurrentProcessLiam1-3/+3
2024-01-11android: Fix added driver patht8951-1/+1
While this didn't break anything, the extra separator was unnecessary
2024-01-11android: Add button to use global driver valuet8954-2/+65
2024-01-11android: Reload driver data on importing user datat8951-0/+3
2024-01-11android: Rework driver fragmentt8954-110/+84
Applies settings upon selection and uses a new Driver model to represent the information in-view. Also switches from an async diff list to a plain one.
2024-01-11android: Refactor DriverAdapter to use AbstractSingleSelectionListt8951-73/+23
2024-01-11android: Create generic single selection list adaptert8952-0/+114
2024-01-11android: Refactor recycler view adapters to use AbstractListAdaptert8957-236/+140
2024-01-11android: Create generic list adapter for basic listst8951-0/+98
Simplifies basic setup for lists
2024-01-11android: Refactor async diff adapters to use AbstractDiffAdaptert8953-172/+92
2024-01-11android: Create generic adapter and viewholdert8952-0/+51
Eliminates repeated code associated with every async differ list
2024-01-08Save profile name usedflodavid1-1/+1
- Save the profile name in global config - Read the profile name when reading the global config
2024-01-05hid_core: Move hid to it's own subprojectNarr the Reg1-3/+3
2024-01-04android: Re-add global save managert8954-0/+254
Reworked to correctly collect and import/export saves that could exist in either /nand/user/save/000...000/<user id> or /nand/user/save/account/<user id raw string>
2024-01-04android: Save global config synchronously in onCloseGameFoldersFragmentt8951-2/+3
Could cause multiple global saves at once that went untracked previously
2024-01-04android: Don't save settings on config destructiont8952-7/+0
Android doesn't have a proper way of destroying its config object so it's best to stick to the built-in methods to control saving config
2024-01-04android: Update orientation on emulation fragment startt8951-0/+1
2024-01-04android: Expose all orientation locking optionst8954-14/+48
2024-01-04android: add basic support for google game dashboardEmma2-0/+10
2024-01-03android: Add internal option to disable compression for zip exportst8953-3/+15
Disables compression for user data and save exports
2024-01-02android: Use case-insensitive check for addon directoryt8951-1/+1
2024-01-02android: Fix dpad position savingt8951-2/+1
Was using the wrong key previously
2023-12-30android: Expose touchscreen togglet8953-0/+13
2023-12-30android: Don't apply material you below android 12t8951-1/+8
Since you can manually change the config file now, users can force the material you theme under Android 12 and that will result in crashing on startup. This swaps to the default theme if that happens.
2023-12-30android: Migrate in-game overlay settings to init89525-847/+1206
2023-12-30frontend_common: config: Refactor WriteSetting to stricter typest8951-2/+3
Previously this could cause problems if a version of the template generated for WriteSetting didn't use the type you needed (e.g. floating point values). Now these are all ready without having to be used within frontend_common first.
2023-12-30android: Migrate theme settings to init8958-61/+127
2023-12-30android: Update Kotlin version to 1.9.20t8952-2/+2
2023-12-29android: Expose anisotropic filtering settingt8955-1/+37
2023-12-29android: Center switch setting title when no description is presentt8951-1/+1
2023-12-29android: Pair fastmem toggle to CPU Debug togglet8951-0/+1
Hides fastmem toggle when CPU Debugging is disabled
2023-12-21android: Fix "No games found" text appearing on loadt8951-6/+8
2023-12-17android: add oboe to audio configurationLiam2-0/+3
2023-12-12android: Rework InstallableProperty view with icont8956-11/+191
2023-12-12android: Prevent editing non-savable settings in per-game settingst8954-0/+23
2023-12-12android: Pre-select custom config in game launch dialogt8951-2/+2
2023-12-12android: Use confirmation dialog when deleting shader cachet8953-15/+45
2023-12-12android: Always use custom settings when launched from intentt8951-2/+3
2023-12-12android: Adjust variable name format for native configt8951-6/+6
2023-12-12android: Add game dir entries to FilesystemProvidert8956-9/+80
Allows us to correctly parse update metadata
2023-12-12android: Fix games list loading thread safetyt8951-36/+38
Previously we relied on a stateflow for reloading state. Now we use an atomic boolean.
2023-12-12android: Collect latest information for games listt8952-2/+3
2023-12-12android: Remove global save import/exporter UIt8951-24/+0
The original implementation exposed here was fundamentally broken where it would not export or import all of your saves depending on your user profile configuration
2023-12-12android: Compare all properties between games in DiffCallbackt8952-1/+2
2023-12-12android: Expose MemoryUtil size formatting functiont8952-2/+3
2023-12-12android: Add JNI initialization information for Game classt8952-0/+64
Unused in this PR, but will be useful later
2023-12-12android: Add per-game driverst89512-95/+215
2023-12-12android: Add per-game settingst89527-83/+303
2023-12-12android: Add Game propertiest89540-253/+2227
This commit has the UI for viewing a game's properties on long-press and some links to useful tools like - Game info - Shortcut to settings (global in this commit) - Addon manager with installer - Save data manager - Option to clear all save data - Option to clear shader cache
2023-12-12android: Refactor settings to expose more optionst89533-352/+320
In AbstractSetting, this removes the category, androidDefault, and valueAsString properties as they are no longer needed and have replacements. isSwitchable, global, and getValueAsString are all exposed and give better options for working with global/per-game settings.
2023-12-11nce: implement instruction emulation for misaligned memory accessesLiam1-1/+2
2023-12-10core: Use single instance of profile managergerman772-6/+2
2023-12-09android: Listen for directory selection in viewmodelt8954-8/+33
Fixes broken game directory selection setup flow
2023-12-02android: Don't reload filesystem on update installt8951-3/+0
2023-11-28android: Save global settings in onStopt8956-63/+11
2023-11-28android: Multi directory UIt89526-59/+835
2023-11-26android: input: Flip abxy on backbone labs controllersgerman771-0/+19
2023-11-25android: input: Flip abxy on redmagic controllersgerman771-0/+19
2023-11-25Address more review commentsGPUCode3-5/+13
2023-11-25android: show current backend in fps overlayLiam3-1/+16
2023-11-25android: Add cpu bakend gui toggleGPUCode5-0/+26
2023-11-21android: Rework config lifecyclet8956-6/+31
Exposes options for initializing, unloading, reloading, and saving settings that let us update the config much more granularly based on what's happening in the UI.
2023-11-21android: Remove ini4jt8952-43/+0
2023-11-21general: Remove iniht8951-1/+1
2023-11-21config: Unify config handling under frontend_commont89510-910/+138
Replaces every way of handling config for each frontend with SimpleIni. frontend_common's Config class is at the center where it saves and loads all of the cross-platform settings and provides a set of pure virtual functions for platform specific settings. As a result of making config handling platform specific, several parts had to be moved to each platform's own config class or to other parts. Default keys were put in platform specific config classes and translatable strings for Qt were moved to shared_translation. Default hotkeys, default_theme, window geometry, and qt metatypes were moved to uisettings. Additionally, to reduce dependence on Qt, QStrings were converted to std::strings where applicable.
2023-11-19android: Use file picker intent for save exportert8953-72/+33
2023-11-19android: Use path instead of programId for recently added / played keyt8951-2/+2
2023-11-19android: Select recently played games by default in search tabt8951-0/+1
2023-11-19android: Allow up to 400% for the limit speed percent settingt8951-1/+1
2023-11-15android: Disable PiP by defaultt8951-1/+1
2023-11-15android: Don't enter PiP during startup or shutdownt8951-1/+3
2023-11-14android: Add drop shadow to FPS countert8951-2/+3
Also let the style control the text size
2023-11-14android: Use suspend function for creating dynamic shortcutst8952-24/+35
If the coil loader ever got stuck when creating a dynamic shortcut icon, the app would freeze. This would happen most notably when booting nca format games. This pushes that process to a separate coroutine that can be cancelled by the main activity's lifecycle.
2023-11-13android: Use the same transition animation between every fragment in settingst8953-28/+4
The animation that I used for entering search was prone to weird visual bugs and could appear visually jarring. This just makes things appear more consistent.
2023-11-13android: Use more padding on top of each settings headert8951-1/+2
2023-11-13android: Remove dividers between each settingt8951-7/+0
2023-11-13android: Add icons and descriptions to the first-level advanced settings paget89513-47/+165
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-13android: Remove general section from settingst8952-11/+3
Limit speed options were moved to system, cpu accuracy was moved to debug, and PiP was moved to graphics.
2023-11-12android: Remove "auto" region optiont8951-2/+0
This doesn't exist and if you clicked it, your region would be set to Taiwan.
2023-11-12android: Add a landscape-specific layout to the about paget8951-0/+233
Moves the logo to the side to fit more information on screen
2023-11-12android: Shrink logo in about paget8951-5/+5
2023-11-12android: Shrink logo in settings tabt8952-6/+7
Adjusts padding between the cards and logo to fit appropriately
2023-11-12android: Fix top app bar tint being cut off in the about fragmentt8951-4/+4
Adjust margin on the toolbar, not the app bar
2023-11-10android: Hide loading animation on first framet8954-4/+13
2023-11-06android: Simplify FPS counter paddingCharles Lombardo2-24/+5
2023-11-06android: Color the FPS counter whiteCharles Lombardo1-2/+0
2023-11-04android: Always update FPS counterCharles Lombardo3-12/+6
2023-11-04android: Don't reload log/system after loading firmware/backupCharles Lombardo5-13/+18
2023-11-03android: Log more system information during startupCharles Lombardo2-0/+14
Logs device manufacturer/model, SoC manufacturer/model where available, and the total system memory
2023-11-03android: Fix fetching system memory size from MemoryUtilCharles Lombardo2-19/+17
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-03android: Update surface parameters on emulation startCharles Lombardo1-0/+9
This adds a quick update that notifies the render surface if there was a change between surface creation and emulation starting.
2023-11-01android: Adjust log lifecycleCharles Lombardo4-10/+30
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-01android: Use yuzu logging systemCharles Lombardo4-31/+39
Now anything that's logged in the frontend will be printed into the log file
2023-11-01android: Default to player number 0 if we get an input from an unrecognized controllerCharles Lombardo1-1/+1
2023-11-01android: Adjust driver manager source stringCharles Lombardo1-1/+1
2023-11-01android: Reorganize settings tabCharles Lombardo1-33/+33
2023-11-01android: Auto-generate locale configCharles Lombardo4-18/+5
2023-11-01android: Update translations from transifexCharles Lombardo19-687/+3425
2023-10-31android: Initialize filesystem components during application startCharles Lombardo2-9/+14
2023-10-31android: Implement applet launcherCharles Lombardo24-9/+703
2023-10-31android: Reorder controller indexes and only use controllersCharles Lombardo2-6/+50
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-30android: Simplify game card layoutCharles Lombardo1-27/+18
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-30android: FileUtil: Add option to suppress log for native exists() callsCharles Lombardo2-3/+5
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-30android: Fix resolving android URIs in native codeCharles Lombardo3-9/+45
2023-10-30android: Refactor game metadata collection to new fileCharles Lombardo10-102/+154
This also removes irrelevant data and adds new information from/to the Game data class and RomMetadata struct
2023-10-30android: Use header for EmulationSessionCharles Lombardo3-406/+392
2023-10-30android: InputHandler: Convert to objectCharles Lombardo2-6/+4
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-30android: Removed unused ControllerMappingHelperCharles Lombardo2-75/+0
2023-10-30android: Release touch on input overlay when opening in-game menuCharles Lombardo1-0/+28
2023-10-30android: Move game deserialization to another threadCharles Lombardo1-16/+23
Deserializing games from the cache in shared preferences was done on the main thread and could cause a stutter on startup.
2023-10-29android: Break home settings into grid with large screensCharles Lombardo2-3/+5
2023-10-13android: Fix incorrect assumption for driver installation validationCharles Lombardo1-12/+13
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-13android: Remove unnecessary flag to extract native libs in AndroidManifest.xmlCharles Lombardo1-1/+0
2023-10-13android: Update dependenciesCharles Lombardo1-7/+7
Updates to androidx navigation, lifecycle, preference, fragment, recyclerview, and core
2023-10-13android: Update ndk to 26.1.10909125Charles Lombardo1-1/+1
The new ndk uses LLVM 17.0.2 so we can remove the LLVM download and libc++ options for the android builds
2023-10-13android: Update AGP to 8.1.2Charles Lombardo1-2/+2
2023-10-12android: Add GPU driver management fragmentCharles Lombardo32-263/+1010
Implements a GPU driver manager that saves all drivers to the user data directory and asynchronously installs drivers when they're needed.
2023-10-03vk_present_manager: recreate surface on any surface lossLiam1-1/+0
2023-10-01android: Use application context for all FileUtil functionsCharles Lombardo8-41/+34
2023-09-27android: Prevent crash when trying to change pages in setup fragmentCharles Lombardo1-2/+6
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-27android: Prevent setup fragment crash in backgroundCharles Lombardo1-2/+4
Sometimes during onSaveInstanceState, the SetupFragment would crash the app in the background if we tried to store the state of a view.
2023-09-27android: Don't update views if binding is null in onConfigurationChangedCharles Lombardo1-0/+4
2023-09-27android: Don't wait for post to update input overlay visibilityCharles Lombardo1-9/+3
2023-09-27android: Close activity with toast if emulation has no gameCharles Lombardo2-4/+23
2023-09-27android: Correctly reload settings file during resetCharles Lombardo1-1/+2
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-27android: Remove ability to install xci filesCharles Lombardo1-4/+0
2023-09-26android: Adjust failure dialogs for user data and firmware installersCharles Lombardo2-3/+13
2023-09-26android: Fix cancel behavior on indeterminate progress dialog fragmentCharles Lombardo1-4/+14
The dialog would previously dismiss immediately when it should stay alive until the task is cancelled completely.
2023-09-26android: Refactor zip code into FileUtilCharles Lombardo4-91/+89
2023-09-26android: Use a different string for the content install dialogCharles Lombardo2-1/+2
2023-09-26android: Fix case bug for installing game contentCharles Lombardo3-7/+19
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-26android: Consolidate installers to one fragmentCharles Lombardo30-339/+516
This also allows save imports to happen without starting a game at first.
2023-09-26android: Prevent click ripple from appearing on loading cardCharles Lombardo1-1/+2
2023-09-26android: Remove bottom attribute from navigation viewCharles Lombardo1-1/+1
Using the "bottom" attribute would break the navigation view and prevent things like rounded corners and lock modes from being applied properly.
2023-09-26android: Prevent nav bar shade from laying out across screenCharles Lombardo2-5/+7
2023-09-25android: Use measured size of view for input overlay boundsCharles Lombardo1-6/+9
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-22android: Use smaller read buffer size for exporting user dataCharles Lombardo1-1/+10
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-22android: Adjust valid user data checkCharles Lombardo1-1/+2
2023-09-21android: Update androidx window library to 1.2.0-beta03Charles Lombardo1-1/+1
Fixes an issue with the input overlay on certain devices where the controls would appear offscreen.
2023-09-21Revert "android: Allow save imports always"Charles Lombardo16-13/+48
2023-09-20android: Remove unused strings related to the save managerCharles Lombardo15-30/+0
2023-09-20android: Allow importing saves even if no saves are foundCharles Lombardo1-18/+13
Exporting still won't be allowed on an empty save directory.
2023-09-19android: Add import/export buttons for user dataCharles Lombardo13-40/+311
2023-09-19android: Ignore validation layers library in gitCharles Lombardo1-0/+3
2023-09-19android: Don't pause emulation when entering PiPCharles Lombardo1-1/+1
2023-09-19android: Fix showing input overlay in PiPCharles Lombardo1-1/+1
2023-09-19android: Properly update emulation surfaceCharles Lombardo2-25/+11
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-17android: Export PiP receiver on API 33 and laterCharles Lombardo1-1/+7
Could cause crashes on API 33+ devices
2023-09-17android: Set up signing config for release buildsCharles Lombardo1-1/+18
2023-09-16android: Collect task state once view is createdCharles Lombardo1-9/+25
Before the viewLifecycleOwner wasn't ready and would cause a crash
2023-09-15android: Remove settings interface specifically for audio muteCharles Lombardo4-31/+5
2023-09-15android: Return the correct status code on emulation stopCharles Lombardo1-2/+3
2023-09-15android: Use resource as shortcut intermediaryCharles Lombardo4-3/+43
Fixes issue where the shortcut icon would appear cropped on certain devices
2023-09-15android: Don't reinitialize settings on emulation startCharles Lombardo1-3/+0
Config is already initialized on application start
2023-09-15android: Fix emulation to settings navigation argsCharles Lombardo1-1/+1
2023-09-15android: Delay collecting UI state in games fragmentCharles Lombardo1-4/+4
2023-09-14android: Refactor menu tags to enumCharles Lombardo9-46/+39
2023-09-14android: Use StateFlow instead of LiveDataCharles Lombardo16-249/+367
2023-09-13android/config: Remove uncaught usage of stoullat9nq1-1/+1
2023-09-10am: Implement UserChannel parametersFearlessTobi1-0/+1
Used by the Super Mairo 3D All-Stars collection.
2023-08-31android: Fix game content installerCharles Lombardo2-85/+80
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-31android: Combine LongMessageDialogFragment with MessageDialogFragmentCharles Lombardo5-98/+47
2023-08-30android: Support dynamic app shortcutsCharles Lombardo1-0/+21
2023-08-30android: Separate emulation states from emulation mutexCharles Lombardo1-4/+2
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-30android: Game loading/shutting down indicatorsCharles Lombardo26-211/+312
2023-08-30android: Create custom game icon loaderCharles Lombardo2-22/+79
2023-08-30android: Don't reload settings when stopping settings activityCharles Lombardo1-2/+0
2023-08-30android: Add optional androidDefault property to settingsCharles Lombardo3-7/+15
Certain settings have specific defaults for Android only. This lets us reflect them in the Kotlin side with very little code.
2023-08-30android: Proper state restoration on settings dialogsCharles Lombardo9-198/+319
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-30android: Add search for settingsCharles Lombardo8-1/+372
2023-08-30android: Implement paired settingsCharles Lombardo9-241/+335
Enables and disables editing on settings that rely on other boolean settings.
2023-08-30android: Prevent infinite switch toggle loopCharles Lombardo1-1/+3
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-30android: Migrate settings to navigation componentCharles Lombardo28-567/+371
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-30android: Trim settings enums and itemsCharles Lombardo16-321/+133
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-30android: Expose interface for getting settings from native codeCharles Lombardo46-969/+864
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-29android: Support intents to emulation activityCharles Lombardo5-12/+45
2023-08-27android: Don't set a default emulation orientationCharles Lombardo1-1/+0
Could cause unnecessary configuration change when setting an orientation other than "Landscape"
2023-08-27android: Properly adjust emulation surface aspect ratioCharles Lombardo3-45/+33
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-25android: Use appCategory to specify the app is a gameCharles Lombardo1-0/+1
2023-08-23android: Set default build variant to mainlineRelWithDebInfo (#11358)Charles Lombardo1-0/+2
2023-08-23android: jni: ensure NCAs from loaded filepath are registered in manual content providerLiam1-0/+44
2023-08-23native: Use Docked Mode helperlat9nq1-1/+1
2023-08-23config-android: Translate console mode settinglat9nq1-1/+4
Translates the previous boolean to the enum.
2023-08-22android: Search game directory recursivelyCharles Lombardo1-9/+26
2023-08-21android: lint: Delete generated ktlint folder between buildsCharles Lombardo1-0/+5
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-21android: Show associated value in home settings (#11272)Charles Lombardo6-4/+75
2023-08-21android: Use sensor landscape for landscape mode (#11337)Charles Lombardo1-2/+2
2023-08-13android: Page forward on setup step completionCharles Lombardo3-0/+17
2023-08-12android: Adjust setup fragment layoutCharles Lombardo3-63/+88
Fixes padding issues in small and large layouts and allows viewpager to reach into system insets.
2023-08-12android: Show complete indicator during setupCharles Lombardo8-121/+265
2023-08-12android: Remove redundant option from slider dialogCharles Lombardo1-4/+0
You can already reset any setting by long pressing the settings item.
2023-08-12android: Reduce opacity of non-editable settingsCharles Lombardo7-3/+28
2023-08-12android: Use string resource for slider value/unitsCharles Lombardo2-13/+13
2023-08-12android: Display setting value in setting list itemsCharles Lombardo7-38/+64
2023-08-12android: Set switch listener before assigning new valueCharles Lombardo1-1/+1
Previously the switch could have its old listener triggered when recycled.
2023-07-25android: Only label language with languageAbandoned Cart15-272/+18
2023-07-22general: reduce use of dynamic_castLiam1-1/+1
2023-07-21config-android: Update memory layout member namelat9nq1-1/+1
2023-07-21android-config: Update enum labelslat9nq1-4/+4
2023-07-21(android)config: Clang formatlat9nq1-2/+5
2023-07-21android-config: Adapt settings reworklat9nq1-4/+6
2023-07-16android: fix links to re-dumping guidesValeri Ochinski1-1/+1
2023-07-11android: Visualize disabled home optionsCharles Lombardo4-53/+84
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-10android: Don't prompt to save user data on uninstallCharles Lombardo1-1/+1
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-03android: Reintroduce launch mode as single topgerman771-0/+1
2023-07-03android: Version the input overlayCharles Lombardo11-170/+751
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-06-30android: Show memory warning onceCharles Lombardo2-13/+24
2023-06-30android: Rework MemoryUtilCharles Lombardo3-25/+85
Uses string templates and rounds up memory amount for potentially inaccurate checks now
2023-06-29android: Suppress a known incompatibilityAbandoned Cart1-0/+3
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-29android: Make MemoryUtil an objectCharles Lombardo2-13/+12
2023-06-28android: Android 14 supportCharles Lombardo2-3/+6
Specifies the permissions needed for the changes to foreground services in Android 14.
2023-06-26android: Clean up file extension checksCharles Lombardo5-50/+19
2023-06-23android: define [[maybe_unused]] (const) autoAbandoned Cart1-41/+43
2023-06-23android: Parameter types from Android StudioAbandoned Cart1-4/+5
Android Studio marked these parameters as errors because it is an instance, not a class, that is being passed from Java.
2023-06-22android: Log settingsGPUCode1-0/+1
2023-06-22android: Generalize string message dialogAbandoned Cart2-11/+11
2023-06-22android: Add support for concurrent installsAbandoned Cart3-40/+154
2023-06-22android: Convert memory sizes to resourceAbandoned Cart3-11/+21
2023-06-22android: Add a notice when RAM inadequateAbandoned Cart3-1/+75
2023-06-22android: Refactor native and corresponding variablesAbandoned Cart6-22/+25
2023-06-22Fix JNI and expose mute settings to AndroidAbandoned Cart7-277/+99
2023-06-21android: Add a PiP interface to mute / unmuteAbandoned Cart4-0/+68
2023-06-21android: Don't show custom driver button on mali and x86Charles Lombardo3-71/+123
2023-06-16android: Expose audio output engine settingCharles Lombardo7-21/+59
2023-06-16android: Bump ktlint version to 0.47.1Charles Lombardo1-1/+1
2023-06-16android: Disable import-ordering ktlint checkCharles Lombardo1-1/+2
2023-06-16android: Expose CPU debugging optionCharles Lombardo5-23/+30
2023-06-16android: Expose fastmem optionCharles Lombardo4-29/+59
2023-06-16android: Support changing multiple settings at onceCharles Lombardo2-1/+17
2023-06-16android: Fix aspect ratio when rotating screenAbandoned Cart2-28/+20
2023-06-16android: Apply ktlint codestyleCharles Lombardo53-278/+476
2023-06-16Android: Use ktlint for Kotlin code styleCharles Lombardo1-0/+20
2023-06-16android: Enable android lintingCharles Lombardo2-11/+1
2023-06-16android: fs: Fix Exists / IsFile for SAF.bunnei2-0/+23
2023-06-14android: Move overlays to their own layoutAbandoned Cart5-108/+117
2023-06-14android: Initialize defaults for each orientationsAbandoned Cart6-173/+187
2023-06-14android: Display FPS with emulation on hingeAbandoned Cart2-17/+13
2023-06-14android: Remove PiP reliance on fragmentAbandoned Cart5-63/+69
2023-06-14android: Set layout by fragment, not viewAbandoned Cart3-63/+63
2023-06-14android: Add a separate foldable layout setAbandoned Cart3-206/+222
2023-06-14android: Set portrait default control paramsAbandoned Cart4-17/+186
2023-06-14android: Actually implement portrait controlsAbandoned Cart2-33/+82
2023-06-14android: Enable automated portrait controlsAbandoned Cart2-81/+40
2023-06-14android: Add Picture in Picture / OrientationAbandoned Cart15-66/+336
2023-06-14android: Adapt EmulationActivity to navigation componentCharles Lombardo9-74/+86
2023-06-13android: Declare languages in locales_config.xmlFearlessTobi2-0/+18
This is required to make per-app language swithcing possible on Android 13.
2023-06-13android: Fix touch inputgerman771-2/+4
2023-06-13android: settings: Disable force_max_clock by default.bunnei3-5/+5
2023-06-13android: settings: Add reactive flushing as a default-disabled setting.bunnei5-0/+24
2023-06-13android: res: Remove translated strings that no longer exist.bunnei14-106/+0
2023-06-13android: Add translation files manuallyFearlessTobi14-0/+4816
2023-06-12android: Add update supportNarr the Reg6-5/+182
2023-06-12android: Use autogenerated hash code function for Game classCharles Lombardo1-7/+12
2023-06-12android: Use autoVersion when gradle property is setCharles Lombardo1-1/+15
2023-06-11android: Update dependenciesCharles Lombardo1-4/+4
2023-06-11android: Differentiate build types with new namesCharles Lombardo2-2/+7
Change the applicationIdSuffix and app launcher title based on build type
2023-06-11Android: Remove unused relWithVersionCode build typeCharles Lombardo1-10/+0
2023-06-11android: Use ContentResolver to get file extensionCharles Lombardo3-11/+28
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-11android: Fix screen orientation & blurriness.bunnei2-48/+0
2023-06-10android: Add proper homebrew checkCharles Lombardo6-12/+37
2023-06-09android: Fix input overlay version checkCharles Lombardo1-12/+14
2023-06-09android: EmulationActivity: Fix orientation on Mi Pad 5.bunnei1-1/+2
2023-06-07remove version code declarationqurious-pixel1-1/+0
2023-06-06Android TV bannerLive session user3-14/+9
2023-06-06android: Set version codeNarr the Reg1-0/+1
2023-06-06android: Improve Gradle build configurationAbandoned Cart1-1/+2
2023-06-06android: HomeSettingsFragment: Use string resource for "Share log".bunnei1-1/+1
2023-06-06android: Use a custom view for changing emulation aspect ratioCharles Lombardo3-1/+62
Credit to the Skyline team for the FixedRatioSurfaceView.
2023-06-06Address feedbackPabloG024-19/+28
2023-06-05android: Create licenses pageCharles Lombardo10-4/+918
2023-06-05android: Move settings to debug submenuCharles Lombardo4-26/+38
2023-06-05android: Load settings at the start of each activityCharles Lombardo4-6/+19
2023-06-04Attempt to move the unzip coroutine to a ViewModelPabloG023-27/+94
2023-06-04android: update stringsPabloG021-5/+5
2023-06-04android: add option to share logPabloG023-0/+36
2023-06-04android: add option to install firmwarePabloG025-1/+124
2023-06-04android: move unzip function to FileUtil and use SecurityExceptionPabloG022-32/+34
2023-06-04android: Several string changesCharles Lombardo5-78/+78
2023-06-04android: Resolve a couple Gradle warningsAbandoned Cart1-1/+4
2023-06-04android: Add support for split foldable viewAbandoned Cart3-1/+55
2023-06-03android: Replace deprecated and Java codeAbandoned Cart1-27/+20
2023-06-03android: Fix crash on importing invalid saveCharles Lombardo1-3/+5
2023-06-03android: Rename "Input Overlay" to "Overlay Options"Charles Lombardo1-1/+1
2023-06-03android: Adjust import/export saves dialogCharles Lombardo3-15/+21
2023-06-03android: Warning dialogs for key errorsCharles Lombardo3-31/+95
2023-06-03android: EmulationFragment: Remove unnecessary surface destroy on pause.bunnei1-3/+0
2023-06-03android: renderer_vulkan: Fix crash with surface recreation.bunnei1-0/+1
2023-06-03android: Fix presentation layout on foldable and tablet devices.bunnei4-14/+47
2023-06-03android: Enable overlay scale/opacity dialogCharles Lombardo10-65/+182
2023-06-03Add image to card_game.xml to preview in the Layout EditorPabloG021-1/+2
2023-06-03Save the position of buttons as a percentagePabloG021-80/+136
2023-06-03android: Don't crash the app when selecting a zip that causes a SecurityExceptionCharles Lombardo1-1/+5
2023-06-03android: ForegroundService: Handle null intent.bunnei1-1/+4
2023-06-03android: ImportExportSavesFragment: Cleanup strings.bunnei2-7/+10
2023-06-03Update src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/ImportExportSavesFragment.ktbunnei1-1/+1
2023-06-03Remove `?.`PabloG021-1/+1
2023-06-03Check if folder exists before letting the user import/export savesPabloG021-9/+17
2023-06-03Add save import/export in UIPabloG025-0/+247
2023-06-03android: Fix FPS text getting cut off by rounded display cornersCharles Lombardo2-7/+20
2023-06-03android: Prevent deleting the settings file while a game is runningCharles Lombardo3-2/+7
2023-06-03android: Fix link text color for base theme dialogCharles Lombardo1-0/+1
2023-06-03android: Various fixes for CI.bunnei25-50/+111
2023-06-03android: externals: Update libadrenotools, use useLegacyPackaging.bunnei1-0/+5
2023-06-03android: Re-enable service notificationCharles Lombardo4-24/+29
2023-06-03android: Ensure keys are loaded before populating games listCharles Lombardo1-0/+3
2023-06-03android: Use dialog fragment for the reset settings dialogCharles Lombardo2-12/+37
2023-06-03android: Upgrade AGP to 8.0.2Charles Lombardo1-2/+2
2023-06-03android: Show notification permission page during setupCharles Lombardo4-59/+151
2023-06-03android: DIsable FPS counter by defaultCharles Lombardo1-1/+1
2023-06-03android: Improve searches with one characterCharles Lombardo1-1/+2
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-03android: Stop building x86 packages in APKsCharles Lombardo1-1/+1
This was really only meant for building the app to run in an emulator. If this is necessary, just add manually.
2023-06-03android: Add FPS toggleCharles Lombardo4-10/+37
2023-06-03android: Clean up app build.gradleCharles Lombardo1-22/+2
Removes the conflicting declaration of "version" and changes to versionCode that did nothing.
2023-06-03android: config: Expose VSync as a configurable setting.bunnei5-9/+44
2023-06-03android: GPU: Enable async presentation, increase frames in flight.bunnei1-1/+3
2023-06-03android: Enable onBackInvokedCallbackCharles Lombardo1-1/+2
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-03android: Remove deprecated use of onBackPressed()Charles Lombardo1-1/+16
2023-06-03android: Add option for touch overlay hapticsCharles Lombardo6-4/+51
Disabled by default
2023-06-03android: Improve missing game handlingCharles Lombardo2-1/+19
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-03android: Clean up dependenciesCharles Lombardo1-7/+3
Additionally updates material and androidx core libraries
2023-06-03android: Delete java code style fileCharles Lombardo1-241/+0
2023-06-03android: Settings UI tweaksCharles Lombardo6-23/+24
New spacing and fonts for list items
2023-06-03android: Simplify setup in search and games fragmentsCharles Lombardo2-57/+62
2023-06-03android: Use collapsing toolbar layout in settingsCharles Lombardo3-11/+26
2023-06-03android: Remove unnecessary JvmStatic/JvmField annotationsCharles Lombardo11-17/+0
2023-06-03android: Fix navigation rail animation in rtl layoutCharles Lombardo1-4/+14
2023-06-03android: Use cutout insets on setup fragmentCharles Lombardo1-5/+6
2023-06-03android: Button to reset all settingsCharles Lombardo21-23/+138
2023-06-03android: Use proguard file in relWithDebInfoCharles Lombardo1-0/+4
2023-06-03android: Fix background color within inset areasCharles Lombardo2-2/+4
2023-06-03android: Shortcut to settings activity on reselectionCharles Lombardo1-2/+11
2023-06-03android: Expose custom RTC settingCharles Lombardo9-31/+72
2023-06-03android: Reset setting on long pressCharles Lombardo16-7/+89
2023-06-03android: Fix issues with ea/main icons and version codesCharles Lombardo7-28/+19
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-03android: Move theme options out of advanced settingsCharles Lombardo4-9/+17
2023-06-03android: Check if cached games are validCharles Lombardo1-1/+9
Fixes bug when you close yuzu, delete games, and reopen to an instant crash.
2023-06-03android: Invert rotation to match phone orientationgerman771-5/+27
2023-06-03android: config: Use default anisotropic filtering.bunnei1-1/+4
2023-06-03android: Remove top padding from in game menu itemsCharles Lombardo1-20/+12
2023-06-03android: Use different icons for mainline/eaCharles Lombardo10-5/+835
2023-06-03android: Add early access upgrade fragmentCharles Lombardo13-2/+419
We now have a second build flavor that will determine whether the "Get Early Access" button appears.
2023-06-03android: settings: Use mailbox vsync by default.bunnei2-2/+5
2023-06-03android: video_core: Disable problematic compute shaders.bunnei2-2/+4
- Fixes #104.
2023-06-03android: Update progard to fix settings crashCharles Lombardo1-0/+8
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-03android: vulkan: Recreate surface after suspension & adapt to async. presentation.bunnei3-11/+4
2023-06-03android: Game data cacheCharles Lombardo8-17/+63
2023-06-03android: Update to Kotlin 1.8.21Charles Lombardo1-1/+1
2023-06-03android: Disable jetifierCharles Lombardo1-2/+1
We no longer depend on any legacy libraries that required this flag
2023-06-03android: Update dependenciesCharles Lombardo1-2/+2
2023-06-03android: Migrate to AGP 8.0.1Charles Lombardo4-6/+17
2023-06-03android: Enable non-transitive R classesCharles Lombardo4-5/+15
New default going forward for new android projects. Best to follow the new standard.
2023-06-03android: config: Enable asynchronous presentation by default on Android.bunnei2-0/+8
2023-06-03android: fix deadzone calculationgerman771-4/+12
2023-06-03android: Fix background color when starting emulationCharles Lombardo1-0/+1
2023-06-03android: Persistent scrollbars on home settings fragmentCharles Lombardo2-5/+14
2023-06-03android: Use short build hashCharles Lombardo1-1/+1
2023-06-03android: Use navigation bar shade viewCharles Lombardo4-49/+54
2023-06-03android: About fragmentCharles Lombardo10-3/+415
2023-06-03android: Use x-axis animation for navigation railCharles Lombardo3-3/+23
2023-06-03android: Sort games alphabetically by defaultCharles Lombardo1-2/+9
2023-06-03android: New icons for navigation barCharles Lombardo7-4/+47
2023-06-03android: New icons for home settings fragmentCharles Lombardo4-21/+11
2023-06-03android: Add navigation railCharles Lombardo14-93/+208
2023-06-03android: Search FragmentCharles Lombardo20-189/+551
2023-06-03android: Fix potential zip traversal exploitCharles Lombardo1-3/+9
2023-06-03android: Add dedicated show overlay checkboxgerman773-6/+30
2023-06-03android: Add user directory shortcutCharles Lombardo6-25/+140
2023-06-03android: Fix inline keyboard inputgerman771-5/+7
2023-06-03android: Fix grammatical mistake in video core error messageCharles Lombardo1-1/+1
2023-06-03android: Adjust wording on GPU driver install buttonCharles Lombardo1-1/+1
2023-06-03android: Add deadzone to stick inputNarr the Reg1-19/+45
2023-06-03android: Move motion listener to emulation activitygerman772-64/+71
2023-06-03core: hid: Finish linking motion from virtual controllersNarr the Reg1-0/+2
2023-06-03android: Change wording for "Add Games" button (#100)Charles Lombardo2-4/+6
Co-authored-by: bunnei <bunneidev@gmail.com>
2023-06-03android: Scroll shortcut for games listCharles Lombardo3-1/+34
If you reselect the "Games" menu item in the bottom navigation menu, the list smoothly scrolls to the top.
2023-06-03android: Setup screen hotfixCharles Lombardo3-12/+32
Added help button link for add games warning and a check for whether a task was completed on a given screen.
2023-06-03android: Swap Default and Install buttons for GPU driver installation dialogCharles Lombardo1-2/+2
2023-06-03android: Add warnings to setup screensCharles Lombardo4-13/+149
2023-06-03android: Allow search bar to scroll offscreenCharles Lombardo3-15/+8
2023-06-03android: Update app iconCharles Lombardo2-34/+30
Small icon updates from Flam
2023-06-03android: Change organization of the settings tab in the home screenCharles Lombardo7-44/+44
2023-06-03android: Properly pop setup fragment from the back stackCharles Lombardo1-1/+3
2023-06-03android: Vertically scalable setup pagesCharles Lombardo2-23/+45
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-03android: Fix setup rotation bugCharles Lombardo2-4/+26
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-03android: Temporarily switch for a fixed version code for testingCharles Lombardo1-1/+1
2023-06-03android: Fix alignment of SwipeRefreshLayoutCharles Lombardo1-5/+9
2023-06-03android: Shape/spacing adjustments to game cardCharles Lombardo3-58/+64
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-03android: Manual tweaks for dialog colorsCharles Lombardo6-2/+21
Small fix for Flam
2023-06-03android: Fix black backgrounds bugCharles Lombardo1-6/+18
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-03android: Use navigation bar shade view for settings activityCharles Lombardo2-3/+20
2023-06-03android: Disable editing themes during emulationCharles Lombardo1-3/+3
2023-06-03android: Prevent situation where binding is called on a null viewCharles Lombardo1-0/+3
2023-06-03android: Add black backgrounds toggleCharles Lombardo6-1/+42
2023-06-03android: Add theme mode pickerCharles Lombardo5-11/+76
2023-06-03android: Add theme pickerCharles Lombardo7-3/+127
2023-06-03android: Prevent potential abstract settings crashCharles Lombardo1-0/+4
2023-06-03android: Fix cast for abstract settingsCharles Lombardo4-5/+5
2023-06-03android: Create xml for Material You themeCharles Lombardo2-0/+58
2023-06-03android: Remove check for API 29 in themesCharles Lombardo2-15/+4
2023-06-03android: Adjustments to home option cardCharles Lombardo1-4/+10
Several spacing/color adjustments provided by Flam
2023-06-03android: Use different colors for logo in options menuCharles Lombardo2-3/+3
Reverting to the official logo colors
2023-06-03android: New default theme colorsCharles Lombardo2-30/+34
2023-06-03android: Use libnx default iconCharles Lombardo4-1/+1
Credit to jaames for the original icon
2023-06-03android: enable LTOLiam1-1/+2
2023-06-03android: Show error if invalid keys file is selectedCharles Lombardo2-0/+23
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-03android: Fix first time setup scrolling bugCharles Lombardo2-18/+17
If you quickly scrolled from the second page to the first and then back, the next/back buttons would disappear.
2023-06-03android: Fix A button preference keyCharles Lombardo1-1/+1
2023-06-03android: First time setup screenCharles Lombardo19-163/+769
2023-06-03android: Prevent editing unsafe settings at runtimeCharles Lombardo5-14/+35
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-03android: Abstract settingsCharles Lombardo24-363/+418
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-03android: Implement gamepad inputgerman776-11/+510
2023-06-03android: Bump minimum version to Android 11Charles Lombardo1-1/+1
2023-06-03android: Decouple status bar shade from navigation bar visibilityCharles Lombardo3-14/+34
2023-06-03android: Enable code minificationCharles Lombardo5-22/+18
2023-06-03android: Switch from a colored status bar to a custom viewCharles Lombardo4-23/+35
Allows for smoother transitions with the search bar
2023-06-03android: Adjustments to card_gameCharles Lombardo1-20/+5
Removed a currently unused text view and moved to material text views.
2023-06-03android: MainActivity overhaulCharles Lombardo32-626/+1031
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-03android: Enforce Vulkan 1.1 support as minimumCharles Lombardo1-3/+4
2023-06-03android: Update gradle version to 8.1Charles Lombardo1-1/+1
2023-06-03android: Update app dependenciesCharles Lombardo1-5/+5
2023-06-03android: Convert gradle scripts to Kotlin DSLCharles Lombardo5-201/+241
2023-06-03android: settings: Add scaling filter & anti-aliasing options. (#66)bunnei4-0/+75
2023-06-03android: video_core: Add support for disk shader cache. (#64)bunnei12-4/+258
2023-06-03android: config: Change docked mode and GPU accuracy to favor performance on Android.bunnei3-7/+11
2023-06-03android: Initialize account managergerman771-0/+5
2023-06-03android: Remove unsafe null checkgerman771-4/+2
2023-06-03android: Scale input overlay independently of system display scaleCharles Lombardo2-30/+41
2023-06-03android: Use apply instead of commit for shared preferencesCharles Lombardo3-4/+3
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-03android: Add DPad slide toggleCharles Lombardo5-2/+14
2023-06-03android: Add relative stick center toggleCharles Lombardo3-0/+13
2023-06-03android: Make hash and branch accessible from BuildConfigCharles Lombardo1-0/+25
2023-06-03android: Backup shared preferences where applicableCharles Lombardo2-0/+12
2023-06-03android: Enable retaining app data after uninstallCharles Lombardo1-1/+2
2023-06-03android: Remove unused doFrame functionCharles Lombardo1-2/+0
2023-06-03android: Convert NativeLibrary to KotlinCharles Lombardo15-766/+523
2023-06-03android: Remove LocalBroadcastManagerCharles Lombardo11-225/+17
This causes a couple of minor changes to directory initialization. We don't have a lengthy initialization step so we could spend less time creating state receivers and just run initialization on the main thread. We also don't have a situation where external storage will be a concern so checks are removed in favor of a binary check to see if initialization is ready. This additionally removes the unused DoFrame callback.
2023-06-03android: Remove game databaseCharles Lombardo18-773/+154
The content provider + database solution was excessive and is now replaced with the simple file checks from before but turned into an array list held within a viewmodel.
2023-06-03android: Adjust game icon loadingCharles Lombardo1-15/+9
2023-06-03android: Remove unused dimensions filesCharles Lombardo2-9/+0
2023-06-03android: Slightly reduce game card sizeCharles Lombardo2-3/+3
2023-06-03android: Only show company text view if it has contentCharles Lombardo1-5/+8
2023-06-03android: Fix check for ok text in software keyboardCharles Lombardo1-1/+1
2023-06-03android: Implement amiibo reading from nfc tagNarr the Reg13-4/+303
2023-06-03android: Add toggle controls option to input overlayCharles Lombardo5-6/+62
2023-06-03android: Do not update FPS text on null viewCharles Lombardo1-1/+1
2023-06-03android: Convert keyboard applet to kotlin and refactorCharles Lombardo6-279/+255
2023-06-03android: Implement basic software keyboard applet.bunnei12-152/+625
2023-06-03android: config: Disable shader cache by default on Android.bunnei1-0/+4
2023-06-03android: Fix fps counter not showing upgerman774-11/+13
2023-06-03android: Prevent showing games on an invalid viewCharles Lombardo1-0/+3
2023-06-03android: Re-implement overlay editingCharles Lombardo5-25/+245
2023-06-03android: Fix popup menu going out of boundsCharles Lombardo2-20/+11
2023-06-03android: Use autofit grid for games fragmentCharles Lombardo3-28/+72
2023-06-03android: Prevent updating empty game list text on invalid viewCharles Lombardo1-0/+3
2023-06-03android: Persist settings across configuration changesCharles Lombardo9-93/+51
Mostly things get refactored here to remove previous assumptions made about how the activity/fragment lifecycles would operate. The important change for persistence is removing the assumption that the user will be at the first settings fragment on recreation when deciding whether or not to reload settings. Now we check a flag in Settings to know if we loaded the settings within this lifecycle.
2023-06-03android: Store settings object in viewmodelCharles Lombardo7-57/+45
2023-06-03android: Remove configChanges exceptionsCharles Lombardo1-1/+0
2023-06-03Android: Enable resizeable activitiesCharles Lombardo1-6/+2
2023-06-03android: Fix emulation fragment commentsCharles Lombardo1-2/+2
2023-06-03android: Use modal navigation drawer as in game menuCharles Lombardo17-373/+343
2023-06-03android: Make Game class parcelableCharles Lombardo1-1/+4
2023-06-03android: Add kotlin parcelize pluginCharles Lombardo1-0/+1
2023-06-03android: Remove deprecated use of onActivityResultCharles Lombardo2-139/+107
2023-06-03android: Fix RTL layoutsCharles Lombardo3-1/+6
2023-06-03android: Use ellipsis characterCharles Lombardo1-1/+1
2023-06-03android: Move all array strings to main strings fileCharles Lombardo2-48/+109
2023-06-03android: Remove unused stringsCharles Lombardo1-9/+0
2023-06-03android: Remove unused colorsCharles Lombardo2-6/+0
2023-06-03android: Remove citra date time pickerCharles Lombardo1-22/+0
2023-06-03android: Remove unused premium header layoutCharles Lombardo1-42/+0
2023-06-03android: Remove unused fragment animationsCharles Lombardo2-41/+0
2023-06-03android: Remove unused string arraysCharles Lombardo1-34/+0
2023-06-03android: Remove unused integer xmlsCharles Lombardo4-13/+0
2023-06-03android: Refactor ic_launcher.xml to drawablesCharles Lombardo3-3/+3
2023-06-03android: Suppress lint in InsetsHelperCharles Lombardo1-0/+2
2023-06-03android: Add data extraction rulesCharles Lombardo3-2/+56
2023-06-03android: Remove requestLegacyExternalStorage attributeCharles Lombardo1-3/+1
2023-06-03android: Remove unused permissionsCharles Lombardo1-3/+0
2023-06-03android: Inset input overlay based on system cutoutsCharles Lombardo5-59/+94
2023-06-03android: Stop updating fps counter when emulation stopsCharles Lombardo1-1/+4
2023-06-03android: Move driver installation off of main threadCharles Lombardo4-21/+42
Additionally creates an indeterminate loading dialog during installation
2023-06-03android: Fix crash when decodeGameIcon creates a null BitmapCharles Lombardo1-1/+1
2023-06-03android: Use view bindingCharles Lombardo16-284/+189
2023-06-03android: Enable view bindingCharles Lombardo1-0/+2
2023-06-03android: Refactor CheckBoxSetting to SwitchSettingCharles Lombardo5-14/+14
2023-06-03android: EmulationActivity: Fix variable shadowing in fragment creation.bunnei1-2/+2
2023-06-03android: res: fragment_emulation: Ensure FPS counter is shown.bunnei1-7/+7
2023-06-03build: only enable adrenotools on arm64Liam3-4/+10
2023-06-03android: Use Skyline's document providerCharles Lombardo3-4/+319
2023-06-03android: Use androidx splash screenCharles Lombardo4-2/+12
2023-06-03android: Replace Picasso with CoilCharles Lombardo7-138/+41
2023-06-03android: New swipe to refresh color schemeCharles Lombardo1-1/+9
2023-06-03android: New settings fragment animationsCharles Lombardo12-163/+80
2023-06-03android: Use edge to edgeCharles Lombardo9-21/+110
2023-06-03android: Use Material 3 componentsCharles Lombardo23-174/+268
2023-06-03android: Modernize theme systemCharles Lombardo8-94/+130
2023-06-03android: Use vector iconsCharles Lombardo42-9/+27
2023-06-03android: Use adaptive iconCharles Lombardo13-3/+24
2023-06-03android: settings: Dynamically evaluate valueAsStringbunnei4-4/+4
Co-Authored-By: bunnei <bunneidev@gmail.com>
2023-06-03android: Add license identifierCharles Lombardo66-5/+199
2023-06-03android: Convert YuzuApplication to KotlinCharles Lombardo2-59/+56
2023-06-03android: Convert Action1 to KotlinCharles Lombardo2-5/+5
2023-06-03android: Convert GameViewHolder to KotlinCharles Lombardo2-44/+32
2023-06-03android: Remove ThemeUtilCharles Lombardo1-34/+0
2023-06-03android: Convert StartupHandler to KotlinCharles Lombardo2-45/+45
2023-06-03android: Convert Log to KotlinCharles Lombardo2-39/+42
2023-06-03android: Convert GpuDriverMetadata to KotlinCharles Lombardo2-45/+44
2023-06-03android: Convert GpuDriverHelper to KotlinCharles Lombardo2-130/+145
2023-06-03android: Convert GameIconRequestHandler to KotlinCharles Lombardo2-29/+22
2023-06-03android: Convert ForegroundService to KotlinCharles Lombardo2-63/+56
2023-06-03android: Convert FileUtil to KotlinCharles Lombardo2-296/+292
2023-06-03android: Convert FileBrowserHelper to KotlinCharles Lombardo2-25/+26
2023-06-03android: Convert EmulationMenuSettings to KotlinCharles Lombardo2-78/+59
2023-06-03android: Convert DocumentsTree to KotlinCharles Lombardo2-125/+110
2023-06-03android: Convert DirectoryStateReceiver to KotlinCharles Lombardo2-22/+15
2023-06-03android: Convert DirectoryInitialization to KotlinCharles Lombardo2-72/+66
2023-06-03android: Convert ControllerMappingHelper to KotlinCharles Lombardo1-25/+24
2023-06-03android: Convert BiMap to KotlinCharles Lombardo2-22/+22
2023-06-03android: Convert AddDirectoryHelper to KotlinCharles Lombardo2-38/+27
2023-06-03android: Convert PlatformGamesView to KotlinCharles Lombardo1-6/+6
2023-06-03android: Convert PlatformGamesPresenter to KotlinCharles Lombardo2-42/+30
2023-06-03android: Convert PlatformGamesFragment to KotlinCharles Lombardo2-105/+94
2023-06-03android: Convert MainView to KotlinCharles Lombardo1-8/+6
2023-06-03android: Convert MainPresenter to KotlinCharles Lombardo2-81/+66
2023-06-03android: Convert InputOverlayDrawableJoystick to KotlinCharles Lombardo2-243/+205
2023-06-03android: Convert MainActivity to KotlinCharles Lombardo3-250/+229
2023-06-03android: Remove ExampleInstrumentedTestCharles Lombardo1-3/+0
2023-06-03android: Remove TwoPaneOnBackPressedCallbackCharles Lombardo1-37/+0
Leftover UI code for dolphin's cheat system. Removing for now.
2023-06-03android: Convert InputOverlayDrawableDpad to KotlinCharles Lombardo2-276/+232
2023-06-03android: Convert InputOverlayDrawableButton to KotlinCharles Lombardo2-139/+118
2023-06-03android: Convert InputOverlay to KotlinCharles Lombardo2-656/+886
2023-06-03android: Remove DividerItemDecorationCharles Lombardo1-130/+0
Removed in favor of material components version
2023-06-03android: Inherit from Material 3 themesCharles Lombardo1-8/+4
Partially breaks the UI for now but is necessary to use new material components.
2023-06-03android: Convert MinimalDocumentFile to KotlinCharles Lombardo2-28/+8
2023-06-03android: Convert GameProvider to KotlinCharles Lombardo2-138/+127
2023-06-03android: Convert GameDatabase to KotlinCharles Lombardo2-275/+260
2023-06-03android: Convert Game to KotlinCharles Lombardo2-76/+56
2023-06-03android: Convert EmulationFragment to KotlinCharles Lombardo2-375/+348
2023-06-03android: Convert SettingsFile to KotlinCharles Lombardo2-272/+245
2023-06-03android: Convert SettingsFrameLayout to KotlinCharles Lombardo2-48/+43
2023-06-03android: Convert SettingsFragmentView to KotlinCharles Lombardo1-18/+15
2023-06-03android: Convert SettingsFragmentPresenter to KotlinCharles Lombardo2-184/+333
2023-06-03android: Convert SettingsFragment to KotlinCharles Lombardo2-136/+120
2023-06-03android: Convert SettingsActivityView to KotlinCharles Lombardo1-27/+20
2023-06-03android: Convert SettingsActivityPresenter to KotlinCharles Lombardo2-122/+99
2023-06-03android: Convert SettingsActivity to KotlinCharles Lombardo2-209/+186
2023-06-03android: Convert SubmenuViewHolder to KotlinCharles Lombardo2-45/+35
2023-06-03android: Convert SliderViewHolder to KotlinCharles Lombardo2-45/+34
2023-06-03android: Convert SingleChoiceViewHolder to KotlinCharles Lombardo2-62/+54
2023-06-03android: Convert SettingViewHolder to KotlinCharles Lombardo2-49/+38
2023-06-03android: Convert HeaderViewHolder to KotlinCharles Lombardo2-32/+28
2023-06-03android: Convert DateTimeViewHolder to KotlinCharles Lombardo2-47/+35
2023-06-03android: Convert CheckBoxSettingViewHolder to KotlinCharles Lombardo2-54/+41
2023-06-03android: Convert StringSetting to KotlinCharles Lombardo2-23/+9
2023-06-03android: Convert SettingSection to KotlinCharles Lombardo2-55/+34
2023-06-03android: Convert Setting to KotlinCharles Lombardo1-24/+6
2023-06-03android: Convert IntSetting to KotlinCharles Lombardo2-23/+9
2023-06-03android: Convert FloatSetting to KotlinCharles Lombardo2-23/+9
2023-06-03android: Convert BooleanSetting to KotlinCharles Lombardo2-23/+9
2023-06-03android: Convert SubmenuSetting to KotlinCharles Lombardo2-21/+15
2023-06-03android: Convert StringSingleChoiceSetting to KotlinCharles Lombardo2-82/+61
2023-06-03android: Convert SliderSetting to KotlinCharles Lombardo2-101/+72
2023-06-03android: Convert SingleChoiceSetting to KotlinCharles Lombardo2-60/+44
2023-06-03android: Convert SettingsItem to KotlinCharles Lombardo2-100/+30
2023-06-03android: Convert HeaderSetting to KotlinCharles Lombardo2-14/+12
2023-06-03android: Convert DateTimeSetting to KotlinCharles Lombardo2-40/+35
2023-06-03android: Convert CheckBoxSetting to KotlinCharles Lombardo2-80/+91
2023-06-03android: Convert GameAdapter to KotlinCharles Lombardo2-244/+178
2023-06-03android: Convert SettingsAdapter to KotlinCharles Lombardo3-366/+315
Update SettingsAdapter.kt
2023-06-03android: Convert EmulationActivity to KotlinCharles Lombardo2-347/+286
2023-06-03android: Use material slider in settings dialogCharles Lombardo1-20/+20
2023-06-03android: Convert Settings to KotlinCharles Lombardo2-127/+145
2023-06-03android: Use androidx preferencesCharles Lombardo1-0/+2
2023-06-03android: frontend: Add unique error strings for Vulkan initialization errors.bunnei2-19/+25
2023-06-03android: Use the center of the object and reduce draw callsgerman778-59/+76
2023-06-03android: Replace old buttons with vectorsgerman77149-71/+613
2023-06-03android: Enable Kotlin supportCharles Lombardo4-26/+30
2023-06-03android: Upgrade java version to 11Charles Lombardo1-2/+2
2023-06-03android: Upgrade dependenciesCharles Lombardo1-4/+4
2023-06-03android: Upgrade to AGP 7.4.2Charles Lombardo1-1/+1
2023-06-03android: Replace lintOptions with lintCharles Lombardo1-1/+1
2023-06-03android: Move namespace to app module build.gradleCharles Lombardo2-2/+3
2023-06-03android: bump compile/target sdk to 33Charles Lombardo1-2/+2
2023-06-03android: Upgrade gradle to 8.0.1Charles Lombardo1-1/+1
2023-06-03CMake: fix pkg-config behavior when building for Androidliushuyu1-0/+1
2023-06-03CI: add Android build systemsliushuyu1-0/+0
2023-06-03android: build.gradle: Cleanup build types.bunnei1-7/+1
2023-06-03android: frontend: settings: Add graphics debugging.bunnei4-6/+18
2023-06-03android: jni: Ensure system is only initialized once.bunnei4-8/+8
- Fixes likelihood that fastmem allocation succeeds.
2023-06-03android: frontend: Cleanup framerate counter.bunnei2-4/+3
2023-06-03android: vulkan: Implement adrenotools turbo mode.bunnei5-1/+13
2023-06-03android: frontend: Add support for GPU driver selection.bunnei9-3/+251
2023-06-03android: native: Add support for custom Vulkan driver loading.bunnei6-44/+109
2023-06-03android: EmulationFragment: Always reset overlay.bunnei1-1/+2
- Ensures correct placement until we have better overlay configuration.
2023-06-03android: Add motion sensorNarr the Reg2-20/+65
2023-06-03android: Hook jni input properlyNarr the Reg5-90/+104
2023-06-03android: cleanup touch update loopNarr the Reg1-28/+50
2023-06-03android: Clean joystick overlayNarr the Reg3-135/+131
2023-06-03android: Clean dpad overlayNarr the Reg2-192/+174
2023-06-03android: Clean button overlayNarr the Reg2-195/+65
2023-06-03android: Add all buttons to screen controllerNarr the Reg4-209/+104
2023-06-03android: Apply clang formatNarr the Reg2-9/+9
2023-06-03android: frontend: Implement game grid view. (#9)bunnei15-174/+272
2023-06-03android: Replace notification icon with yuzugerman773-0/+0
2023-06-03android: strings: Refresh key dumping URL.bunnei1-1/+1
2023-06-03android: frontend: Modify ROM load messaging for invalid keys.bunnei2-7/+11
2023-06-03android: frontend: Integrate key installation for SAF.bunnei18-19/+100
2023-06-03android: jni: Add function to reload keys.bunnei3-2/+14
2023-06-03android: EmulationActivity: Temporarily disable running notification.bunnei2-7/+12
2023-06-03android: Implement SAF support & migrate to SDK 31. (#4)bunnei32-688/+615
2023-06-03android: Harden emulation shutdown when loader fails.bunnei1-6/+12
2023-06-03android: SettingsFragmentPresenter: Fix default renderer backend.bunnei1-1/+1
2023-06-03android: jni: native: Add lock around HaltEmulation, tighten run loop.bunnei1-1/+3
2023-06-03android: jni: native: Refactor locking for is_running.bunnei1-8/+21
2023-06-03android: jni: native: Remove unnecessary atomic for is_running.bunnei1-6/+5
2023-06-03android: jni: native: Tighten up emulation start/stop signaling.bunnei1-58/+64
2023-06-03android: jni: native: Consolidate emulation state into EmulationSession singleton.bunnei1-67/+164
- Fixes state management issues across multiple boots. - Fixes crashes related to unsafe access of perf stats.
2023-06-03android: Frontend: Fix rendering aspect ratio & add a setting for it.bunnei6-1/+24
2023-06-03android: Integrate settings frontend with yuzu & remove unused code.bunnei25-1759/+949
2023-06-03android: Minimize frontend & convert to yuzu.bunnei128-2509/+934
2023-06-03android: Minimal JNI for yuzu.bunnei7-0/+640
2023-06-03android: Add Citra frontend.bunnei319-0/+13799