Commit Graph

1413 Commits

Author SHA1 Message Date
Ryan Meredith df4cef44fd Android: Remove unused imports 2020-10-28 02:14:30 -04:00
Ryan Meredith 721f3bef69 Android: Fix initTouchPointer 2020-10-27 05:15:17 -04:00
JosJuice 3a119e1ec7 Android: Update WiimoteNew.ini preferences instead of deleting 2020-10-24 22:45:02 +02:00
JosJuice 563d9365b5 Android: Re-add motionControlsEnabled to clearWiimoteNewIniLinkedPreferences
This was removed in cc5802b when it should have
been converted to the new setting instead,
and it seems like I didn't notice when reviewing it.

I'm changing the DirectoryInitialization logic a little
so that clearWiimoteNewIniLinkedPreferences also is called
when there was no WiimoteNew.ini previously, in case the
user deleted WiimoteNew.ini but not Dolphin.ini.
2020-10-24 13:08:29 +02:00
JosJuice ba2aeb99d6 Android: Remove hacks for Wii Remote extension setting, round 2
It's still not exactly pretty, but now all the mess
is contained in one place and has a proper interface.
Fixes https://bugs.dolphin-emu.org/issues/12218.
2020-10-22 11:37:56 +02:00
JosJuice 21d3ea523c Android: Show how long ago each savestate was created 2020-10-21 22:49:59 +02:00
Léo Lam a8b7c3b577
Merge pull request #8893 from JosJuice/android-jni-declarations
Android: Remove unnecessary JNI function declarations
2020-10-21 22:46:58 +02:00
JosJuice 3a0917371e Android: Don't show game ID after game title 2020-10-21 20:02:52 +02:00
JosJuice 0dc29c743b Android: Get game metadata from core
Trying to get it from a GameFile before emulation starts is unreliable.
2020-10-21 20:02:52 +02:00
Léo Lam 43d11ca3eb
Merge pull request #8962 from JosJuice/android-saf-wad
Android: Use storage access framework for importing WADs
2020-10-21 19:16:10 +02:00
Ryan Meredith 353a67824d Android: Add AndroidOverlayButtons INI section 2020-10-20 12:03:41 -04:00
Ryan Meredith 69adfe0218 Android: Add "Default Values" button for overlay seekbars 2020-10-20 11:59:57 -04:00
Ryan Meredith cc5802ba04 Android: Convert SharedPreferences to INI Settings (simple cases) 2020-10-20 11:58:54 -04:00
Léo Lam 2e86e1a998
Merge pull request #9146 from JosJuice/android-disable-cover-download
Android: Allow disabling cover downloading
2020-10-20 13:31:01 +02:00
Léo Lam 409230e088
Merge pull request #9061 from Ebola16/Fixes3
Android: Improve WRITE_EXTERNAL_STORAGE denial
2020-10-20 02:15:08 +02:00
Léo Lam d448bd5bdf
Merge pull request #9154 from Ebola16/RR
Android: ConfirmRunnable to RunRunnable with optional confirmation
2020-10-20 00:50:10 +02:00
JosJuice 439866d257 Android: Remove unnecessary JNI function declarations
We generally have no reason to call these functions on our own, so
there's not much reason to declare them, especially not in the cpp
file where they're defined. In case we ever do get a reason to do
it, we can add declarations for just the functions that need them.
2020-10-19 20:55:13 +02:00
JosJuice 6380c65ff8 Android: Refetch game metadata after returning from settings 2020-10-19 20:03:47 +02:00
JosJuice 5e70dda4cc Android: Allow disabling cover downloading
In case someone wants to be very careful with how much bandwidth
they use or with what data GameTDB.com collects on you.
This is already an option in DolphinQt (though in DolphinQt it
will switch entirely from using covers to banners when turned off).
2020-10-19 20:03:47 +02:00
JosJuice 195b551d87 Android: Allow reading global settings without a Settings object
This makes things more convenient for code that just
wants to read the current value of a setting.
2020-10-19 20:03:47 +02:00
JosJuice cb14b65aad CMake: Fix build errors exposed by making common dependent on fmt 2020-10-19 14:36:09 +02:00
Léo Lam a209410e70
Merge pull request #9148 from JosJuice/android-active-layer
Android: Fix setting read during play with local game layer active
2020-10-19 12:17:59 +02:00
JosJuice 8d91b4ea8c Android: Show alert messages as toasts outside of emulation
It would be difficult to use the AlertMessage class for
messages that need to be showed outside of emulation,
but showing them as toasts is better than not showing them.
2020-10-18 16:06:46 +02:00
Ryan Meredith d8c5f4323b Android: ConfirmRunnable to RunRunnable with optional confirmation 2020-10-18 07:48:35 -04:00
JosJuice 16f5a50cfc
Merge pull request #9144 from JosJuice/confirm-runnable-finish
Android: Remove finish from ConfirmRunnableViewHolder
2020-10-15 18:44:01 +02:00
Léo Lam ebeca05000
Merge pull request #9119 from JosJuice/android-seekbar-min
Android: Correct SliderSetting minimum value behavior on API < 26
2020-10-14 12:38:29 +02:00
Léo Lam b24223c178
Merge pull request #9135 from JosJuice/show-nkit
Show NKitness in file format string
2020-10-14 12:19:53 +02:00
JosJuice 2861248520 Android: Fix setting read during play with local game layer active
During emulation, when LocalGame has a value but CurrentRun
doesn't, we want to read from LocalGame, not CurrentRun. This
change exposes a LAYER_ACTIVE option that handles this correctly.
2020-10-13 16:35:33 +02:00
JosJuice 28b640fb0d Android: Remove finish from ConfirmRunnableViewHolder 2020-10-11 10:34:12 +02:00
JosJuice 5a939ccfaf
Merge pull request #8833 from Ebola16/Panic
Android: Use DialogFragment for AlertMessage
2020-10-10 21:03:52 +02:00
nickbeth00 f0b2f51e1d android: add SENSOR_REVERSE_LANDSCAPE as an option 2020-10-08 09:22:10 +02:00
JosJuice d64fc67b04 Show NKitness in file format string
To make people more aware that they're not using a normal disc image.
2020-10-06 19:35:00 +02:00
Isira Seneviratne 1c9132ba2b Use Instant in StartupHandler. 2020-10-06 09:09:04 +05:30
Isira Seneviratne 200f8906d8 Enable support for Java 8 API desugaring. 2020-10-06 09:08:23 +05:30
JosJuice f065525a48 Android: Correct SliderSetting minimum value behavior on API < 26 2020-10-01 00:07:56 +02:00
JosJuice 960750003e
Merge pull request #9112 from Ebola16/setmin
Android: seekbar.setMin requires API level 26
2020-09-27 17:36:05 +02:00
Ryan Meredith 42b2d11f8d Android: seekbar.setMin requires API level 26 2020-09-26 23:55:16 -04:00
JosJuice bdfce1cd13 Android: Fix convertCompressionLevelZstdValues
That's what I get for copy-pasting
2020-09-26 11:25:54 +02:00
Ryan Meredith c3f34ac3fa Android: Add "Ignore for this session" to Warning AlertMessages 2020-09-25 11:50:59 -04:00
Ryan Meredith 991eb6ae83 Android: Use DialogFragment for AlertMessage 2020-09-25 11:50:04 -04:00
JosJuice 8f712114b6 Android: Use storage access framework for importing WADs
This is part of my efforts to add support for scoped storage.
I figured I would start with a relatively simple feature to
make sure that everyone is fine with the approach I'm taking
before I tackle more complicated features like the game list.
2020-09-23 18:36:23 +02:00
JMC47 54e570a95f
Merge pull request #8902 from JosJuice/android-convert
Android: Add disc image conversion
2020-09-23 12:27:43 -04:00
JMC47 f33767f19c
Merge pull request #9088 from JosJuice/android-sysconf
Android: Add Wii SYSCONF settings to GUI
2020-09-22 14:03:56 -04:00
JMC47 6ada03fca2
Merge pull request #9075 from JosJuice/android-osd-left-margin
Android: Move OSD out of the way when menu is open
2020-09-16 16:42:04 -04:00
JMC47 097a4f4ecf
Merge pull request #9077 from JosJuice/android-settings-initialized
Android: Wait for initialization before launching EmulationActivity
2020-09-16 16:37:28 -04:00
JosJuice 5ba0832158 Android: Add workaround for conversion progress in dark mode 2020-09-16 18:48:25 +02:00
JosJuice f01ccfdb82 Android: Only allow conversion when appropriate 2020-09-16 18:48:25 +02:00
JosJuice 23ea47d4df Android: Refactor GamePropertiesDialog.onCreateDialog 2020-09-16 18:48:25 +02:00
JosJuice 5d13f3675f Android: Pass GameFile to GamePropertiesDialog::newInstance 2020-09-16 18:48:20 +02:00
JosJuice 8c999cf3b1 Android: Let the user select where to save disc images 2020-09-16 18:38:53 +02:00
JosJuice 3805b84906 Android: Add content provider support to File::Delete 2020-09-16 18:38:53 +02:00
JosJuice 6e1e6d2311 Android: Add content provider support to File::IOFile
Taking the hit now to prepare us for when Google Play will
force us to use scoped storage...
2020-09-16 18:38:53 +02:00
JosJuice d9f3e382fe Android: Add a progress dialog for disc image conversion 2020-09-16 18:38:52 +02:00
JosJuice 7d6debb907 Android: Add disc image conversion 2020-09-16 18:38:07 +02:00
JosJuice 161f99b864 Android: Move OSD out of the way when menu is open
https://bugs.dolphin-emu.org/issues/12256
2020-09-16 18:36:15 +02:00
JosJuice 6e6446be83 Android: Add Wii SYSCONF settings to GUI
Now that PR 8975 is merged, we can finally add this without hacks.

