9184 Commits

Author SHA1 Message Date
FearlessTobi
676df9b7ad Android: Fix custom game settings
Apparently there was a different section names used by the custom game
settings that caused Android to have those settings broken for
some sections like the graphics one. This adds the map between the generic
settings <> custom settings.

Original commit by mahdihijazi for Dolphin-emu.
2021-02-21 18:06:25 -05:00
FearlessTobi
4c69eec56c Android: Refactor the settings managemnt
1. Create Settings class the encaupslate the loading/saving of all settings
2. Decouple the logic of saving the settings into 3 different config files
from the UI code.
2021-02-21 18:06:25 -05:00
FearlessTobi
747423fa66 Android: Start structure the project around features instead of data types
This only moves the settings feature, the rest will be moved slowely later.

Original commit by mahdihijazi for Dolphin-emu.
2021-02-21 18:06:25 -05:00
zhupengfei
7ebd646594 android/swkbd: Fix rotation crash
Create a new DialogFragment to manage the dialog's state.
Also replaced AlertDialog with the androidx one which arguably looks better.
2021-02-21 18:06:25 -05:00
FearlessTobi
84094a4107 Clean up unused resources and resolve linter warnings 2021-02-21 18:06:24 -05:00
BreadFish64
f24b87a89f android/config: initialize cpu_clock_frequency
leaving it uninitialized broke some games for obvious reasons
2021-02-21 18:06:24 -05:00
BreadFish64
c77132b064 android: don't use ScopeAcquireContext in RunCitra
The context will be released when window is destroyed
2021-02-21 18:06:24 -05:00
zhupengfei
38ce973787 Fix incorrect import due to library change 2021-02-21 18:06:24 -05:00
zhupengfei
042cca532a android: SoftwareKeyboard implementation 2021-02-21 18:06:24 -05:00
BreadFish64
b521a57f2f android/ndk_motion: remove ALooper_release from ndk_motion destructor
We didn't acquire the looper from another thread so this is not correct
2021-02-21 18:06:24 -05:00
BreadFish64
89db27199d android: jni cleanup 2021-02-21 18:06:24 -05:00
FearlessTobi
8f71a81ade Remove unused code 2021-02-21 18:06:24 -05:00
FearlessTobi
bf0cfe7755 Fix a bunch of issues found by the Linter and rename Dolphin functions to Citra 2021-02-21 18:06:24 -05:00
FearlessTobi
84642c98dd Android: Set up Day/Night mode for system-compatible optional dark theme
Original commit by TheRealPSV for Dolphin-emu.
2021-02-21 18:06:24 -05:00
FearlessTobi
ad39b97839 Android: Fix displaying checkbox settings with no description
bugs.dolphin-emu.org/issues/11904.

Original commit by JosJuice for Dolphin-emu.
2021-02-21 18:06:24 -05:00
FearlessTobi
ce58d86569 Moves AlertDialogs imports to AndroidX and fix tabs background color
Original commit by rafaeltoledo for Dolphin-emu.
2021-02-21 18:06:24 -05:00
FearlessTobi
c3268c5e45 Bumps compile API to 29 (Q) removes unecessary casts and deprecated calls
This will help the Android client to evolve with the latest libraries (as the legacy support libs will not be shipped anymore with the com.android.support package).

This PR also makes the app compliant with the new API requirements to start later this year:
android-developers.googleblog.com/2019/02/expanding-target-api-level-requirements.html.

Original commit by rafaeltoledo for Dolphin-emu.
2021-02-21 18:06:24 -05:00
FearlessTobi
f7beb3e05e Migrate to AndroidX
Support Libraries are outdated and AndroidX is recommended instead. Read more here: developer.android.com/jetpack/androidx.

Original commit by Simonx22 for Dolphin-emu.
2021-02-21 18:06:24 -05:00
FearlessTobi
d31fe0a20f Android: Show files in the directory picker
People in the Google Play reviews still seem to be confused about
games not showing up in the directory picker, so let's show them
even though they can't be selected. (Either that or they haven't
realized that they need to extract their pirated games.)

