summaryrefslogtreecommitdiff
path: root/Source/Android/jni/MainAndroid.cpp
diff options
context:
space:
mode:
authorJMC47 <JMC4789@gmail.com>2022-01-22 14:46:42 -0500
committerGitHub <noreply@github.com>2022-01-22 14:46:42 -0500
commit237947e2f139a033da71e733c5e6e24d61b5142d (patch)
treef7cdc46f40fa9f829892d6b2cbffbd07d9e865e4 /Source/Android/jni/MainAndroid.cpp
parent7b8e846d0ab1a95c4070c3d89e38180895e536c6 (diff)
parent55378cab393547538275c56bae718a37a3f69737 (diff)
Merge pull request #10369 from Simonx22/android-online-system-update-2
Android: Add online system update functionality
Diffstat (limited to 'Source/Android/jni/MainAndroid.cpp')
-rw-r--r--Source/Android/jni/MainAndroid.cpp25
1 files changed, 17 insertions, 8 deletions
diff --git a/Source/Android/jni/MainAndroid.cpp b/Source/Android/jni/MainAndroid.cpp
index f32707d993..b533ba74d6 100644
--- a/Source/Android/jni/MainAndroid.cpp
+++ b/Source/Android/jni/MainAndroid.cpp
@@ -32,6 +32,7 @@
#include "Core/Boot/Boot.h"
#include "Core/BootManager.h"
+#include "Core/CommonTitles.h"
#include "Core/ConfigLoaders/GameConfigLoader.h"
#include "Core/ConfigManager.h"
#include "Core/Core.h"
@@ -547,21 +548,14 @@ static float GetRenderSurfaceScale(JNIEnv* env)
return env->CallStaticFloatMethod(native_library_class, get_render_surface_scale_method);
}
-static void Run(JNIEnv* env, const std::vector<std::string>& paths, bool riivolution,
- BootSessionData boot_session_data = BootSessionData())
+static void Run(JNIEnv* env, std::unique_ptr<BootParameters>&& boot, bool riivolution)
{
- ASSERT(!paths.empty());
- __android_log_print(ANDROID_LOG_INFO, DOLPHIN_TAG, "Running : %s", paths[0].c_str());
-
std::unique_lock<std::mutex> host_identity_guard(s_host_identity_lock);
WiimoteReal::InitAdapterClass();
s_have_wm_user_stop = false;
- std::unique_ptr<BootParameters> boot =
- BootParameters::GenerateFromFile(paths, std::move(boot_session_data));
-
if (riivolution && std::holds_alternative<BootParameters::Disc>(boot->parameters))
{
const std::string& riivolution_dir = File::GetUserPath(D_RIIVOLUTION_IDX);
@@ -624,6 +618,15 @@ static void Run(JNIEnv* env, const std::vector<std::string>& paths, bool riivolu
IDCache::GetFinishEmulationActivity());
}
+static void Run(JNIEnv* env, const std::vector<std::string>& paths, bool riivolution,
+ BootSessionData boot_session_data = BootSessionData())
+{
+ ASSERT(!paths.empty());
+ __android_log_print(ANDROID_LOG_INFO, DOLPHIN_TAG, "Running : %s", paths[0].c_str());
+
+ Run(env, BootParameters::GenerateFromFile(paths, std::move(boot_session_data)), riivolution);
+}
+
JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_Run___3Ljava_lang_String_2Z(
JNIEnv* env, jclass, jobjectArray jPaths, jboolean jRiivolution)
{
@@ -641,6 +644,12 @@ Java_org_dolphinemu_dolphinemu_NativeLibrary_Run___3Ljava_lang_String_2ZLjava_la
BootSessionData(GetJString(env, jSavestate), delete_state));
}
+JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_RunSystemMenu(JNIEnv* env,
+ jclass)
+{
+ Run(env, std::make_unique<BootParameters>(BootParameters::NANDTitle{Titles::SYSTEM_MENU}), false);
+}
+
JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_ChangeDisc(JNIEnv* env, jclass,
jstring jFile)
{