From cf7dd0969fb6e8edd7e11cb562f27852748516c1 Mon Sep 17 00:00:00 2001 From: Rubin Xu Date: Fri, 27 Mar 2020 15:30:06 +0000 Subject: [PATCH] Get HAL services with retry Fixes IWeaver, IAuthSecret and IOemUnlock. Bug: 152430250 Bug: 151196299 Test: atest com.android.cts.devicepolicy.MixedDeviceOwnerTest#testResetPasswordWithToken Test: atest com.google.android.oemlock.gts.OemLockServiceTest Change-Id: If4daaf0204bce23b8cc83ea15bc4f7eeec316943 --- .../com/android/server/locksettings/LockSettingsService.java | 2 +- .../android/server/locksettings/SyntheticPasswordManager.java | 2 +- services/core/java/com/android/server/oemlock/VendorLock.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/services/core/java/com/android/server/locksettings/LockSettingsService.java b/services/core/java/com/android/server/locksettings/LockSettingsService.java index 1b4ec8a8fa325..304de8e7fe56b 100644 --- a/services/core/java/com/android/server/locksettings/LockSettingsService.java +++ b/services/core/java/com/android/server/locksettings/LockSettingsService.java @@ -824,7 +824,7 @@ public class LockSettingsService extends ILockSettings.Stub { private void getAuthSecretHal() { try { - mAuthSecretService = IAuthSecret.getService(); + mAuthSecretService = IAuthSecret.getService(/* retry */ true); } catch (NoSuchElementException e) { Slog.i(TAG, "Device doesn't implement AuthSecret HAL"); } catch (RemoteException e) { diff --git a/services/core/java/com/android/server/locksettings/SyntheticPasswordManager.java b/services/core/java/com/android/server/locksettings/SyntheticPasswordManager.java index ac49fa293fe7a..54ba929da69df 100644 --- a/services/core/java/com/android/server/locksettings/SyntheticPasswordManager.java +++ b/services/core/java/com/android/server/locksettings/SyntheticPasswordManager.java @@ -383,7 +383,7 @@ public class SyntheticPasswordManager { @VisibleForTesting protected IWeaver getWeaverService() throws RemoteException { try { - return IWeaver.getService(); + return IWeaver.getService(/* retry */ true); } catch (NoSuchElementException e) { Slog.i(TAG, "Device does not support weaver"); return null; diff --git a/services/core/java/com/android/server/oemlock/VendorLock.java b/services/core/java/com/android/server/oemlock/VendorLock.java index 37540d039b9e7..9c876da320a93 100644 --- a/services/core/java/com/android/server/oemlock/VendorLock.java +++ b/services/core/java/com/android/server/oemlock/VendorLock.java @@ -38,7 +38,7 @@ class VendorLock extends OemLock { static IOemLock getOemLockHalService() { try { - return IOemLock.getService(); + return IOemLock.getService(/* retry */ true); } catch (NoSuchElementException e) { Slog.i(TAG, "OemLock HAL not present on device"); return null;