Fix SQLite crashes in Launcher

We were using multiple SQLiteOpenHelpers, which
causes problems; this change switches us to using
only one

Bug: 8346109

Change-Id: If7d4dff3d34edb38d9586d3b0f4e8e1747a71a75
diff --git a/src/com/android/launcher2/LauncherApplication.java b/src/com/android/launcher2/LauncherApplication.java
index 28362fd..e5f3250 100644
--- a/src/com/android/launcher2/LauncherApplication.java
+++ b/src/com/android/launcher2/LauncherApplication.java
@@ -31,8 +31,9 @@
 import java.lang.ref.WeakReference;
 
 public class LauncherApplication extends Application {
-    public LauncherModel mModel;
-    public IconCache mIconCache;
+    private LauncherModel mModel;
+    private IconCache mIconCache;
+    private WidgetPreviewLoader.CacheDb mWidgetPreviewCacheDb;
     private static boolean sIsScreenLarge;
     private static float sScreenDensity;
     private static int sLongPressTimeout = 300;
@@ -47,6 +48,7 @@
         sIsScreenLarge = getResources().getBoolean(R.bool.is_large_screen);
         sScreenDensity = getResources().getDisplayMetrics().density;
 
+        mWidgetPreviewCacheDb = new WidgetPreviewLoader.CacheDb(this);
         mIconCache = new IconCache(this);
         mModel = new LauncherModel(this, mIconCache);
 
@@ -114,7 +116,11 @@
         return mModel;
     }
 
-    void setLauncherProvider(LauncherProvider provider) {
+    WidgetPreviewLoader.CacheDb getWidgetPreviewCacheDb() {
+        return mWidgetPreviewCacheDb;
+    }
+
+   void setLauncherProvider(LauncherProvider provider) {
         mLauncherProvider = new WeakReference<LauncherProvider>(provider);
     }