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:
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user