Adding tighter first run checks for migration clings. (Bug 12626290)

Change-Id: I09fc95c9a3d50ce57f9140e89da2ff4856807f92
diff --git a/src/com/android/launcher3/LauncherProvider.java b/src/com/android/launcher3/LauncherProvider.java
index c797cc4..eca7769 100644
--- a/src/com/android/launcher3/LauncherProvider.java
+++ b/src/com/android/launcher3/LauncherProvider.java
@@ -108,6 +108,10 @@
         return true;
     }
 
+    public boolean wasNewDbCreated() {
+        return mOpenHelper.wasNewDbCreated();
+    }
+
     @Override
     public String getType(Uri uri) {
         SqlArguments args = new SqlArguments(uri, null, null);
@@ -343,6 +347,8 @@
         private long mMaxItemId = -1;
         private long mMaxScreenId = -1;
 
+        private boolean mNewDbCreated = false;
+
         DatabaseHelper(Context context) {
             super(context, DATABASE_NAME, null, DATABASE_VERSION);
             mContext = context;
@@ -358,6 +364,10 @@
             }
         }
 
+        public boolean wasNewDbCreated() {
+            return mNewDbCreated;
+        }
+
         /**
          * Send notification that we've deleted the {@link AppWidgetHost},
          * probably as part of the initial database creation. The receiver may
@@ -375,6 +385,7 @@
 
             mMaxItemId = 1;
             mMaxScreenId = 0;
+            mNewDbCreated = true;
 
             db.execSQL("CREATE TABLE favorites (" +
                     "_id INTEGER PRIMARY KEY," +