Commit Graph

2268 Commits

Author SHA1 Message Date
JosJuice
cff3e22f84
Merge pull request #11926 from JosJuice/android-host-check
Android: Re-add host thread check
2023-06-19 20:37:59 +02:00
JosJuice
f16381adc5 Android: Hide Infinity Base in MenuFragment when not relevant 2023-06-17 11:57:53 +02:00
Marcel Alexandru Nitan
cff7a4bfd2 Use getCacheDir if getExternalCacheDir returns null. 2023-06-13 18:44:27 +00:00
JosJuice
ae4d52c838 Android: Fix overlay d-pad not working until finger moves
A switch case fallthrough was overlooked when translating from Java to
Kotlin.
2023-06-13 20:37:59 +02:00
JosJuice
c961c6c35a Android: Fix pressing up on overlay d-pad 2023-06-13 20:37:59 +02:00
JosJuice
03f2f57edf Android: Add HostThreadLock where necessary 2023-06-12 23:39:42 +02:00
JosJuice
3519a7070d Android: And Lock and Unlock wrappers to HostThreadLock
This way we can ensure DeclareAsHostThread and UndeclareAsHostThread
are called when locking and unlocking.
2023-06-12 23:39:42 +02:00
JosJuice
5524042922 Android: Move host thread lock to a separate file 2023-06-12 23:39:42 +02:00
Charles Lombardo
9a7e1652f3 Android: Target Java 17 2023-06-11 23:44:44 -04:00
Charles Lombardo
7822e662f5 Android: Update Kotlin to 1.8.21
Additionally updates the serialization plugin to match
2023-06-11 23:44:44 -04:00
Charles Lombardo
4934b6e30b Android: Update dependencies 2023-06-11 23:44:44 -04:00
Charles Lombardo
7c2c558646 Android: Upgrade to AGP 8.0.2 2023-06-11 23:44:44 -04:00
Charles Lombardo
78f7463363 Android: Fix use of deprecated JVM flag 2023-06-11 22:54:31 -04:00
Charles Lombardo
157deb5864
Merge pull request #11928 from K0bin/adrenotools-release-build-fix
Android: Fix Adrenotools in release builds
2023-06-11 17:02:36 -04:00
Charles Lombardo
8db5775a1b
Merge pull request #11927 from JosJuice/android-custom-file-extension-locale
Android: Check file name extensions locale-independently
2023-06-11 16:52:50 -04:00
Robin Kertels
6f55b26751
Android: Fix Adrenotools in release builds 2023-06-11 22:44:48 +02:00
JMC47
5c0581e990
Merge pull request #11867 from K0bin/adrenotools
Implement loading custom drivers on Android
2023-06-11 14:17:39 -04:00
JosJuice
fee86e8536 Android: Check file name extensions locale-independently
A very minor bug that became more obvious when this code was translated
to Kotlin.
2023-06-11 19:03:49 +02:00
Robin Kertels
2da7d16b7c
Android: Implement a UI for Adrenotools 2023-06-11 13:53:31 +02:00
Robin Kertels
23bebc5270
VideoBackends:Vulkan: Allow loading custom drivers on Android
... using libadrenotools
2023-06-11 13:52:34 +02:00
Charles Lombardo
28785c5fad Android: Convert SaveLoadStateFragment to Kotlin 2023-06-11 00:53:26 -04:00
Charles Lombardo
d26eddd4e2 Android: Convert MenuFragment to Kotlin 2023-06-11 00:53:26 -04:00
Charles Lombardo
afb6719a1a Android: Convert EmulationFragment to Kotlin 2023-06-11 00:53:26 -04:00
Charles Lombardo
7e7cd6ff76 Android: Convert CustomFilePickerFragment to Kotlin 2023-06-11 00:53:26 -04:00
Admiral H. Curtiss
a7678f3210
Merge pull request #11694 from jnaidu360/skylanders-portal-window
Skylanders Portal Menu Navigational Improvements
2023-06-06 19:20:39 +02:00
Charles Lombardo
05b1aa3775 android: Fix compilation error from Kotlin changes
Since the ThemeProvider interface changed `fun getThemeId()` to `var themeId`, I had to adjust how it was used in the EmulationActivity. Similar case for `fun getConfiguredControllerType()`.
2023-06-06 12:36:21 -04:00
JosJuice
2d56daf1bb
Merge pull request #11873 from AdmiralCurtiss/pause-and-lock-host
Core: Assert that only the Host thread may call PauseAndLock().
2023-06-06 13:50:20 +02:00
JosJuice
83b4af86b6
Merge pull request #11892 from t895/kotlin-adapters
Android: Convert "adapters" package to Kotlin
2023-06-06 13:06:56 +02:00
JosJuice
04fab7f2b2
Merge pull request #11884 from t895/kotlin-overlay
Android: Convert InputOverlay to Kotlin
2023-06-06 13:03:39 +02:00
JosJuice
36ca747d55
Merge pull request #11886 from t895/kotlin-ui
Android: Convert "ui" package to Kotlin
2023-06-06 13:03:02 +02:00
Charles Lombardo
f117e8a2f9 Android: Convert PlatformGamesView to Kotlin 2023-06-05 20:08:54 -04:00
Charles Lombardo
3e8d6b8aa2 Android: Convert PlatformGamesFragment to Kotlin 2023-06-05 20:08:54 -04:00
Charles Lombardo
0915bfbb30 Android: Convert Platform to Kotlin 2023-06-05 20:08:54 -04:00
Charles Lombardo
90ac08c98d Android: Convert NVidiaShieldWorkaroundView to Kotlin 2023-06-05 20:08:54 -04:00
Charles Lombardo
2434c2db59 Android: Convert TvMainActivity to Kotlin 2023-06-05 20:08:53 -04:00
Charles Lombardo
ecd62b2211 Android: Convert ThemeProvider to Kotlin 2023-06-05 20:08:53 -04:00
Charles Lombardo
b5c63b995c Android: Convert MainView to Kotlin 2023-06-05 20:08:53 -04:00
Charles Lombardo
01d4e6fe87 Android: Convert MainPresenter to Kotlin 2023-06-05 20:08:53 -04:00
Charles Lombardo
18a03e69a9 Android: Convert MainActivity to Kotlin 2023-06-05 20:08:53 -04:00
Charles Lombardo
dff2d8111c Android: Convert CustomTitleView to Kotlin 2023-06-05 20:08:52 -04:00
Charles Lombardo
a1d027fe07 Android: Convert SettingsRowPresenter to Kotlin 2023-06-05 15:44:26 -04:00
Charles Lombardo
e4935d4b12 Android: Convert PlatformPagerAdapter to Kotlin 2023-06-05 15:44:26 -04:00
Charles Lombardo
0bd0fa4f44 Android: Convert InputOverlayPointer to Kotlin 2023-06-05 14:29:48 -04:00
Charles Lombardo
ddb0de0410 Android: Convert InputOverlayDrawableJoystick to Kotlin 2023-06-05 14:29:39 -04:00
Charles Lombardo
fb60b708f5 Android: Convert InputOverlayDrawableDpad to Kotlin 2023-06-05 14:29:31 -04:00
Charles Lombardo
500f1f1861 Android: Convert InputOverlayDrawableButton to Kotlin 2023-06-05 14:29:31 -04:00
Charles Lombardo
9828ffe250 Android: Convert InputOverlay to Kotlin 2023-06-05 14:29:31 -04:00
Charles Lombardo
e6d8694cbe Android: Convert AppLinkActivity to Kotlin 2023-06-05 14:10:06 -04:00
Charles Lombardo
cbca383bd2 Android: Convert CustomFilePickerActivity to Kotlin 2023-06-05 14:10:06 -04:00
Charles Lombardo
03675f7677 Android: Convert EmulationActivity to Kotlin 2023-06-05 14:10:05 -04:00
jnaidu360
66f4902a1e Improved Skylanders Portal Window Navigation
Adds features to improve navigation of Skylanders portal menu, includes:
-List of Skylanders and filters for searching
-Improved buttons for faster loading options
-Added default user folder for storing .sky files
2023-06-04 18:10:08 -07:00
Admiral H. Curtiss
b3c9f49cbe
Core: Assert that only the Host thread may call PauseAndLock(). 2023-06-02 18:51:43 +02:00
JosJuice
3a81463e68 Android: Fix submenus for Wii Remote 2-4
Accessing any of the submenus "Buttons", "Motion Simulation" or
"Motion Input" for Wii Remotes 2-4 would actually lead to the
corresponding submenu for Wii Remote 1.
2023-06-01 20:17:50 +02:00
Charles Lombardo
faa2b28e6b
Merge pull request #11835 from JosJuice/android-analytics-race
Android: Don't show analytics dialog for destroyed activity
2023-05-28 17:14:36 -04:00
Joshua de Reeper
cf3e8714eb Android: Add Hashmap to IDCache 2023-05-28 19:01:21 +12:00
Joshua de Reeper
f8abc2c0e6 Android: Infinity Base UI
Add a UI option for the Infinity Base within the Android Emulation Activity
2023-05-28 19:01:21 +12:00
JosJuice
8a78538b2d Android: Don't show analytics dialog for destroyed activity
Should fix one of the reported crashes on Google Play. The issue can
happen if you leave the activity during directory initialization.
2023-05-22 11:10:13 +02:00
Admiral H. Curtiss
6a339cbdb3
IOS/ES: Split ESDevice into ESCore and ESDevice.
ESCore implements the core functionality that can also be used outside of emulation. ESDevice implements the IOS device and is only available during emulation.
2023-05-15 20:41:05 +02:00
Mai
1a2dcc53f2
Merge pull request #11742 from K0bin/document-provider-2
Android: Document Provider improvements
2023-04-16 04:21:33 -04:00
Robin Kertels
57ed5320b5
Android: Fix various issues with the DocumentProvider
Fixes copying & deleting folders and copy conflict handling.
2023-04-15 20:53:01 +02:00
Lioncash
e4caace6bb Common/IniFile: Move interface into Common namespace
Gets this out of the global namespace and into the Common namespace
2023-04-13 10:19:28 -04:00
Robin Kertels
1596b13743
Android: Give Debug and Benchmark builds unique names
on the launcher and for the DocumentsProvider
2023-04-08 15:56:44 +02:00
Charles Lombardo
15be899580
Merge pull request #11689 from K0bin/android-open-user-folder
Android: Make button in the settings open user folder
2023-03-29 10:53:48 -07:00
Robin Kertels
ee563189fd
Android: Adjust user data text to match DocumentProvider 2023-03-26 20:32:43 +02:00
Admiral H. Curtiss
9217a9eba4
JitInterface: Refactor to class, move to System. 2023-03-26 14:38:07 +02:00
Robin Kertels
43d346aba4
Android: Open DocumentProvider directly when tapping the File Manager button 2023-03-24 00:33:42 +01:00
Charles Lombardo
df806125b9 Android: Ignore input from invalid pointer identifier 2023-03-22 21:44:37 -04:00
Charles Lombardo
ce66d5875f Android: Fix long press action for leanback game cards 2023-03-21 19:12:28 -04:00
Charles Lombardo
cf0706c239 Android: Remove deprecated use of launchWhenStarted/Resumed 2023-03-21 18:53:48 -04:00
JosJuice
002a96adb0
Merge pull request #11662 from t895/kotlin-settings
Android: Convert Settings to Kotlin
2023-03-19 17:15:22 +01:00
JosJuice
8e363c0995 Android: Translate C++ "w" to ParcelFileDescriptor "wt"
Previously we were translating "w" to "w", which unlike in C++ doesn't
truncate. See https://issuetracker.google.com/issues/180526528, and for
reference, https://en.cppreference.com/w/cpp/io/c/fopen and
https://en.cppreference.com/w/cpp/io/basic_filebuf/open.

