Rewrite: Widget preview loader logic
> Widget previews are saved in data dir instead of cache dir
> Expiring widget previews similar to IconCache
> Removed support for setting thread priorities
Bug: 19865031
Change-Id: Ib6033c2b1ff8ae61bba8762ca994ccd8217d3c75
diff --git a/src/com/android/launcher3/LauncherModel.java b/src/com/android/launcher3/LauncherModel.java
index 8cedcc5..dcb3759 100644
--- a/src/com/android/launcher3/LauncherModel.java
+++ b/src/com/android/launcher3/LauncherModel.java
@@ -1622,6 +1622,9 @@
if (DEBUG_LOADERS) Log.d(TAG, "step 2: loading all apps");
loadAndBindAllApps();
+ // Remove entries for packages which changed while the launcher was dead.
+ LauncherAppState.getInstance().getWidgetCache().removeObsoletePreviews();
+
// Restore the default thread priority after we are done loading items
synchronized (mLock) {
android.os.Process.setThreadPriority(Process.THREAD_PRIORITY_DEFAULT);
@@ -3007,8 +3010,7 @@
if (DEBUG_LOADERS) Log.d(TAG, "mAllAppsList.updatePackage " + packages[i]);
mIconCache.updateIconsForPkg(packages[i], mUser);
mBgAllAppsList.updatePackage(context, packages[i], mUser);
- WidgetPreviewLoader.removePackageFromDb(
- mApp.getWidgetPreviewCacheDb(), packages[i]);
+ mApp.getWidgetCache().removePackage(packages[i], mUser);
}
break;
case OP_REMOVE:
@@ -3034,8 +3036,7 @@
for (int i=0; i<N; i++) {
if (DEBUG_LOADERS) Log.d(TAG, "mAllAppsList.removePackage " + packages[i]);
mBgAllAppsList.removePackage(packages[i], mUser);
- WidgetPreviewLoader.removePackageFromDb(
- mApp.getWidgetPreviewCacheDb(), packages[i]);
+ mApp.getWidgetCache().removePackage(packages[i], mUser);
}
break;
}