Move KeyguardUpdateMonitorCallback from LockIcon to Controller.

Bug: 150393918
Test: atest SystemUITests
Change-Id: I50fb9fa1447ba358750c58c77728e75c7f1aa87f
This commit is contained in:
Dave Mankoff
2020-03-04 18:06:53 -05:00
parent 78fec5102b
commit 8fe38b59bc
2 changed files with 33 additions and 29 deletions

View File

@@ -26,7 +26,6 @@ import android.graphics.Color;
import android.graphics.drawable.Animatable2;
import android.graphics.drawable.AnimatedVectorDrawable;
import android.graphics.drawable.Drawable;
import android.hardware.biometrics.BiometricSourceType;
import android.os.Trace;
import android.provider.Settings;
import android.text.TextUtils;
@@ -38,7 +37,6 @@ import androidx.annotation.Nullable;
import com.android.internal.graphics.ColorUtils;
import com.android.keyguard.KeyguardUpdateMonitor;
import com.android.keyguard.KeyguardUpdateMonitorCallback;
import com.android.systemui.Dependency;
import com.android.systemui.Interpolators;
import com.android.systemui.R;
@@ -141,31 +139,6 @@ public class LockIcon extends KeyguardAffordanceView implements
}
};
private final KeyguardUpdateMonitorCallback mUpdateMonitorCallback =
new KeyguardUpdateMonitorCallback() {
@Override
public void onSimStateChanged(int subId, int slotId, int simState) {
mSimLocked = mKeyguardUpdateMonitor.isSimPinSecure();
update();
}
@Override
public void onKeyguardVisibilityChanged(boolean showing) {
update();
}
@Override
public void onBiometricRunningStateChanged(boolean running,
BiometricSourceType biometricSourceType) {
update();
}
@Override
public void onStrongAuthStateChanged(int userId) {
update();
}
};
@Inject
public LockIcon(@Named(VIEW_CONTEXT) Context context, AttributeSet attrs,
AccessibilityController accessibilityController,
@@ -189,7 +162,6 @@ public class LockIcon extends KeyguardAffordanceView implements
protected void onAttachedToWindow() {
super.onAttachedToWindow();
mKeyguardStateController.addCallback(mKeyguardMonitorCallback);
mKeyguardUpdateMonitor.registerCallback(mUpdateMonitorCallback);
mSimLocked = mKeyguardUpdateMonitor.isSimPinSecure();
if (mDockManager != null) {
mDockManager.addListener(mDockEventListener);
@@ -200,7 +172,6 @@ public class LockIcon extends KeyguardAffordanceView implements
@Override
protected void onDetachedFromWindow() {
super.onDetachedFromWindow();
mKeyguardUpdateMonitor.removeCallback(mUpdateMonitorCallback);
mKeyguardStateController.removeCallback(mKeyguardMonitorCallback);
if (mDockManager != null) {
mDockManager.removeListener(mDockEventListener);
@@ -440,6 +411,10 @@ public class LockIcon extends KeyguardAffordanceView implements
updateDarkTint();
}
void setSimLocked(boolean simLocked) {
mSimLocked = simLocked;
}
@Retention(RetentionPolicy.SOURCE)
@IntDef({ERROR, UNLOCK, LOCK, SCANNING})
@interface LockAnimIndex {}

View File

@@ -18,12 +18,14 @@ package com.android.systemui.statusbar.phone;
import android.content.res.TypedArray;
import android.graphics.Color;
import android.hardware.biometrics.BiometricSourceType;
import android.view.View;
import android.view.ViewGroup;
import com.android.internal.logging.nano.MetricsProto;
import com.android.internal.widget.LockPatternUtils;
import com.android.keyguard.KeyguardUpdateMonitor;
import com.android.keyguard.KeyguardUpdateMonitorCallback;
import com.android.systemui.R;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.statusbar.CommandQueue;
@@ -60,6 +62,7 @@ public class LockscreenLockIconController {
mStatusBarStateController.addCallback(mSBStateListener);
mConfigurationController.addCallback(mConfigurationListener);
mNotificationWakeUpCoordinator.addListener(mWakeUpListener);
mKeyguardUpdateMonitor.registerCallback(mUpdateMonitorCallback);
mConfigurationListener.onThemeChanged();
}
@@ -69,6 +72,7 @@ public class LockscreenLockIconController {
mStatusBarStateController.removeCallback(mSBStateListener);
mConfigurationController.removeCallback(mConfigurationListener);
mNotificationWakeUpCoordinator.removeListener(mWakeUpListener);
mKeyguardUpdateMonitor.removeCallback(mUpdateMonitorCallback);
}
};
@@ -133,6 +137,31 @@ public class LockscreenLockIconController {
}
};
private final KeyguardUpdateMonitorCallback mUpdateMonitorCallback =
new KeyguardUpdateMonitorCallback() {
@Override
public void onSimStateChanged(int subId, int slotId, int simState) {
mLockIcon.setSimLocked(mKeyguardUpdateMonitor.isSimPinSecure());
mLockIcon.update();
}
@Override
public void onKeyguardVisibilityChanged(boolean showing) {
mLockIcon.update();
}
@Override
public void onBiometricRunningStateChanged(boolean running,
BiometricSourceType biometricSourceType) {
mLockIcon.update();
}
@Override
public void onStrongAuthStateChanged(int userId) {
mLockIcon.update();
}
};
@Inject
public LockscreenLockIconController(LockscreenGestureLogger lockscreenGestureLogger,
KeyguardUpdateMonitor keyguardUpdateMonitor,