Fix bug 17931760 - spurious timeout leads to mayhem

We know a priori that the PMBA metadata package's backup pass
doesn't need to be tracked for timeout, because it's run inline
rather than as an asynchronous separate-process operation.

Change-Id: Ifd21ab3a016917f5e557a38c1c88f8d8ac1337d2
This commit is contained in:
Christopher Tate
2014-10-09 15:20:24 -07:00
parent 2c2cb29a3d
commit 2aa1d18e3a

View File

@@ -2415,6 +2415,11 @@ public class BackupManagerService extends IBackupManager.Stub {
mStatus = invokeAgentForBackup(PACKAGE_MANAGER_SENTINEL,
IBackupAgent.Stub.asInterface(pmAgent.onBind()), mTransport);
addBackupTrace("PMBA invoke: " + mStatus);
// Because the PMBA is a local instance, it has already executed its
// backup callback and returned. Blow away the lingering (spurious)
// pending timeout message for it.
mBackupHandler.removeMessages(MSG_TIMEOUT);
}
if (mStatus == BackupTransport.TRANSPORT_NOT_INITIALIZED) {