Commit graph

21401 commits

Author SHA1 Message Date
bunnei 8dc7fe0c96 android: video_core: Disable problematic compute shaders.
- Fixes #104.
2023-06-03 00:06:00 -07:00
Charles Lombardo 1c9dae7cac android: Update progard to fix settings crash
R8 full mode was removing important classes from Wini that would cause a crash on saving settings. This keeps the relevant classes and suppresses warnings about irrelevant ones.
2023-06-03 00:05:59 -07:00
bunnei 117bc2ae6c android: vulkan: Recreate surface after suspension & adapt to async. presentation. 2023-06-03 00:05:59 -07:00
Charles Lombardo 65dc35a1a5 android: Game data cache 2023-06-03 00:05:59 -07:00
Charles Lombardo b0bef6173a android: Update to Kotlin 1.8.21 2023-06-03 00:05:59 -07:00
Charles Lombardo c16e663f70 android: Disable jetifier
We no longer depend on any legacy libraries that required this flag
2023-06-03 00:05:59 -07:00
Charles Lombardo d8bacdfc14 android: Update dependencies 2023-06-03 00:05:59 -07:00
Charles Lombardo 56d3711e34 android: Migrate to AGP 8.0.1 2023-06-03 00:05:59 -07:00
Charles Lombardo 48065c7a0e android: Enable non-transitive R classes
New default going forward for new android projects. Best to follow the new standard.
2023-06-03 00:05:59 -07:00
bunnei 570c4a2c1b android: config: Enable asynchronous presentation by default on Android. 2023-06-03 00:05:59 -07:00
bunnei ca4bf3844e video_core: Enable support_descriptor_aliasing on Turnip, disable storage atomic otherwise. 2023-06-03 00:05:58 -07:00
german77 e5bdb7011b android: fix deadzone calculation 2023-06-03 00:05:58 -07:00
Charles Lombardo 13b29c3f49 android: Fix background color when starting emulation 2023-06-03 00:05:58 -07:00
Charles Lombardo 34b7d58157 android: Persistent scrollbars on home settings fragment 2023-06-03 00:05:58 -07:00
Charles Lombardo f461465a92 android: Use short build hash 2023-06-03 00:05:58 -07:00
Charles Lombardo 86e395595a android: Use navigation bar shade view 2023-06-03 00:05:58 -07:00
Charles Lombardo 21e8a8277a android: About fragment 2023-06-03 00:05:58 -07:00
Charles Lombardo 09e7b14d0e android: Use x-axis animation for navigation rail 2023-06-03 00:05:58 -07:00
Charles Lombardo 03541703fa android: Sort games alphabetically by default 2023-06-03 00:05:58 -07:00
Charles Lombardo 9f433e281a android: New icons for navigation bar 2023-06-03 00:05:57 -07:00
Charles Lombardo efc054e47f android: New icons for home settings fragment 2023-06-03 00:05:57 -07:00
Charles Lombardo 9f6f21946c android: Add navigation rail 2023-06-03 00:05:57 -07:00
Charles Lombardo 6df030998a android: Search Fragment 2023-06-03 00:05:57 -07:00
Charles Lombardo 3281dc597e android: Fix potential zip traversal exploit 2023-06-03 00:05:57 -07:00
german77 d1fb7ea58b android: Add dedicated show overlay checkbox 2023-06-03 00:05:57 -07:00
Charles Lombardo 912bf6a0c6 android: Add user directory shortcut 2023-06-03 00:05:57 -07:00
german77 265b9139e0 android: Fix inline keyboard input 2023-06-03 00:05:57 -07:00
Charles Lombardo 7131432037 android: Fix grammatical mistake in video core error message 2023-06-03 00:05:56 -07:00
Charles Lombardo 4bb82e4860 android: Adjust wording on GPU driver install button 2023-06-03 00:05:56 -07:00
Narr the Reg c46a1da5dc android: Add deadzone to stick input 2023-06-03 00:05:56 -07:00
german77 166bff88b8 android: Move motion listener to emulation activity 2023-06-03 00:05:56 -07:00
Narr the Reg 5c1310dc5d core: hid: Finish linking motion from virtual controllers 2023-06-03 00:05:56 -07:00
Charles Lombardo d015b0db93 android: Change wording for "Add Games" button (#100)
Co-authored-by: bunnei <bunneidev@gmail.com>
2023-06-03 00:05:56 -07:00
Charles Lombardo 0d16805445 android: Scroll shortcut for games list
If you reselect the "Games" menu item in the bottom navigation menu, the list smoothly scrolls to the top.
2023-06-03 00:05:56 -07:00
Charles Lombardo 274b2be24f android: Setup screen hotfix
Added help button link for add games warning and a check for whether a task was completed on a given screen.
2023-06-03 00:05:56 -07:00
Charles Lombardo 792ce5cb2f android: Swap Default and Install buttons for GPU driver installation dialog 2023-06-03 00:05:56 -07:00
Charles Lombardo 72247a2324 android: Add warnings to setup screens 2023-06-03 00:05:56 -07:00
Charles Lombardo 71667e4d6d android: Allow search bar to scroll offscreen 2023-06-03 00:05:55 -07:00
Charles Lombardo 3b9791d887 android: Update app icon
Small icon updates from Flam
2023-06-03 00:05:55 -07:00
Charles Lombardo c070a588b9 android: Change organization of the settings tab in the home screen 2023-06-03 00:05:55 -07:00
Charles Lombardo c29f14fa0f android: Properly pop setup fragment from the back stack 2023-06-03 00:05:55 -07:00
Charles Lombardo f41939b66e android: Vertically scalable setup pages
Previously the setup pages would remain at a fixed height but now the icon and two text boxes will give up space as a device gets shorter. This eliminates the need for a scrolling view further problems with padding.
2023-06-03 00:05:55 -07:00
Charles Lombardo 48c506682d android: Fix setup rotation bug
If you rotated the device at the "Add Games" screen the buttons would disappear until you trigged them from the beginning page swap. Now button state is saved across recreation.
2023-06-03 00:05:55 -07:00
Charles Lombardo 61e0042633 android: Temporarily switch for a fixed version code for testing 2023-06-03 00:05:55 -07:00
Charles Lombardo 986f858e6f android: Fix alignment of SwipeRefreshLayout 2023-06-03 00:05:55 -07:00
Charles Lombardo 388dc0757f android: Shape/spacing adjustments to game card
Ripple effect now reaches into rounded corners, icon size changed, company text removed, title font adjusted, and spacing around the card was adjusted as well. Text also doesn't get cut off anymore and instead scrolls indefinitely on one line.
2023-06-03 00:05:55 -07:00
Charles Lombardo f984775f12 android: Manual tweaks for dialog colors
Small fix for Flam
2023-06-03 00:05:54 -07:00
Charles Lombardo f2cadc4ce1 android: Fix black backgrounds bug
Start using a specific night mode check because black backgrounds could apply incorrectly when using the light app mode, dark system mode, and black backgrounds. Launching the settings activity will show light mode colors/navigation bars but with black backgrounds.
2023-06-03 00:05:54 -07:00
Charles Lombardo 033adb9723 android: Use navigation bar shade view for settings activity 2023-06-03 00:05:54 -07:00
Charles Lombardo cfa3d73f2f android: Disable editing themes during emulation 2023-06-03 00:05:54 -07:00
Charles Lombardo 62c47011a0 android: Prevent situation where binding is called on a null view 2023-06-03 00:05:54 -07:00
Charles Lombardo d7178ed16e android: Add black backgrounds toggle 2023-06-03 00:05:54 -07:00
Charles Lombardo d9684a2010 android: Add theme mode picker 2023-06-03 00:05:54 -07:00
Charles Lombardo f0ba58f5aa android: Add theme picker 2023-06-03 00:05:54 -07:00
Charles Lombardo 5b26ac9293 android: Prevent potential abstract settings crash 2023-06-03 00:05:54 -07:00
Charles Lombardo b6f57da70a android: Fix cast for abstract settings 2023-06-03 00:05:54 -07:00
Charles Lombardo 7531641ecc android: Create xml for Material You theme 2023-06-03 00:05:54 -07:00
Charles Lombardo 89593d70bf android: Remove check for API 29 in themes 2023-06-03 00:05:53 -07:00
Charles Lombardo 8cef21a0b0 android: Adjustments to home option card
Several spacing/color adjustments provided by Flam
2023-06-03 00:05:53 -07:00
Charles Lombardo a82f8fe1c1 android: Use different colors for logo in options menu
Reverting to the official logo colors
2023-06-03 00:05:53 -07:00
Charles Lombardo 9673974f73 android: New default theme colors 2023-06-03 00:05:53 -07:00
Charles Lombardo 6549348656 android: Use libnx default icon
Credit to jaames for the original icon
2023-06-03 00:05:53 -07:00
Liam 8b4c5a9939 android: enable LTO 2023-06-03 00:05:53 -07:00
Charles Lombardo 83dae1739c android: Show error if invalid keys file is selected
There aren't MIME types specific enough for filtering out files that aren't amiibo or production keys. So here we just check for the extensions "bin" or "keys" where appropriate and stop the process if incorrect. Previously you could select any document and it could cause the app to hang.
2023-06-03 00:05:53 -07:00
Charles Lombardo d8c102444c android: Fix first time setup scrolling bug
If you quickly scrolled from the second page to the first and then back, the next/back buttons would disappear.
2023-06-03 00:05:53 -07:00
Charles Lombardo 45d81dc6bd android: Fix A button preference key 2023-06-03 00:05:53 -07:00
Charles Lombardo 59525ddbeb android: First time setup screen 2023-06-03 00:05:52 -07:00
Charles Lombardo 766655fa41 android: Prevent editing unsafe settings at runtime
There currently isn't a visual "disabled" cue for any of the view holders that aren't the switch setting. This will be improved in the future.
2023-06-03 00:05:52 -07:00
Charles Lombardo c609847e49 android: Abstract settings
Previously we could only add settings that would change our ini file. Now we can create abstract settings in our presenter to alter things like shared preferences for theme support!
2023-06-03 00:05:52 -07:00
german77 6dfe4240ac android: Implement gamepad input 2023-06-03 00:05:52 -07:00
Charles Lombardo f5c48f92f2 android: Bump minimum version to Android 11 2023-06-03 00:05:52 -07:00
Charles Lombardo 9c9d9131b5 android: Decouple status bar shade from navigation bar visibility 2023-06-03 00:05:52 -07:00
Charles Lombardo d57ae50f17 android: Enable code minification 2023-06-03 00:05:52 -07:00
Charles Lombardo 921e6dddcc android: Switch from a colored status bar to a custom view
Allows for smoother transitions with the search bar
2023-06-03 00:05:52 -07:00
Charles Lombardo 3f2b832371 android: Adjustments to card_game
Removed a currently unused text view and moved to material text views.
2023-06-03 00:05:51 -07:00
Charles Lombardo 233ae9ab69 android: MainActivity overhaul
This moves several parts of the main activity into fragments that manage themselves to react to changes. UI changes like the appearance of a new search view or when the games list changes now gets updated via multiple view models. This also starts a conversion to the androidx navigation component which furthers the goals mentioned previously with more fragment responsibility. This will eventually allow us to use one activity with interchanging fragments and multiple view models that are stored within that central activity.

fdas
2023-06-03 00:05:51 -07:00
Charles Lombardo 859c40f00e android: Enforce Vulkan 1.1 support as minimum 2023-06-03 00:05:51 -07:00
Charles Lombardo e5487243d3 android: Update gradle version to 8.1 2023-06-03 00:05:51 -07:00
Charles Lombardo b1ebc1c395 android: Update app dependencies 2023-06-03 00:05:51 -07:00
Charles Lombardo ab87f74998 android: Convert gradle scripts to Kotlin DSL 2023-06-03 00:05:51 -07:00
bunnei 12c9e18b55 android: vulkan: Disable vertex_input_dynamic_state on Qualcomm. 2023-06-03 00:05:51 -07:00
bunnei d2e55558df android: settings: Add scaling filter & anti-aliasing options. (#66) 2023-06-03 00:05:50 -07:00
bunnei 4006468f73 android: video_core: Add support for disk shader cache. (#64) 2023-06-03 00:05:50 -07:00
bunnei 6d2e7de2e0 android: vulkan_debug_callback: Ignore many innocuous errors. 2023-06-03 00:05:50 -07:00
bunnei 30bf5d5b07 android: config: Change docked mode and GPU accuracy to favor performance on Android. 2023-06-03 00:05:50 -07:00
german77 dc52152a81 service: account: Save user profile folder on first user creation 2023-06-03 00:05:50 -07:00
german77 f9974f7ef3 android: Initialize account manager 2023-06-03 00:05:50 -07:00
german77 5aec62930c android: Remove unsafe null check 2023-06-03 00:05:50 -07:00
Charles Lombardo 78f02ab9a6 android: Scale input overlay independently of system display scale 2023-06-03 00:05:50 -07:00
Charles Lombardo aeaddf407b android: Use apply instead of commit for shared preferences
Previously we were operating on the assumption that apply'd settings wouldn't be visible immediately. This isn't true and settings will be accessible via memory before being stored to disk. This reduces any potential stutters caused by saving to shared preferences.
2023-06-03 00:05:50 -07:00
Charles Lombardo fcbf08ca98 android: Add DPad slide toggle 2023-06-03 00:05:50 -07:00
Charles Lombardo bebc822334 android: Add relative stick center toggle 2023-06-03 00:05:49 -07:00
Charles Lombardo 63819af214 android: Make hash and branch accessible from BuildConfig 2023-06-03 00:05:49 -07:00
Charles Lombardo f5055ca930 android: Backup shared preferences where applicable 2023-06-03 00:05:49 -07:00
Charles Lombardo 940dbdcff2 android: Enable retaining app data after uninstall 2023-06-03 00:05:49 -07:00
Charles Lombardo 1cc8011355 android: Remove unused doFrame function 2023-06-03 00:05:49 -07:00
Charles Lombardo 4d9011a8f0 android: Convert NativeLibrary to Kotlin 2023-06-03 00:05:49 -07:00
Charles Lombardo a827486391 android: Remove LocalBroadcastManager
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-03 00:05:49 -07:00
Charles Lombardo 9d7a60346f android: Remove game database
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-03 00:05:49 -07:00
Charles Lombardo 4816d5158e android: Adjust game icon loading 2023-06-03 00:05:49 -07:00
Charles Lombardo 730c63df7e android: Remove unused dimensions files 2023-06-03 00:05:48 -07:00
Charles Lombardo 83b1459af5 android: Slightly reduce game card size 2023-06-03 00:05:48 -07:00
Charles Lombardo ac417a4ffa android: Only show company text view if it has content 2023-06-03 00:05:48 -07:00
Charles Lombardo c0aa5392b9 android: Fix check for ok text in software keyboard 2023-06-03 00:05:48 -07:00
Narr the Reg ca4be4283d android: Implement amiibo reading from nfc tag 2023-06-03 00:05:48 -07:00
bunnei b2aeb50229 android: vulkan_device: Disable VK_EXT_custom_border_color on Adreno.
- Causes crashes on sampler creation with Super Mario Odyssey.
2023-06-03 00:05:48 -07:00
Charles Lombardo 1ea84854bd android: Add toggle controls option to input overlay 2023-06-03 00:05:48 -07:00
Charles Lombardo 8b99a1e49b android: Do not update FPS text on null view 2023-06-03 00:05:48 -07:00
Charles Lombardo d30103b69f android: Convert keyboard applet to kotlin and refactor 2023-06-03 00:05:48 -07:00
bunnei d5ebfc8e21 android: Implement basic software keyboard applet. 2023-06-03 00:05:47 -07:00
bunnei 58ede89c60 android: config: Disable shader cache by default on Android. 2023-06-03 00:05:47 -07:00
german77 a862c33fc4 android: Fix fps counter not showing up 2023-06-03 00:05:47 -07:00
Charles Lombardo ec048361af android: Prevent showing games on an invalid view 2023-06-03 00:05:47 -07:00
Charles Lombardo b0a434b99f android: Re-implement overlay editing 2023-06-03 00:05:47 -07:00
Charles Lombardo 5807cf1b4d android: Fix popup menu going out of bounds 2023-06-03 00:05:47 -07:00
Charles Lombardo 3878c6ced1 android: Use autofit grid for games fragment 2023-06-03 00:05:47 -07:00
Charles Lombardo 9cb7e7072d android: Prevent updating empty game list text on invalid view 2023-06-03 00:05:47 -07:00
Charles Lombardo 295ffd4d47 android: Persist settings across configuration changes
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-03 00:05:47 -07:00
Charles Lombardo aaefe8a0e0 android: Store settings object in viewmodel 2023-06-03 00:05:47 -07:00
Charles Lombardo 06e58cf088 android: Remove configChanges exceptions 2023-06-03 00:05:46 -07:00
Charles Lombardo 35e9a99452 Android: Enable resizeable activities 2023-06-03 00:05:46 -07:00
Charles Lombardo 89b9285627 android: Fix emulation fragment comments 2023-06-03 00:05:46 -07:00
Charles Lombardo 273e81bb94 android: Use modal navigation drawer as in game menu 2023-06-03 00:05:46 -07:00
Charles Lombardo 1f3b41366c android: Make Game class parcelable 2023-06-03 00:05:46 -07:00
Charles Lombardo c53e927368 android: Add kotlin parcelize plugin 2023-06-03 00:05:46 -07:00
Charles Lombardo e2a7143a3d android: Remove deprecated use of onActivityResult 2023-06-03 00:05:46 -07:00
Charles Lombardo d9e7e71a8e android: Fix RTL layouts 2023-06-03 00:05:46 -07:00
Charles Lombardo 3c9aa8d230 android: Use ellipsis character 2023-06-03 00:05:46 -07:00
Charles Lombardo 16c7afbd46 android: Move all array strings to main strings file 2023-06-03 00:05:46 -07:00
Charles Lombardo 03d9247527 android: Remove unused strings 2023-06-03 00:05:45 -07:00
Charles Lombardo bf584d85ad android: Remove unused colors 2023-06-03 00:05:45 -07:00
Charles Lombardo 9a842deba5 android: Remove citra date time picker 2023-06-03 00:05:45 -07:00
Charles Lombardo 87211c8aec android: Remove unused premium header layout 2023-06-03 00:05:45 -07:00
Charles Lombardo 1c93ac8e03 android: Remove unused fragment animations 2023-06-03 00:05:45 -07:00
Charles Lombardo 27ec749bdf android: Remove unused string arrays 2023-06-03 00:05:45 -07:00
Charles Lombardo dafa6dff07 android: Remove unused integer xmls 2023-06-03 00:05:45 -07:00
Charles Lombardo 74653f1e80 android: Refactor ic_launcher.xml to drawables 2023-06-03 00:05:45 -07:00
Charles Lombardo 8a34e58ad6 android: Suppress lint in InsetsHelper 2023-06-03 00:05:45 -07:00
Charles Lombardo 1b40a3df19 android: Add data extraction rules 2023-06-03 00:05:44 -07:00
Charles Lombardo 93d6a1fc9c android: Remove requestLegacyExternalStorage attribute 2023-06-03 00:05:44 -07:00
Charles Lombardo c803d9e5c7 android: Remove unused permissions 2023-06-03 00:05:44 -07:00
Charles Lombardo d3c3b69755 android: Inset input overlay based on system cutouts 2023-06-03 00:05:44 -07:00
Narr the Reg 3f35b34515 Use yuzu as category instead of citra 2023-06-03 00:05:44 -07:00
Charles Lombardo 1634391bff android: Stop updating fps counter when emulation stops 2023-06-03 00:05:44 -07:00
Charles Lombardo a49a24b079 android: Move driver installation off of main thread
Additionally creates an indeterminate loading dialog during installation
2023-06-03 00:05:44 -07:00
Charles Lombardo 72bef4fa95 android: Fix crash when decodeGameIcon creates a null Bitmap 2023-06-03 00:05:44 -07:00
Charles Lombardo 72679c7bae android: Use view binding 2023-06-03 00:05:44 -07:00
Charles Lombardo e49e6cac7e android: Enable view binding 2023-06-03 00:05:44 -07:00
Charles Lombardo 4de3abdd5a android: Refactor CheckBoxSetting to SwitchSetting 2023-06-03 00:05:44 -07:00
bunnei b5b4e50c32 android: EmulationActivity: Fix variable shadowing in fragment creation. 2023-06-03 00:05:43 -07:00