summaryrefslogtreecommitdiff
path: root/Source/Android/app/src/main/java
AgeCommit message (Collapse)Author
2018-05-03Android Interface submenu: Add Show OSD MessagesRyan Meredith
2018-05-03Android: Initial implementation of Interface submenuRyan Meredith
2018-04-29Dolphin: Add disable copy filter to graphics optionsStenzek
2018-03-26Implement "Skip" ubershader modeStenzek
Skip ubershader mode works the same as hybrid ubershaders in that the shaders are compiled asynchronously. However, instead of using the ubershader to draw the object, it skips it entirely until the specialized shader is made available. This mode will likely result in broken effects where a game creates an EFB copy, and does not redraw it every frame. Therefore, it is not a recommended option, however, it may result in better performance on low-end systems.
2018-03-15Bring the Android GUI setting for ubershaders up to dateJosJuice
9fa2470 changed how the ubershader setting is stored in INIs but didn't update the Android GUI code to reflect that, so the setting in the Android GUI has been broken starting with that commit. Fixes https://bugs.dolphin-emu.org/issues/10947
2018-02-21Android: Make on-screen joysticks center on the initial touch input.Greg Wicks
2018-02-20Android: Update renderer surface before resuming emulationStenzek
Previously, this could cause a race condition which resulted in the Vulkan backend attempting to acquire a swap chain image from a now non-existant surface. By ensuring the backend knows about the surface before a frame is presented, this race does not happen.
2018-02-16Android: Implement game-specific settings overrides UIGreg Wicks
2018-01-26Merge pull request #6306 from mahdihijazi/fix_hardcoded_path2Markus Wick
Android: Don't hard code the user dircetory path to /sdcard/dolphin-emu
2018-01-24Android: Don't hard code the user dircetory path to /sdcard/dolphin-emumahdihijazi
Android is allowed to pick any path for the external storage media and that's why we should always use Environment.getExternalStorageDirectory() to get the external storage path
2018-01-24Merge pull request #6310 from mahdihijazi/fix_animationLéo Lam
Android: Fix settings screen animation if Animator Duration Scale is Off
2018-01-21Android: Support change discmahdihijazi
2018-01-21Android: Keep the local copy of the mSurfacemahdihijazi
onCreateView might not be called after resuming the emulatoin wich will leed the game to stuck in the middle since mRunWhenSurfaceIsValid will be true but surfaceChanged will never be called in this case.
2018-01-19Android: Fix settings screen animation if Animator Duration Scale is Offmahdihijazi
If Animator Duration Scale is Off, the Enhancements/Hacks screens were not visible unless you enable the Animator Duration Scale back. This make sure screens will be visible regardless of your animation settings.
2018-01-10Merge pull request #6295 from 34will/masterMarkus Wick
Yes/No Dialogs for Android
2018-01-10Added an actual implementation for yes/no dialogs on Android using ↵34will
Object.wait and Object.notify. Modified NativeLibrary to display alerts in AlertDialogs rather than Toast notifications, and allow yes/no options. Modified MainAndroid to use the new displayAlertMsg, and to return its output.
2018-01-10Merge pull request #6282 from mahdihijazi/replace_file_browserMarkus Wick
[Android] Replace current file browser
2018-01-05[Android] Replace current file browsermahdihijazi
1. Allow users to pick games dircetory from external storage. 2. Better UX experince to distinguish between selecting a directory or a game. The later is needed when we implement change disk for android.
2018-01-05Merge pull request #6270 from mahdihijazi/suppport_restore_stateMarkus Wick
[Android] Support restore emulator state
2018-01-03[Android] Fix refreshing the games list after adding a directorymahdihijazi
This was a regression from the time we introrduced the Platform enums.
2017-12-28[Android] Support restore emulator state after the emulation screen is killedmahdihijazi
1) Most of the times the native heap is kept around even after the activity is killed, we can ask the native code if it is still running and resume the emulation if that is the case. 2) In case the native heap is freed and the emulation can't resume we used a temporary state to load on the game boot. I couldn't find a way to test this, if you want to test this schnario, add this block to EmulationFragment. public void onDestroy() { stopEmulation(); super.onDestroy(); } onDestroy is only called if the acivity killed by the OS and not be rotation change whihch in this case will make sure to kill the emulation and start again when the activiy is re-created.
2017-12-28Optionally delete savestate that gets loaded at bootJosJuice
2017-12-28Android: Don't return anything from HandleInitJosJuice
It only ever returned false.
2017-12-28Android: Always run HandleInit logic on app startJosJuice
Note: By "HandleInit" in this commit message, I mean the code that is in HandleInit in master except the part that launches EmulationActivity. In other words, I mean the call to SetUserDirectory and the call to DirectoryInitializationService.startService. Couldn't think of something more accurate to call that than "HandleInit"... In master, HandleInit only runs when the main activity is launched. This is a problem if the app ends up being launched in some other way, such as resuming EmulationActivity after the app has been killed in order to reclaim memory. It's important that we run HandleInit, because otherwise the native code won't know where the User and Sys folders are. In order to implement this, I'm dropping the ability to set a custom User folder in an intent. I don't think anyone is using that anyway. It's not impossible to support it, but I can't see a way to support it that doesn't involve something ugly like having code for calling HandleInit in every activity (or at least MainActivity + TvMainActivity + EmulationActivity, with more activities potentially needing it in the future if we expand the usage of native code for e.g. settings). If we want to support setting a custom user directory, we should consider another way to do it, such as a setting that's stored in getFilesDir() or getExternalStorageDirectory(). Intents are intended to control the behavior of a specific activity, not the whole app.
2017-12-27MainAndroid: Optionally wait for savestate to finish writingJosJuice
2017-12-27MainAndroid: Allow specifying savestate to load at bootJosJuice
2017-12-27MainAndroid: Add wrapper for Core::IsRunningJosJuice
2017-12-27MainAndroid: Allow specifying path for savestatesJosJuice
2017-12-26Android: Fix race condition with writing files before setting User pathJosJuice
2017-12-26Android: Don't extract Sys if it already is extractedJosJuice
2017-12-26Android: Extract Sys to a different folder than the User folderJosJuice
2017-12-24Merge pull request #6258 from mahdihijazi/extract_serviceJosJuice
[Android] Refactor AssetCopyService and the way we extract resources …
2017-12-23Fix a bug when you open the gc pad settings after fresh install of Dolphinmahdihijazi
You will see an empty gc pad settings screen until you open any other settings screen and change something, at that moment the Dolphin.ini will be created and the gc pad settings will be loaded successfully the next time you open the screen. This fixes the bug by putting the default gc pad settings section even if the Dolphin.ini file doesn't exist
2017-12-23Don't override the WiimoteNew.ini so the user don't loose the selected sourcemahdihijazi
2017-12-20Fix default value for Show FPS in Android GUIJosJuice
https://bugs.dolphin-emu.org/issues/10728
2017-12-19Merge pull request #6224 from hackbar/input-fix-mogaMarkus Wick
Android: Handle missing mappings for the Moga Pro 2 HID controller.
2017-12-18Update Android GUI settings for Hybrid XFBJosJuice
2017-12-18[Android] Refactor AssetCopyService and the way we extract resources from ↵mahdihijazi
the assets This solves the following issues: 1. If user uninstall Dolphin and install it again the resources will not be copied unless the user manually clear the app cache because we are enabling the allowBackup flag in the manifest which will make the app restore the settings saved in the shared prefernces including the flag assetsCopied. This PR always copy the files everytime you open Dolphin. 2. If the AssetCopyService took long time and you tried to open the settings screen or start a game the behaviour was not expected or the emulator will crash, this PR make sure that whatever we add to the DirectoryInitializationService or how long it will take will still work as expected by blocking both the settings screen and the emulaion screen to wait untill all resources needed are copied. 3. Better communication between the DirectoryInitializationService and the UI screens using brocast messages.
2017-12-18Replace all Anonymouse class with lambdas or method refernce where applicablemahdihijazi
2017-11-28Android: Handle missing mappings for the Moga Pro 2 HID controller.Mike
It seems to report the GENERIC_1 axis stuck at 1.
2017-11-09Android: Handle a database downgrade.Mike
This has no effect now, as we've never bumped the database version. Instead, it adds future proofing, and makes moving between a future version with a bump and master clean.
2017-11-07Android: Ignore joystick axis movements in the flat area.Mike
Now that all inputs are corrected to zero-centered, we can use getFlat() to ignore movements that are just noise. This eliminates a lot of drift when the controller is at rest, notably on the character select screen in Melee.
2017-11-07Android: Handle duplicate axis, and fix known bad axis.Mike
Android reports the same physical axis multiple times for analog triggers, and this handles this case. There are also some controllers with broken mappings (eg the analog triggers on a PS4 DualShock 4). These axis don't center correctly. There are also some controllers (again, the PS4) that send both a button press and an axis movement. This ignores the buttons so we can use the analog axis. Otherwise, since the button comes before the axis moves far we would always take the button.
2017-11-03Merge pull request #6142 from gwicks/android-settingsLeo Lam
Android: Add Slot A and B Device settings to the settings UI
2017-11-03Merge pull request #6163 from JosJuice/simple-ini-irLeo Lam
Revert "Convert to/from old EFB scale numbering"
2017-11-02Revert "Convert to/from old EFB scale numbering"JosJuice
This reverts commit 1fc910b3ea9eafcc3cc5132bdfc51731ba5fa9fd, replacing the old INI setting EFBScale with a new INI setting called InternalResolution, which has a simpler mapping: | EFBScale | InternalResolution ----------------- | -------------------- | -------------------- Auto (fractional) | 0 | Auto (integral) | 1 | 0 1x | 2 | 1 1.5x | 3 | 2x | 4 | 2 2.5x | 5 | 3x | 6 | 3 4x | 7 | 4 5x | 8 | 5 6x | 9 | 6 All the fractional IRs were removed in f090a943.
2017-11-02Merge pull request #6140 from hackbar/cleanup2Anthony
Android: minor UI changes
2017-11-01Android: Destroy the surface in EmulationFragment onStop.Mike
Emulation needs to be running when the surface is destroyed, but we want to pause in onStop. So call the surfaceDestroyed callback, as this accomplished both.
2017-11-01Android: Use the newInstance pattern for EmulationFragment.Mike
2017-11-01Android: Use the system "immersive" mode for fullscreen, and simplify how it'sMike
called. The user will get a brief system popup tutorial the first time it's used, so we don't need to show them the menu every time. Once they enable it by pulling down, hide again after 3s.