diff options
| author | 2024-01-19 13:49:20 +0000 | |
|---|---|---|
| committer | 2024-01-19 13:49:20 +0000 | |
| commit | 4846e39bce4c3955c53ba9256e84705eebe218de (patch) | |
| tree | 42107857c43b568cdbb4e795d1e856281209f179 | |
| parent | 12b77a166d218b659191215fc545449a01f34097 (diff) | |
| parent | 0d45269c1aa0fedeb36ab63dbee1188321563390 (diff) | |
Merge changes I3bdb8efb,I1f8628c3 into main
* changes:
Correctly report package index in RestoreObserver#onUpdate calls
Refactor observer call in finalizeRestore
| -rw-r--r-- | services/backup/java/com/android/server/backup/restore/PerformUnifiedRestoreTask.java | 23 |
1 files changed, 9 insertions, 14 deletions
diff --git a/services/backup/java/com/android/server/backup/restore/PerformUnifiedRestoreTask.java b/services/backup/java/com/android/server/backup/restore/PerformUnifiedRestoreTask.java index 2fbc3cd24d65..055970819e28 100644 --- a/services/backup/java/com/android/server/backup/restore/PerformUnifiedRestoreTask.java +++ b/services/backup/java/com/android/server/backup/restore/PerformUnifiedRestoreTask.java @@ -140,8 +140,8 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask { // Widget-related data handled as part of this restore operation private byte[] mWidgetData; - // Number of apps restored in this pass - private int mCount; + // Number of apps attempted to restore in this pass + private int mRestoreAttemptedAppsCount; // When did we start? private long mStartRealtime; @@ -574,7 +574,8 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask { Slog.v(TAG, "No more packages; finishing restore"); } int millis = (int) (SystemClock.elapsedRealtime() - mStartRealtime); - EventLog.writeEvent(EventLogTags.RESTORE_SUCCESS, mCount, millis); + EventLog.writeEvent( + EventLogTags.RESTORE_SUCCESS, mRestoreAttemptedAppsCount, millis); nextState = UnifiedRestoreState.FINAL; return; } @@ -582,7 +583,8 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask { if (DEBUG) { Slog.i(TAG, "Next restore package: " + mRestoreDescription); } - sendOnRestorePackage(pkgName); + mRestoreAttemptedAppsCount++; + sendOnRestorePackage(mRestoreAttemptedAppsCount, pkgName); Metadata metaInfo = mPmAgent.getRestoredMetadata(pkgName); if (metaInfo == null) { @@ -810,7 +812,6 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask { // And then finally start the restore on this agent try { initiateOneRestore(mCurrentPackage, metaInfo.versionCode); - ++mCount; } catch (Exception e) { Slog.e(TAG, "Error when attempting restore: " + e.toString()); Bundle monitoringExtras = addRestoreOperationTypeToEvent(/* extras= */ null); @@ -1331,13 +1332,7 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask { } // Tell the observer we're done - if (mObserver != null) { - try { - mObserver.restoreFinished(mStatus); - } catch (RemoteException e) { - Slog.d(TAG, "Restore observer died at restoreFinished"); - } - } + sendEndRestore(); // Clear any ongoing session timeout. backupManagerService.getBackupHandler().removeMessages(MSG_RESTORE_SESSION_TIMEOUT); @@ -1651,10 +1646,10 @@ public class PerformUnifiedRestoreTask implements BackupRestoreTask { } } - void sendOnRestorePackage(String name) { + void sendOnRestorePackage(int index, String name) { if (mObserver != null) { try { - mObserver.onUpdate(mCount, name); + mObserver.onUpdate(index, name); } catch (RemoteException e) { Slog.d(TAG, "Restore observer died in onUpdate"); mObserver = null; |