Merge "Add back AccessibilityFloatingMenuController into StatusBar" into sc-v2-dev

This commit is contained in:
Jason Hsu
2021-12-01 01:56:46 +00:00
committed by Android (Google) Code Review
6 changed files with 24 additions and 7 deletions

View File

@@ -71,7 +71,9 @@ public abstract class SecureSettingsContentObserver<T> {
public void addListener(@NonNull T listener) { public void addListener(@NonNull T listener) {
Objects.requireNonNull(listener, "listener must be non-null"); Objects.requireNonNull(listener, "listener must be non-null");
mListeners.add(listener); if (!mListeners.contains(listener)) {
mListeners.add(listener);
}
if (mListeners.size() == 1) { if (mListeners.size() == 1) {
mContentResolver.registerContentObserver( mContentResolver.registerContentObserver(

View File

@@ -98,7 +98,8 @@ public class AccessibilityFloatingMenuController implements
mAccessibilityButtonModeObserver = accessibilityButtonModeObserver; mAccessibilityButtonModeObserver = accessibilityButtonModeObserver;
mKeyguardUpdateMonitor = keyguardUpdateMonitor; mKeyguardUpdateMonitor = keyguardUpdateMonitor;
init(); mIsKeyguardVisible = false;
mIsAccessibilityManagerServiceReady = false;
} }
/** /**
@@ -124,9 +125,8 @@ public class AccessibilityFloatingMenuController implements
handleFloatingMenuVisibility(mIsKeyguardVisible, mBtnMode, mBtnTargets); handleFloatingMenuVisibility(mIsKeyguardVisible, mBtnMode, mBtnTargets);
} }
private void init() { /** Initializes the AccessibilityFloatingMenuController configurations. */
mIsKeyguardVisible = false; public void init() {
mIsAccessibilityManagerServiceReady = false;
mBtnMode = mAccessibilityButtonModeObserver.getCurrentAccessibilityButtonMode(); mBtnMode = mAccessibilityButtonModeObserver.getCurrentAccessibilityButtonMode();
mBtnTargets = mAccessibilityButtonTargetsObserver.getCurrentAccessibilityButtonTargets(); mBtnTargets = mAccessibilityButtonTargetsObserver.getCurrentAccessibilityButtonTargets();
registerContentObservers(); registerContentObservers();

View File

@@ -133,6 +133,7 @@ import com.android.systemui.InitController;
import com.android.systemui.Prefs; import com.android.systemui.Prefs;
import com.android.systemui.R; import com.android.systemui.R;
import com.android.systemui.SystemUI; import com.android.systemui.SystemUI;
import com.android.systemui.accessibility.floatingmenu.AccessibilityFloatingMenuController;
import com.android.systemui.animation.ActivityLaunchAnimator; import com.android.systemui.animation.ActivityLaunchAnimator;
import com.android.systemui.animation.DelegateLaunchAnimatorController; import com.android.systemui.animation.DelegateLaunchAnimatorController;
import com.android.systemui.assist.AssistManager; import com.android.systemui.assist.AssistManager;
@@ -732,6 +733,7 @@ public class StatusBar extends SystemUI implements
VisualStabilityManager visualStabilityManager, VisualStabilityManager visualStabilityManager,
DeviceProvisionedController deviceProvisionedController, DeviceProvisionedController deviceProvisionedController,
NavigationBarController navigationBarController, NavigationBarController navigationBarController,
AccessibilityFloatingMenuController accessibilityFloatingMenuController,
Lazy<AssistManager> assistManagerLazy, Lazy<AssistManager> assistManagerLazy,
ConfigurationController configurationController, ConfigurationController configurationController,
NotificationShadeWindowController notificationShadeWindowController, NotificationShadeWindowController notificationShadeWindowController,
@@ -834,6 +836,7 @@ public class StatusBar extends SystemUI implements
mVisualStabilityManager = visualStabilityManager; mVisualStabilityManager = visualStabilityManager;
mDeviceProvisionedController = deviceProvisionedController; mDeviceProvisionedController = deviceProvisionedController;
mNavigationBarController = navigationBarController; mNavigationBarController = navigationBarController;
mAccessibilityFloatingMenuController = accessibilityFloatingMenuController;
mAssistManagerLazy = assistManagerLazy; mAssistManagerLazy = assistManagerLazy;
mConfigurationController = configurationController; mConfigurationController = configurationController;
mNotificationShadeWindowController = notificationShadeWindowController; mNotificationShadeWindowController = notificationShadeWindowController;
@@ -1048,6 +1051,8 @@ public class StatusBar extends SystemUI implements
mBatteryController.observe(mLifecycle, mBatteryStateChangeCallback); mBatteryController.observe(mLifecycle, mBatteryStateChangeCallback);
mLifecycle.setCurrentState(RESUMED); mLifecycle.setCurrentState(RESUMED);
mAccessibilityFloatingMenuController.init();
// set the initial view visibility // set the initial view visibility
int disabledFlags1 = result.mDisabledFlags1; int disabledFlags1 = result.mDisabledFlags1;
int disabledFlags2 = result.mDisabledFlags2; int disabledFlags2 = result.mDisabledFlags2;
@@ -3807,6 +3812,7 @@ public class StatusBar extends SystemUI implements
private final DeviceProvisionedController mDeviceProvisionedController; private final DeviceProvisionedController mDeviceProvisionedController;
private final NavigationBarController mNavigationBarController; private final NavigationBarController mNavigationBarController;
private final AccessibilityFloatingMenuController mAccessibilityFloatingMenuController;
// UI-specific methods // UI-specific methods

View File

@@ -28,6 +28,7 @@ import com.android.internal.logging.MetricsLogger;
import com.android.keyguard.KeyguardUpdateMonitor; import com.android.keyguard.KeyguardUpdateMonitor;
import com.android.keyguard.ViewMediatorCallback; import com.android.keyguard.ViewMediatorCallback;
import com.android.systemui.InitController; import com.android.systemui.InitController;
import com.android.systemui.accessibility.floatingmenu.AccessibilityFloatingMenuController;
import com.android.systemui.animation.ActivityLaunchAnimator; import com.android.systemui.animation.ActivityLaunchAnimator;
import com.android.systemui.assist.AssistManager; import com.android.systemui.assist.AssistManager;
import com.android.systemui.broadcast.BroadcastDispatcher; import com.android.systemui.broadcast.BroadcastDispatcher;
@@ -184,6 +185,7 @@ public interface StatusBarPhoneModule {
VisualStabilityManager visualStabilityManager, VisualStabilityManager visualStabilityManager,
DeviceProvisionedController deviceProvisionedController, DeviceProvisionedController deviceProvisionedController,
NavigationBarController navigationBarController, NavigationBarController navigationBarController,
AccessibilityFloatingMenuController accessibilityFloatingMenuController,
Lazy<AssistManager> assistManagerLazy, Lazy<AssistManager> assistManagerLazy,
ConfigurationController configurationController, ConfigurationController configurationController,
NotificationShadeWindowController notificationShadeWindowController, NotificationShadeWindowController notificationShadeWindowController,
@@ -285,6 +287,7 @@ public interface StatusBarPhoneModule {
visualStabilityManager, visualStabilityManager,
deviceProvisionedController, deviceProvisionedController,
navigationBarController, navigationBarController,
accessibilityFloatingMenuController,
assistManagerLazy, assistManagerLazy,
configurationController, configurationController,
notificationShadeWindowController, notificationShadeWindowController,

View File

@@ -282,9 +282,12 @@ public class AccessibilityFloatingMenuControllerTest extends SysuiTestCase {
mTargetsObserver = spy(Dependency.get(AccessibilityButtonTargetsObserver.class)); mTargetsObserver = spy(Dependency.get(AccessibilityButtonTargetsObserver.class));
mModeObserver = spy(Dependency.get(AccessibilityButtonModeObserver.class)); mModeObserver = spy(Dependency.get(AccessibilityButtonModeObserver.class));
mKeyguardUpdateMonitor = Dependency.get(KeyguardUpdateMonitor.class); mKeyguardUpdateMonitor = Dependency.get(KeyguardUpdateMonitor.class);
final AccessibilityFloatingMenuController controller =
new AccessibilityFloatingMenuController(mContextWrapper, mTargetsObserver,
mModeObserver, mKeyguardUpdateMonitor);
controller.init();
return new AccessibilityFloatingMenuController(mContextWrapper, mTargetsObserver, return controller;
mModeObserver, mKeyguardUpdateMonitor);
} }
private void enableAccessibilityFloatingMenuConfig() { private void enableAccessibilityFloatingMenuConfig() {

View File

@@ -77,6 +77,7 @@ import com.android.keyguard.ViewMediatorCallback;
import com.android.systemui.InitController; import com.android.systemui.InitController;
import com.android.systemui.R; import com.android.systemui.R;
import com.android.systemui.SysuiTestCase; import com.android.systemui.SysuiTestCase;
import com.android.systemui.accessibility.floatingmenu.AccessibilityFloatingMenuController;
import com.android.systemui.animation.ActivityLaunchAnimator; import com.android.systemui.animation.ActivityLaunchAnimator;
import com.android.systemui.assist.AssistManager; import com.android.systemui.assist.AssistManager;
import com.android.systemui.broadcast.BroadcastDispatcher; import com.android.systemui.broadcast.BroadcastDispatcher;
@@ -216,6 +217,7 @@ public class StatusBarTest extends SysuiTestCase {
@Mock private NotificationGutsManager mNotificationGutsManager; @Mock private NotificationGutsManager mNotificationGutsManager;
@Mock private NotificationMediaManager mNotificationMediaManager; @Mock private NotificationMediaManager mNotificationMediaManager;
@Mock private NavigationBarController mNavigationBarController; @Mock private NavigationBarController mNavigationBarController;
@Mock private AccessibilityFloatingMenuController mAccessibilityFloatingMenuController;
@Mock private BypassHeadsUpNotifier mBypassHeadsUpNotifier; @Mock private BypassHeadsUpNotifier mBypassHeadsUpNotifier;
@Mock private SysuiColorExtractor mColorExtractor; @Mock private SysuiColorExtractor mColorExtractor;
@Mock private ColorExtractor.GradientColors mGradientColors; @Mock private ColorExtractor.GradientColors mGradientColors;
@@ -403,6 +405,7 @@ public class StatusBarTest extends SysuiTestCase {
mVisualStabilityManager, mVisualStabilityManager,
mDeviceProvisionedController, mDeviceProvisionedController,
mNavigationBarController, mNavigationBarController,
mAccessibilityFloatingMenuController,
() -> mAssistManager, () -> mAssistManager,
configurationController, configurationController,
mNotificationShadeWindowController, mNotificationShadeWindowController,