diff --git a/app/src/main/java/com/android/launcher2/Launcher.java b/app/src/main/java/com/android/launcher2/Launcher.java index c1eb4cb..482e8cb 100644 --- a/app/src/main/java/com/android/launcher2/Launcher.java +++ b/app/src/main/java/com/android/launcher2/Launcher.java @@ -433,7 +433,10 @@ public final class Launcher extends Activity // On large interfaces, we want the screen to auto-rotate based on the current orientation unlockScreenOrientation(true); - FozaCore.registerCoreCallback(() -> FozaPackageManager.get().acquireObtainAppSplash()); + LauncherLoader.instance().waitForAndGetInitialService(() -> { + FozaPackageManager.get().acquireObtainAppSplash(); + return null; + }); } protected void onUserLeaveHint() { diff --git a/app/src/main/java/com/android/launcher2/LauncherApplication.java b/app/src/main/java/com/android/launcher2/LauncherApplication.java index 9dd60f1..326e521 100644 --- a/app/src/main/java/com/android/launcher2/LauncherApplication.java +++ b/app/src/main/java/com/android/launcher2/LauncherApplication.java @@ -31,8 +31,6 @@ import com.android.launcher.R; import java.lang.ref.WeakReference; -import lu.die.foza.SuperAPI.FozaCore; - public class LauncherApplication extends Application { private LauncherModel mModel; private IconCache mIconCache; @@ -86,12 +84,6 @@ public class LauncherApplication extends Application { mFavoritesObserver); } - @Override - protected void attachBaseContext(Context base) { - super.attachBaseContext(base); - FozaCore.startup(base); - } - /** * There's no guarantee that this function is ever called. */ diff --git a/app/src/main/java/com/android/launcher2/LauncherLoader.kt b/app/src/main/java/com/android/launcher2/LauncherLoader.kt new file mode 100644 index 0000000..9a9ed13 --- /dev/null +++ b/app/src/main/java/com/android/launcher2/LauncherLoader.kt @@ -0,0 +1,21 @@ +package com.android.launcher2 + +import android.content.Intent +import lu.die.foza.SuperAPI.FozaCore +import lu.die.fozacompatibility.FozaPackageManager + +object LauncherLoader { + // For java + @JvmStatic + fun instance() = this + fun waitForAndGetInitialService( + serviceCallback : () -> Unit + ) = FozaCore.registerCoreCallback( + serviceCallback + ) + fun obtainLaunchIntentByPackage( + src : String + ) = FozaPackageManager.get().getLaunchIntentForPackage( + Intent(Intent.ACTION_MAIN).setPackage(src) /* Package Name */ + ) +} \ No newline at end of file