am 87503f85: am e9821bf2: Merge "DO NOT MERGE - Don\'t hang installs if the transport disappears" into klp-dev

* commit '87503f8561296fea489f8a3fe8384f61150976da':
  DO NOT MERGE - Don't hang installs if the transport disappears
This commit is contained in:
Christopher Tate
2014-03-13 17:19:17 +00:00
committed by Android Git Automerger

View File

@@ -5802,19 +5802,25 @@ public class BackupManagerService extends IBackupManager.Stub {
return;
}
boolean skip = false;
long restoreSet = getAvailableRestoreToken(packageName);
if (DEBUG) Slog.v(TAG, "restoreAtInstall pkg=" + packageName
+ " token=" + Integer.toHexString(token)
+ " restoreSet=" + Long.toHexString(restoreSet));
if (restoreSet == 0) {
if (MORE_DEBUG) Slog.i(TAG, "No restore set");
skip = true;
}
if (mAutoRestore && mProvisioned && restoreSet != 0) {
// Do we have a transport to fetch data for us?
IBackupTransport transport = getTransport(mCurrentTransport);
if (transport == null) {
if (DEBUG) Slog.w(TAG, "No transport for install-time restore");
return;
}
// Do we have a transport to fetch data for us?
IBackupTransport transport = getTransport(mCurrentTransport);
if (transport == null) {
if (DEBUG) Slog.w(TAG, "No transport");
skip = true;
}
if (!skip && mAutoRestore && mProvisioned) {
try {
// okay, we're going to attempt a restore of this package from this restore set.
// The eventual message back into the Package Manager to run the post-install
@@ -5836,12 +5842,15 @@ public class BackupManagerService extends IBackupManager.Stub {
mBackupHandler.sendMessage(msg);
} catch (RemoteException e) {
// Binding to the transport broke; back off and proceed with the installation.
Slog.e(TAG, "Unable to contact transport for install-time restore");
Slog.e(TAG, "Unable to contact transport");
skip = true;
}
} else {
}
if (skip) {
// Auto-restore disabled or no way to attempt a restore; just tell the Package
// Manager to proceed with the post-install handling for this package.
if (DEBUG) Slog.v(TAG, "No restore set -- skipping restore");
if (DEBUG) Slog.v(TAG, "Skipping");
try {
mPackageManagerBinder.finishPackageInstall(token);
} catch (RemoteException e) { /* can't happen */ }