summaryrefslogtreecommitdiff
path: root/Source/Android
AgeCommit message (Collapse)Author
2026-02-23Android: Fix defaults for RetroAchievements settingsJosJuice
Default values for settings need to be the same in Kotlin and C++, otherwise settings that haven't been changed by the user will be shown as having one value in the Android GUI but treated as having a different value in the core.
2026-02-15Android: Add Triforce BaseboardJosJuice
This lets users select Triforce Baseboard for SI and SP1. Limitations: * The test, service and coin buttons can be bound to gamepads and other physical inputs, but aren't available in the touch input overlay. * The IP redirections are exposed to the user as a raw string rather than a table like in DolphinQt.
2026-02-15Merge pull request #14385 from dreamsyntax/cpu-clock-maxJMC47
Qt/Android: CPU Clock Override max to 500%
2026-02-14Merge pull request #12917 from JosJuice/transfer-sysconf-controlDentomologist
Explicitly transfer control of SYSCONF to emulated system
2026-02-14Explicitly transfer control of SYSCONF to emulated systemJosJuice
The functions SaveToSYSCONF and LoadFromSYSCONF contain checks for whether emulation is running. The intent of this is that when we're emulating a Wii, the emulated system may write to SYSCONF whenever it likes and does not expect anything else to write to SYSCONF, so the host code shouldn't access SYSCONF while emulation is ongoing. However, Core::IsRunning is an imperfect proxy for whether we've handed over control of SYSCONF to the emulated system yet, as the actual handover happens at a slightly different point in time than when the emulation state is changed. This usually isn't a problem, but in theory it could be a determinism problem if a setting is changed right as emulation is starting, or it could cause the emulated software to briefly misbehave if a setting is changed right as emulation is stopping. Things got worse in 72cf2bdb87f09deff22e1085de3290126aa4ad05 when I replaced the Core::IsRunning calls with !Core::IsUninitialized. With IsRunning, there was be a period of time where SYSCONF should have been protected but wasn't. With !IsUninitialized, there was a period of time where SYSCONF shouldn't have been protected but was, and crucially, this period of time included the moments where we do setup and teardown of the emulated NAND, which broke transferring SYSCONF settings between the host and the guest. 72cf2bdb87f09deff22e1085de3290126aa4ad05 was reverted because of this. This commit adds a flag that we explicitly flip when control is handed over to or from the emulated system. This protects the SYSCONF file for exactly as long as is needed.
2026-02-12Qt/Android: CPU Clock Override max to 500%dreamsyntax
2026-02-08Android: Rework input device hotplugJosJuice
Previously, when an input device was connected or disconnected, we would recreate all devices. This commit makes it so we only touch the relevant device instead. This matters because recreating a device causes us to drop all held buttons for that device. Due to Android only delivering inputs as events, we're unable to poll for currently held buttons when recreating a device. This recently became a problem for users of Ayn devices due to a firmware update. Every now and then, something about the display viewports changes, triggering an update to an input device that I assume is a touch input device. This input device isn't something users normally map in Dolphin's controller settings, but it changing was causing Dolphin to drop all held buttons for the device's built-in gamepad as well as any other connected gamepads.
2026-02-03Merge pull request #13594 from jordan-woyak/state-cleanupsJordan Woyak
State: Simplify interthread communication and general cleanups.
2026-01-27feat: Add an option to preserve audio pitch when emulation speed changes, ↵Sam Belliveau
integrating it into core configuration and both Qt and Android UIs.
2026-01-24Remove VectorToJStringArraySintendo
2026-01-24Common/FileSearch: Refactor DoFileSearchSintendo
2026-01-19State: Simplify interthread communication and cleanups. Save/Load calls are ↵Jordan Woyak
now always non-blocking for the caller, but appropriately block the CPU thread as needed.
2026-01-19Android: Detect when native code should flush unsaved dataJosJuice
2026-01-17Merge pull request #14268 from JoshuaVandaele/std-tounderlyingiwubcode
c++23: Replace Common::ToUnderlying with std::to_underlying
2026-01-14Merge pull request #14246 from LeddaZ/android-gitignoreJosJuice
Android: Add build output folders to gitignore
2026-01-14Merge pull request #14245 from LeddaZ/android-materialyou-fixJosJuice
Android: Switch to Theme.Material3.DynamicColors
2026-01-09c++23: Replace Common::ToUnderlying with std::to_underlyingJoshua Vandaële
Requires at least GCC 11, Clang 13, MSVC 19.30 (VS2022 17.0), or AppleClang 13.1.6 (XCode 13.3).
2026-01-01Android: Add build output folders to gitignoreLeonardo Ledda
Signed-off-by: Leonardo Ledda <leonardoledda@gmail.com>
2026-01-01Android: Switch to Theme.Material3.DynamicColorsLeonardo Ledda
* This fixes some UI elements (3-dot menu background, status bar when scrolling down in settings) not following Material You colors. * It doesn't cause any issues on Android versions without dynamic colors (tested on Android 9, 11, 16) Signed-off-by: Leonardo Ledda <leonardoledda@gmail.com>
2026-01-01Android: Use compilerOptions block to specify JVM versionLeonardo Ledda
* Fixes deprecation warning Signed-off-by: Leonardo Ledda <leonardoledda@gmail.com>
2025-12-22Merge pull request #14155 from Simonx22/android/remove-completable-futureJMC47
Android: Remove CompletableFuture
2025-12-22Merge pull request #14144 from Simonx22/android/log-kotlinJMC47
Android: Convert Log to Kotlin
2025-12-22Merge pull request #14141 from ↵JMC47
Simonx22/android/controllerinterface-handlerthread Android: Use Android's HandlerThread in ControllerInterface instead of our own implementation
2025-11-25Merge pull request #14159 from JosJuice/android-retroachievements-login-goneJosJuice
Android: Tweak dialog_login.xml layout
2025-11-23Android: Add LeaderboardTrackerEnabled and ChallengeIndicatorsEnabledJosJuice
This is an Android port of 7ed61c50a1. It looks like we don't have descriptions for any of the RetroAchievements settings in the Android GUI, so I haven't added descriptions for these two new settings either.
2025-11-23Android: Use same margin above login text as belowJosJuice
This makes the login dialog look more balanced when "Logging In" or "Login Failed" is visible.
2025-11-23Android: Remove unnecessary gravity in dialog_login.xmlJosJuice
Android Studio was complaining about these because their directions didn't match the text alignment, but in this layout they have no effect anyway.
2025-11-23Android: Replace dialog_login.xml's invisible with goneJosJuice
LoginDialog sets these to gone when a login starts or fails. Whether we use gone or invisible needs to be consistent between LoginDialog and the XML file, otherwise we'll blank space that shows up or disappears when login starts or fails.
2025-11-22Android: Format MainPresenterSimonx22
2025-11-22Android: Format ControllerInterfaceSimonx22
2025-11-22Merge pull request #13583 from LillyJadeKatrin/retroachievements-androidJosJuice
Android Support for RetroAchievements
2025-11-21Android: Remove CompletableFutureSimonx22
We only use this class in one in one single function since its introduction with 12aa1071cbb30269cd6526cfbbcd3c4143d584ac in 2021. If we do need it elsewhere we can always bring it back.
2025-11-19Android: Convert Log to KotlinSimonx22
2025-11-19Merge pull request #14111 from Simonx22/android/native-library-kotlinJordan Woyak
Android: Convert NativeLibrary to Kotlin
2025-11-18RetroAchievements - Android login callbackLillyJadeKatrin
Modify the RetroAchievements login code in Android to pass in a callback, pop a message if login fails, close the login box if it succeeds.
2025-11-18Android: Use Android's HandlerThread in ControllerInterface instead of our ↵Simonx22
own implementation
2025-11-18Merge pull request #14136 from Simonx22/android/compress-callback-kotlinJordan Woyak
Android: Convert CompressCallback to Kotlin
2025-11-17Android: Update Kotlin serialization pluginSimonx22
I forgot to update this, which broke installing GPU drivers Co-Authored-By: OatmealDome <OatmealDome@users.noreply.github.com>
2025-11-17Android: Convert CompressCallback to KotlinSimonx22
2025-11-17Merge pull request #14131 from Simonx22/android/stereo-float-settingsJordan Woyak
Android: Convert stereo settings to floats
2025-11-17Android: Convert BooleanSupplier to KotlinSimonx22
2025-11-17Android: Convert stereo settings to floats to match C++ definitionsSimonx22
These settings were recently changed with 113c86f1b4661c7e300d3867cd26ed26b2640f2a to be floats instead of ints. This commit also changes the Android UI to use the direct convergence value instead of the percentage to match the Qt UI.
2025-11-17Merge pull request #14106 from Simonx22/android/dependency-updates-11102544758JosJuice
Android: Update dependencies
2025-11-17Merge pull request #14097 from Simonx22/android/network-helper-kotlinJosJuice
Android: Convert NetworkHelper to Kotlin
2025-11-16Android Achievements - Hardcore disablesLillyJadeKatrin
Disables state loading and emulation speeds below 100% when RetroAchievements hardcore mode is enabled.
2025-11-16Add login to achievement settingsLillyJadeKatrin
2025-11-16Add Achievements submenu to Android settingsLillyJadeKatrin
2025-11-16Merge pull request #14023 from JosJuice/android-overlay-okJosJuice
Android: Treat EmulationActivity dialog dismiss the same as OK
2025-11-16Merge pull request #13689 from JosJuice/lock-core-any-threadJosJuice
Core: Let any thread call previously host-thread-only functions
2025-11-16Android: Convert NativeLibrary to KotlinSimonx22