From 27aec3c54a0319a989f7969ab6a368e9e1ae9d28 Mon Sep 17 00:00:00 2001 From: Christopher Tate Date: Thu, 12 Mar 2015 18:24:30 -0700 Subject: Don't run full backups until package metadata has been pushed Bug 19692849 Change-Id: I13615db7408b5c6fbc787c4773103c052e70f0b2 --- .../java/com/android/server/backup/BackupManagerService.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/services/backup/java/com/android/server/backup/BackupManagerService.java b/services/backup/java/com/android/server/backup/BackupManagerService.java index d35609e80aea..8fcdd39192e8 100644 --- a/services/backup/java/com/android/server/backup/BackupManagerService.java +++ b/services/backup/java/com/android/server/backup/BackupManagerService.java @@ -3909,6 +3909,16 @@ public class BackupManagerService { return; } + // Don't proceed unless we have already established package metadata + // for the current dataset via a key/value backup pass. + File stateDir = new File(mBaseStateDir, transport.transportDirName()); + File pmState = new File(stateDir, PACKAGE_MANAGER_SENTINEL); + if (pmState.length() <= 0) { + Slog.i(TAG, "Full backup requested but dataset not yet initialized " + + "via k/v backup pass; ignoring"); + return; + } + // Set up to send data to the transport final int N = mPackages.size(); for (int i = 0; i < N; i++) { -- cgit v1.2.3-59-g8ed1b