Clear calling identity n BackupManager#reportDelayedRestoreResult

The method binds BackupTransport, which needs to happen from system
process.

Bug: 280047012
Test: 1. Modify TelephonyBackupAgent to call
         BackupManager#reportDelayedRestoreResult
      2. Observe there's no exception.
Change-Id: I84ee31fa7d08f1f4714e303c33e64ed61503c452
This commit is contained in:
Ruslan Tkhakokhov
2023-05-02 16:30:45 +00:00
parent a674bc920e
commit 2d45bd5397

View File

@@ -1619,7 +1619,14 @@ public class BackupManagerService extends IBackupManager.Stub {
/* caller */ "reportDelayedRestoreResult()");
if (userBackupManagerService != null) {
userBackupManagerService.reportDelayedRestoreResult(packageName, results);
// Clear as the method binds to BackupTransport, which needs to happen from system
// process.
final long oldId = Binder.clearCallingIdentity();
try {
userBackupManagerService.reportDelayedRestoreResult(packageName, results);
} finally {
Binder.restoreCallingIdentity(oldId);
}
}
}