OSDN Git Service

Merge "Recover when widget preview database is deleted" into jb-ub-now-kermit
[android-x86/packages-apps-Launcher3.git] / src / com / android / launcher3 / LauncherAppState.java
index 5e41fca..156befb 100644 (file)
@@ -84,7 +84,7 @@ public class LauncherAppState implements DeviceProfile.DeviceProfileCallbacks {
         mIsScreenLarge = isScreenLarge(sContext.getResources());
         mScreenDensity = sContext.getResources().getDisplayMetrics().density;
 
-        mWidgetPreviewCacheDb = new WidgetPreviewLoader.CacheDb(sContext);
+        recreateWidgetPreviewDb();
         mIconCache = new IconCache(sContext);
 
         mAppFilter = AppFilter.loadByName(sContext.getString(R.string.app_filter_class));
@@ -115,6 +115,13 @@ public class LauncherAppState implements DeviceProfile.DeviceProfileCallbacks {
         resolver.registerContentObserver(LauncherSettings.Favorites.CONTENT_URI, true,
                 mFavoritesObserver);
     }
+    
+    public void recreateWidgetPreviewDb() {
+        if (mWidgetPreviewCacheDb != null) {
+            mWidgetPreviewCacheDb.close();
+        }
+        mWidgetPreviewCacheDb = new WidgetPreviewLoader.CacheDb(sContext);
+    }
 
     /**
      * Call from Application.onTerminate(), which is not guaranteed to ever be called.