Loading packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java +2 −32 Original line number Diff line number Diff line Loading @@ -71,7 +71,6 @@ import android.os.ServiceManager; import android.os.Trace; import android.os.UserHandle; import android.os.UserManager; import android.os.Vibrator; import android.provider.Settings; import android.service.dreams.DreamService; import android.service.dreams.IDreamManager; Loading @@ -86,7 +85,6 @@ import android.util.Log; import android.util.SparseArray; import android.util.SparseBooleanArray; import androidx.annotation.Nullable; import androidx.lifecycle.Observer; import com.android.internal.annotations.VisibleForTesting; Loading @@ -98,7 +96,6 @@ import com.android.systemui.DejankUtils; import com.android.systemui.Dumpable; import com.android.systemui.R; import com.android.systemui.biometrics.AuthController; import com.android.systemui.biometrics.UdfpsController; import com.android.systemui.broadcast.BroadcastDispatcher; import com.android.systemui.dagger.SysUISingleton; import com.android.systemui.dagger.qualifiers.Background; Loading Loading @@ -285,9 +282,6 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab @VisibleForTesting protected boolean mTelephonyCapable; private final boolean mAcquiredHapticEnabled = false; @Nullable private final Vibrator mVibrator; // Device provisioning state private boolean mDeviceProvisioned; Loading Loading @@ -1406,7 +1400,6 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab @VisibleForTesting final FingerprintManager.AuthenticationCallback mFingerprintAuthenticationCallback = new AuthenticationCallback() { private boolean mPlayedAcquiredHaptic; @Override public void onAuthenticationFailed() { Loading @@ -1418,11 +1411,6 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab Trace.beginSection("KeyguardUpdateMonitor#onAuthenticationSucceeded"); handleFingerprintAuthenticated(result.getUserId(), result.isStrongBiometric()); Trace.endSection(); // on auth success, we sometimes never received an acquired haptic if (!mPlayedAcquiredHaptic && isUdfpsEnrolled()) { playAcquiredHaptic(); } } @Override Loading @@ -1438,17 +1426,11 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab @Override public void onAuthenticationAcquired(int acquireInfo) { handleFingerprintAcquired(acquireInfo); if (acquireInfo == FingerprintManager.FINGERPRINT_ACQUIRED_GOOD && isUdfpsEnrolled()) { mPlayedAcquiredHaptic = true; playAcquiredHaptic(); } } @Override public void onUdfpsPointerDown(int sensorId) { Log.d(TAG, "onUdfpsPointerDown, sensorId: " + sensorId); mPlayedAcquiredHaptic = false; } @Override Loading @@ -1457,17 +1439,6 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab } }; /** * Play haptic to signal udfps fingeprrint acquired. */ @VisibleForTesting public void playAcquiredHaptic() { if (mAcquiredHapticEnabled && mVibrator != null) { mVibrator.vibrate(UdfpsController.EFFECT_CLICK, UdfpsController.VIBRATION_SONIFICATION_ATTRIBUTES); } } private final FaceManager.FaceDetectionCallback mFaceDetectionCallback = (sensorId, userId, isStrongBiometric) -> { // Trigger the face success path so the bouncer can be shown Loading Loading @@ -1771,8 +1742,8 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab AuthController authController, TelephonyListenerManager telephonyListenerManager, FeatureFlags featureFlags, InteractionJankMonitor interactionJankMonitor, @Nullable Vibrator vibrator) { InteractionJankMonitor interactionJankMonitor ) { mContext = context; mSubscriptionManager = SubscriptionManager.from(context); mTelephonyListenerManager = telephonyListenerManager; Loading @@ -1788,7 +1759,6 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab mLockPatternUtils = lockPatternUtils; mAuthController = authController; dumpManager.registerDumpable(getClass().getName(), this); mVibrator = vibrator; mHandler = new Handler(mainLooper) { @Override Loading packages/SystemUI/src/com/android/systemui/biometrics/UdfpsHapticsSimulator.kt +0 −4 Original line number Diff line number Diff line Loading @@ -58,9 +58,6 @@ class UdfpsHapticsSimulator @Inject constructor( "start" -> { udfpsController?.playStartHaptic() } "acquired" -> { keyguardUpdateMonitor.playAcquiredHaptic() } "success" -> { // needs to be kept up to date with AcquisitionClient#SUCCESS_VIBRATION_EFFECT vibrator?.vibrate( Loading @@ -82,7 +79,6 @@ class UdfpsHapticsSimulator @Inject constructor( pw.println("Usage: adb shell cmd statusbar udfps-haptic <haptic>") pw.println("Available commands:") pw.println(" start") pw.println(" acquired") pw.println(" success, always plays CLICK haptic") pw.println(" error, always plays DOUBLE_CLICK haptic") } Loading packages/SystemUI/tests/src/com/android/keyguard/KeyguardUpdateMonitorTest.java +1 −4 Original line number Diff line number Diff line Loading @@ -64,7 +64,6 @@ import android.os.Handler; import android.os.IRemoteCallback; import android.os.UserHandle; import android.os.UserManager; import android.os.Vibrator; import android.telephony.ServiceState; import android.telephony.SubscriptionInfo; import android.telephony.SubscriptionManager; Loading Loading @@ -173,8 +172,6 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase { private FeatureFlags mFeatureFlags; @Mock private InteractionJankMonitor mInteractionJankMonitor; @Mock private Vibrator mVibrator; @Captor private ArgumentCaptor<StatusBarStateController.StateListener> mStatusBarStateListenerCaptor; // Direct executor Loading Loading @@ -1064,7 +1061,7 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase { mRingerModeTracker, mBackgroundExecutor, mStatusBarStateController, mLockPatternUtils, mAuthController, mTelephonyListenerManager, mFeatureFlags, mInteractionJankMonitor, mVibrator); mInteractionJankMonitor); setStrongAuthTracker(KeyguardUpdateMonitorTest.this.mStrongAuthTracker); } Loading Loading
packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java +2 −32 Original line number Diff line number Diff line Loading @@ -71,7 +71,6 @@ import android.os.ServiceManager; import android.os.Trace; import android.os.UserHandle; import android.os.UserManager; import android.os.Vibrator; import android.provider.Settings; import android.service.dreams.DreamService; import android.service.dreams.IDreamManager; Loading @@ -86,7 +85,6 @@ import android.util.Log; import android.util.SparseArray; import android.util.SparseBooleanArray; import androidx.annotation.Nullable; import androidx.lifecycle.Observer; import com.android.internal.annotations.VisibleForTesting; Loading @@ -98,7 +96,6 @@ import com.android.systemui.DejankUtils; import com.android.systemui.Dumpable; import com.android.systemui.R; import com.android.systemui.biometrics.AuthController; import com.android.systemui.biometrics.UdfpsController; import com.android.systemui.broadcast.BroadcastDispatcher; import com.android.systemui.dagger.SysUISingleton; import com.android.systemui.dagger.qualifiers.Background; Loading Loading @@ -285,9 +282,6 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab @VisibleForTesting protected boolean mTelephonyCapable; private final boolean mAcquiredHapticEnabled = false; @Nullable private final Vibrator mVibrator; // Device provisioning state private boolean mDeviceProvisioned; Loading Loading @@ -1406,7 +1400,6 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab @VisibleForTesting final FingerprintManager.AuthenticationCallback mFingerprintAuthenticationCallback = new AuthenticationCallback() { private boolean mPlayedAcquiredHaptic; @Override public void onAuthenticationFailed() { Loading @@ -1418,11 +1411,6 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab Trace.beginSection("KeyguardUpdateMonitor#onAuthenticationSucceeded"); handleFingerprintAuthenticated(result.getUserId(), result.isStrongBiometric()); Trace.endSection(); // on auth success, we sometimes never received an acquired haptic if (!mPlayedAcquiredHaptic && isUdfpsEnrolled()) { playAcquiredHaptic(); } } @Override Loading @@ -1438,17 +1426,11 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab @Override public void onAuthenticationAcquired(int acquireInfo) { handleFingerprintAcquired(acquireInfo); if (acquireInfo == FingerprintManager.FINGERPRINT_ACQUIRED_GOOD && isUdfpsEnrolled()) { mPlayedAcquiredHaptic = true; playAcquiredHaptic(); } } @Override public void onUdfpsPointerDown(int sensorId) { Log.d(TAG, "onUdfpsPointerDown, sensorId: " + sensorId); mPlayedAcquiredHaptic = false; } @Override Loading @@ -1457,17 +1439,6 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab } }; /** * Play haptic to signal udfps fingeprrint acquired. */ @VisibleForTesting public void playAcquiredHaptic() { if (mAcquiredHapticEnabled && mVibrator != null) { mVibrator.vibrate(UdfpsController.EFFECT_CLICK, UdfpsController.VIBRATION_SONIFICATION_ATTRIBUTES); } } private final FaceManager.FaceDetectionCallback mFaceDetectionCallback = (sensorId, userId, isStrongBiometric) -> { // Trigger the face success path so the bouncer can be shown Loading Loading @@ -1771,8 +1742,8 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab AuthController authController, TelephonyListenerManager telephonyListenerManager, FeatureFlags featureFlags, InteractionJankMonitor interactionJankMonitor, @Nullable Vibrator vibrator) { InteractionJankMonitor interactionJankMonitor ) { mContext = context; mSubscriptionManager = SubscriptionManager.from(context); mTelephonyListenerManager = telephonyListenerManager; Loading @@ -1788,7 +1759,6 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab mLockPatternUtils = lockPatternUtils; mAuthController = authController; dumpManager.registerDumpable(getClass().getName(), this); mVibrator = vibrator; mHandler = new Handler(mainLooper) { @Override Loading
packages/SystemUI/src/com/android/systemui/biometrics/UdfpsHapticsSimulator.kt +0 −4 Original line number Diff line number Diff line Loading @@ -58,9 +58,6 @@ class UdfpsHapticsSimulator @Inject constructor( "start" -> { udfpsController?.playStartHaptic() } "acquired" -> { keyguardUpdateMonitor.playAcquiredHaptic() } "success" -> { // needs to be kept up to date with AcquisitionClient#SUCCESS_VIBRATION_EFFECT vibrator?.vibrate( Loading @@ -82,7 +79,6 @@ class UdfpsHapticsSimulator @Inject constructor( pw.println("Usage: adb shell cmd statusbar udfps-haptic <haptic>") pw.println("Available commands:") pw.println(" start") pw.println(" acquired") pw.println(" success, always plays CLICK haptic") pw.println(" error, always plays DOUBLE_CLICK haptic") } Loading
packages/SystemUI/tests/src/com/android/keyguard/KeyguardUpdateMonitorTest.java +1 −4 Original line number Diff line number Diff line Loading @@ -64,7 +64,6 @@ import android.os.Handler; import android.os.IRemoteCallback; import android.os.UserHandle; import android.os.UserManager; import android.os.Vibrator; import android.telephony.ServiceState; import android.telephony.SubscriptionInfo; import android.telephony.SubscriptionManager; Loading Loading @@ -173,8 +172,6 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase { private FeatureFlags mFeatureFlags; @Mock private InteractionJankMonitor mInteractionJankMonitor; @Mock private Vibrator mVibrator; @Captor private ArgumentCaptor<StatusBarStateController.StateListener> mStatusBarStateListenerCaptor; // Direct executor Loading Loading @@ -1064,7 +1061,7 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase { mRingerModeTracker, mBackgroundExecutor, mStatusBarStateController, mLockPatternUtils, mAuthController, mTelephonyListenerManager, mFeatureFlags, mInteractionJankMonitor, mVibrator); mInteractionJankMonitor); setStrongAuthTracker(KeyguardUpdateMonitorTest.this.mStrongAuthTracker); } Loading