diff options
| author | JosJuice <josjuice@gmail.com> | 2020-09-13 13:20:58 +0200 |
|---|---|---|
| committer | JosJuice <josjuice@gmail.com> | 2020-10-21 20:02:52 +0200 |
| commit | 0dc29c743b9b2ed2dabf9d510cafcf99ca46b1f5 (patch) | |
| tree | cd148d5e2a67bfb2bf8bc2ca4062c7634af55cda /Source/Android/jni/MainAndroid.cpp | |
| parent | b6fcfcb9c905a315054da6a4c9a56f2fd82655a1 (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.cpp | 31 |
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 |
