Merge pull request #11659 from JosJuice/android-after-dirinit-runner-cleanup
Android: Clean up AfterDirectoryInitializationRunner
This commit is contained in:
commit
6b545eaada
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
package org.dolphinemu.dolphinemu.utils;
|
package org.dolphinemu.dolphinemu.utils;
|
||||||
|
|
||||||
import androidx.core.app.ComponentActivity;
|
import androidx.lifecycle.LifecycleOwner;
|
||||||
import androidx.lifecycle.Observer;
|
import androidx.lifecycle.Observer;
|
||||||
|
|
||||||
import org.dolphinemu.dolphinemu.utils.DirectoryInitialization.DirectoryInitializationState;
|
import org.dolphinemu.dolphinemu.utils.DirectoryInitialization.DirectoryInitializationState;
|
||||||
|
@ -12,25 +12,16 @@ public class AfterDirectoryInitializationRunner
|
||||||
private Observer<DirectoryInitializationState> mObserver;
|
private Observer<DirectoryInitializationState> 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,
|
* If this is called when directory initialization already has finished, the Runnable will
|
||||||
* the Runnable will be executed immediately. If this is called before
|
* be executed immediately. If this is called before directory initialization has finished,
|
||||||
* directory initialization is done, the Runnable will be executed
|
* the Runnable will be executed after directory initialization finishes.
|
||||||
* 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 the passed-in LifecycleOwner gets destroyed before this operation finishes,
|
||||||
*
|
* the operation will be automatically canceled.
|
||||||
* 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 the passed-in activity gets destroyed before this operation finishes,
|
|
||||||
* it will be automatically canceled.
|
|
||||||
*/
|
*/
|
||||||
public void runWithLifecycle(ComponentActivity activity, Runnable runnable)
|
public void runWithLifecycle(LifecycleOwner lifecycleOwner, Runnable runnable)
|
||||||
{
|
{
|
||||||
if (DirectoryInitialization.areDolphinDirectoriesReady())
|
if (DirectoryInitialization.areDolphinDirectoriesReady())
|
||||||
{
|
{
|
||||||
|
@ -39,25 +30,16 @@ public class AfterDirectoryInitializationRunner
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
mObserver = createObserver(runnable);
|
mObserver = createObserver(runnable);
|
||||||
DirectoryInitialization.getDolphinDirectoriesState().observe(activity, mObserver);
|
DirectoryInitialization.getDolphinDirectoriesState().observe(lifecycleOwner, 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,
|
* If this is called when directory initialization already has finished, the Runnable will
|
||||||
* the Runnable will be executed immediately. If this is called before
|
* be executed immediately. If this is called before directory initialization has finished,
|
||||||
* directory initialization is done, the Runnable will be executed
|
* the Runnable will be executed after directory initialization finishes.
|
||||||
* 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.
|
|
||||||
*/
|
*/
|
||||||
public void runWithoutLifecycle(Runnable runnable)
|
public void runWithoutLifecycle(Runnable runnable)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue