Merge "Add back AccessibilityFloatingMenuController into StatusBar" into sc-v2-dev am: c5f676942a
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/16265250 Change-Id: Iba98bcc377f2b2d507030fa4921c1a3c20da77a2
This commit is contained in:
@@ -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(
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
@@ -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() {
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
Reference in New Issue
Block a user