Move WakeUpListener from LockIcon to Controller.
Replaces inheritance to delegation within the controller. Bug: 150393918 Test: atest SystemUITests Change-Id: Ic39995edd3f511898f5d77dadbe15fe9c1f01251
This commit is contained in:
@@ -61,7 +61,6 @@ import javax.inject.Named;
|
||||
* Manages the different states and animations of the unlock icon.
|
||||
*/
|
||||
public class LockIcon extends KeyguardAffordanceView implements
|
||||
NotificationWakeUpCoordinator.WakeUpListener,
|
||||
ViewTreeObserver.OnPreDrawListener, OnHeadsUpChangedListener {
|
||||
|
||||
private static final int STATE_LOCKED = 0;
|
||||
@@ -192,7 +191,6 @@ public class LockIcon extends KeyguardAffordanceView implements
|
||||
super.onAttachedToWindow();
|
||||
mKeyguardStateController.addCallback(mKeyguardMonitorCallback);
|
||||
mKeyguardUpdateMonitor.registerCallback(mUpdateMonitorCallback);
|
||||
mWakeUpCoordinator.addListener(this);
|
||||
mSimLocked = mKeyguardUpdateMonitor.isSimPinSecure();
|
||||
if (mDockManager != null) {
|
||||
mDockManager.addListener(mDockEventListener);
|
||||
@@ -205,7 +203,6 @@ public class LockIcon extends KeyguardAffordanceView implements
|
||||
super.onDetachedFromWindow();
|
||||
mKeyguardUpdateMonitor.removeCallback(mUpdateMonitorCallback);
|
||||
mKeyguardStateController.removeCallback(mKeyguardMonitorCallback);
|
||||
mWakeUpCoordinator.removeListener(this);
|
||||
if (mDockManager != null) {
|
||||
mDockManager.removeListener(mDockEventListener);
|
||||
}
|
||||
@@ -306,7 +303,7 @@ public class LockIcon extends KeyguardAffordanceView implements
|
||||
* Update the icon visibility
|
||||
* @return true if the visibility changed
|
||||
*/
|
||||
private boolean updateIconVisibility() {
|
||||
boolean updateIconVisibility() {
|
||||
boolean onAodNotPulsingOrDocked = mDozing && (!mPulsing || mDocked);
|
||||
boolean invisible = onAodNotPulsingOrDocked || mWakeAndUnlockRunning
|
||||
|| mShowingLaunchAffordance;
|
||||
@@ -424,16 +421,6 @@ public class LockIcon extends KeyguardAffordanceView implements
|
||||
return -1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFullyHiddenChanged(boolean isFullyHidden) {
|
||||
if (mBypassController.getBypassEnabled()) {
|
||||
boolean changed = updateIconVisibility();
|
||||
if (changed) {
|
||||
update();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void setBouncerShowingScrimmed(boolean bouncerShowing) {
|
||||
mBouncerShowingScrimmed = bouncerShowing;
|
||||
if (mBypassController.getBypassEnabled()) {
|
||||
|
||||
@@ -28,6 +28,8 @@ import com.android.systemui.R;
|
||||
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
||||
import com.android.systemui.statusbar.CommandQueue;
|
||||
import com.android.systemui.statusbar.KeyguardIndicationController;
|
||||
import com.android.systemui.statusbar.notification.NotificationWakeUpCoordinator;
|
||||
import com.android.systemui.statusbar.notification.NotificationWakeUpCoordinator.WakeUpListener;
|
||||
import com.android.systemui.statusbar.policy.AccessibilityController;
|
||||
import com.android.systemui.statusbar.policy.ConfigurationController;
|
||||
import com.android.systemui.statusbar.policy.ConfigurationController.ConfigurationListener;
|
||||
@@ -47,6 +49,8 @@ public class LockscreenLockIconController {
|
||||
private final KeyguardIndicationController mKeyguardIndicationController;
|
||||
private final StatusBarStateController mStatusBarStateController;
|
||||
private final ConfigurationController mConfigurationController;
|
||||
private final NotificationWakeUpCoordinator mNotificationWakeUpCoordinator;
|
||||
private final KeyguardBypassController mKeyguardBypassController;
|
||||
private LockIcon mLockIcon;
|
||||
|
||||
private View.OnAttachStateChangeListener mOnAttachStateChangeListener =
|
||||
@@ -55,6 +59,7 @@ public class LockscreenLockIconController {
|
||||
public void onViewAttachedToWindow(View v) {
|
||||
mStatusBarStateController.addCallback(mSBStateListener);
|
||||
mConfigurationController.addCallback(mConfigurationListener);
|
||||
mNotificationWakeUpCoordinator.addListener(mWakeUpListener);
|
||||
|
||||
mConfigurationListener.onThemeChanged();
|
||||
}
|
||||
@@ -63,6 +68,7 @@ public class LockscreenLockIconController {
|
||||
public void onViewDetachedFromWindow(View v) {
|
||||
mStatusBarStateController.removeCallback(mSBStateListener);
|
||||
mConfigurationController.removeCallback(mConfigurationListener);
|
||||
mNotificationWakeUpCoordinator.removeListener(mWakeUpListener);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -115,6 +121,18 @@ public class LockscreenLockIconController {
|
||||
}
|
||||
};
|
||||
|
||||
private final WakeUpListener mWakeUpListener = new WakeUpListener() {
|
||||
@Override
|
||||
public void onFullyHiddenChanged(boolean isFullyHidden) {
|
||||
if (mKeyguardBypassController.getBypassEnabled()) {
|
||||
boolean changed = mLockIcon.updateIconVisibility();
|
||||
if (changed) {
|
||||
mLockIcon.update();
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@Inject
|
||||
public LockscreenLockIconController(LockscreenGestureLogger lockscreenGestureLogger,
|
||||
KeyguardUpdateMonitor keyguardUpdateMonitor,
|
||||
@@ -123,7 +141,9 @@ public class LockscreenLockIconController {
|
||||
AccessibilityController accessibilityController,
|
||||
KeyguardIndicationController keyguardIndicationController,
|
||||
StatusBarStateController statusBarStateController,
|
||||
ConfigurationController configurationController) {
|
||||
ConfigurationController configurationController,
|
||||
NotificationWakeUpCoordinator notificationWakeUpCoordinator,
|
||||
KeyguardBypassController keyguardBypassController) {
|
||||
mLockscreenGestureLogger = lockscreenGestureLogger;
|
||||
mKeyguardUpdateMonitor = keyguardUpdateMonitor;
|
||||
mLockPatternUtils = lockPatternUtils;
|
||||
@@ -132,6 +152,8 @@ public class LockscreenLockIconController {
|
||||
mKeyguardIndicationController = keyguardIndicationController;
|
||||
mStatusBarStateController = statusBarStateController;
|
||||
mConfigurationController = configurationController;
|
||||
mNotificationWakeUpCoordinator = notificationWakeUpCoordinator;
|
||||
mKeyguardBypassController = keyguardBypassController;
|
||||
|
||||
mKeyguardIndicationController.setLockIconController(this);
|
||||
}
|
||||
|
||||
@@ -31,6 +31,7 @@ import com.android.keyguard.KeyguardUpdateMonitor;
|
||||
import com.android.systemui.SysuiTestCase;
|
||||
import com.android.systemui.plugins.statusbar.StatusBarStateController;
|
||||
import com.android.systemui.statusbar.KeyguardIndicationController;
|
||||
import com.android.systemui.statusbar.notification.NotificationWakeUpCoordinator;
|
||||
import com.android.systemui.statusbar.policy.AccessibilityController;
|
||||
import com.android.systemui.statusbar.policy.ConfigurationController;
|
||||
|
||||
@@ -63,6 +64,10 @@ public class LockscreenIconControllerTest extends SysuiTestCase {
|
||||
private StatusBarStateController mStatusBarStateController;
|
||||
@Mock
|
||||
private ConfigurationController mConfigurationController;
|
||||
@Mock
|
||||
private NotificationWakeUpCoordinator mNotificationWakeUpCoordinator;
|
||||
@Mock
|
||||
private KeyguardBypassController mKeyguardBypassController;
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
@@ -71,7 +76,8 @@ public class LockscreenIconControllerTest extends SysuiTestCase {
|
||||
mLockIconController = new LockscreenLockIconController(
|
||||
mLockscreenGestureLogger, mKeyguardUpdateMonitor, mLockPatternUtils,
|
||||
mShadeController, mAccessibilityController, mKeyguardIndicationController,
|
||||
mStatusBarStateController, mConfigurationController);
|
||||
mStatusBarStateController, mConfigurationController, mNotificationWakeUpCoordinator,
|
||||
mKeyguardBypassController);
|
||||
|
||||
mLockIconController.attach(mLockIcon);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user