summaryrefslogtreecommitdiff
path: root/packages/SystemUI/src/com/android/keyguard/AnimatableClockController.java
diff options
context:
space:
mode:
authorBeverly <beverlyt@google.com>2021-04-28 13:29:36 -0400
committerBeverly <beverlyt@google.com>2021-04-28 14:31:27 -0400
commitc8410aa9c2c765c7b8866bf376397e28e7581e33 (patch)
tree60131fd66469190f9d75d0015a4da739433e7e4f /packages/SystemUI/src/com/android/keyguard/AnimatableClockController.java
parent5f82e987a3de4f13fd3619d17fab7dba035d9ad8 (diff)
Animate clock weight to 0 on bypass face auth
Test: manual Fixes: 186631254 Change-Id: Ib9ceb4c23c06717404845535ee86987d7f43686f
Diffstat (limited to 'packages/SystemUI/src/com/android/keyguard/AnimatableClockController.java')
-rw-r--r--packages/SystemUI/src/com/android/keyguard/AnimatableClockController.java27
1 files changed, 25 insertions, 2 deletions
diff --git a/packages/SystemUI/src/com/android/keyguard/AnimatableClockController.java b/packages/SystemUI/src/com/android/keyguard/AnimatableClockController.java
index 60b677a4e561..825e008263fa 100644
--- a/packages/SystemUI/src/com/android/keyguard/AnimatableClockController.java
+++ b/packages/SystemUI/src/com/android/keyguard/AnimatableClockController.java
@@ -21,12 +21,14 @@ import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.graphics.Color;
+import android.hardware.biometrics.BiometricSourceType;
import android.icu.text.NumberFormat;
import com.android.settingslib.Utils;
import com.android.systemui.R;
import com.android.systemui.broadcast.BroadcastDispatcher;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
+import com.android.systemui.statusbar.phone.KeyguardBypassController;
import com.android.systemui.statusbar.policy.BatteryController;
import com.android.systemui.util.ViewController;
@@ -35,13 +37,15 @@ import java.util.Objects;
import java.util.TimeZone;
/**
- * Controller for an AnimatableClockView.
+ * Controller for an AnimatableClockView. Instantiated by {@link KeyguardClockSwitchController}.
*/
public class AnimatableClockController extends ViewController<AnimatableClockView> {
private static final int FORMAT_NUMBER = 1234567890;
private final StatusBarStateController mStatusBarStateController;
private final BroadcastDispatcher mBroadcastDispatcher;
+ private final KeyguardUpdateMonitor mKeyguardUpdateMonitor;
+ private final KeyguardBypassController mBypassController;
private final int mDozingColor = Color.WHITE;
private int mLockScreenColor;
@@ -59,12 +63,16 @@ public class AnimatableClockController extends ViewController<AnimatableClockVie
AnimatableClockView view,
StatusBarStateController statusBarStateController,
BroadcastDispatcher broadcastDispatcher,
- BatteryController batteryController) {
+ BatteryController batteryController,
+ KeyguardUpdateMonitor keyguardUpdateMonitor,
+ KeyguardBypassController bypassController) {
super(view);
mStatusBarStateController = statusBarStateController;
mIsDozing = mStatusBarStateController.isDozing();
mDozeAmount = mStatusBarStateController.getDozeAmount();
mBroadcastDispatcher = broadcastDispatcher;
+ mKeyguardUpdateMonitor = keyguardUpdateMonitor;
+ mBypassController = bypassController;
mBurmeseNumerals = mBurmeseNf.format(FORMAT_NUMBER);
mBurmeseLineSpacing = getContext().getResources().getFloat(
@@ -98,14 +106,29 @@ public class AnimatableClockController extends ViewController<AnimatableClockVie
mStatusBarStateController.addCallback(mStatusBarStateListener);
mIsDozing = mStatusBarStateController.isDozing();
mDozeAmount = mStatusBarStateController.getDozeAmount();
+ mKeyguardUpdateMonitor.registerCallback(mKeyguardUpdateMonitorCallback);
+
refreshTime();
initColors();
}
+ private final KeyguardUpdateMonitorCallback mKeyguardUpdateMonitorCallback =
+ new KeyguardUpdateMonitorCallback() {
+ @Override
+ public void onBiometricAuthenticated(int userId, BiometricSourceType biometricSourceType,
+ boolean isStrongBiometric) {
+ if (biometricSourceType == BiometricSourceType.FACE
+ && mBypassController.canBypass()) {
+ mView.animateDisappear();
+ }
+ }
+ };
+
@Override
protected void onViewDetached() {
mBroadcastDispatcher.unregisterReceiver(mLocaleBroadcastReceiver);
mStatusBarStateController.removeCallback(mStatusBarStateListener);
+ mKeyguardUpdateMonitor.removeCallback(mKeyguardUpdateMonitorCallback);
}
/**