Improving LauncherModel performance
- no longer reloading DB on each configuration change
- adding/updating items in DB on background thread
Change-Id: Ie140f31608df84b0ca2d45eb7a210a8a3b36b52f
diff --git a/src/com/android/launcher2/LauncherApplication.java b/src/com/android/launcher2/LauncherApplication.java
index 68b1644..db3a4cb 100644
--- a/src/com/android/launcher2/LauncherApplication.java
+++ b/src/com/android/launcher2/LauncherApplication.java
@@ -24,11 +24,14 @@
import android.database.ContentObserver;
import android.os.Handler;
+import java.lang.ref.WeakReference;
+
public class LauncherApplication extends Application {
public LauncherModel mModel;
public IconCache mIconCache;
private static boolean sIsScreenLarge;
private static float sScreenDensity;
+ WeakReference<LauncherProvider> mLauncherProvider;
@Override
public void onCreate() {
@@ -97,6 +100,14 @@
return mModel;
}
+ void setLauncherProvider(LauncherProvider provider) {
+ mLauncherProvider = new WeakReference<LauncherProvider>(provider);
+ }
+
+ LauncherProvider getLauncherProvider() {
+ return mLauncherProvider.get();
+ }
+
public static boolean isScreenLarge() {
return sIsScreenLarge;
}