Do not gate bypass on isHardwareAvailable
This is wrong for a few reasons:
- IPC can fail
- FaceManager can return false even when the device supports face auth
- UX should not change based on hardware problems
Fixes: 138658108
Test: manual
Change-Id: Ic736650ebcac3feacc360672242a0648ebe551ed
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBypassController.kt b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBypassController.kt
index 70d3bff..832ea9e 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBypassController.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBypassController.kt
@@ -19,7 +19,6 @@
import android.content.Context
import android.content.pm.PackageManager
import android.hardware.biometrics.BiometricSourceType
-import android.hardware.face.FaceManager
import android.provider.Settings
import com.android.systemui.plugins.statusbar.StatusBarStateController
import com.android.systemui.statusbar.NotificationLockscreenUserManager
@@ -34,6 +33,7 @@
private val unlockMethodCache: UnlockMethodCache
private val statusBarStateController: StatusBarStateController
+ private var hasFaceFeature: Boolean
/**
* The pending unlock type which is set if the bypass was blocked when it happened.
@@ -71,11 +71,8 @@
unlockMethodCache = UnlockMethodCache.getInstance(context)
this.statusBarStateController = statusBarStateController
- if (!context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_FACE)) {
- return
- }
- val faceManager = context.getSystemService(FaceManager::class.java)
- if (faceManager?.isHardwareDetected != true) {
+ hasFaceFeature = context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_FACE)
+ if (!hasFaceFeature) {
return
}
@@ -165,7 +162,7 @@
pw.print(" isPulseExpanding: "); pw.println(isPulseExpanding)
pw.print(" launchingAffordance: "); pw.println(launchingAffordance)
pw.print(" qSExpanded: "); pw.println(qSExpanded)
- pw.print(" bouncerShowing: "); pw.println(bouncerShowing)
+ pw.print(" hasFaceFeature: "); pw.println(hasFaceFeature)
}
companion object {