diff options
| author | 2021-03-23 23:14:36 +0000 | |
|---|---|---|
| committer | 2021-03-23 23:14:36 +0000 | |
| commit | b5cb5265635ccf3b99e8070c68c38c4ae5f9899a (patch) | |
| tree | d5338e1c8a1f0cf8e19293a60f8201b085a79964 | |
| parent | dca7627388889d26088c133c55a1c524f5ad2068 (diff) | |
| parent | 08b5ccae7dce3e6ebe0829dea816524e1948b99a (diff) | |
Merge "Clear caller id when reading device config" am: d0fe0c721d am: 08b5ccae7d
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1651267
Change-Id: Ifc338b34e2271063c077f15335113efc2dacedfb
| -rw-r--r-- | services/core/java/com/android/server/recoverysystem/RecoverySystemService.java | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/services/core/java/com/android/server/recoverysystem/RecoverySystemService.java b/services/core/java/com/android/server/recoverysystem/RecoverySystemService.java index 0a6772bd8f6a..fe21201f5cb7 100644 --- a/services/core/java/com/android/server/recoverysystem/RecoverySystemService.java +++ b/services/core/java/com/android/server/recoverysystem/RecoverySystemService.java @@ -734,7 +734,15 @@ public class RecoverySystemService extends IRecoverySystem.Stub implements Reboo return REBOOT_ERROR_SLOT_MISMATCH; } - if (!mInjector.getLockSettingsService().armRebootEscrow()) { + final long origId = Binder.clearCallingIdentity(); + boolean result; + try { + result = mInjector.getLockSettingsService().armRebootEscrow(); + } finally { + Binder.restoreCallingIdentity(origId); + } + + if (!result) { Slog.w(TAG, "Failure to escrow key for reboot"); return REBOOT_ERROR_ARM_REBOOT_ESCROW_FAILURE; } @@ -742,11 +750,20 @@ public class RecoverySystemService extends IRecoverySystem.Stub implements Reboo return REBOOT_ERROR_NONE; } + private boolean useServerBasedRoR() { + final long origId = Binder.clearCallingIdentity(); + try { + return DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_OTA, + "server_based_ror_enabled", false); + } finally { + Binder.restoreCallingIdentity(origId); + } + } + private void reportMetricsOnRebootWithLskf(String packageName, boolean slotSwitch, @ResumeOnRebootRebootErrorCode int errorCode) { int uid = mInjector.getUidFromPackageName(packageName); - boolean serverBased = DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_OTA, - "server_based_ror_enabled", false); + boolean serverBased = useServerBasedRoR(); int preparedClientCount; synchronized (this) { preparedClientCount = mCallerPreparedForReboot.size(); |