https://bugs.dolphin-emu.org/issues/11605
2020-09-16 12:49:55 +02:00
JosJuice fb2e633e1e Android: Don't assume SliderSetting minimum is 0 2020-09-16 11:59:38 +02:00
JosJuice a7b9e6857b
Merge pull request #8975 from JosJuice/android-new-config
Android: Hook up the new config system
2020-09-16 09:49:16 +02:00
JosJuice 744c0b13cf Android: Display default path when no path is set 2020-09-15 19:10:57 +02:00
JosJuice 003696fd78 Android: Fix race condition when exiting emulation
The main activity loads settings essentially as soon as it
starts, in order to determine which tab to show. If the process
of stopping emulation has not finished at this point, a race
condition may be triggered where two IOS kernels are created
at once due to the emulation thread loading or saving the
SYSCONF while the GUI thread is loading the SYSCONF. To fix
this, we can wait for emulation to fully end before returning.

Because this race condition is hard to reproduce, I have not
been able to test that this actually fixes the race condition,
or even that the cause of the race condition is exactly what I
believe it is. But I am relatively confident.
2020-09-15 19:10:56 +02:00
JosJuice 9c19309a03 Android: Allow editing settings during emulation 2020-09-15 19:10:56 +02:00
JosJuice 736505f020 Android: Show overridden game settings in bold 2020-09-15 19:10:56 +02:00
JosJuice e24d50e881 Android: Hook up game settings to the new config system 2020-09-15 19:10:56 +02:00
JosJuice a538301891 Android: Hook up global settings to the new config system 2020-09-15 19:10:55 +02:00
JosJuice c8a76e6928 Android: Fix touch pointer not working after activity recreation
The only place where initTouchPointer was called automatically
was Host_RequestRenderWindowSize, which is called at least once
after emulation start, but not after activity recreation.
2020-09-14 14:13:29 +02:00
Ryan Meredith d643723d3a Android: Improve WRITE_EXTERNAL_STORAGE denial 2020-09-13 10:08:04 -04:00
JosJuice 8bd704304e Android: Check for granted permission when returning to MainActivity 2020-09-13 14:25:14 +02:00
JosJuice f011e859b4 Android: Centralize default values for settings
I was hoping we would be able to pull in the default values
from C++, but it seems like more trouble than it's worth,
partially because of different settings having default values
of different types and partially because we don't have any
convenient way to get a list of all C++ settings.
2020-09-12 14:59:34 +02:00
JosJuice 13d1ef6681 Android: Centralize setting definitions
Except controller settings, because those would be annoying
to fit into the same system, and I only need the non-controller
settings to be brought over for the next commits to work.
2020-09-12 14:29:34 +02:00
JosJuice d51f58f828 Android: Wait for initialization before launching EmulationActivity
...instead of waiting for it after launching EmulationActivity.
We need this because there is code that runs very early in
EmulationActivity that accesses the settings.
2020-09-12 14:25:19 +02:00
JosJuice cecec756ec Android: Always show Exit Emulation at bottom of menu
To make it easier to access on touchscreens.
2020-09-08 16:39:34 +02:00
JosJuice 6b68b76aed Android: Remove redundant pause/unpause code 2020-09-08 16:39:34 +02:00
JosJuice 1fdabc7481 Android: Exit emulation by long pressing Back 2020-09-08 16:39:34 +02:00
JosJuice a03f40ab15 Android: Change "Exit" to "Exit Emulation" 2020-09-08 16:39:34 +02:00
JosJuice 29bb51c456 Android: Adjust margins for game title in menu 2020-09-08 16:39:34 +02:00
JosJuice 7aa9222dac Android: Hide Refresh Wii Remotes menu entry for GameCube games 2020-09-08 16:39:34 +02:00
JosJuice 36a3b54c1f Android: Port over settings from the old menu 2020-09-08 16:39:34 +02:00
JosJuice 364b9702f4 Android: Use narrow layout for savestate slot picker in portrait 2020-09-08 16:35:26 +02:00
JosJuice 772a98e853 Android: Ensure menu is always wide enough
25% of the screen isn't necessarily wide enough on phones,
especially not in portrait mode.
2020-09-08 16:35:26 +02:00
JosJuice 48de1333df Android: Close the menu when tapping outside of it 2020-09-08 16:35:26 +02:00
JosJuice 48c34bba8a Android: Don't hide the menu when pressing Exit
Removing the menu for a split second before showing the transition
back to the main activity looks janky.
2020-09-08 16:27:09 +02:00
JosJuice 27554d2f26 Android: Remove inappropriate leanback checks
Android TV devices aren't the only devices without touchscreens.

