summaryrefslogtreecommitdiff
path: root/Source/Android/app
AgeCommit message (Collapse)Author
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-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.)
2024-05-31Merge pull request #12807 from TacoTheDank/cleanupProguardAdmiral H. Curtiss
Android: Clean up ProGuard
2024-05-25Android: Fix Gradle deprecationTacoTheDank
2024-05-25Android: Clean up ProGuardTacoTheDank
2024-05-20Android: Fix crash when no devices have outputsJosJuice
Regression from 5171290bdb.
2024-04-21Merge pull request #12727 from Simonx22/android-dependencies-042024OatmealDome
Android: Update dependencies
2024-04-20Merge pull request #12686 from JosJuice/android-remove-strikeoutAdmiral H. Curtiss
Android: Unset STRIKE_THRU_TEXT_FLAG for editable settings
2024-04-20Android: Update dependenciesSimonx22
2024-04-13Merge pull request #12681 from nlebeck/taskviewmodel-refactorAdmiral H. Curtiss
Refactor `TaskViewModel` to track task-related state in a single `MutableLiveData` instance
2024-04-13Merge pull request #12688 from JosJuice/android-alert-synchronizeAdmiral H. Curtiss
Android: Fix race condition in displayAlertMsg
2024-04-09Android: Access Software JIT Profilingmitaclaw
2024-04-09JitCache: Software Profiling Restorationmitaclaw
Rekindle software JIT profiling with a std::chrono conversion and a config connection.
2024-04-07Refactor TaskViewModel to track task-related state in a single ↵Niel Lebeck
MutableLiveData instance
2024-04-06NativeLibrary: Create displayToastMsg Methodmitaclaw
2024-04-05Android: Fix race condition in displayAlertMsgJosJuice
It was possible for sAlertMessageLock.notify() to be called before sAlertMessageLock.wait(), causing Dolphin to deadlock. In particular, this was guaranteed to happen if displayAlertMsg was called from the UI thread while the emulation activity is being destroyed, because runOnUiThread runs the passed-in anonymous function immediately when called from the UI thread. By replacing Object.wait/Object.notify with Semaphore.acquire/ Semaphore.release, it no longer matters what order the methods are called in.
2024-04-05Android: Unset STRIKE_THRU_TEXT_FLAG for editable settingsJosJuice
Because SettingViewHolder is used in RecyclerViews, we have to explicitly unset STRIKE_THRU_TEXT_FLAG when we don't want it, otherwise it might be left over from when the SettingViewHolder was representing a different setting.
2024-03-25Add tapserver BBA and Modem Adapter UI config to AndroidMatt
This PR simply exposes the tapserver options in Serial Port 1 on Android. They already exist and work, but are not selectable. I've tested the tapserver options myself with Phantasy Star Online Episode I & II and they work fine.
2024-03-17Implement GC modem adapterMartin Michelsen
This implements the GameCube modem adapter. This implementation is stable but not perfect; it drops frames if the receive FIFO length is exceeded. This is probably due to the unimplemented interrupt mentioned in the comments. If the tapserver end of the connection is aware of this limitation, it's easily circumvented by lowering the MTU of the link, but ideally this wouldn't be necessary. This has been tested with a couple of different versions of Phantasy Star Online, including Episodes 1 & 2 Trial Edition. The Trial Edition is the only version of the game that supports the Modem Adapter and not the Broadband Adapter, which is what made this commit necessary in the first place.
2024-03-17fix android syntax errorMartin Michelsen
2024-03-17implement tapserver BBA on all platformsMartin Michelsen
This expands the tapserver BBA interface to be available on all platforms. tapserver itself is still macOS-only, but newserv (the PSO server) is not, and it can directly accept local and remote tapserver connections as well. This makes the tapserver interface potentially useful on all platforms.
2024-02-11Merge pull request #12573 from JosJuice/android-wii-menu-download-sizeMai
Android: Mention download size in the Wii Menu not installed message
2024-02-11Android: Mention download size in the Wii Menu not installed messageJosJuice
Google Play's policies require us to tell the user the size of any large download. The size seems to vary by just a megabyte or two across regions in my testing, so I'm listing a rough size for all the regions. I'm also taking the opportunity to shorten the message to make it easier to read.
2024-02-11Android: Don't check Wii Menu version before directory initializationJosJuice
Fixes a crash.
2024-02-11Android: Update Load Wii System Menu string in onPrepareOptionsMenuJosJuice
Because the wording of the Load Wii System Menu string can change depending on the contents of the NAND, we should update that menu item in a method that's guaranteed to get called every time the user opens the menu rather than one that's only guaranteed to be called once.
2024-02-04InputCommon: Unify GetProfileName and GetProfileDirectoryNameJosJuice
After reading the previous commit, you might think "hold on, what's the difference between GetProfileName and GetProfileDirectoryName"? These two are being used for the exact same thing - figuring out where profiles are stored - yet they return different values for certain controllers like GC keyboards! As far as I can tell, the existing code has been broken for GC keyboards since they were introduced a decade ago. The GUI (and more recently, also InputCycler) would write and read profiles in one location, and our code for loading profiles specified in a game INI file would read profiles in another location. This commit gets rid of the set of values used by the game INI code in favor of the other set. This does breaking existing setups where a GCKey profile has been configured in a game INI, but I think the number of working such setups is vanishingly small. The alternative would make existing GCKey profiles go missing from the profile dropdown in the GUI, which I think would be more disruptive. The alternative would also force new GCKey profiles into the same directory as GCPad profiles. This commit also fixes a regression from d6c0f8e749. The Android GUI was using GetProfileName to figure out what key to use in the game INI, which made it use incorrect game INI entries for GameCube controller profiles but not Wii Remote profiles. Now the Android GUI uses GetProfileKey for this, fixing the problem.
2024-01-07Merge pull request #12375 from JosJuice/android-gate-size-crashJosJuice
Android: Fix crash when trying to edit gate size setting
2024-01-05Merge pull request #12468 from JosJuice/android-targets-fixesMai
Android: Fix the targets line in build.gradle.kts
2023-12-30Android: Update the comment for the targets line in build.gradle.ktsJosJuice
This comment hasn't really made sense since 23bebc5270 commented out the relevant line.
2023-12-30Android: Fix syntax of the targets line in build.gradle.ktsJosJuice
Seems like this was missed in the conversion to Kotlin in 001089dbf4.
2023-12-24Make DocumentProvider Support ThumbnailBlakDulz
This will make DocumentUI or the built-in Android System Internal Files Manager app showing Thumbnail of Image file instead of image type icon.
2023-12-23Implement Refresh on DocumentProviderBlakDulz
"When interacting with DocumentUI or the built-in Android System Internal Files Manager app and performing Create, Rename, and Delete operations, DocumentsUI will not automatically refresh the changes. Previously, users had to manually pull down from the top to refresh the changes. This commit aims to fix this issue by automatically notifying the system that changes have occurred and triggering a requery."
2023-12-16Merge pull request #12346 from iwubcode/arb_mipmaps_default_offAdmiral H. Curtiss
Core: disable arbitrary mipmap detection by default
2023-12-13Merge pull request #12369 from t895/coil-cacheJosJuice
Android: Allow Coil image cache to use more memory