diff options
author | Sunny Goyal <sunnygoyal@google.com> | 2016-05-24 11:30:14 -0700 |
---|---|---|
committer | Sunny Goyal <sunnygoyal@google.com> | 2016-06-08 16:14:59 -0700 |
commit | e8f7d5a67ef71b1c6488f52145482a8876c1b708 (patch) | |
tree | 03f0eb8971342367059c9b7f091a41bd6c1c64bf /src/com/android/launcher3/LauncherProvider.java | |
parent | b7c2e99ffbedf0f38edfbf433087acac8620e36f (diff) | |
download | android_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.java | 13 |
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()); } |