diff options
author | jasonwshsu <jasonwshsu@google.com> | 2021-01-11 21:27:05 +0800 |
---|---|---|
committer | jasonwshsu <jasonwshsu@google.com> | 2021-03-19 13:40:45 +0800 |
commit | 5154c4cfae9a1314012cc8dff088f750bc053810 (patch) | |
tree | 2e5305b7b1ca5872ec5c0b4f03f132727ec90867 /packages/SystemUI/src/com/android/systemui/Dependency.java | |
parent | c1e28cc20e583b3b80a22d906c9d81591fe73e1f (diff) |
Handle the basic logic to show or hide accessibility floating menu
* AccessibilityFloatingMenuController will listen to the changes from AccessibilityButtonTargetsObserver and AccessibilityButtonModeObserver then handle the visibility of FloatingMenu
* Add abstract class SecureSettingsContentObserver to handle a registry of listeners of specific types and dispatch changes to child
Cherry picked from commit 523514fd24d72b8420c0ca184643751980e6f218
Bug: 173940864
Test: atest AccessibilityButtonTargetsObserverTest AccessibilityButtonModeObserverTest AccessibilityFloatingMenuControllerTest
Change-Id: I07fded55340644bce84a3f17a7a4da950268d2d2
Merged-In: I07fded55340644bce84a3f17a7a4da950268d2d2
Diffstat (limited to 'packages/SystemUI/src/com/android/systemui/Dependency.java')
-rw-r--r-- | packages/SystemUI/src/com/android/systemui/Dependency.java | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/Dependency.java b/packages/SystemUI/src/com/android/systemui/Dependency.java index ae4c8e5a3327..06b486ec43d0 100644 --- a/packages/SystemUI/src/com/android/systemui/Dependency.java +++ b/packages/SystemUI/src/com/android/systemui/Dependency.java @@ -34,6 +34,9 @@ import com.android.keyguard.KeyguardSecurityModel; import com.android.keyguard.KeyguardUpdateMonitor; import com.android.keyguard.clock.ClockManager; import com.android.settingslib.bluetooth.LocalBluetoothManager; +import com.android.systemui.accessibility.AccessibilityButtonModeObserver; +import com.android.systemui.accessibility.AccessibilityButtonTargetsObserver; +import com.android.systemui.accessibility.floatingmenu.AccessibilityFloatingMenuController; import com.android.systemui.appops.AppOpsController; import com.android.systemui.assist.AssistManager; import com.android.systemui.broadcast.BroadcastDispatcher; @@ -284,6 +287,8 @@ public class Dependency { @Inject Lazy<IWindowManager> mIWindowManager; @Inject Lazy<OverviewProxyService> mOverviewProxyService; @Inject Lazy<NavigationModeController> mNavBarModeController; + @Inject Lazy<AccessibilityButtonModeObserver> mAccessibilityButtonModeObserver; + @Inject Lazy<AccessibilityButtonTargetsObserver> mAccessibilityButtonListController; @Inject Lazy<EnhancedEstimates> mEnhancedEstimates; @Inject Lazy<VibratorHelper> mVibratorHelper; @Inject Lazy<IStatusBarService> mIStatusBarService; @@ -294,6 +299,7 @@ public class Dependency { @Inject Lazy<NotificationRemoteInputManager.Callback> mNotificationRemoteInputManagerCallback; @Inject Lazy<AppOpsController> mAppOpsController; @Inject Lazy<NavigationBarController> mNavigationBarController; + @Inject Lazy<AccessibilityFloatingMenuController> mAccessibilityFloatingMenuController; @Inject Lazy<StatusBarStateController> mStatusBarStateController; @Inject Lazy<NotificationLockscreenUserManager> mNotificationLockscreenUserManager; @Inject Lazy<NotificationGroupAlertTransferHelper> mNotificationGroupAlertTransferHelper; @@ -470,6 +476,11 @@ public class Dependency { mProviders.put(NavigationModeController.class, mNavBarModeController::get); + mProviders.put(AccessibilityButtonModeObserver.class, + mAccessibilityButtonModeObserver::get); + mProviders.put(AccessibilityButtonTargetsObserver.class, + mAccessibilityButtonListController::get); + mProviders.put(EnhancedEstimates.class, mEnhancedEstimates::get); mProviders.put(VibratorHelper.class, mVibratorHelper::get); @@ -489,6 +500,9 @@ public class Dependency { mProviders.put(NavigationBarController.class, mNavigationBarController::get); + mProviders.put(AccessibilityFloatingMenuController.class, + mAccessibilityFloatingMenuController::get); + mProviders.put(StatusBarStateController.class, mStatusBarStateController::get); mProviders.put(NotificationLockscreenUserManager.class, mNotificationLockscreenUserManager::get); |