Commit Graph
1695 Commits
Author SHA1 Message Date
Dentomologist 9b4534328f Merge pull request #14631 from Simonx22/android/convert-directoryinitialization-to-kotlin
Android: Convert DirectoryInitialization to Kotlin
2026-05-25 12:39:14 -07:00
Admiral H. Curtiss d3217f65c3 Merge pull request #14506 from adamscott/crop-that-screen
Add screen crop feature
2026-05-23 20:53:31 +02:00
JosJuice 4470534dc5 Android: Move alert message log from Kotlin to C++
For some reason, NativeLibrary.kt calling Log for the alert message text
makes Dolphin die with a JNI error. Supposedly the jstring passed to the
logging function is invalid. I don't understand why, because the dialog
that we show right afterwards is able to read the string just fine. The
error happens even if I pass the string directly to Log without
prepending any extra text.

There's no real downside to having the logging in C++ instead of Kotlin,
so let's move it to C++ to avoid the JNI error.
2026-05-08 10:56:51 +02:00
Simonx22 7ef2906351 Android: Convert DirectoryInitialization to Kotlin 2026-04-30 17:19:07 -04:00
Simonx22 a7e98c776d Android: Convert TvUtil to Kotlin 2026-04-30 16:23:32 -04:00
OatmealDome af15769d57 Merge pull request #14569 from Simonx22/android/convert-gamefilecachemanager-to-kotlin
Android: Convert GameFileCacheManager to Kotlin
2026-04-26 12:03:57 -04:00
Dentomologist a94854309b Merge pull request #14608 from JosJuice/gcadapter-auto-start
GCAdapter: Automatically start and stop thread
2026-04-24 19:51:51 -07:00
JosJuice cc01a60347 GCAdapter: Automatically start and stop thread
This keeps the logic encapsulated inside GCAdapter.cpp so callers don't
have to think about it.
2026-04-18 19:40:25 +02:00
Adam Scott a5059cbca8 Add screen crop feature 2026-04-18 13:08:41 -04:00
JosJuice 4aaecbb148 Android: Add page table fastmem to Debug settings 2026-04-18 08:42:34 +02:00
OatmealDome 0cdb855434 Merge pull request #14567 from Simonx22/android/convert-wiimoteadapter-to-kotlin
Android: Convert WiimoteAdapter to Kotlin
2026-04-16 20:25:19 -04:00
Simonx22 301ca5fcb8 Android: Convert GameFileCacheManager to Kotlin 2026-04-16 16:46:24 -04:00
Simonx22 e982aeacad Android: Convert GCAdapter to Kotlin 2026-04-06 19:56:27 -04:00
Simonx22 662b1d74a8 Android: Convert WiimoteAdapter to Kotlin 2026-04-06 18:21:07 -04:00
Jordan Woyak d3275b9ffe Merge pull request #14490 from Simonx22/android/convert-gamepropertiesdialog-to-kotlin
Android: Convert GamePropertiesDialog to Kotlin
2026-04-05 18:41:12 -05:00
Jordan Woyak 3bc6815c8b Merge pull request #14503 from Simonx22/android/convert-syncprogramsjobservice-to-kotlin
Android: Convert SyncProgramsJobService to Kotlin
2026-04-05 18:37:57 -05:00
Jordan Woyak 26583fd026 HW/GBACore: Remove the GBA "Threads" setting. Make GBAs always run on dedicated threads in preparation for future improvements. 2026-04-02 18:11:29 -05:00
JosJuice 5167adc8df Android: Add GBA settings
The following settings were excluded:

