diff options
author | Adam Cohen <adamcohen@google.com> | 2014-11-19 00:39:22 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2014-11-19 00:39:22 +0000 |
commit | a2cfddbd17e2093f9beb42073c77d802f37154e1 (patch) | |
tree | f884db00efbdb62f62202d7baab837c0bb23af8d /src/com/android | |
parent | ee7dd76bbb07dd59726b6159c413e55b6ce34db5 (diff) | |
parent | 7c39e2380f3406f897b2f0abffcb8267d2212482 (diff) | |
download | android_packages_apps_Trebuchet-a2cfddbd17e2093f9beb42073c77d802f37154e1.tar.gz android_packages_apps_Trebuchet-a2cfddbd17e2093f9beb42073c77d802f37154e1.tar.bz2 android_packages_apps_Trebuchet-a2cfddbd17e2093f9beb42073c77d802f37154e1.zip |
am 7c39e238: Merge "Clearing DB before restore starts." into ub-now-queens
* commit '7c39e2380f3406f897b2f0abffcb8267d2212482':
Clearing DB before restore starts.
Diffstat (limited to 'src/com/android')
-rw-r--r-- | src/com/android/launcher3/LauncherBackupAgentHelper.java | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/src/com/android/launcher3/LauncherBackupAgentHelper.java b/src/com/android/launcher3/LauncherBackupAgentHelper.java index b03b13ccc..3868a57f1 100644 --- a/src/com/android/launcher3/LauncherBackupAgentHelper.java +++ b/src/com/android/launcher3/LauncherBackupAgentHelper.java @@ -69,13 +69,23 @@ public class LauncherBackupAgentHelper extends BackupAgentHelper { Log.d(TAG, "Restore is only supported on devices running Lollipop and above."); return; } - super.onRestore(data, appVersionCode, newState); - // If no favorite was migrated, clear the data and start fresh. - final Cursor c = getContentResolver().query( - LauncherSettings.Favorites.CONTENT_URI_NO_NOTIFICATION, null, null, null, null); - boolean hasData = c.moveToNext(); - c.close(); + // Clear dB before restore + LauncherAppState.getLauncherProvider().createEmptyDB(); + + boolean hasData; + try { + super.onRestore(data, appVersionCode, newState); + // If no favorite was migrated, clear the data and start fresh. + final Cursor c = getContentResolver().query( + LauncherSettings.Favorites.CONTENT_URI_NO_NOTIFICATION, null, null, null, null); + hasData = c.moveToNext(); + c.close(); + } catch (Exception e) { + // If the restore fails, we should do a fresh start. + Log.e(TAG, "Restore failed", e); + hasData = false; + } if (hasData && mHelper.restoreSuccessful) { LauncherAppState.getLauncherProvider().clearFlagEmptyDbCreated(); |