Loading packages/SystemUI/src/com/android/systemui/accessibility/floatingmenu/AccessibilityFloatingMenuController.java +7 −2 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ import com.android.systemui.accessibility.AccessibilityButtonModeObserver; import com.android.systemui.accessibility.AccessibilityButtonModeObserver.AccessibilityButtonMode; import com.android.systemui.accessibility.AccessibilityButtonTargetsObserver; import com.android.systemui.dagger.SysUISingleton; import com.android.systemui.navigationbar.NavigationModeController; import com.android.systemui.settings.DisplayTracker; import com.android.systemui.util.settings.SecureSettings; Loading @@ -61,6 +62,7 @@ public class AccessibilityFloatingMenuController implements private final SecureSettings mSecureSettings; private final DisplayTracker mDisplayTracker; private final NavigationModeController mNavigationModeController; @VisibleForTesting IAccessibilityFloatingMenu mFloatingMenu; private int mBtnMode; Loading Loading @@ -106,7 +108,8 @@ public class AccessibilityFloatingMenuController implements AccessibilityButtonModeObserver accessibilityButtonModeObserver, KeyguardUpdateMonitor keyguardUpdateMonitor, SecureSettings secureSettings, DisplayTracker displayTracker) { DisplayTracker displayTracker, NavigationModeController navigationModeController) { mContext = context; mWindowManager = windowManager; mViewCaptureAwareWindowManager = viewCaptureAwareWindowManager; Loading @@ -117,6 +120,7 @@ public class AccessibilityFloatingMenuController implements mKeyguardUpdateMonitor = keyguardUpdateMonitor; mSecureSettings = secureSettings; mDisplayTracker = displayTracker; mNavigationModeController = navigationModeController; mIsKeyguardVisible = false; } Loading Loading @@ -191,7 +195,8 @@ public class AccessibilityFloatingMenuController implements final Context windowContext = mContext.createWindowContext(defaultDisplay, TYPE_NAVIGATION_BAR_PANEL, /* options= */ null); mFloatingMenu = new MenuViewLayerController(windowContext, mWindowManager, mViewCaptureAwareWindowManager, mAccessibilityManager, mSecureSettings); mViewCaptureAwareWindowManager, mAccessibilityManager, mSecureSettings, mNavigationModeController); } mFloatingMenu.show(); Loading packages/SystemUI/src/com/android/systemui/accessibility/floatingmenu/MenuViewLayer.java +9 −1 Original line number Diff line number Diff line Loading @@ -77,6 +77,7 @@ import com.android.internal.annotations.VisibleForTesting; import com.android.internal.messages.nano.SystemMessageProto; import com.android.internal.util.Preconditions; import com.android.systemui.Flags; import com.android.systemui.navigationbar.NavigationModeController; import com.android.systemui.res.R; import com.android.systemui.util.settings.SecureSettings; import com.android.wm.shell.bubbles.DismissViewUtils; Loading Loading @@ -142,6 +143,8 @@ class MenuViewLayer extends FrameLayout implements private boolean mIsNotificationShown; private Optional<MenuEduTooltipView> mEduTooltipView = Optional.empty(); private BroadcastReceiver mNotificationActionReceiver; private NavigationModeController mNavigationModeController; private NavigationModeController.ModeChangedListener mNavigationModeChangedListender; @IntDef({ LayerIndex.MENU_VIEW, Loading Loading @@ -220,7 +223,8 @@ class MenuViewLayer extends FrameLayout implements MenuViewModel menuViewModel, MenuViewAppearance menuViewAppearance, MenuView menuView, IAccessibilityFloatingMenu floatingMenu, SecureSettings secureSettings) { SecureSettings secureSettings, NavigationModeController navigationModeController) { super(context); // Simplifies the translation positioning and animations Loading Loading @@ -253,6 +257,8 @@ class MenuViewLayer extends FrameLayout implements mNotificationFactory = new MenuNotificationFactory(context); mNotificationManager = context.getSystemService(NotificationManager.class); mStatusBarManager = context.getSystemService(StatusBarManager.class); mNavigationModeController = navigationModeController; mNavigationModeChangedListender = (mode -> mMenuView.onPositionChanged()); if (Flags.floatingMenuDragToEdit()) { mDragToInteractAnimationController = new DragToInteractAnimationController( Loading Loading @@ -381,6 +387,7 @@ class MenuViewLayer extends FrameLayout implements mMigrationTooltipObserver); mMessageView.setUndoListener(view -> undo()); getContext().registerComponentCallbacks(this); mNavigationModeController.addListener(mNavigationModeChangedListender); } @Override Loading @@ -396,6 +403,7 @@ class MenuViewLayer extends FrameLayout implements mMigrationTooltipObserver); mHandler.removeCallbacksAndMessages(/* token= */ null); getContext().unregisterComponentCallbacks(this); mNavigationModeController.removeListener(mNavigationModeChangedListender); } @Override Loading packages/SystemUI/src/com/android/systemui/accessibility/floatingmenu/MenuViewLayerController.java +5 −2 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ import android.view.WindowManager; import android.view.accessibility.AccessibilityManager; import com.android.app.viewcapture.ViewCaptureAwareWindowManager; import com.android.systemui.navigationbar.NavigationModeController; import com.android.systemui.util.settings.SecureSettings; /** Loading @@ -37,7 +38,8 @@ class MenuViewLayerController implements IAccessibilityFloatingMenu { MenuViewLayerController(Context context, WindowManager windowManager, ViewCaptureAwareWindowManager viewCaptureAwareWindowManager, AccessibilityManager accessibilityManager, SecureSettings secureSettings) { AccessibilityManager accessibilityManager, SecureSettings secureSettings, NavigationModeController navigationModeController) { mWindowManager = viewCaptureAwareWindowManager; MenuViewModel menuViewModel = new MenuViewModel( Loading @@ -49,7 +51,8 @@ class MenuViewLayerController implements IAccessibilityFloatingMenu { menuViewAppearance, new MenuView(context, menuViewModel, menuViewAppearance, secureSettings), this, secureSettings); secureSettings, navigationModeController); } @Override Loading packages/SystemUI/tests/src/com/android/systemui/accessibility/floatingmenu/AccessibilityFloatingMenuControllerTest.java +10 −4 Original line number Diff line number Diff line Loading @@ -45,6 +45,7 @@ import com.android.systemui.Dependency; import com.android.systemui.SysuiTestCase; import com.android.systemui.accessibility.AccessibilityButtonModeObserver; import com.android.systemui.accessibility.AccessibilityButtonTargetsObserver; import com.android.systemui.navigationbar.NavigationModeController; import com.android.systemui.settings.FakeDisplayTracker; import com.android.systemui.util.settings.SecureSettings; Loading Loading @@ -90,6 +91,8 @@ public class AccessibilityFloatingMenuControllerTest extends SysuiTestCase { private SecureSettings mSecureSettings; @Mock private Lazy<ViewCapture> mLazyViewCapture; @Mock private NavigationModeController mNavigationModeController; @Before public void setUp() throws Exception { Loading Loading @@ -163,7 +166,8 @@ public class AccessibilityFloatingMenuControllerTest extends SysuiTestCase { enableAccessibilityFloatingMenuConfig(); mController = setUpController(); mController.mFloatingMenu = new MenuViewLayerController(mContextWrapper, mWindowManager, mViewCaptureAwareWindowManager, mAccessibilityManager, mSecureSettings); mViewCaptureAwareWindowManager, mAccessibilityManager, mSecureSettings, mNavigationModeController); captureKeyguardUpdateMonitorCallback(); mKeyguardCallback.onUserUnlocked(); Loading @@ -190,7 +194,8 @@ public class AccessibilityFloatingMenuControllerTest extends SysuiTestCase { enableAccessibilityFloatingMenuConfig(); mController = setUpController(); mController.mFloatingMenu = new MenuViewLayerController(mContextWrapper, mWindowManager, mViewCaptureAwareWindowManager, mAccessibilityManager, mSecureSettings); mViewCaptureAwareWindowManager, mAccessibilityManager, mSecureSettings, mNavigationModeController); captureKeyguardUpdateMonitorCallback(); mKeyguardCallback.onUserSwitching(fakeUserId); Loading @@ -204,7 +209,8 @@ public class AccessibilityFloatingMenuControllerTest extends SysuiTestCase { enableAccessibilityFloatingMenuConfig(); mController = setUpController(); mController.mFloatingMenu = new MenuViewLayerController(mContextWrapper, mWindowManager, mViewCaptureAwareWindowManager, mAccessibilityManager, mSecureSettings); mViewCaptureAwareWindowManager, mAccessibilityManager, mSecureSettings, mNavigationModeController); captureKeyguardUpdateMonitorCallback(); mKeyguardCallback.onUserUnlocked(); mKeyguardCallback.onKeyguardVisibilityChanged(true); Loading Loading @@ -340,7 +346,7 @@ public class AccessibilityFloatingMenuControllerTest extends SysuiTestCase { new AccessibilityFloatingMenuController(mContextWrapper, windowManager, viewCaptureAwareWindowManager, displayManager, mAccessibilityManager, mTargetsObserver, mModeObserver, mKeyguardUpdateMonitor, mSecureSettings, displayTracker); displayTracker, mNavigationModeController); controller.init(); return controller; Loading packages/SystemUI/tests/src/com/android/systemui/accessibility/floatingmenu/MenuItemAccessibilityDelegateTest.java +3 −1 Original line number Diff line number Diff line Loading @@ -44,6 +44,7 @@ import androidx.test.filters.SmallTest; import com.android.systemui.Flags; import com.android.systemui.SysuiTestCase; import com.android.systemui.accessibility.utils.TestUtils; import com.android.systemui.navigationbar.NavigationModeController; import com.android.systemui.res.R; import com.android.systemui.util.settings.SecureSettings; Loading Loading @@ -94,7 +95,8 @@ public class MenuItemAccessibilityDelegateTest extends SysuiTestCase { mMenuViewLayer = spy(new MenuViewLayer( mContext, stubWindowManager, mAccessibilityManager, stubMenuViewModel, stubMenuViewAppearance, mMenuView, mock(IAccessibilityFloatingMenu.class), mSecureSettings)); mock(IAccessibilityFloatingMenu.class), mSecureSettings, mock(NavigationModeController.class))); doNothing().when(mMenuViewLayer).gotoEditScreen(); doReturn(mDraggableBounds).when(mMenuView).getMenuDraggableBounds(); Loading Loading
packages/SystemUI/src/com/android/systemui/accessibility/floatingmenu/AccessibilityFloatingMenuController.java +7 −2 Original line number Diff line number Diff line Loading @@ -37,6 +37,7 @@ import com.android.systemui.accessibility.AccessibilityButtonModeObserver; import com.android.systemui.accessibility.AccessibilityButtonModeObserver.AccessibilityButtonMode; import com.android.systemui.accessibility.AccessibilityButtonTargetsObserver; import com.android.systemui.dagger.SysUISingleton; import com.android.systemui.navigationbar.NavigationModeController; import com.android.systemui.settings.DisplayTracker; import com.android.systemui.util.settings.SecureSettings; Loading @@ -61,6 +62,7 @@ public class AccessibilityFloatingMenuController implements private final SecureSettings mSecureSettings; private final DisplayTracker mDisplayTracker; private final NavigationModeController mNavigationModeController; @VisibleForTesting IAccessibilityFloatingMenu mFloatingMenu; private int mBtnMode; Loading Loading @@ -106,7 +108,8 @@ public class AccessibilityFloatingMenuController implements AccessibilityButtonModeObserver accessibilityButtonModeObserver, KeyguardUpdateMonitor keyguardUpdateMonitor, SecureSettings secureSettings, DisplayTracker displayTracker) { DisplayTracker displayTracker, NavigationModeController navigationModeController) { mContext = context; mWindowManager = windowManager; mViewCaptureAwareWindowManager = viewCaptureAwareWindowManager; Loading @@ -117,6 +120,7 @@ public class AccessibilityFloatingMenuController implements mKeyguardUpdateMonitor = keyguardUpdateMonitor; mSecureSettings = secureSettings; mDisplayTracker = displayTracker; mNavigationModeController = navigationModeController; mIsKeyguardVisible = false; } Loading Loading @@ -191,7 +195,8 @@ public class AccessibilityFloatingMenuController implements final Context windowContext = mContext.createWindowContext(defaultDisplay, TYPE_NAVIGATION_BAR_PANEL, /* options= */ null); mFloatingMenu = new MenuViewLayerController(windowContext, mWindowManager, mViewCaptureAwareWindowManager, mAccessibilityManager, mSecureSettings); mViewCaptureAwareWindowManager, mAccessibilityManager, mSecureSettings, mNavigationModeController); } mFloatingMenu.show(); Loading
packages/SystemUI/src/com/android/systemui/accessibility/floatingmenu/MenuViewLayer.java +9 −1 Original line number Diff line number Diff line Loading @@ -77,6 +77,7 @@ import com.android.internal.annotations.VisibleForTesting; import com.android.internal.messages.nano.SystemMessageProto; import com.android.internal.util.Preconditions; import com.android.systemui.Flags; import com.android.systemui.navigationbar.NavigationModeController; import com.android.systemui.res.R; import com.android.systemui.util.settings.SecureSettings; import com.android.wm.shell.bubbles.DismissViewUtils; Loading Loading @@ -142,6 +143,8 @@ class MenuViewLayer extends FrameLayout implements private boolean mIsNotificationShown; private Optional<MenuEduTooltipView> mEduTooltipView = Optional.empty(); private BroadcastReceiver mNotificationActionReceiver; private NavigationModeController mNavigationModeController; private NavigationModeController.ModeChangedListener mNavigationModeChangedListender; @IntDef({ LayerIndex.MENU_VIEW, Loading Loading @@ -220,7 +223,8 @@ class MenuViewLayer extends FrameLayout implements MenuViewModel menuViewModel, MenuViewAppearance menuViewAppearance, MenuView menuView, IAccessibilityFloatingMenu floatingMenu, SecureSettings secureSettings) { SecureSettings secureSettings, NavigationModeController navigationModeController) { super(context); // Simplifies the translation positioning and animations Loading Loading @@ -253,6 +257,8 @@ class MenuViewLayer extends FrameLayout implements mNotificationFactory = new MenuNotificationFactory(context); mNotificationManager = context.getSystemService(NotificationManager.class); mStatusBarManager = context.getSystemService(StatusBarManager.class); mNavigationModeController = navigationModeController; mNavigationModeChangedListender = (mode -> mMenuView.onPositionChanged()); if (Flags.floatingMenuDragToEdit()) { mDragToInteractAnimationController = new DragToInteractAnimationController( Loading Loading @@ -381,6 +387,7 @@ class MenuViewLayer extends FrameLayout implements mMigrationTooltipObserver); mMessageView.setUndoListener(view -> undo()); getContext().registerComponentCallbacks(this); mNavigationModeController.addListener(mNavigationModeChangedListender); } @Override Loading @@ -396,6 +403,7 @@ class MenuViewLayer extends FrameLayout implements mMigrationTooltipObserver); mHandler.removeCallbacksAndMessages(/* token= */ null); getContext().unregisterComponentCallbacks(this); mNavigationModeController.removeListener(mNavigationModeChangedListender); } @Override Loading
packages/SystemUI/src/com/android/systemui/accessibility/floatingmenu/MenuViewLayerController.java +5 −2 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ import android.view.WindowManager; import android.view.accessibility.AccessibilityManager; import com.android.app.viewcapture.ViewCaptureAwareWindowManager; import com.android.systemui.navigationbar.NavigationModeController; import com.android.systemui.util.settings.SecureSettings; /** Loading @@ -37,7 +38,8 @@ class MenuViewLayerController implements IAccessibilityFloatingMenu { MenuViewLayerController(Context context, WindowManager windowManager, ViewCaptureAwareWindowManager viewCaptureAwareWindowManager, AccessibilityManager accessibilityManager, SecureSettings secureSettings) { AccessibilityManager accessibilityManager, SecureSettings secureSettings, NavigationModeController navigationModeController) { mWindowManager = viewCaptureAwareWindowManager; MenuViewModel menuViewModel = new MenuViewModel( Loading @@ -49,7 +51,8 @@ class MenuViewLayerController implements IAccessibilityFloatingMenu { menuViewAppearance, new MenuView(context, menuViewModel, menuViewAppearance, secureSettings), this, secureSettings); secureSettings, navigationModeController); } @Override Loading
packages/SystemUI/tests/src/com/android/systemui/accessibility/floatingmenu/AccessibilityFloatingMenuControllerTest.java +10 −4 Original line number Diff line number Diff line Loading @@ -45,6 +45,7 @@ import com.android.systemui.Dependency; import com.android.systemui.SysuiTestCase; import com.android.systemui.accessibility.AccessibilityButtonModeObserver; import com.android.systemui.accessibility.AccessibilityButtonTargetsObserver; import com.android.systemui.navigationbar.NavigationModeController; import com.android.systemui.settings.FakeDisplayTracker; import com.android.systemui.util.settings.SecureSettings; Loading Loading @@ -90,6 +91,8 @@ public class AccessibilityFloatingMenuControllerTest extends SysuiTestCase { private SecureSettings mSecureSettings; @Mock private Lazy<ViewCapture> mLazyViewCapture; @Mock private NavigationModeController mNavigationModeController; @Before public void setUp() throws Exception { Loading Loading @@ -163,7 +166,8 @@ public class AccessibilityFloatingMenuControllerTest extends SysuiTestCase { enableAccessibilityFloatingMenuConfig(); mController = setUpController(); mController.mFloatingMenu = new MenuViewLayerController(mContextWrapper, mWindowManager, mViewCaptureAwareWindowManager, mAccessibilityManager, mSecureSettings); mViewCaptureAwareWindowManager, mAccessibilityManager, mSecureSettings, mNavigationModeController); captureKeyguardUpdateMonitorCallback(); mKeyguardCallback.onUserUnlocked(); Loading @@ -190,7 +194,8 @@ public class AccessibilityFloatingMenuControllerTest extends SysuiTestCase { enableAccessibilityFloatingMenuConfig(); mController = setUpController(); mController.mFloatingMenu = new MenuViewLayerController(mContextWrapper, mWindowManager, mViewCaptureAwareWindowManager, mAccessibilityManager, mSecureSettings); mViewCaptureAwareWindowManager, mAccessibilityManager, mSecureSettings, mNavigationModeController); captureKeyguardUpdateMonitorCallback(); mKeyguardCallback.onUserSwitching(fakeUserId); Loading @@ -204,7 +209,8 @@ public class AccessibilityFloatingMenuControllerTest extends SysuiTestCase { enableAccessibilityFloatingMenuConfig(); mController = setUpController(); mController.mFloatingMenu = new MenuViewLayerController(mContextWrapper, mWindowManager, mViewCaptureAwareWindowManager, mAccessibilityManager, mSecureSettings); mViewCaptureAwareWindowManager, mAccessibilityManager, mSecureSettings, mNavigationModeController); captureKeyguardUpdateMonitorCallback(); mKeyguardCallback.onUserUnlocked(); mKeyguardCallback.onKeyguardVisibilityChanged(true); Loading Loading @@ -340,7 +346,7 @@ public class AccessibilityFloatingMenuControllerTest extends SysuiTestCase { new AccessibilityFloatingMenuController(mContextWrapper, windowManager, viewCaptureAwareWindowManager, displayManager, mAccessibilityManager, mTargetsObserver, mModeObserver, mKeyguardUpdateMonitor, mSecureSettings, displayTracker); displayTracker, mNavigationModeController); controller.init(); return controller; Loading
packages/SystemUI/tests/src/com/android/systemui/accessibility/floatingmenu/MenuItemAccessibilityDelegateTest.java +3 −1 Original line number Diff line number Diff line Loading @@ -44,6 +44,7 @@ import androidx.test.filters.SmallTest; import com.android.systemui.Flags; import com.android.systemui.SysuiTestCase; import com.android.systemui.accessibility.utils.TestUtils; import com.android.systemui.navigationbar.NavigationModeController; import com.android.systemui.res.R; import com.android.systemui.util.settings.SecureSettings; Loading Loading @@ -94,7 +95,8 @@ public class MenuItemAccessibilityDelegateTest extends SysuiTestCase { mMenuViewLayer = spy(new MenuViewLayer( mContext, stubWindowManager, mAccessibilityManager, stubMenuViewModel, stubMenuViewAppearance, mMenuView, mock(IAccessibilityFloatingMenu.class), mSecureSettings)); mock(IAccessibilityFloatingMenu.class), mSecureSettings, mock(NavigationModeController.class))); doNothing().when(mMenuViewLayer).gotoEditScreen(); doReturn(mDraggableBounds).when(mMenuView).getMenuDraggableBounds(); Loading