Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cf30da59 authored by Sunny Goyal's avatar Sunny Goyal
Browse files

Clearing DB before restore starts.

Bug: 18362052
Change-Id: Ic4faf04db2f76c0c434907f1c41c8b708283eeb7
parent 416541cc
Loading
Loading
Loading
Loading
+16 −6
Original line number Diff line number Diff line
@@ -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);

        // 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);
        boolean hasData = c.moveToNext();
            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();