summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Dave Mankoff <mankoff@google.com> 2020-03-05 13:57:43 -0500
committer Dave Mankoff <mankoff@google.com> 2020-03-05 16:31:16 -0500
commit1bf337f01a7275b9fe55b3fb2b932384b6fd76ba (patch)
treefb06df3e8505e50510c7d8eea654885aa4ec6596
parent8fe38b59bc14f568761ad9d66cbfe0c4c1f84e2b (diff)
Move DockEventListener from LockIcon to Controller
Bug: 150393918 Test: atest SystemUITests && manual Change-Id: I431ca2951d4fb2ca38601a3dbd8ea157d6a81a73
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/LockIcon.java32
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/LockscreenLockIconController.java19
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/LockscreenIconControllerTest.java6
3 files changed, 31 insertions, 26 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/LockIcon.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/LockIcon.java
index 468f98b8a19b..cf9d43eeff73 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/LockIcon.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/LockIcon.java
@@ -33,14 +33,11 @@ import android.util.AttributeSet;
import android.view.ViewTreeObserver;
import android.view.accessibility.AccessibilityNodeInfo;
-import androidx.annotation.Nullable;
-
import com.android.internal.graphics.ColorUtils;
import com.android.keyguard.KeyguardUpdateMonitor;
import com.android.systemui.Dependency;
import com.android.systemui.Interpolators;
import com.android.systemui.R;
-import com.android.systemui.dock.DockManager;
import com.android.systemui.statusbar.KeyguardAffordanceView;
import com.android.systemui.statusbar.StatusBarState;
import com.android.systemui.statusbar.notification.NotificationWakeUpCoordinator;
@@ -66,7 +63,6 @@ public class LockIcon extends KeyguardAffordanceView implements
private static final int STATE_BIOMETRICS_ERROR = 3;
private final KeyguardUpdateMonitor mKeyguardUpdateMonitor;
private final AccessibilityController mAccessibilityController;
- private final DockManager mDockManager;
private final KeyguardStateController mKeyguardStateController;
private final KeyguardBypassController mBypassController;
private final NotificationWakeUpCoordinator mWakeUpCoordinator;
@@ -126,18 +122,6 @@ public class LockIcon extends KeyguardAffordanceView implements
update();
}
};
- private final DockManager.DockEventListener mDockEventListener =
- new DockManager.DockEventListener() {
- @Override
- public void onEvent(int event) {
- boolean docked = event == DockManager.STATE_DOCKED
- || event == DockManager.STATE_DOCKED_HIDE;
- if (docked != mDocked) {
- mDocked = docked;
- update();
- }
- }
- };
@Inject
public LockIcon(@Named(VIEW_CONTEXT) Context context, AttributeSet attrs,
@@ -145,7 +129,6 @@ public class LockIcon extends KeyguardAffordanceView implements
KeyguardBypassController bypassController,
NotificationWakeUpCoordinator wakeUpCoordinator,
KeyguardStateController keyguardStateController,
- @Nullable DockManager dockManager,
HeadsUpManagerPhone headsUpManager) {
super(context, attrs);
mContext = context;
@@ -154,7 +137,6 @@ public class LockIcon extends KeyguardAffordanceView implements
mBypassController = bypassController;
mWakeUpCoordinator = wakeUpCoordinator;
mKeyguardStateController = keyguardStateController;
- mDockManager = dockManager;
mHeadsUpManager = headsUpManager;
}
@@ -163,9 +145,6 @@ public class LockIcon extends KeyguardAffordanceView implements
super.onAttachedToWindow();
mKeyguardStateController.addCallback(mKeyguardMonitorCallback);
mSimLocked = mKeyguardUpdateMonitor.isSimPinSecure();
- if (mDockManager != null) {
- mDockManager.addListener(mDockEventListener);
- }
update();
}
@@ -173,9 +152,6 @@ public class LockIcon extends KeyguardAffordanceView implements
protected void onDetachedFromWindow() {
super.onDetachedFromWindow();
mKeyguardStateController.removeCallback(mKeyguardMonitorCallback);
- if (mDockManager != null) {
- mDockManager.removeListener(mDockEventListener);
- }
}
/**
@@ -415,6 +391,14 @@ public class LockIcon extends KeyguardAffordanceView implements
mSimLocked = simLocked;
}
+ /** Set if the device is docked. */
+ public void setDocked(boolean docked) {
+ if (mDocked != docked) {
+ mDocked = docked;
+ update();
+ }
+ }
+
@Retention(RetentionPolicy.SOURCE)
@IntDef({ERROR, UNLOCK, LOCK, SCANNING})
@interface LockAnimIndex {}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/LockscreenLockIconController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/LockscreenLockIconController.java
index 8dc6012f7c89..2b1a8a472d9e 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/LockscreenLockIconController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/LockscreenLockIconController.java
@@ -22,11 +22,14 @@ import android.hardware.biometrics.BiometricSourceType;
import android.view.View;
import android.view.ViewGroup;
+import androidx.annotation.Nullable;
+
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.dock.DockManager;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.statusbar.CommandQueue;
import com.android.systemui.statusbar.KeyguardIndicationController;
@@ -36,6 +39,8 @@ import com.android.systemui.statusbar.policy.AccessibilityController;
import com.android.systemui.statusbar.policy.ConfigurationController;
import com.android.systemui.statusbar.policy.ConfigurationController.ConfigurationListener;
+import java.util.Optional;
+
import javax.inject.Inject;
import javax.inject.Singleton;
@@ -53,6 +58,7 @@ public class LockscreenLockIconController {
private final ConfigurationController mConfigurationController;
private final NotificationWakeUpCoordinator mNotificationWakeUpCoordinator;
private final KeyguardBypassController mKeyguardBypassController;
+ private final Optional<DockManager> mDockManager;
private LockIcon mLockIcon;
private View.OnAttachStateChangeListener mOnAttachStateChangeListener =
@@ -64,6 +70,8 @@ public class LockscreenLockIconController {
mNotificationWakeUpCoordinator.addListener(mWakeUpListener);
mKeyguardUpdateMonitor.registerCallback(mUpdateMonitorCallback);
+ mDockManager.ifPresent(dockManager -> dockManager.addListener(mDockEventListener));
+
mConfigurationListener.onThemeChanged();
}
@@ -73,6 +81,9 @@ public class LockscreenLockIconController {
mConfigurationController.removeCallback(mConfigurationListener);
mNotificationWakeUpCoordinator.removeListener(mWakeUpListener);
mKeyguardUpdateMonitor.removeCallback(mUpdateMonitorCallback);
+
+
+ mDockManager.ifPresent(dockManager -> dockManager.removeListener(mDockEventListener));
}
};
@@ -162,6 +173,10 @@ public class LockscreenLockIconController {
}
};
+ private final DockManager.DockEventListener mDockEventListener =
+ event -> mLockIcon.setDocked(event == DockManager.STATE_DOCKED
+ || event == DockManager.STATE_DOCKED_HIDE);
+
@Inject
public LockscreenLockIconController(LockscreenGestureLogger lockscreenGestureLogger,
KeyguardUpdateMonitor keyguardUpdateMonitor,
@@ -172,7 +187,8 @@ public class LockscreenLockIconController {
StatusBarStateController statusBarStateController,
ConfigurationController configurationController,
NotificationWakeUpCoordinator notificationWakeUpCoordinator,
- KeyguardBypassController keyguardBypassController) {
+ KeyguardBypassController keyguardBypassController,
+ @Nullable DockManager dockManager) {
mLockscreenGestureLogger = lockscreenGestureLogger;
mKeyguardUpdateMonitor = keyguardUpdateMonitor;
mLockPatternUtils = lockPatternUtils;
@@ -183,6 +199,7 @@ public class LockscreenLockIconController {
mConfigurationController = configurationController;
mNotificationWakeUpCoordinator = notificationWakeUpCoordinator;
mKeyguardBypassController = keyguardBypassController;
+ mDockManager = dockManager == null ? Optional.empty() : Optional.of(dockManager);
mKeyguardIndicationController.setLockIconController(this);
}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/LockscreenIconControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/LockscreenIconControllerTest.java
index be8d1821faa4..487885ac244e 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/LockscreenIconControllerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/LockscreenIconControllerTest.java
@@ -29,6 +29,7 @@ import androidx.test.runner.AndroidJUnit4;
import com.android.internal.widget.LockPatternUtils;
import com.android.keyguard.KeyguardUpdateMonitor;
import com.android.systemui.SysuiTestCase;
+import com.android.systemui.dock.DockManager;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.statusbar.KeyguardIndicationController;
import com.android.systemui.statusbar.notification.NotificationWakeUpCoordinator;
@@ -68,6 +69,9 @@ public class LockscreenIconControllerTest extends SysuiTestCase {
private NotificationWakeUpCoordinator mNotificationWakeUpCoordinator;
@Mock
private KeyguardBypassController mKeyguardBypassController;
+ @Mock
+ private DockManager mDockManager;
+
@Before
public void setUp() {
@@ -77,7 +81,7 @@ public class LockscreenIconControllerTest extends SysuiTestCase {
mLockscreenGestureLogger, mKeyguardUpdateMonitor, mLockPatternUtils,
mShadeController, mAccessibilityController, mKeyguardIndicationController,
mStatusBarStateController, mConfigurationController, mNotificationWakeUpCoordinator,
- mKeyguardBypassController);
+ mKeyguardBypassController, mDockManager);
mLockIconController.attach(mLockIcon);
}