summaryrefslogtreecommitdiff
path: root/Source/Android/app
AgeCommit message (Collapse)Author
2025-04-22Android: Update platform enum valuesJosJuice
71f654c added a new platform in the middle of the C++ platform enum without updating the corresponding Android code, making the Android code incorrectly treat Wii discs as WAD files, WAD files as DOL/ELF files, and so on. This commit fixes the problem. To be able to add the new Triforce entry into the Platform enum without it leading to the UI getting an additional tab, I'm splitting the enum into Platform and PlatformTab. Platform now exactly matches the C++ enum (previously it excluded ELFOrDOL), and PlatformTab has the same content as the old Platform.
2025-04-22Android: Apply style alignment refactoringsDr. Dystopia
2025-04-21Adding support for detecting .bin imagesZopolis4
2025-04-19Prevent android generating duplicate analytics eventsShawn Hoffman
dolphin-start event was being generated twice for the normal end-user case, as can be seen in analytics data for some years. The problem occured when: * Android reaped the process hosting the dolphin activity (e.g. for power/memory saving). and * Dolphin activity was in "stopped" state for > 6 hours before being switched back to. Under above conditions, both calls to ReportStartToAnalytics would be performed, as dolphin thought it was being launched anew, and also thought it had been asleep for > 6 hours. fixes https://bugs.dolphin-emu.org/issues/13675
2025-04-19Android: Show time played in game detailsJosJuice
Unlike in DolphinQt, there isn't much space to show playtimes directly in the game list, so I've put it in the game details dialog instead.
2025-04-19Android: Create toggle for enabling/disabling time trackingJosJuice
2025-04-01Improve Performance of Granular Buffering + User Adjustable Buffer SizeSam Belliveau
2025-03-23Android: Show message when trying to map disconnected deviceJosJuice
Having the MotionAlertDialog immediately close is confusing for users. Let's show a message to tell them what went wrong.
2025-03-23Android: Don't use separate thread for MotionAlertDialogJosJuice
This is an Android continuation of bc95c00. We now call InputDetector::Update immediately after receiving an input event from Android instead of periodically calling it in a sleep loop. This improves detection of very short inputs, which are especially likely to occur for volume buttons on phones (or at least on my phone) if you don't intentionally keep them held down.
2025-03-15InputCommon/ControllerEmu: Break out functionality of EmulatedControllerJordan Woyak
to eliminate redundant unused members in Wii Remote extension objects.
2025-03-15Merge pull request #12866 from JosJuice/android-log-types-sortingJosJuice
Android: Replace log type names map with array
2025-03-14AudioCommon: Added Granular SynthesisSam Belliveau
2025-02-20Merge pull request #13326 from nlebeck/taskviewmodel-mustrestartappJordan Woyak
Eliminate TaskViewModel's `mustRestartApp` field
2025-02-12DolphinQt: Rename the pack/unpack SD Card buttons.Jordan Woyak
2025-02-02Eliminate TaskViewModel's mustRestartApp fieldNiel Lebeck
Instead of having UserDataImportWarningDialog set an `onResultDismiss` callback that examines `mustRestartApp`, and having UserDataActivity set `mustRestartApp`, just have UserDataActivity set the callback directly. This approach is no more data-race-y than the previous approach, and it simplifies the code. (The behavior of restarting the app when the task finishes is specific to the user data import flow, and there is no reason for TaskViewModel to be directly aware of it.)
2025-01-12Clean up CRLF line endingsDaniel Peukert
2025-01-10Merge pull request #12864 from JosJuice/android-window-compatAdmiral H. Curtiss
Android: Replace deprecated setSystemUiVisibility
2024-12-24Android: Fix VSync option not workingGamer64
It happened due to a typo from SECTION_GFX_HARDWARE
2024-11-03VideoBackendBase: Clarify function nameDentomologist
Rename GetDefaultBackendName to GetDefaultBackendConfigName to distinguish it from the display name.
2024-10-28Merge pull request #13140 from dreamsyntax/skip-efb-default-flipJMC47
GraphicsSettings: EFBAccessEnable=false by default
2024-10-22GraphicsSettings: EFBAccessEnable=false by defaultdreamsyntax
Makes Graphics -> Hacks -> Skip EFB Access from CPU enabled by default. Some GPU drivers stall when EFB access occurs in games where EFB is not used. Most games that require this setting set to 'true' already have this defined in their game inis.
2024-10-18JitCache: Add WipeBlockProfilingData Functionmitaclaw
Accessible from DolphinQt and Android.
2024-10-14Android: Add vsync settingJosJuice
Recently we have been getting some requests to make the existing vsync setting available in the Android GUI: https://bugs.dolphin-emu.org/issues/13650 https://forums.dolphin-emu.org/Thread-vsync-toggle-for-android I don't quite understand why enabling the vsync setting is helpful when Android already enforces vsync, but I guess having the option available doesn't hurt. I'm putting the setting under Advanced, unlike in DolphinQt, since there's no clear reason why the typical user would want to use this setting.
2024-10-13Merge pull request #13069 from JosJuice/android-real-balance-boardJMC47
Android: Add the "Real Balance Board" setting
2024-10-12Merge pull request #13079 from JosJuice/android-16kTilka
Android: Add 16 KiB page size support
2024-10-12Merge pull request #13080 from JosJuice/androidx-edge-to-edgeTilka
Android: Use enableEdgeToEdge
2024-10-04Partially revert "Revert "Audit uses of IsRunning and GetState""JosJuice
This reverts the revert commit bc67fc97c39628c76a4dbca411b0e8a9bfaf726a, except for the changes in BaseConfigLoader.cpp, which caused the bug that made us revert 72cf2bdb87f09deff22e1085de3290126aa4ad05. PR 12917 contains an improved change to BaseConfigLoader.cpp, which can be merged (or rejected) independently. A few changes have also been made based on review comments.
2024-09-28Android: Use enableEdgeToEdgeJosJuice
Dolphin has been using edge-to-edge rendering for a little while now, but it has required a bit of manual work. Now that edge-to-edge is becoming something expected of apps in Android 15, there's a nicer API we can use. Tested on Android 8, 11 and 13, with no changes in behavior noted.
2024-09-28Android: Add 16 KiB page size supportJosJuice
So far, Dolphin hasn't been able to run on Android devices that use a 16 KiB page size. 16 KiB page sizes are a very new Android feature that no phones have shipped with so far, so we're still compatible with the phones that exist out there, but let's get this fixed before phones start shipping with 16 KiB page sizes. Because I couldn't get Android Studio's emulator to work, I haven't been able to confirm that this change actually makes Dolphin fully compatible with devices that use a 16 KiB page size. But I have confirmed that this doesn't break anything on a regular 4 KiB page size device.
2024-09-22Android: Add the "Real Balance Board" settingJosJuice
2024-08-18Merge pull request #12863 from JosJuice/android-gamepad-sensorsTilka
Android: Fix and enable input device sensor input
2024-07-30Merge pull request #12965 from JosJuice/android-ndk-27OatmealDome
Android: Update to NDK 27.0.12077973
2024-07-30Android: Update to NDK 27.0.12077973JosJuice
2024-07-28Change Dual Core (speedup) to Dual Core (speedhack)MayImilae
2024-07-28Revert "Android: Disable input device sensor input due to crash"JosJuice
This reverts commit 75fb1a7edfb12f490b08ab0b76a8e2f1536d2d9b.
2024-07-28Android: Add workaround for AOSP input device sensor suspend bugJosJuice
2024-07-28Android: Use structural equality for sensorDetailsJosJuice
To fix the crash in input device sensor handling, we should look up Sensors using structural equality. Unfortunately, Sensor.equals implements referential equality, and HashMap doesn't let us provide a custom comparator. Because the number of sensors is relatively small, and because we have a reason to keep a sorted list of sensors around anyway, let's switch from HashMap to ArrayList.
2024-07-04Merge pull request #12856 from LillyJadeKatrin/retroachievements-pause-v2Admiral H. Curtiss
Handle Pausing in AchievementManager
2024-07-02Merge pull request #12903 from MayImilae/logos-updateOatmealDome
Logo refresh for android, windows, and linux
2024-07-01Merge pull request #12823 from JosJuice/android-new-version-codeOatmealDome
Android: Adopt a new versionCode scheme
2024-07-01Logo refresh for android, windows, and linuxMayImilae
2024-06-26Revert "Audit uses of IsRunning and GetState"JosJuice
This reverts commit 72cf2bdb87f09deff22e1085de3290126aa4ad05. SYSCONF settings are getting cleared when they shouldn't be. Let's revert the change until I get proper time to figure out why it's broken.
2024-06-24Android: Update copyright year in About dialog to 2024OatmealDome
2024-06-23Android: Track whether app is in foregroundJosJuice
2024-06-22Merge pull request #12828 from JosJuice/unify-state-variables-2Admiral H. Curtiss
Clean up Core::GetState
2024-06-21Audit uses of IsRunning and GetStateJosJuice
Some pieces of code are calling IsRunning because there's some particular action that only makes sense when emulation is running, for instance showing the state of the emulated CPU. IsRunning is appropriate to use for this. Then there are pieces of code that are calling IsRunning because there's some particular thing they must avoid doing e.g. when the CPU thread is running or IOS is running. IsRunning isn't quite appropriate for this. Such code should also be checking for the states Starting and Stopping. Keep in mind that: * When the state is Starting, the state can asynchronously change to Running at any time. * When we try to stop the core, the state gets set to Stopping before we take any action to actually stop things. This commit adds a new method Core::IsUninitialized, and changes all callers of IsRunning and GetState that look to me like they should be changed.
2024-06-20Add 2 More Slots for Power Discs on Emulated BasedeReeperJosh
2024-06-15Android: Replace log type names map with arrayJosJuice
Storing the log type names in a map results in them getting re-sorted by their keys, which doesn't quite give us the sorting we want. In particular, the Achievements category ended up being sorted at R (for RetroAchivements) instead of at A. Every use of the map is just iterating through it, so there's no real reason why it has to be a map anyway.
2024-06-15Android: Replace deprecated setSystemUiVisibilityJosJuice
No functional change.
2024-06-01Android: Adopt a new versionCode schemeJosJuice
Right now, we assign a versionCode to each Android build of Dolphin by counting the total number of git commits made. This has worked fine so far, but it won't work as-is for the new release process. Let's say we're currently on commit 20000. If we want to create a release under the new release process, we would create a release branch, add a new commit on it that updates the release name in CMake files and so on, and create a tag for that commit. The Android build of this release commit would get the version code 20001. However, the master branch is also going to get a commit with the version code 20001 sooner or later, and this commit would be an entirely different commit than commit 20001 on the release branch. This isn't much of a problem for people downloading Dolphin from dolphin-emu.org, but it's a big problem for Google Play, as Google Play doesn't allow us to upload two builds with the same version code. This commit makes us calculate the Android version code in a new way: The number of commits times two, and if the current build isn't a release build, plus 1. (We check whether the current build is a release build by checking whether there's a tag for the current commit.) With this new version code scheme, the release commit described in my example would get the version code 40002, and the master commit would get the version code 40003. This lets us upload both corresponding builds to Google Play, and also lets the user switch from the release build to the development build if they would like to. (Under normal circumstances, Android forbids installing a build with an older version code than the currently installed build. Therefore, whether the 1 is added for release builds or for development builds is a decision with consequences.)