From 1311f84706041d313abb4dbf2e0ca50893399e80 Mon Sep 17 00:00:00 2001 From: zackhow Date: Fri, 14 Sep 2018 00:46:30 -0400 Subject: Android: Run Directory Initialization as a thread instead of service Two reasons for this change. First, it appears that some android launchers do some sort of call into the application when long pressing the app icon, which in turn calls the DirectoryInit service. This was ok to do prior to Oreo but will cause crashes with the new restrictions on services running in the background. Which leads to the second reason that DirectoryInit doesn't need to be a service at all since these actions are required for dolphin to function and shouldn't be a scheduled action. So we instead just kick this off in a new thread and send the broadcast when done. --- Source/Android/jni/MainAndroid.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'Source/Android/jni/MainAndroid.cpp') diff --git a/Source/Android/jni/MainAndroid.cpp b/Source/Android/jni/MainAndroid.cpp index a160786063..089d0b776d 100644 --- a/Source/Android/jni/MainAndroid.cpp +++ b/Source/Android/jni/MainAndroid.cpp @@ -246,8 +246,8 @@ JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_LoadStateAs( jobject obj, jstring path); JNIEXPORT void JNICALL -Java_org_dolphinemu_dolphinemu_services_DirectoryInitializationService_CreateUserDirectories( - JNIEnv* env, jobject obj); +Java_org_dolphinemu_dolphinemu_utils_DirectoryInitialization_CreateUserDirectories(JNIEnv* env, + jobject obj); JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_SetUserDirectory( JNIEnv* env, jobject obj, jstring jDirectory); JNIEXPORT jstring JNICALL @@ -457,8 +457,7 @@ JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_NativeLibrary_LoadStateAs( State::LoadAs(GetJString(env, path)); } -JNIEXPORT void JNICALL -Java_org_dolphinemu_dolphinemu_services_DirectoryInitializationService_SetSysDirectory( +JNIEXPORT void JNICALL Java_org_dolphinemu_dolphinemu_utils_DirectoryInitialization_SetSysDirectory( JNIEnv* env, jobject obj, jstring jPath) { const std::string path = GetJString(env, jPath); @@ -466,8 +465,8 @@ Java_org_dolphinemu_dolphinemu_services_DirectoryInitializationService_SetSysDir } JNIEXPORT void JNICALL -Java_org_dolphinemu_dolphinemu_services_DirectoryInitializationService_CreateUserDirectories( - JNIEnv* env, jobject obj) +Java_org_dolphinemu_dolphinemu_utils_DirectoryInitialization_CreateUserDirectories(JNIEnv* env, + jobject obj) { UICommon::CreateDirectories(); } -- cgit v1.2.3