Commit Graph

118 Commits

Author SHA1 Message Date
JosJuice
57dc54144d Android: Fix jobject/jclass warnings
Static methods use jclass, and non-static methods use jobject.
2020-11-07 12:06:57 +01:00
JosJuice
a348efe947 Fix dereferencing nullptr BootParameters 2020-11-06 09:34:53 +01: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
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
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
JMC47
54e570a95f
Merge pull request #8902 from JosJuice/android-convert
Android: Add disc image conversion
2020-09-23 12:27:43 -04: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
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
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
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
Ryan Meredith
9fe6466c79 Android: Better GCAdapter scanning thread management 2020-08-27 07:43:20 -04:00
JosJuice
02fe1cdec4 Android: Rewrite GetRenderSurfaceScale in Java
Long sequences of JNI calls are both hard to read and slow.
2020-08-09 21:07:22 +02:00
Ryan Meredith
fdcc6a436b Android: Add Log Configuration to UI 2020-07-24 13:59:13 -04:00
Ryan Meredith
9ac24a0580 Android: Some simple Clang-Tidy suggestions 2020-07-22 15:38:45 -04:00
JosJuice
05da2e30ad Android: Use system cache directory as cache directory
This lets Android automatically delete data in the cache
directory when the device is running low on space or
when Dolphin is uninstalled.
2020-07-12 13:33:07 +02:00
JosJuice
db75509ec5 Android: Enfore correct stick gate in overlay
Currently, the touch controller overlay uses a square gate for
sticks. This commit changes that so that it instead uses the
stick gate configured in the INI, which ensures that the values
sent to the core are appropriately scaled regardless of what
is configured in the INI and makes the overlay look nicer
if the INI is set to a stick gate that matches the graphics.
2020-06-29 01:20:02 +02:00
JosJuice
d494e0230c Show file format details in game properties 2020-06-21 20:47:23 +02:00
Ryan Meredith
2d6d0c86cc Android: Add Install WAD to menu_game_grid 2020-04-22 13:56:44 -04:00
JMC47
a5bd263dfb
Merge pull request #8714 from JosJuice/progress-dialog-thread
DolphinQt: Run tasks that use progress dialogs on separate threads
2020-04-21 23:59:37 -04:00
Ryan Meredith
0b66310957 Android: Reload Wii Remote settings upon saving them 2020-04-10 10:23:32 -04:00
JosJuice
55f787b898 Remove unused function Host_UpdateProgressDialog 2020-04-03 12:53:38 +02:00
Stenzek
86db015c23 Common: Add a render_window field to WindowSystemInfo
We need this because we need to pass the layer to MoltenVK, not
the view handle. But the input subsystem still needs the window.
2020-03-11 23:09:30 +10:00
OatmealDome
ef32a10d69 InputCommon: Decouple ButtonManager and Touchscreen from Android
Changes were also made for codestyle compliance.
2019-11-28 15:20:51 -05:00
JosJuice
c8b8a60033 Android: Let WiimoteEmu know whether we have accelerometer/gyroscope 2019-11-20 20:13:36 +01:00
Connor McLaughlin
913cb08066
Merge pull request #8456 from jordan-woyak/input-gate-race-fix
InputCommon: Make the "input gate" not racy.
2019-11-11 10:59:49 +10:00
Jordan Woyak
85ceb37ccd InputCommon: Make the "input gate" not racey. 2019-11-06 16:31:02 -06:00
JosJuice
c007dd1852 Android: Replace emulation rotation crash workaround with proper fix
The workaround was added in 0446a58.

The underlying problem is that we must not destroy the surface
while the video backend is initializing, otherwise the video
backend may reference nullptr.

I've also cleaned up the logic for when to destroy the surface.
Note that the comment in EmulationFragment.java about only being
able to destroy the surface when emulation is running is not true
anymore (due to de632fc, it seems like).
2019-11-05 09:28:40 +01:00
JosJuice
9f3f45aa5f Android: Call UICommon::Init at app start instead of emulation start
Much of our native code assumes that UICommon::Init has been called
(for reasons such as wanting to access the user's settings),
so not calling it until emulation start heavily limits what native
code we can use in the Android GUI (except during emulation).
2019-08-21 18:46:49 +02:00
JosJuice
7f841e9bfd Android: Suggest deleting game INIs if they contain global INI data 2019-07-02 19:28:38 +02:00
Silent
6c21811090
Make DolphinAnalytics a true singleton - static local variables are initialized in a thread safe manner since C++11
Also works around a Visual Studio 2017 bug where static inline class fields are destructed multiple times
2019-06-23 21:43:47 +02:00
Lioncash
4f1f55093f Common/MsgHandler: Namespace code within the Common namespace
Closes another gap in the Common library where code isn't being
namespaced under it.
2019-06-19 16:03:55 -04:00
Connor McLaughlin
bed2d66bed
Merge pull request #8117 from weihuoya/threaded_env
android: get java env from thread local storage
2019-06-08 20:42:15 +10:00
Lioncash
c0c0e412e0 Core/ConfigManager: Use forward declarations where applicable
Avoids dragging in IniFile, EXI device and SI device headers in this header which is
quite widely used throughout the codebase.

This also uncovered a few cases where indirect inclusions were being
relied upon, which this also fixes.
2019-06-07 19:54:39 -04:00
weihuoya
0dec8feadb android: thread local env 2019-05-29 20:22:26 +08:00
David Korth
8417c78b7a Update Discord rich presence when the title changes
This allows us to update the rich presence description if a channel
is launched from the Wii Menu. It also handles other PPC title
launches, e.g. Smash Bros. Masterpieces.

Host.h: Added Host_TitleChanged().

DolphinNoGUI/MainNoGUI.cpp: Implemented Host_TitleChanged().
DolphinQt/Host.cpp: Implemented Host_TitleChanged().

Android/jni/MainAndroid.cpp: Stubbed Host_TitleChanged().
DSPTool/StubHost.cpp: Stubbed Host_TitleChanged().
UnitTests/StubHost.cpp: Stubbed Host_TitleChanged().
2019-05-24 14:12:48 +02:00
spycrab
61350b3d98 Core/Host: Allow frontends to block inputs 2019-03-21 13:16:21 +01:00
zackhow
3cc10dcaf9 Android: Call update touch pointer from thread.
Fixes crash in single core when attaching the JVM
2019-01-28 21:42:12 -05:00
Stenzek
c6f151c4e1 Android: Use scaledDensity as backbuffer scale (for imgui) 2019-01-25 11:15:57 +10:00
Stenzek
600d1fc0bc Renderer: Use imgui for drawing debug text and OSD 2019-01-25 11:15:57 +10:00
zackhow
e8739156e4 Android: Normalize pointer touches based on rendered aspect ratio
This allows the defaults to be actual defaults across devices with different
screen sizes
2019-01-23 17:41:33 -05:00
zackhow
1db02c14c7 Android: add IR width/height/center option in emu menu
This sets the IR/Width, IR/Height, and IR/Center per game, so a controller profile is used
to save the value, then enable the profile in the game ini, then reload the
control configs.
2019-01-19 23:21:56 -05:00
JosJuice
63c9831b93 Add Android support for automatic disc changing 2019-01-04 09:24:42 +01:00
zackhow
405b37deaa Android: Speed up game settings saving
Previously would take several seconds to save, sometimes causing ANRs, which
was made worse when adding all the controller values. Now we only load/save
each section instead of doing it for each setting. Also added a method
to save an individual setting.
2018-10-28 20:22:06 -04:00
zackhow
5d93a10c60 Android: Add game specific gc/wii controller settings 2018-10-28 20:22:06 -04:00