* Port 1-4 ROM: We're only supporting Game Boy Player for now
* Save in Same Directory as the ROM: Implementation nightmare due to SAF
2026-03-31 23:40:54 -05:00
Simonx22 dbeca0d134 Android: Refactor SyncProgramsJobService
Changes:
- Convert SyncProgramsJobService from Java to Kotlin.
- Replace AsyncTask/executor lifecycle handling with coroutine-based job execution and cancellation.
- Stop using restricted androidx.tvprovider builder APIs.
2026-03-24 23:05:00 -04:00
Simonx22 9085d649dc Android: Add Keep annotation to JNI-exposed PermissionsHandler methods
This fixes an oversight from https://github.com/dolphin-emu/dolphin/pull/14488 where I forgot to add `@Keep` to JNI-exposed methods. R8 tried to optimize it and thought those methods were unused.
2026-03-24 18:42:19 -04:00
OatmealDome 9ba08f70bc Merge pull request #14489 from Simonx22/android/convert-applinkhelper-to-kotlin
Android: Convert AppLinkHelper to Kotlin
2026-03-22 12:12:50 -04:00
OatmealDome 125bc173bb Merge pull request #14491 from Simonx22/android/convert-syncchanneljobservice-to-kotlin
Android: Convert SyncChannelJobService to Kotlin
2026-03-22 12:12:41 -04:00
OatmealDome 4a813a019b Merge pull request #14495 from Simonx22/android/convert-startuphandler-to-kotlin
Android: Convert StartupHandler to Kotlin
2026-03-22 12:12:30 -04:00
OatmealDome 0e92a14703 Merge pull request #14488 from Simonx22/android/convert-permissionshandler-to-kotlin
Android: Convert PermissionsHandler to Kotlin
2026-03-21 12:14:53 -04:00
Simonx22 71f40469be Android: Convert SyncChannelJobService to Kotlin 2026-03-21 11:29:09 -04:00
Simonx22 936a828cb7 Android: Convert AppLinkHelper to Kotlin 2026-03-21 11:25:42 -04:00
Simonx22 8ced69e95d Android: Convert GamePropertiesDialog to Kotlin 2026-03-20 15:15:17 -04:00
Simonx22 b5b5b6fb7d Android: Convert StartupHandler to Kotlin 2026-03-20 13:14:06 -04:00
Simonx22 385ac49109 Android: Convert PermissionsHandler to Kotlin 2026-03-20 13:01:54 -04:00
Simonx22 b4933d3799 Android: Convert InsetsHelper to Kotlin 2026-03-20 12:59:27 -04:00
Simonx22 fd20322f5f Android: Remove version guards for API levels below 23 (Marshmallow) 2026-03-15 14:25:04 -04:00
JMC47 ff84a4b07a Merge pull request #14426 from Simonx22/android/convert-afterdirectoryinitializationrunner-to-kotlin
Android: Convert AfterDirectoryInitializationRunner to Kotlin
2026-03-12 15:25:15 -04:00
JMC47 6257823caf Merge pull request #14424 from Simonx22/android/wii-update-callback-kotlin
Android: Convert WiiUpdateCallback to Kotlin
2026-03-12 15:25:05 -04:00
JMC47 94c1891187 Merge pull request #14423 from Simonx22/android/convert-alertdialogitemsbuilder-to-kotlin
Android: Convert AlertDialogItemsBuilder to Kotlin
2026-03-12 15:24:49 -04:00
JMC47 e0ab156afd Merge pull request #14422 from Simonx22/android/convert-tvsettingsviewholder-to-kotlin
Android: Convert TvSettingsViewHolder to Kotlin
2026-03-12 15:24:38 -04:00
Simonx22 79f0c814e4 Android: Convert AfterDirectoryInitializationRunner to Kotlin 2026-02-28 10:44:05 -05:00
Simonx22 2660412b29 Android: Convert WiiUpdateCallback to Kotlin 2026-02-27 21:30:46 -05:00
Simonx22 a7bb03b6f0 Android: Convert AlertDialogItemsBuilder to Kotlin 2026-02-27 15:06:12 -05:00
Simonx22 46c410e30b Android: Convert TvSettingsViewHolder to Kotlin 2026-02-27 14:41:25 -05:00
Simonx22 58f85aa65c Android: Convert USBPermService to Kotlin 2026-02-27 14:11:48 -05:00
JosJuice 99d82829c8 Android: Fix defaults for RetroAchievements settings
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-23 19:24:58 +01:00
JosJuice 051133787e Android: Add Triforce Baseboard
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-15 23:13:18 -06:00
JMC47 e387fa3732 Merge pull request #14385 from dreamsyntax/cpu-clock-max
Qt/Android: CPU Clock Override max to 500%
2026-02-15 03:38:23 -05:00
dreamsyntax e1e1485582 Qt/Android: CPU Clock Override max to 500% 2026-02-12 18:39:05 -07:00
JosJuice bd92388d2f Android: Rework input device hotplug
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-08 10:38:43 +01:00
Jordan Woyak dd2b94cd4a Merge pull request #13594 from jordan-woyak/state-cleanups
State: Simplify interthread communication and general cleanups.
2026-02-03 16:50:52 -06:00
Sam Belliveau 51c8f18b73 feat: Add an option to preserve audio pitch when emulation speed changes, integrating it into core configuration and both Qt and Android UIs. 2026-01-27 18:48:22 -05:00
Jordan Woyak 2322437f96 State: Simplify interthread communication and cleanups. Save/Load calls are now always non-blocking for the caller, but appropriately block the CPU thread as needed. 2026-01-19 21:56:59 -06:00
JosJuice 0ba32f7add Android: Detect when native code should flush unsaved data 2026-01-19 21:56:09 -06:00
Leonardo Ledda 593c9f3836 Android: Switch to Theme.Material3.DynamicColors
* 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-01 14:11:37 +01:00