summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/LauncherProvider.java
diff options
context:
space:
mode:
authorSunny Goyal <sunnygoyal@google.com>2016-05-24 11:30:14 -0700
committerSunny Goyal <sunnygoyal@google.com>2016-06-08 16:14:59 -0700
commite8f7d5a67ef71b1c6488f52145482a8876c1b708 (patch)
tree03f0eb8971342367059c9b7f091a41bd6c1c64bf /src/com/android/launcher3/LauncherProvider.java
parentb7c2e99ffbedf0f38edfbf433087acac8620e36f (diff)
downloadandroid_packages_apps_Trebuchet-e8f7d5a67ef71b1c6488f52145482a8876c1b708.tar.gz
android_packages_apps_Trebuchet-e8f7d5a67ef71b1c6488f52145482a8876c1b708.tar.bz2
android_packages_apps_Trebuchet-e8f7d5a67ef71b1c6488f52145482a8876c1b708.zip
Executing the DB migration during startup instead of restore.
This allows proper execution of DB.onUpgrade task if the app updates after the restore Change-Id: I4c40167b30e1d7040b3a38be70d834f7b215e540
Diffstat (limited to 'src/com/android/launcher3/LauncherProvider.java')
-rw-r--r--src/com/android/launcher3/LauncherProvider.java13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/com/android/launcher3/LauncherProvider.java b/src/com/android/launcher3/LauncherProvider.java
index 49ce06a44..dfb8ba277 100644
--- a/src/com/android/launcher3/LauncherProvider.java
+++ b/src/com/android/launcher3/LauncherProvider.java
@@ -46,7 +46,6 @@ import android.os.Handler;
import android.os.Message;
import android.os.Process;
import android.os.UserManager;
-import android.provider.BaseColumns;
import android.text.TextUtils;
import android.util.Log;
import android.util.SparseArray;
@@ -58,6 +57,7 @@ import com.android.launcher3.compat.UserHandleCompat;
import com.android.launcher3.compat.UserManagerCompat;
import com.android.launcher3.config.ProviderConfig;
import com.android.launcher3.dynamicui.ExtractionUtils;
+import com.android.launcher3.provider.RestoreDbTask;
import com.android.launcher3.util.ManagedProfileHeuristic;
import com.android.launcher3.util.NoLocaleSqliteContext;
import com.android.launcher3.util.Preconditions;
@@ -117,6 +117,15 @@ public class LauncherProvider extends ContentProvider {
protected synchronized void createDbIfNotExists() {
if (mOpenHelper == null) {
mOpenHelper = new DatabaseHelper(getContext(), mListenerHandler);
+
+ if (RestoreDbTask.isPending(getContext())) {
+ if (!RestoreDbTask.performRestore(mOpenHelper)) {
+ mOpenHelper.createEmptyDB(mOpenHelper.getWritableDatabase());
+ }
+ // Set is pending to false irrespective of the result, so that it doesn't get
+ // executed again.
+ RestoreDbTask.setPending(getContext(), false);
+ }
}
}
@@ -626,7 +635,7 @@ public class LauncherProvider extends ContentProvider {
mContext);
}
- protected long getDefaultUserSerial() {
+ public long getDefaultUserSerial() {
return UserManagerCompat.getInstance(mContext).getSerialNumberForUser(
UserHandleCompat.myUserHandle());
}