8985 Commits

Author SHA1 Message Date
zhupengfei
ec751c7c68 Address review 2020-06-16 15:04:19 -04:00
zhupengfei
f371369e85 ndk_camera: Fixes
Removed debug logs and unused code
Turned CaptureSession struct for simplicity
Added support for camera reload
Fixed ANativeWindow not released
2020-06-16 15:04:19 -04:00
zhupengfei
463449e72a android/camera: UX enhancements
1. Only request camera permissions once
2. Set the default settings to NDK camera
3. When camera device is not found, fall back to still image
4. Add 'Camera Device' configuration when one is found
5. Added a message when camera permissions are denied

For 4, I had to remove the use of the `config` field in StillImage camera.
2020-06-16 15:04:18 -04:00
zhupengfei
0d14ea8783 android: Add simple UI for camera configuration
The UI is subject to be changed. At least need to add a camera device selection. I also think we should make Device Camera the default
2020-06-16 15:04:18 -04:00
zhupengfei
469a3a4eea fixes to the NDK camera implementation 2020-06-16 15:04:18 -04:00
zhupengfei
1796965504 android/camera: Implement image flipping
We use libyuv's Mirror function to handle horizontal flip. Regarding the vertical flip, libyuv doc states that 'just set a negative height'
2020-06-16 15:04:18 -04:00
zhupengfei
9f1114aace android: Add NDK camera implementation
Not tested yet as my device doesn't support camera2...
2020-06-16 15:04:18 -04:00
zhupengfei
2ca4f58787 android: Add a still image camera
Similar to what is in the Qt frontend, this camera takes a URI to a
picture file. When the config is empty, it will open up the gallery and
ask the user to pick a picture.

The image is then read and cropped from the Java side by the Picasso library,
and sent to the native code with android NDK Bitmap API (jnigraphics).
The native code handles the format conversion with libyuv.

Image flipping is yet to be implemented.
2020-06-16 15:04:18 -04:00
zhupengfei
6412c9972f externals: Add libyuv and jnigraphics 2020-06-16 15:04:17 -04:00
bunnei
46c3b973f6 android: audio: Disable realtime audio by default. 2020-06-16 15:04:17 -04:00
bunnei
9a7b6c8a4b android: Apply correct theme at boot. 2020-06-16 15:04:17 -04:00
bunnei
404c570781 android: Implement billing for Premium. 2020-06-16 15:04:17 -04:00
zhupengfei
254fedc569 Fix a typo in swkbd
That made the application crash when an @ is typed and the game prohibited it
2020-06-16 15:04:17 -04:00
BreadFish64
5738cf946a memory: fix memory leak related to un-freed shared memory 2020-06-16 15:04:17 -04:00
BreadFish64
320cc03abb Revert "android: log: TrimSourcePath: Cannot be constexpr."
This reverts commit 21a75c52
2020-06-16 15:04:16 -04:00
FearlessTobi
69a8924344 GameDatabase: Don't rescan when upgraded
This otherwise causes a crash because the Database gets closed too early.
2020-06-16 15:04:16 -04:00
FearlessTobi
c7135ae91f GameDatabase: Increase DB_VERSION
I forgot to do this in a previous PR.
2020-06-16 15:04:16 -04:00
bunnei
30dfe6a426 android: MainActivity: Move theme setup to after settings initialization.
- Fixes a crash.
2020-06-16 15:04:16 -04:00
FearlessTobi
a395b8b9ba android: Add premium section and Dark Theme setting 2020-06-16 15:04:16 -04:00
FearlessTobi
fc0ace03d2 android/GameAdapter: Fix the getColor calls using the wrong context 2020-06-16 15:04:16 -04:00
FearlessTobi
1cfa0e97a2 android/build: Update exifinterface to version 1.2.0 2020-06-16 15:04:15 -04:00
FearlessTobi
6438c5e6c3 android: Make adjustScale reflect changes without closing the dialog 2020-06-16 15:04:15 -04:00
FearlessTobi
775a4a8fc2 android: Clarify the warning in the Debug tab 2020-06-16 15:04:15 -04:00
FearlessTobi
13705ea11e android: Enable audio stretching by default
It helps eliminate stutter and won't have a huge perf penalty, hopefully.
2020-06-16 15:04:15 -04:00
zhupengfei
42556badef gl_shader_util: Specify default precision for uimage2D
Otherwise, this causes the application to crash when compiling any shader, on both devices I tested.
2020-06-16 15:04:15 -04:00
FearlessTobi
93ddc0b5f3 android: Add game region to the GameDatabase 2020-06-16 15:04:15 -04:00
FearlessTobi
1401ab9bfc android: Remove unused JNI functions and use better names for game icon variables 2020-06-16 15:04:14 -04:00
FearlessTobi
743a0f8401 android/settings: Make background color match the rest of the app 2020-06-16 15:04:14 -04:00
FearlessTobi
b13cd2d181 styles: Use Appcompat instead of MaterialComponents in order to avoid various issues
Fixes the AppBar being black in settings and emulation when using the dark theme.
(Dolphin does the same.)