Original commit by JosJuice for Dolphin-emu.
2021-02-21 18:06:24 -05:00
FearlessTobi
9eb9acc5b3 Android: Expand the comment for NVidiaShieldWorkaroundView
This text has been taken from the message of the commit that added
the class. (I don't have an Nvidia Shield to reproduce the bug with.)

Original commit by JosJuice for Dolphin-emu.
2021-02-21 18:06:24 -05:00
FearlessTobi
18dd8a2ce5 Remove unused code
Original commit by weihuoya for Dolphin-emu.
2021-02-21 18:06:24 -05:00
FearlessTobi
32917eeedf Fix for crash when switching to landscape mode
bugs.dolphin-emu.org/issues/10815

Original commit by allanxp4 for Dolphin-emu.
2021-02-21 18:06:24 -05:00
FearlessTobi
ab7ad1ab53 Android: Bunch of cleanups & Updates
1. Update Picasso to latest version
2. Remove some unused code

Original commit by mahdihijazi for Dolphin-emu.
2021-02-21 18:06:24 -05:00
FearlessTobi
bf0322151a Android: fix/ignore L2/R2 buttons
L2/R2 will trigger a key press and an axis event if the trigger is pressed fully down
Was incorrectly ignoring L1/R1 key presses.

Original commit by zackhow for Dolphin-emu.
2021-02-21 18:06:24 -05:00
FearlessTobi
fde1d3fec0 Android: don't try to pause emulation when not running
Forcing landscape at emulation start revealed a bug where if the activity was
recreated before emulation started then it would get stuck in a paused state.

Original commit by zackhow for Dolphin-emu.
2021-02-21 18:06:24 -05:00
FearlessTobi
d371d75b2a Android: Remove the cancel button from the file browser
Fix the regresion from dolphin-emu/dolphin#7520, also it applies the change
to the directory picker only.

Original commit by mahdihijazi for Dolphin-emu.
2021-02-21 18:06:24 -05:00
FearlessTobi
7378497373 Android: Change the file browser dialog ok button title
I hope this will make it more clear to users that they are suppose to
select the dircetory that has the games.

Original commit by mahdihijazi for Dolphin-emu.
2021-02-21 18:06:24 -05:00
FearlessTobi
de1da36392 android: remove enter and exit transition
Originally done by weihuoya for Dolphin-emu.
2021-02-21 18:06:24 -05:00
FearlessTobi
c61b903a9c Android: Run Directory Initialization as a thread instead of service
Two reasons for this change. First, it appears that some android launchers do some sort of call into
the application when long pressing the app icon, which in turn calls the DirectoryInit service. This
was ok to do prior to Oreo but will cause crashes with the new restrictions on services running
in the background. Which leads to the second reason that DirectoryInit doesn't need to be a service
at all since these actions are required for dolphin to function and shouldn't be a scheduled action.
So we instead just kick this off in a new thread and send the broadcast when done.

Original commit by zackhow for Dolphin-emu
2021-02-21 18:06:24 -05:00
Marshall Mohror
dead5b1808 android: implement motion controls via device sensors 2021-02-21 18:06:24 -05:00
SachinVin
3fd28ba49d android: jni: Remove unused ndk_helper after EGL migration + cleanup jni/CMakeLists.txt 2021-02-21 18:06:24 -05:00
BreadFish64
24e567f6ae android: allow changing settings while game is running 2021-02-21 18:06:24 -05:00
bunnei
eb6624f1f5 android: frontend: Limit game list to a single directory. 2021-02-21 18:06:24 -05:00
bunnei
be913a1905 android: frontend: MainActivity: Fix issues with declining app permissions. 2021-02-21 18:06:24 -05:00
bunnei
464ae4b70a android: build.gradle: Bump minimum version to 26. 2021-02-21 18:06:24 -05:00
bunnei
c4cf1a9317 android: Rename app package from citra_android to citra_emu.
- There is already a conflicting name on the Play Store.
2021-02-21 18:06:24 -05:00
bunnei
4f6c81b79b android: emu_window: Fix surface width/height.
- Fixes a bug when resuming the app.
2021-02-21 18:06:24 -05:00
bunnei
99c583dbaa android: AndroidManifest: Use singleTop mode, not singleInstance.
- Fixes launching the app without restarting the emulation activity.
2021-02-21 18:06:24 -05:00
bunnei
813fc071d1 android: frontend: game_list: Move add directory button to top bar. 2021-02-21 18:06:24 -05:00
bunnei
7f8cc1ac19 android: frontend: game_list: Tweak game cards. 2021-02-21 18:06:24 -05:00
bunnei
97de618506 android: frontend: game_list: Rounded icons and other UX improvements. 2021-02-21 18:06:24 -05:00
bunnei
9c7a545d32 android: frontend: Add vsync to the settings now that it is supported. 2021-02-21 18:06:24 -05:00
bunnei
774282dc4d android: emu_window: Adapt for use with split presenter thread. 2021-02-21 18:06:24 -05:00
bunnei
bb4c92aabe android: Update .gitignore for CXX compile cache. 2021-02-21 18:06:24 -05:00
bunnei
7ee887218b android: renderer_opengl: Various fixes for GLES. 2021-02-21 18:06:24 -05:00
bunnei
c90a99a327 android: log: TrimSourcePath: Cannot be constexpr. 2021-02-21 18:06:24 -05:00
SachinVin
8c42f312a6 Android: frontend: use android.R.string.ok instead of literal 2021-02-21 18:06:24 -05:00
SachinVin
ca29e322ab Android: Settings: Center the setting title when no setting description is provided. 2021-02-21 18:06:23 -05:00
bunnei
bfbb72722c android: video_core: Enable HW shadows and texture barrier on GLES. 2021-02-21 18:06:23 -05:00
bunnei
572df50c79 video_core: gl_shader_manager: Only set shader samplers on fragment shader.
- Avoids unnecessary uniform errors.
2021-02-21 18:06:23 -05:00