Regarding MotionAlertDialog, I could've replaced the leanback
check with a touchscreen check instead of just removing it,
but I thought there was no reason to prevent people with
touchscreens from doing a long back press if they want to.
2020-09-08 16:27:09 +02:00
JosJuice cf51642c17 Android: Use Back to open the emulation menu on all devices
https://bugs.dolphin-emu.org/issues/12029

We currently have one way of opening the menu on touch screen
devices (swiping down from the top of the screen to bring up the
action bar and selecting the menu in the action bar), and another
way of opening the menu on Android TV (pressing Back). However,
some devices that claim to support touch (or don't support
leanback? Dolphin currently conflates the two) don't actually let
you swipe down from the top of the screen in the way that Dolphin
expects, notably Chromebooks. There are also some phones where you
can swipe down from the top of the screen but this for some reason
doesn't lead to the action bar becoming visible, though we are
getting less reports about this nowadays than in the past.

This change makes us use the Back method on all devices,
since it should work on all devices with no significant drawbacks.

Unfortunately, we not only have two different ways of triggering
the menu but actually two entirely different menus, with the
non-touch menu not implementing options that only are revelant
when using a touch screen. A later commit will add the missing
features to the menu that we now use on all devices.
2020-09-08 16:27:09 +02:00
LC 67761c7d31
Merge pull request #9067 from Ebola16/Fixes4
Android: Optimize imports
2020-09-08 09:47:59 -04:00
Ryan Meredith 1aacb575de Android: Remove calling create immediately before show 2020-09-08 06:20:19 -04:00
Ryan Meredith 10e85ff40c Android: Remove unnecessary getString calls 2020-09-08 06:14:58 -04:00
Ryan Meredith 255e8ff007 Android: Optimize imports 2020-09-08 06:01:34 -04:00
Ryan Meredith 1ec2ac780d Android: Update code-style-java for androidx files 2020-09-08 05:59:08 -04:00
LC a3dfb228fd
Merge pull request #9062 from JosJuice/android-dir-init-fail-message
Android: Optional AfterDirectoryInitializationRunner failure message
2020-09-07 22:33:52 -04:00
LC 95376208a1
Merge pull request #9064 from JosJuice/android-filepicker-normal
Android: Make FilePicker act like a normal setting
2020-09-07 22:33:10 -04:00
JMC47 344fdabf23
Merge pull request #8943 from JosJuice/android-horizontal-wiimote-buttons
Android: Fix saving Horizonal Wii Remote overlay A/B/1/2 positions
2020-09-06 17:09:51 -04:00
JosJuice 00a8f4faaa Android: Make FilePicker act like a normal setting
The reason why the finish() call was added no longer exists.
(Also, there was never a duplicate SettingsActivity as far as
I can tell, only a duplicate SettingsFragment.)
2020-09-06 14:41:01 +02:00
JosJuice ee9444a8f9 Android: Create separate InvertedCheckBoxSetting and PercentSliderSetting classes
This way we don't have to hardcode any keys inside the classes.
2020-09-06 13:29:57 +02:00
JosJuice c6a308380c Android: Replace Java INI parser with C++ INI parser
Fixes https://bugs.dolphin-emu.org/issues/12096.
2020-09-06 13:29:56 +02:00
JosJuice 74f197caed Android: Expose a proper interface for C++ IniFile class
Replaces the inflexible INI functions in NativeLibrary.
2020-09-06 13:29:52 +02:00
JosJuice 2959e76f4a Android: Optional AfterDirectoryInitializationRunner failure message
This centralizes the code for showing the write_permission_needed
and external_storage_not_mounted toasts.
2020-09-06 00:47:36 +02:00
LC fb32f1ab88
Merge pull request #9042 from Ebola16/FP
Android: Minor cleanup
2020-09-01 07:27:07 -04:00
LC d17c407f09
Merge pull request #9052 from Ebola16/GCAT
Android: Better GCAdapter scanning thread management
2020-09-01 07:25:59 -04:00
Ryan Meredith 05f3c4d579 Android: Remove unused files 2020-08-31 11:42:27 -04:00
Ryan Meredith 85ddb8fc86 Android: Minor cleanup 2 2020-08-31 11:23:59 -04:00