From 49a5d9df6cc1c766045b0b66dd6d9830d1f54ddb Mon Sep 17 00:00:00 2001 From: Haining Chen <hainingc@google.com> Date: Wed, 28 Feb 2024 15:48:39 -0800 Subject: [PATCH] Disable adaptive auth for automotive devices by default Bug: 323085596 Bug: 285053096 Test: atest AdaptiveAuthServiceTest Change-Id: Ide837783914e88656c6b69f0b532740e6ed0d670 --- .../android/server/adaptiveauth/AdaptiveAuthService.java | 6 ++++++ .../server/adaptiveauth/AdaptiveAuthServiceTest.java | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/services/core/java/com/android/server/adaptiveauth/AdaptiveAuthService.java b/services/core/java/com/android/server/adaptiveauth/AdaptiveAuthService.java index 96fee9296215..0e0bf81253e6 100644 --- a/services/core/java/com/android/server/adaptiveauth/AdaptiveAuthService.java +++ b/services/core/java/com/android/server/adaptiveauth/AdaptiveAuthService.java @@ -20,6 +20,7 @@ import static com.android.internal.widget.LockPatternUtils.StrongAuthTracker.SOM import android.app.KeyguardManager; import android.content.Context; +import android.content.pm.PackageManager; import android.hardware.biometrics.AuthenticationStateListener; import android.hardware.biometrics.BiometricManager; import android.hardware.biometrics.BiometricSourceType; @@ -187,6 +188,11 @@ public class AdaptiveAuthService extends SystemService { } private void reportAuthAttempt(int authType, boolean success, int userId) { + // Disable adaptive auth for automotive devices by default + if (getContext().getPackageManager().hasSystemFeature(PackageManager.FEATURE_AUTOMOTIVE)) { + return; + } + if (success) { // Deleting the entry effectively resets the counter of failed attempts for the user mFailedAttemptsForUser.delete(userId); diff --git a/services/tests/servicestests/src/com/android/server/adaptiveauth/AdaptiveAuthServiceTest.java b/services/tests/servicestests/src/com/android/server/adaptiveauth/AdaptiveAuthServiceTest.java index 08a65292cf20..a80a8ec6dce0 100644 --- a/services/tests/servicestests/src/com/android/server/adaptiveauth/AdaptiveAuthServiceTest.java +++ b/services/tests/servicestests/src/com/android/server/adaptiveauth/AdaptiveAuthServiceTest.java @@ -24,6 +24,7 @@ import static com.android.internal.widget.LockPatternUtils.StrongAuthTracker.SOM import static com.android.server.adaptiveauth.AdaptiveAuthService.MAX_ALLOWED_FAILED_AUTH_ATTEMPTS; import static org.junit.Assert.assertEquals; +import static org.junit.Assume.assumeTrue; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.never; import static org.mockito.Mockito.spy; @@ -32,6 +33,7 @@ import static org.mockito.Mockito.when; import android.app.KeyguardManager; import android.content.Context; +import android.content.pm.PackageManager; import android.hardware.biometrics.AuthenticationStateListener; import android.hardware.biometrics.BiometricManager; import android.os.RemoteException; @@ -103,6 +105,10 @@ public class AdaptiveAuthServiceTest { mSetFlagsRule.enableFlags(FLAG_REPORT_BIOMETRIC_AUTH_ATTEMPTS); mContext = spy(ApplicationProvider.getApplicationContext()); + + assumeTrue("Adaptive auth is disabled on device", + !mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_AUTOMOTIVE)); + when(mContext.getSystemService(BiometricManager.class)).thenReturn(mBiometricManager); when(mContext.getSystemService(KeyguardManager.class)).thenReturn(mKeyguardManager); -- GitLab