summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Joël Stemmer <jstemmer@google.com> 2024-01-19 13:49:20 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2024-01-19 13:49:20 +0000
commit4846e39bce4c3955c53ba9256e84705eebe218de (patch)
tree42107857c43b568cdbb4e795d1e856281209f179
parent12b77a166d218b659191215fc545449a01f34097 (diff)
parent0d45269c1aa0fedeb36ab63dbee1188321563390 (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.java23
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;