Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 51c5245b authored by Dave Mankoff's avatar Dave Mankoff
Browse files

Move WakeUpListener from LockIcon to Controller.

Replaces inheritance to delegation within the controller.

Bug: 150393918
Test: atest SystemUITests
Change-Id: Ic39995edd3f511898f5d77dadbe15fe9c1f01251
parent 90f81b41
Loading
Loading
Loading
Loading
+1 −14
Original line number Diff line number Diff line
@@ -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()) {
+23 −1
Original line number Diff line number Diff line
@@ -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);
    }
+7 −1
Original line number Diff line number Diff line
@@ -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);
    }