Also cleans up our styles a bit.
2020-06-16 15:04:14 -04:00
FearlessTobi
ff5b32e292 android: Fix the frame limiter
It was erroneously using the wrong config section and variable type.
2020-06-16 15:04:14 -04:00
BreadFish64
eadefb446e video_core: disable depth/stencil texture download on OpenGL ES 2020-06-16 15:04:14 -04:00
BreadFish64
7fcde40d2b android: disallow split screen 2020-06-16 15:04:14 -04:00
FearlessTobi
53f92965bd android/settings: Move VSync option to debug
Dolphin does the same and there's no real reason the users should mess with it.
2020-06-16 15:04:13 -04:00
FearlessTobi
60a6775558 android/NativeLibrary: Use Html.FROM_HTML_MODE_LEGACY
Fixes a deprecation warning.
2020-06-16 15:04:13 -04:00
FearlessTobi
82fc02aa48 android: Make more Strings translatable 2020-06-16 15:04:13 -04:00
FearlessTobi
5cb0e2809e android: Fix the menu animations
Turns out those unused methods were actually used for something.
2020-06-16 15:04:13 -04:00
FearlessTobi
4ce770d23c AndroidManifest: Workaround the crash when changing Theme while in settings
Essentially extends upon https://github.com/dolphin-emu/dolphin/pull/8288.

Original description:
"The "correct way" would be to fully save and restore data on onSaveInstanceState and restore it back on onCreate. I tried to do that first.
As there is various conflicts with doing this without some form of refactor due to how the lifecycle diverges and is baked-in to the application, ignoring Activity recreation on orientation change should work well enough and we don't draw anything different in settings on landscape mode or ui mode anyway."
2020-06-16 15:04:13 -04:00
FearlessTobi
2cf5086d36 android: Show a hint when the gamelist is empty 2020-06-16 15:04:13 -04:00
FearlessTobi
b254548b39 Make the gamelist look nicer and indicate files with a wrong extension visually 2020-06-16 15:04:12 -04:00
FearlessTobi
e66a086560 android: Change plus icon to folder icon because we don't support multiple directories 2020-06-16 15:04:12 -04:00
FearlessTobi
1874932a5e android: Add realtime audio setting 2020-06-16 15:04:12 -04:00
FearlessTobi
b51c037fa1 audio_core: Add realtime audio 2020-06-16 15:04:12 -04:00
BreadFish64
a3176778c5 video_core: bump swap chain size for GLES to reduce bottleneck 2020-06-16 15:04:12 -04:00
BreadFish64
280b819386 video_core: implement optimized D24S8->RGBA8 reinterpreters 2020-06-16 15:04:12 -04:00
James Rowe
ddf6c5aeca Use immutable storage when available 2020-06-16 15:04:11 -04:00
BreadFish64
65d774f9cd android: disable OpenGL debug message again 2020-06-16 15:04:11 -04:00
BreadFish64
fa3f1eea14 android: fix opening settings menu in-game 2020-06-16 15:04:11 -04:00
SachinVin
737fbcb490 android: SettingsFragmentPresenter.java: correct the section used in debug tab
Fixes setting always showing the default value.
2020-06-16 15:04:11 -04:00
BreadFish64
d9f33b63fc video_core: implement GLES depth/stencil downloads 2020-06-16 15:04:11 -04:00
FearlessTobi
a031198392 android: Add debug tab 2020-06-16 15:04:11 -04:00