Merge changes Ia43ab0ab,I0c4b91aa am: 474d549f7c am: 38762c75d1
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1690266
Change-Id: I527307961df8d8e8932b704cb63c959b0f6f4ee8
diff --git a/services/core/java/com/android/server/locksettings/RebootEscrowManager.java b/services/core/java/com/android/server/locksettings/RebootEscrowManager.java
index 90694d0..3f2b8ff 100644
--- a/services/core/java/com/android/server/locksettings/RebootEscrowManager.java
+++ b/services/core/java/com/android/server/locksettings/RebootEscrowManager.java
@@ -31,6 +31,7 @@
import android.annotation.NonNull;
import android.annotation.UserIdInt;
import android.content.Context;
+import android.content.pm.PackageManager;
import android.content.pm.UserInfo;
import android.os.Handler;
import android.os.SystemClock;
@@ -224,6 +225,12 @@
}
public boolean serverBasedResumeOnReboot() {
+ // Always use the server based RoR if the HAL isn't installed on device.
+ if (!mContext.getPackageManager().hasSystemFeature(
+ PackageManager.FEATURE_REBOOT_ESCROW)) {
+ return true;
+ }
+
return DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_OTA,
"server_based_ror_enabled", false);
}
@@ -374,6 +381,7 @@
try {
escrowKey = getAndClearRebootEscrowKey(kk);
} catch (IOException e) {
+ Slog.i(TAG, "Failed to load escrow key, scheduling retry.", e);
scheduleLoadRebootEscrowDataOrFail(retryHandler, attemptNumber + 1, users,
rebootEscrowUsers);
return;