This issue was brought to my attention by the recently published issue
CVE-2023-21036 in the screenshot editing tool on Pixel phones. I'm not
aware of any code in Dolphin that actually uses "w" with an existing
file on Android (when we ask the user for a location to save to using
SAF, a new file is always created), but still, best to fix this.
2023-03-18 13:44:01 +01:00
JosJuice
6b545eaada
Merge pull request #11659 from JosJuice/android-after-dirinit-runner-cleanup
Android: Clean up AfterDirectoryInitializationRunner
2023-03-16 17:12:58 +01:00
Charles Lombardo
a32d66e5ec Android: Upgrade Kotlin to 1.8.10 2023-03-15 23:58:11 -04:00
Charles Lombardo
f06c0897ab Android: Update gradle to 8.0 2023-03-15 23:58:11 -04:00
Charles Lombardo
de34c962d7 Android: Upgrade AGP to 7.4.2 2023-03-15 23:58:11 -04:00
Charles Lombardo
7e84285047 Android: Upgrade dependencies
Desugar JDK 2.0.0 -> 2.0.2
Androidx Appcompat 1.6.0 -> 1.6.1
Androidx Exif Interface 1.3.5 -> 1.3.6
Material Components 1.7.0 -> 1.8.0
Androidx recyclerview 1.2.1 -> 1.3.0
Androidx viewmodel ktx 2.5.1 -> 2.6.0
Androidx viewmodel 2.5.1 -> 2.6.0
2023-03-15 23:58:11 -04:00
Charles Lombardo
805f921b55 Android: Remove unused benchmark flags 2023-03-15 23:57:47 -04:00
Charles Lombardo
2782318b8c Android: Update ndk version to 25.2.9519653 2023-03-15 23:57:47 -04:00
Charles Lombardo
9020b6aeb9 Android: Convert SettingsAdapter to Kotlin 2023-03-15 17:35:48 -04:00
Charles Lombardo
673c8d9cb2 Android: Convert SettingsActivity to Kotlin 2023-03-15 17:35:48 -04:00
Charles Lombardo
4cbbe15e77 Android: Convert SettingsFragment to Kotlin 2023-03-15 17:35:48 -04:00
Charles Lombardo
cea882181d Android: Convert SettingsActivityPresenter to Kotlin 2023-03-15 17:35:48 -04:00
Charles Lombardo
3b32ff6980 Android: Convert SettingsFile to Kotlin 2023-03-15 17:35:48 -04:00
Charles Lombardo
92f39a98d6 Android: Convert SwitchSettingViewHolder to Kotlin 2023-03-15 17:35:48 -04:00
Charles Lombardo
49e480ee53 Android: Convert SubmenuViewHolder to Kotlin 2023-03-15 17:35:48 -04:00
Charles Lombardo
760417b08f Android: Convert SliderViewHolder to Kotlin 2023-03-15 17:35:48 -04:00
Charles Lombardo
9b79f5fa5d Android: Convert SingleChoiceViewHolder to Kotlin 2023-03-15 17:35:48 -04:00
Charles Lombardo
917a0c2287 Android: Convert SettingViewHolder to Kotlin 2023-03-15 17:35:48 -04:00
Charles Lombardo
7b7ee13162 Android: Convert RunRunnableViewHolder to Kotlin 2023-03-15 17:35:48 -04:00
Charles Lombardo
6a08b12c9b Android: Convert InputStringSettingViewHolder to Kotlin 2023-03-15 17:35:48 -04:00
Charles Lombardo
bc6d10e29a Android: Convert HeaderViewHolder to Kotlin 2023-03-15 17:35:48 -04:00
Charles Lombardo
789493b722 Android: Convert HeaderHyperLinkViewHolder to Kotlin 2023-03-15 17:35:48 -04:00
Charles Lombardo
220cdafbaa Android: Convert FilePickerViewHolder to Kotlin 2023-03-15 17:35:48 -04:00
Charles Lombardo
f0304d80ef Android: Convert SettingsViewModel to Kotlin 2023-03-15 17:35:48 -04:00
Charles Lombardo
508e56e2bf Android: Convert SettingsFragmentView to Kotlin 2023-03-15 17:35:48 -04:00
Charles Lombardo
656d91cd18 Android: Convert SettingsFragmentPresenter to Kotlin 2023-03-15 17:35:48 -04:00
Charles Lombardo
c78cde2e18 Android: Convert SettingsActivityView to Kotlin 2023-03-15 17:35:34 -04:00
Charles Lombardo
dc77ee140d Android: Convert MenuTag to Kotlin 2023-03-15 17:35:34 -04:00
Charles Lombardo
2af8efdd72 Android: Convert SwitchSetting to Kotlin 2023-03-15 17:35:34 -04:00
Charles Lombardo
ab11b44938 Android: Convert SubmenuSetting to Kotlin 2023-03-15 17:35:34 -04:00
Charles Lombardo
065c80fb4d Android: Convert SliderSetting to Kotlin 2023-03-15 17:35:34 -04:00
Charles Lombardo
3c6bb9e0c9 Android: Convert SingleChoiceSettingDynamicDescriptions to Kotlin 2023-03-15 17:35:34 -04:00
Charles Lombardo
d51f504629 Android: Convert SingleChoiceSetting to Kotlin 2023-03-15 17:35:34 -04:00
Charles Lombardo
1fc9f03b27 Android: Convert RunRunnable to Kotlin 2023-03-15 17:35:34 -04:00
Charles Lombardo
62679bacc1 Android: Convert PercentSliderSetting to Kotlin 2023-03-15 17:35:34 -04:00
Charles Lombardo
72be338d56 Android: Convert LogSwitchSetting to Kotlin 2023-03-15 17:35:34 -04:00
Charles Lombardo
56c33890b9 Android: Convert InvertedSwitchSetting to Kotlin 2023-03-15 17:35:34 -04:00
Charles Lombardo
2369977e14 Android: Convert IntSliderSetting to Kotlin 2023-03-15 17:35:34 -04:00
Charles Lombardo
826e849a7b Android: Convert InputStringSetting to Kotlin 2023-03-15 17:35:34 -04:00
Charles Lombardo
fc97c4d35a Android: Convert HyperLinkHeaderSetting to Kotlin 2023-03-15 17:35:34 -04:00
Charles Lombardo
f95fd7788e Android: Convert HeaderSetting to Kotlin 2023-03-15 17:35:34 -04:00
Charles Lombardo
1e2e9e004b Android: Convert FloatSliderSetting to Kotlin 2023-03-15 17:35:34 -04:00
Charles Lombardo
f7ad065408 Android: Convert FilePicker to Kotlin 2023-03-15 17:35:34 -04:00
Charles Lombardo
1553477c09 Android: Convert StringSetting to Kotlin 2023-03-15 17:35:34 -04:00
Charles Lombardo
2c560e05a8 Android: Convert Settings to Kotlin 2023-03-15 17:35:21 -04:00
Charles Lombardo
dee85cead8 Android: Convert PostProcessing to Kotlin 2023-03-15 17:35:21 -04:00
Charles Lombardo
42f4fb815f Android: Convert NativeConfig to Kotlin 2023-03-15 17:35:21 -04:00
Charles Lombardo
7c59640f8e Android: Convert IntSetting to Kotlin 2023-03-15 17:35:21 -04:00
Charles Lombardo
46e68171b9 Android: Convert FloatSetting to Kotlin 2023-03-15 17:34:49 -04:00
Charles Lombardo
3ac72855e3 Android: Convert BooleanSetting to Kotlin 2023-03-15 17:34:21 -04:00
Charles Lombardo
84c23c14db Android: Convert AdHocStringSetting to Kotlin 2023-03-15 15:49:37 -04:00
Charles Lombardo
a8f3d4291a Android: Convert AdHocBooleanSetting to Kotlin 2023-03-15 15:49:37 -04:00
Charles Lombardo
f1028b4652 Android: Convert AbstractStringSetting to Kotlin 2023-03-15 15:49:37 -04:00
Charles Lombardo
32f9e48257 Android: Convert AbstractIntSetting to Kotlin 2023-03-15 15:49:37 -04:00
Charles Lombardo
baeeaa2a43 Android: Convert AbstractFloatSetting to Kotlin 2023-03-15 15:49:37 -04:00
Charles Lombardo
5bc2b46983 Android: Convert AbstractBooleanSetting to Kotlin 2023-03-15 15:49:37 -04:00
Charles Lombardo
21e0b5b9d9 Android: Convert AbstractSetting to Kotlin 2023-03-15 15:49:37 -04:00
Charles Lombardo
43fa5cf5e4 Android: Convert SettingsItem to Kotlin 2023-03-15 15:49:37 -04:00
Charles Lombardo
6dc6720250 Android: Convert StringSingleChoiceSetting to Kotlin 2023-03-15 15:49:37 -04:00
Charles Lombardo
98ab893be7 Android: Create extension functions for serializables
Getting serializables without explicitly stating the type is deprecated in Android 13. However we still need a way to get a serializable in versions below that. Now with these we can avoid repeating the same if block.
2023-03-15 14:26:37 -04:00
JosJuice
fe8be906f3 Android: Use LifecycleOwner instead of subtype 2023-03-14 23:03:13 +01:00
JosJuice
846f5f6671 Android: Clean up outdated comment in AfterDirectoryInitializationRunner 2023-03-14 23:03:13 +01:00
Mai
4281606838
Merge pull request #11641 from JosJuice/android-remove-old-config
Android: Remove support for the old config system
2023-03-14 15:48:04 -04:00
Pierre Bourdon
aceafc9d26
Merge pull request #11652 from t895/header-padding
Android: Make header padding appear even
2023-03-14 13:03:19 +01:00
Pierre Bourdon
970ddf0ea0
Merge pull request #11651 from JosJuice/android-profile-off-by-one
Android: Fix per-game profile setting off-by-one
2023-03-14 02:02:00 +01:00
Charles Lombardo
4f610bb354 Android: Make header padding appear even 2023-03-13 15:27:09 -04:00
JosJuice
5818685911 Android: Fix per-game profile setting off-by-one 2023-03-13 18:30:55 +01:00
Robin Kertels
784ce78eaf
Android: Use $applicationId for DocmentProvider authority
Fixes side by side installation of debug, benchmark and release builds.
2023-03-12 15:28:21 +01:00
JosJuice
804b94ee9e
Merge pull request #11524 from K0bin/document-provider
Android: Implement DocumentProvider
2023-03-11 19:24:19 +01:00
JosJuice
08334015f9 Android: Remove SettingsActivityView parameters from Settings
No longer used for anything.
2023-03-11 18:49:43 +01:00
JosJuice
99600ef781 Android: Rework the "global" settings functions
getXGlobal() is now identical to getX(), and setXGlobal(int, X) is now
identical to setX(int, X) in the cases where setX(int, X) exists.
We can remove/rename them.
2023-03-11 18:49:43 +01:00
JosJuice
58fc347f8d Android: Don't require Settings object for reading a setting
Made unnecessary by the previous commit.
2023-03-11 18:49:43 +01:00
JosJuice
68fd133057 Android: Remove support for the old config system
All settings that we care about from an Android perspective are now
supported by the new config system, so we can remove all the Android code
for the old config system. This should have no impact on users.
2023-03-11 17:51:59 +01:00
JosJuice
53e7090f55 Migrate game INI profile setting to new config system 2023-03-11 17:51:58 +01:00
JosJuice
62ff2f1030
Merge pull request #11385 from JosJuice/android-input-overhaul
Android input overhaul
2023-03-11 12:37:44 +01:00
Admiral H. Curtiss
eb25c46a91
HW/DVDInterface: Refactor to class. 2023-03-10 18:12:59 +01:00
Robin Kertels
13ed46a488
Android: Implement DocumentProvider
This allows users to access the Dolphin user directory.
2023-03-08 23:09:49 +01:00
Robin Kertels
1b47144312
Android: Center list view headers 2023-03-08 18:57:19 +01:00
Robin Kertels
edde253724
Android: Only show divider in settings for headers 2023-03-08 18:57:08 +01:00
Charles Lombardo
75ce7a04ca Android: Use coroutine for system updates 2023-03-07 15:45:41 -05:00