summaryrefslogtreecommitdiff
path: root/Source/Android/jni/MainAndroid.cpp
diff options
context:
space:
mode:
authorJosJuice <josjuice@gmail.com>2020-09-13 13:20:58 +0200
committerJosJuice <josjuice@gmail.com>2020-10-21 20:02:52 +0200
commit0dc29c743b9b2ed2dabf9d510cafcf99ca46b1f5 (patch)
treecd148d5e2a67bfb2bf8bc2ca4062c7634af55cda /Source/Android/jni/MainAndroid.cpp
parentb6fcfcb9c905a315054da6a4c9a56f2fd82655a1 (diff)
Android: Get game metadata from core
Trying to get it from a GameFile before emulation starts is unreliable.
Diffstat (limited to 'Source/Android/jni/MainAndroid.cpp')
-rw-r--r--Source/Android/jni/MainAndroid.cpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/Source/Android/jni/MainAndroid.cpp b/Source/Android/jni/MainAndroid.cpp
index 3904647a12..cef4deadd2 100644
--- a/Source/Android/jni/MainAndroid.cpp
+++ b/Source/Android/jni/MainAndroid.cpp
@@ -80,6 +80,7 @@ std::mutex s_host_identity_lock;
Common::Event s_update_main_frame_event;
Common::Event s_emulation_end_event;
bool s_have_wm_user_stop = false;
+bool s_game_metadata_is_valid = false;
} // Anonymous namespace
void UpdatePointer()
@@ -149,6 +150,10 @@ void Host_YieldToUI()
void Host_TitleChanged()
{
+ s_game_metadata_is_valid = true;
+
+ JNIEnv* env = IDCache::GetEnvForThread();
+ env->CallStaticVoidMethod(IDCache::GetNativeLibraryClass(), IDCache::GetOnTitleChanged());
}
static bool MsgAlert(const char* caption, const char* text, bool yes_no, Common::MsgType style)
@@ -608,6 +613,7 @@ static void Run(JNIEnv* env, const std::vector<std::string>& paths,
}
}
+ s_game_metadata_is_valid = false;
Core::Shutdown();
ButtonManager::Shutdown();
guard.unlock();
@@ -752,6 +758,31 @@ JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_SetObscuredP
OSD::SetObscuredPixelsTop(height);
}
+JNIEXPORT jboolean JNICALL
+Java_org_dolphinemu_dolphinemu_NativeLibrary_IsGameMetadataValid(JNIEnv* env, jobject obj)
+{
+ return s_game_metadata_is_valid;
+}
+
+JNIEXPORT jboolean JNICALL
+Java_org_dolphinemu_dolphinemu_NativeLibrary_IsEmulatingWiiUnchecked(JNIEnv* env, jobject obj)
+{
+ return SConfig::GetInstance().bWii;
+}
+
+JNIEXPORT jstring JNICALL
+Java_org_dolphinemu_dolphinemu_NativeLibrary_GetCurrentGameIDUnchecked(JNIEnv* env, jobject obj)
+{
+ return ToJString(env, SConfig::GetInstance().GetGameID());
+}
+
+JNIEXPORT jstring JNICALL
+Java_org_dolphinemu_dolphinemu_NativeLibrary_GetCurrentTitleDescriptionUnchecked(JNIEnv* env,
+ jobject obj)
+{
+ return ToJString(env, SConfig::GetInstance().GetTitleDescription());
+}
+
#ifdef __cplusplus
}
#endif