File tree Expand file tree Collapse file tree 1 file changed +9
-0
lines changed
services/java/com/android/server Expand file tree Collapse file tree 1 file changed +9
-0
lines changed Original file line number Diff line number Diff line change @@ -1966,6 +1966,9 @@ void finalizeBackup() {
19661966 synchronized (mQueueLock ) {
19671967 mBackupRunning = false ;
19681968 if (mStatus == BackupConstants .TRANSPORT_NOT_INITIALIZED ) {
1969+ // Make sure we back up everything and perform the one-time init
1970+ clearMetadata ();
1971+ if (DEBUG ) Slog .d (TAG , "Server requires init; rerunning" );
19691972 backupNow ();
19701973 }
19711974 }
@@ -1975,6 +1978,12 @@ void finalizeBackup() {
19751978 mWakelock .release ();
19761979 }
19771980
1981+ // Remove the PM metadata state. This will generate an init on the next pass.
1982+ void clearMetadata () {
1983+ final File pmState = new File (mStateDir , PACKAGE_MANAGER_SENTINEL );
1984+ if (pmState .exists ()) pmState .delete ();
1985+ }
1986+
19781987 // Invoke an agent's doBackup() and start a timeout message spinning on the main
19791988 // handler in case it doesn't get back to us.
19801989 int invokeAgentForBackup (String packageName , IBackupAgent agent ,
You can’t perform that action at this time.
0 commit comments