Dump bypass controller state for debugging
Test: adb shell dumpsys activity service com.android.systemui
Bug: 136536811
Change-Id: I6b81a1b893c95cc0807738509755460c4b05a82a
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/BiometricUnlockController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/BiometricUnlockController.java
index 05d26b0..bc7174d 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/BiometricUnlockController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/BiometricUnlockController.java
@@ -261,6 +261,8 @@
biometricSourceType);
if (unlockAllowed) {
startWakeAndUnlock(biometricSourceType);
+ } else {
+ Log.d(TAG, "onBiometricAuthenticated aborted by bypass controller");
}
}
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 d7deedc..c88b22b 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBypassController.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBypassController.kt
@@ -21,11 +21,11 @@
import android.hardware.biometrics.BiometricSourceType
import android.hardware.face.FaceManager
import android.provider.Settings
-import com.android.keyguard.KeyguardUpdateMonitor
import com.android.systemui.plugins.statusbar.StatusBarStateController
import com.android.systemui.statusbar.NotificationLockscreenUserManager
import com.android.systemui.statusbar.StatusBarState
import com.android.systemui.tuner.TunerService
+import java.io.PrintWriter
import javax.inject.Inject
import javax.inject.Singleton
@@ -62,18 +62,15 @@
}
@Inject
- constructor(context: Context, tunerService: TunerService,
- statusBarStateController: StatusBarStateController,
- lockscreenUserManager: NotificationLockscreenUserManager) {
+ constructor(
+ context: Context,
+ tunerService: TunerService,
+ statusBarStateController: StatusBarStateController,
+ lockscreenUserManager: NotificationLockscreenUserManager
+ ) {
unlockMethodCache = UnlockMethodCache.getInstance(context)
this.statusBarStateController = statusBarStateController
- statusBarStateController.addCallback(object : StatusBarStateController.StateListener {
- override fun onStateChanged(newState: Int) {
- if (newState != StatusBarState.KEYGUARD) {
- pendingUnlockType = null;
- }
- }
- })
+
if (!context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_FACE)) {
return
}
@@ -82,16 +79,19 @@
return
}
+ statusBarStateController.addCallback(object : StatusBarStateController.StateListener {
+ override fun onStateChanged(newState: Int) {
+ if (newState != StatusBarState.KEYGUARD) {
+ pendingUnlockType = null
+ }
+ }
+ })
+
val dismissByDefault = if (context.resources.getBoolean(
- com.android.internal.R.bool.config_faceAuthDismissesKeyguard)) 1 else 0
- tunerService.addTunable(
- object : TunerService.Tunable {
- override fun onTuningChanged(key: String?, newValue: String?) {
- bypassEnabled = Settings.Secure.getIntForUser(
- context.contentResolver,
- Settings.Secure.FACE_UNLOCK_DISMISSES_KEYGUARD,
- dismissByDefault,
- KeyguardUpdateMonitor.getCurrentUser()) != 0
+ com.android.internal.R.bool.config_faceAuthDismissesKeyguard)) 1 else 0
+ tunerService.addTunable(object : TunerService.Tunable {
+ override fun onTuningChanged(key: String?, newValue: String?) {
+ bypassEnabled = tunerService.getValue(key, dismissByDefault) != 0
}
}, Settings.Secure.FACE_UNLOCK_DISMISSES_KEYGUARD)
lockscreenUserManager.addUserChangedListener { pendingUnlockType = null }
@@ -155,4 +155,16 @@
fun onStartedGoingToSleep() {
pendingUnlockType = null
}
+
+ fun dump(pw: PrintWriter) {
+ pw.println("KeyguardBypassController:")
+ pw.print(" pendingUnlockType: "); pw.println(pendingUnlockType)
+ pw.print(" bypassEnabled: "); pw.println(bypassEnabled)
+ pw.print(" canBypass: "); pw.println(canBypass())
+ pw.print(" bouncerShowing: "); pw.println(bouncerShowing)
+ pw.print(" isPulseExpanding: "); pw.println(isPulseExpanding)
+ pw.print(" launchingAffordance: "); pw.println(launchingAffordance)
+ pw.print(" qSExpanded: "); pw.println(qSExpanded)
+ pw.print(" bouncerShowing: "); pw.println(bouncerShowing)
+ }
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java
index 4392c35e..a84d359 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java
@@ -2386,6 +2386,10 @@
mLightBarController.dump(fd, pw, args);
}
+ if (mKeyguardBypassController != null) {
+ mKeyguardBypassController.dump(pw);
+ }
+
if (mKeyguardUpdateMonitor != null) {
mKeyguardUpdateMonitor.dump(fd, pw, args);
}