From 3b03673d23784fb30d5fdf11ed4fa6e1619bef0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johan=20Tor=C3=A5s=20Halseth?= Date: Wed, 26 Apr 2017 21:20:32 +0100 Subject: [PATCH] Increase timeout for ADB backup/restore of SharedStorage. It previously used a backup timeout of 5 min, and restore timeout of 1 min, that would always timeout if the files on shared storage were big. Now increase both to 60 minutes. Bug: 37201952 Test: adb backup -shared && adb restore backup.ab Merged-In: Ice6648554933baf76e96fd151b506564487c91c6 Change-Id: I99095249e960fd47fc742154bc513347bf506548 --- .../server/backup/BackupManagerService.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/services/backup/java/com/android/server/backup/BackupManagerService.java b/services/backup/java/com/android/server/backup/BackupManagerService.java index 1b970e5656bd2..dc2dfa8ff2891 100644 --- a/services/backup/java/com/android/server/backup/BackupManagerService.java +++ b/services/backup/java/com/android/server/backup/BackupManagerService.java @@ -3868,9 +3868,14 @@ public class BackupManagerService { writeApkToBackup(mPackage, output); } + final boolean isSharedStorage = + mPackage.packageName.equals(SHARED_BACKUP_AGENT_PACKAGE); + final long timeout = isSharedStorage ? + TIMEOUT_SHARED_BACKUP_INTERVAL : TIMEOUT_FULL_BACKUP_INTERVAL; + if (DEBUG) Slog.d(TAG, "Calling doFullBackup() on " + mPackage.packageName); - prepareOperationTimeout(mToken, TIMEOUT_FULL_BACKUP_INTERVAL, - mTimeoutMonitor /* in parent class */, OP_TYPE_BACKUP_WAIT); + prepareOperationTimeout(mToken, timeout, mTimeoutMonitor /* in parent class */, + OP_TYPE_BACKUP_WAIT); mAgent.doFullBackup(mPipe, mQuota, mToken, mBackupManagerBinder); } catch (IOException e) { Slog.e(TAG, "Error running full backup for " + mPackage.packageName); @@ -7578,9 +7583,12 @@ if (MORE_DEBUG) Slog.v(TAG, " + got " + nRead + "; now wanting " + (size - soF if (okay) { boolean agentSuccess = true; long toCopy = info.size; + final boolean isSharedStorage = pkg.equals(SHARED_BACKUP_AGENT_PACKAGE); + final long timeout = isSharedStorage ? + TIMEOUT_SHARED_BACKUP_INTERVAL : TIMEOUT_RESTORE_INTERVAL; final int token = generateToken(); try { - prepareOperationTimeout(token, TIMEOUT_RESTORE_INTERVAL, null, + prepareOperationTimeout(token, timeout, null, OP_TYPE_RESTORE_WAIT); if (FullBackup.OBB_TREE_TOKEN.equals(info.domain)) { if (DEBUG) Slog.d(TAG, "Restoring OBB file for " + pkg