Merge "Add back AccessibilityFloatingMenuController into StatusBar"
This commit is contained in:
@@ -71,7 +71,9 @@ public abstract class SecureSettingsContentObserver<T> {
|
||||
public void addListener(@NonNull T listener) {
|
||||
Objects.requireNonNull(listener, "listener must be non-null");
|
||||
|
||||
mListeners.add(listener);
|
||||
if (!mListeners.contains(listener)) {
|
||||
mListeners.add(listener);
|
||||
}
|
||||
|
||||
if (mListeners.size() == 1) {
|
||||
mContentResolver.registerContentObserver(
|
||||
|
||||
@@ -98,7 +98,8 @@ public class AccessibilityFloatingMenuController implements
|
||||
mAccessibilityButtonModeObserver = accessibilityButtonModeObserver;
|
||||
mKeyguardUpdateMonitor = keyguardUpdateMonitor;
|
||||
|
||||
init();
|
||||
mIsKeyguardVisible = false;
|
||||
mIsAccessibilityManagerServiceReady = false;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -124,9 +125,8 @@ public class AccessibilityFloatingMenuController implements
|
||||
handleFloatingMenuVisibility(mIsKeyguardVisible, mBtnMode, mBtnTargets);
|
||||
}
|
||||
|
||||
private void init() {
|
||||
mIsKeyguardVisible = false;
|
||||
mIsAccessibilityManagerServiceReady = false;
|
||||
/** Initializes the AccessibilityFloatingMenuController configurations. */
|
||||
public void init() {
|
||||
mBtnMode = mAccessibilityButtonModeObserver.getCurrentAccessibilityButtonMode();
|
||||
mBtnTargets = mAccessibilityButtonTargetsObserver.getCurrentAccessibilityButtonTargets();
|
||||
registerContentObservers();
|
||||
|
||||
@@ -134,6 +134,7 @@ import com.android.systemui.EventLogTags;
|
||||
import com.android.systemui.InitController;
|
||||
import com.android.systemui.Prefs;
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.accessibility.floatingmenu.AccessibilityFloatingMenuController;
|
||||
import com.android.systemui.animation.ActivityLaunchAnimator;
|
||||
import com.android.systemui.animation.DelegateLaunchAnimatorController;
|
||||
import com.android.systemui.assist.AssistManager;
|
||||
@@ -736,6 +737,7 @@ public class StatusBar extends CoreStartable implements
|
||||
VisualStabilityManager visualStabilityManager,
|
||||
DeviceProvisionedController deviceProvisionedController,
|
||||
NavigationBarController navigationBarController,
|
||||
AccessibilityFloatingMenuController accessibilityFloatingMenuController,
|
||||
Lazy<AssistManager> assistManagerLazy,
|
||||
ConfigurationController configurationController,
|
||||
NotificationShadeWindowController notificationShadeWindowController,
|
||||
@@ -839,6 +841,7 @@ public class StatusBar extends CoreStartable implements
|
||||
mVisualStabilityManager = visualStabilityManager;
|
||||
mDeviceProvisionedController = deviceProvisionedController;
|
||||
mNavigationBarController = navigationBarController;
|
||||
mAccessibilityFloatingMenuController = accessibilityFloatingMenuController;
|
||||
mAssistManagerLazy = assistManagerLazy;
|
||||
mConfigurationController = configurationController;
|
||||
mNotificationShadeWindowController = notificationShadeWindowController;
|
||||
@@ -1054,6 +1057,8 @@ public class StatusBar extends CoreStartable implements
|
||||
mBatteryController.observe(mLifecycle, mBatteryStateChangeCallback);
|
||||
mLifecycle.setCurrentState(RESUMED);
|
||||
|
||||
mAccessibilityFloatingMenuController.init();
|
||||
|
||||
// set the initial view visibility
|
||||
int disabledFlags1 = result.mDisabledFlags1;
|
||||
int disabledFlags2 = result.mDisabledFlags2;
|
||||
@@ -3813,6 +3818,7 @@ public class StatusBar extends CoreStartable implements
|
||||
private final DeviceProvisionedController mDeviceProvisionedController;
|
||||
|
||||
private final NavigationBarController mNavigationBarController;
|
||||
private final AccessibilityFloatingMenuController mAccessibilityFloatingMenuController;
|
||||
|
||||
// UI-specific methods
|
||||
|
||||
|
||||
@@ -28,6 +28,7 @@ import com.android.internal.logging.MetricsLogger;
|
||||
import com.android.keyguard.KeyguardUpdateMonitor;
|
||||
import com.android.keyguard.ViewMediatorCallback;
|
||||
import com.android.systemui.InitController;
|
||||
import com.android.systemui.accessibility.floatingmenu.AccessibilityFloatingMenuController;
|
||||
import com.android.systemui.animation.ActivityLaunchAnimator;
|
||||
import com.android.systemui.assist.AssistManager;
|
||||
import com.android.systemui.broadcast.BroadcastDispatcher;
|
||||
@@ -185,6 +186,7 @@ public interface StatusBarPhoneModule {
|
||||
VisualStabilityManager visualStabilityManager,
|
||||
DeviceProvisionedController deviceProvisionedController,
|
||||
NavigationBarController navigationBarController,
|
||||
AccessibilityFloatingMenuController accessibilityFloatingMenuController,
|
||||
Lazy<AssistManager> assistManagerLazy,
|
||||
ConfigurationController configurationController,
|
||||
NotificationShadeWindowController notificationShadeWindowController,
|
||||
@@ -287,6 +289,7 @@ public interface StatusBarPhoneModule {
|
||||
visualStabilityManager,
|
||||
deviceProvisionedController,
|
||||
navigationBarController,
|
||||
accessibilityFloatingMenuController,
|
||||
assistManagerLazy,
|
||||
configurationController,
|
||||
notificationShadeWindowController,
|
||||
|
||||
@@ -291,9 +291,12 @@ public class AccessibilityFloatingMenuControllerTest extends SysuiTestCase {
|
||||
mTargetsObserver = spy(Dependency.get(AccessibilityButtonTargetsObserver.class));
|
||||
mModeObserver = spy(Dependency.get(AccessibilityButtonModeObserver.class));
|
||||
mKeyguardUpdateMonitor = Dependency.get(KeyguardUpdateMonitor.class);
|
||||
final AccessibilityFloatingMenuController controller =
|
||||
new AccessibilityFloatingMenuController(mContextWrapper, mTargetsObserver,
|
||||
mModeObserver, mKeyguardUpdateMonitor);
|
||||
controller.init();
|
||||
|
||||
return new AccessibilityFloatingMenuController(mContextWrapper, mTargetsObserver,
|
||||
mModeObserver, mKeyguardUpdateMonitor);
|
||||
return controller;
|
||||
}
|
||||
|
||||
private void enableAccessibilityFloatingMenuConfig() {
|
||||
|
||||
@@ -77,6 +77,7 @@ import com.android.keyguard.ViewMediatorCallback;
|
||||
import com.android.systemui.InitController;
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.SysuiTestCase;
|
||||
import com.android.systemui.accessibility.floatingmenu.AccessibilityFloatingMenuController;
|
||||
import com.android.systemui.animation.ActivityLaunchAnimator;
|
||||
import com.android.systemui.assist.AssistManager;
|
||||
import com.android.systemui.broadcast.BroadcastDispatcher;
|
||||
@@ -219,6 +220,7 @@ public class StatusBarTest extends SysuiTestCase {
|
||||
@Mock private NotificationGutsManager mNotificationGutsManager;
|
||||
@Mock private NotificationMediaManager mNotificationMediaManager;
|
||||
@Mock private NavigationBarController mNavigationBarController;
|
||||
@Mock private AccessibilityFloatingMenuController mAccessibilityFloatingMenuController;
|
||||
@Mock private BypassHeadsUpNotifier mBypassHeadsUpNotifier;
|
||||
@Mock private SysuiColorExtractor mColorExtractor;
|
||||
@Mock private ColorExtractor.GradientColors mGradientColors;
|
||||
@@ -416,6 +418,7 @@ public class StatusBarTest extends SysuiTestCase {
|
||||
mVisualStabilityManager,
|
||||
mDeviceProvisionedController,
|
||||
mNavigationBarController,
|
||||
mAccessibilityFloatingMenuController,
|
||||
() -> mAssistManager,
|
||||
configurationController,
|
||||
mNotificationShadeWindowController,
|
||||
|
||||
Reference in New Issue
Block a user