Initializing LauncherAppState only on the main thread
Bug: 33032833
Change-Id: I7992a5358142dde80aeaf8c6b7a6c7bfef2c8a00
diff --git a/src/com/android/launcher3/LauncherProvider.java b/src/com/android/launcher3/LauncherProvider.java
index 6266fae..e71ef2c 100644
--- a/src/com/android/launcher3/LauncherProvider.java
+++ b/src/com/android/launcher3/LauncherProvider.java
@@ -55,6 +55,7 @@
import com.android.launcher3.config.FeatureFlags;
import com.android.launcher3.config.ProviderConfig;
import com.android.launcher3.dynamicui.ExtractionUtils;
+import com.android.launcher3.logging.FileLog;
import com.android.launcher3.provider.LauncherDbUtils;
import com.android.launcher3.provider.RestoreDbTask;
import com.android.launcher3.util.ManagedProfileHeuristic;
@@ -91,7 +92,10 @@
}
mListenerHandler = new Handler(mListenerWrapper);
- LauncherAppState.setLauncherProvider(this);
+ // The content provider exists for the entire duration of the launcher main process and
+ // is the first component to get created. Initializing FileLog here ensures that it's
+ // always available in the main process.
+ FileLog.setDir(getContext().getApplicationContext().getFilesDir());
return true;
}