From 846f5f667188b6addfc2a008f5209065eac6bcee Mon Sep 17 00:00:00 2001 From: JosJuice Date: Tue, 14 Mar 2023 22:58:28 +0100 Subject: [PATCH 1/2] Android: Clean up outdated comment in AfterDirectoryInitializationRunner --- .../AfterDirectoryInitializationRunner.java | 34 +++++-------------- 1 file changed, 8 insertions(+), 26 deletions(-) diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/AfterDirectoryInitializationRunner.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/AfterDirectoryInitializationRunner.java index 651512bcb4..8d0d555caa 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/AfterDirectoryInitializationRunner.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/AfterDirectoryInitializationRunner.java @@ -12,20 +12,11 @@ public class AfterDirectoryInitializationRunner private Observer mObserver; /** - * Executes a Runnable after directory initialization has finished. + * Executes a Runnable once directory initialization finishes. * - * If this is called when directory initialization already is done, - * the Runnable will be executed immediately. If this is called before - * directory initialization is done, the Runnable will be executed - * after directory initialization finishes successfully, or never - * in case directory initialization doesn't finish successfully. - * - * Calling this function multiple times per object is not supported. - * - * If abortOnFailure is true and external storage was not found, a message - * will be shown to the user and the Runnable will not run. If it is false, - * the attempt to run the Runnable will never be aborted, and the Runnable - * is guaranteed to run if directory initialization ever finishes. + * If this is called when directory initialization already has finished, the Runnable will + * be executed immediately. If this is called before directory initialization has finished, + * the Runnable will be executed after directory initialization finishes. * * If the passed-in activity gets destroyed before this operation finishes, * it will be automatically canceled. @@ -44,20 +35,11 @@ public class AfterDirectoryInitializationRunner } /** - * Executes a Runnable after directory initialization has finished. + * Executes a Runnable once directory initialization finishes. * - * If this is called when directory initialization already is done, - * the Runnable will be executed immediately. If this is called before - * directory initialization is done, the Runnable will be executed - * after directory initialization finishes successfully, or never - * in case directory initialization doesn't finish successfully. - * - * Calling this function multiple times per object is not supported. - * - * If abortOnFailure is true and external storage was not found, a message - * will be shown to the user and the Runnable will not run. If it is false, - * the attempt to run the Runnable will never be aborted, and the Runnable - * is guaranteed to run if directory initialization ever finishes. + * If this is called when directory initialization already has finished, the Runnable will + * be executed immediately. If this is called before directory initialization has finished, + * the Runnable will be executed after directory initialization finishes. */ public void runWithoutLifecycle(Runnable runnable) { From fe8be906f3f172028cf261eaf88423d75e2731d8 Mon Sep 17 00:00:00 2001 From: JosJuice Date: Tue, 14 Mar 2023 23:00:02 +0100 Subject: [PATCH 2/2] Android: Use LifecycleOwner instead of subtype --- .../utils/AfterDirectoryInitializationRunner.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/AfterDirectoryInitializationRunner.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/AfterDirectoryInitializationRunner.java index 8d0d555caa..0312955156 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/AfterDirectoryInitializationRunner.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/AfterDirectoryInitializationRunner.java @@ -2,7 +2,7 @@ package org.dolphinemu.dolphinemu.utils; -import androidx.core.app.ComponentActivity; +import androidx.lifecycle.LifecycleOwner; import androidx.lifecycle.Observer; import org.dolphinemu.dolphinemu.utils.DirectoryInitialization.DirectoryInitializationState; @@ -18,10 +18,10 @@ public class AfterDirectoryInitializationRunner * be executed immediately. If this is called before directory initialization has finished, * the Runnable will be executed after directory initialization finishes. * - * If the passed-in activity gets destroyed before this operation finishes, - * it will be automatically canceled. + * If the passed-in LifecycleOwner gets destroyed before this operation finishes, + * the operation will be automatically canceled. */ - public void runWithLifecycle(ComponentActivity activity, Runnable runnable) + public void runWithLifecycle(LifecycleOwner lifecycleOwner, Runnable runnable) { if (DirectoryInitialization.areDolphinDirectoriesReady()) { @@ -30,7 +30,7 @@ public class AfterDirectoryInitializationRunner else { mObserver = createObserver(runnable); - DirectoryInitialization.getDolphinDirectoriesState().observe(activity, mObserver); + DirectoryInitialization.getDolphinDirectoriesState().observe(lifecycleOwner, mObserver); } }