OSDN Git Service

backup keys that might have slipped past
authorChris Wren <cwren@android.com>
Fri, 10 Jan 2014 23:02:06 +0000 (18:02 -0500)
committerChris Wren <cwren@android.com>
Mon, 13 Jan 2014 13:43:14 +0000 (08:43 -0500)
seems a little paranoid, but can't hurt.

Bug: 12455866
Change-Id: If9da4cc021ee4fac32c822a91fabda69bf3ff8aa

src/com/android/launcher3/LauncherBackupHelper.java

index a081c21..4e70e6e 100644 (file)
@@ -296,8 +296,9 @@ public class LauncherBackupHelper implements BackupHelper {
                 final long updateTime = cursor.getLong(ID_MODIFIED);
                 Key key = getKey(Key.FAVORITE, id);
                 keys.add(key);
-                currentIds.add(keyToBackupKey(key));
-                if (updateTime >= in.t) {
+                final String backupKey = keyToBackupKey(key);
+                currentIds.add(backupKey);
+                if (!savedIds.contains(backupKey) || updateTime >= in.t) {
                     byte[] blob = packFavorite(cursor);
                     writeRowToBackup(key, blob, out, data);
                 }
@@ -364,8 +365,9 @@ public class LauncherBackupHelper implements BackupHelper {
                 final long updateTime = cursor.getLong(ID_MODIFIED);
                 Key key = getKey(Key.SCREEN, id);
                 keys.add(key);
-                currentIds.add(keyToBackupKey(key));
-                if (updateTime >= in.t) {
+                final String backupKey = keyToBackupKey(key);
+                currentIds.add(backupKey);
+                if (!savedIds.contains(backupKey) || updateTime >= in.t) {
                     byte[] blob = packScreen(cursor);
                     writeRowToBackup(key, blob, out, data);
                 }