From c6ee1e9e03371690bed9dc659622268ab1b5bcac Mon Sep 17 00:00:00 2001 From: Peter Liang Date: Tue, 31 Jan 2023 14:45:16 +0800 Subject: [PATCH] Remove the feature flag of the A11Y_FLOATING_MENU_FLING_SPRING_ANIMATIONS. Actions: Replace the legacy implementation with a new one. Bug: 262224538 Test: atest AccessibilityFloatingMenuControllerTest Change-Id: I01226212f8fccb4d95eb7fd55b1219198d1dea5e --- .../AccessibilityFloatingMenuController.java | 25 ++++-------- .../src/com/android/systemui/flags/Flags.kt | 6 --- ...cessibilityFloatingMenuControllerTest.java | 40 +++++-------------- 3 files changed, 18 insertions(+), 53 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/accessibility/floatingmenu/AccessibilityFloatingMenuController.java b/packages/SystemUI/src/com/android/systemui/accessibility/floatingmenu/AccessibilityFloatingMenuController.java index 2c413a234c598..592414952ea82 100644 --- a/packages/SystemUI/src/com/android/systemui/accessibility/floatingmenu/AccessibilityFloatingMenuController.java +++ b/packages/SystemUI/src/com/android/systemui/accessibility/floatingmenu/AccessibilityFloatingMenuController.java @@ -19,8 +19,6 @@ package com.android.systemui.accessibility.floatingmenu; import static android.provider.Settings.Secure.ACCESSIBILITY_BUTTON_MODE_FLOATING_MENU; import static android.view.WindowManager.LayoutParams.TYPE_NAVIGATION_BAR_PANEL; -import static com.android.systemui.flags.Flags.A11Y_FLOATING_MENU_FLING_SPRING_ANIMATIONS; - import android.content.Context; import android.hardware.display.DisplayManager; import android.os.UserHandle; @@ -38,7 +36,6 @@ 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.flags.FeatureFlags; import com.android.systemui.settings.DisplayTracker; import com.android.systemui.util.settings.SecureSettings; @@ -59,7 +56,7 @@ public class AccessibilityFloatingMenuController implements private final WindowManager mWindowManager; private final DisplayManager mDisplayManager; private final AccessibilityManager mAccessibilityManager; - private final FeatureFlags mFeatureFlags; + private final SecureSettings mSecureSettings; private final DisplayTracker mDisplayTracker; @VisibleForTesting @@ -105,7 +102,6 @@ public class AccessibilityFloatingMenuController implements AccessibilityButtonTargetsObserver accessibilityButtonTargetsObserver, AccessibilityButtonModeObserver accessibilityButtonModeObserver, KeyguardUpdateMonitor keyguardUpdateMonitor, - FeatureFlags featureFlags, SecureSettings secureSettings, DisplayTracker displayTracker) { mContext = context; @@ -115,7 +111,6 @@ public class AccessibilityFloatingMenuController implements mAccessibilityButtonTargetsObserver = accessibilityButtonTargetsObserver; mAccessibilityButtonModeObserver = accessibilityButtonModeObserver; mKeyguardUpdateMonitor = keyguardUpdateMonitor; - mFeatureFlags = featureFlags; mSecureSettings = secureSettings; mDisplayTracker = displayTracker; @@ -162,7 +157,7 @@ public class AccessibilityFloatingMenuController implements * Handles the accessibility floating menu visibility with the given values. * * @param keyguardVisible the keyguard visibility status. Not show the - * {@link AccessibilityFloatingMenu} when keyguard appears. + * {@link MenuView} when keyguard appears. * @param mode accessibility button mode {@link AccessibilityButtonMode} * @param targets accessibility button list; it should comes from * {@link android.provider.Settings.Secure#ACCESSIBILITY_BUTTON_TARGETS}. @@ -187,16 +182,12 @@ public class AccessibilityFloatingMenuController implements private void showFloatingMenu() { if (mFloatingMenu == null) { - if (mFeatureFlags.isEnabled(A11Y_FLOATING_MENU_FLING_SPRING_ANIMATIONS)) { - final Display defaultDisplay = mDisplayManager.getDisplay( - mDisplayTracker.getDefaultDisplayId()); - final Context windowContext = mContext.createWindowContext(defaultDisplay, - TYPE_NAVIGATION_BAR_PANEL, /* options= */ null); - mFloatingMenu = new MenuViewLayerController(windowContext, mWindowManager, - mAccessibilityManager, mSecureSettings); - } else { - mFloatingMenu = new AccessibilityFloatingMenu(mContext, mSecureSettings); - } + final Display defaultDisplay = mDisplayManager.getDisplay( + mDisplayTracker.getDefaultDisplayId()); + final Context windowContext = mContext.createWindowContext(defaultDisplay, + TYPE_NAVIGATION_BAR_PANEL, /* options= */ null); + mFloatingMenu = new MenuViewLayerController(windowContext, mWindowManager, + mAccessibilityManager, mSecureSettings); } mFloatingMenu.show(); diff --git a/packages/SystemUI/src/com/android/systemui/flags/Flags.kt b/packages/SystemUI/src/com/android/systemui/flags/Flags.kt index 7ff27cfdb08b6..7c0345ebdb9e5 100644 --- a/packages/SystemUI/src/com/android/systemui/flags/Flags.kt +++ b/packages/SystemUI/src/com/android/systemui/flags/Flags.kt @@ -535,12 +535,6 @@ object Flags { // TODO(b/266983474) Tracking Bug val SHARESHEET_IMAGE_AND_TEXT_PREVIEW = unreleasedFlag(1503, "sharesheet_image_text_preview") - // 1600 - accessibility - // TODO(b/262224538): Tracking Bug - @JvmField - val A11Y_FLOATING_MENU_FLING_SPRING_ANIMATIONS = - releasedFlag(1600, "a11y_floating_menu_fling_spring_animations") - // 1700 - clipboard @JvmField val CLIPBOARD_REMOTE_BEHAVIOR = releasedFlag(1701, "clipboard_remote_behavior") diff --git a/packages/SystemUI/tests/src/com/android/systemui/accessibility/floatingmenu/AccessibilityFloatingMenuControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/accessibility/floatingmenu/AccessibilityFloatingMenuControllerTest.java index aac0b511a56c2..3da72618fb601 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/accessibility/floatingmenu/AccessibilityFloatingMenuControllerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/accessibility/floatingmenu/AccessibilityFloatingMenuControllerTest.java @@ -19,8 +19,6 @@ package com.android.systemui.accessibility.floatingmenu; import static android.provider.Settings.Secure.ACCESSIBILITY_BUTTON_MODE_FLOATING_MENU; import static android.provider.Settings.Secure.ACCESSIBILITY_BUTTON_MODE_NAVIGATION_BAR; -import static com.android.systemui.flags.Flags.A11Y_FLOATING_MENU_FLING_SPRING_ANIMATIONS; - import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.any; @@ -46,7 +44,6 @@ 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.flags.FakeFeatureFlags; import com.android.systemui.settings.FakeDisplayTracker; import com.android.systemui.util.settings.SecureSettings; @@ -74,6 +71,7 @@ public class AccessibilityFloatingMenuControllerTest extends SysuiTestCase { public MockitoRule mockito = MockitoJUnit.rule(); private Context mContextWrapper; + private WindowManager mWindowManager; private AccessibilityManager mAccessibilityManager; private KeyguardUpdateMonitor mKeyguardUpdateMonitor; private AccessibilityFloatingMenuController mController; @@ -97,6 +95,7 @@ public class AccessibilityFloatingMenuControllerTest extends SysuiTestCase { } }; + mWindowManager = mContext.getSystemService(WindowManager.class); mAccessibilityManager = mContext.getSystemService(AccessibilityManager.class); mLastButtonTargets = Settings.Secure.getStringForUser(mContextWrapper.getContentResolver(), Settings.Secure.ACCESSIBILITY_BUTTON_TARGETS, UserHandle.USER_CURRENT); @@ -158,7 +157,8 @@ public class AccessibilityFloatingMenuControllerTest extends SysuiTestCase { public void onKeyguardVisibilityChanged_showing_destroyWidget() { enableAccessibilityFloatingMenuConfig(); mController = setUpController(); - mController.mFloatingMenu = new AccessibilityFloatingMenu(mContextWrapper, mSecureSettings); + mController.mFloatingMenu = new MenuViewLayerController(mContextWrapper, mWindowManager, + mAccessibilityManager, mSecureSettings); captureKeyguardUpdateMonitorCallback(); mKeyguardCallback.onUserUnlocked(); @@ -184,7 +184,8 @@ public class AccessibilityFloatingMenuControllerTest extends SysuiTestCase { final int fakeUserId = 1; enableAccessibilityFloatingMenuConfig(); mController = setUpController(); - mController.mFloatingMenu = new AccessibilityFloatingMenu(mContextWrapper, mSecureSettings); + mController.mFloatingMenu = new MenuViewLayerController(mContextWrapper, mWindowManager, + mAccessibilityManager, mSecureSettings); captureKeyguardUpdateMonitorCallback(); mKeyguardCallback.onUserSwitching(fakeUserId); @@ -197,7 +198,8 @@ public class AccessibilityFloatingMenuControllerTest extends SysuiTestCase { final int fakeUserId = 1; enableAccessibilityFloatingMenuConfig(); mController = setUpController(); - mController.mFloatingMenu = new AccessibilityFloatingMenu(mContextWrapper, mSecureSettings); + mController.mFloatingMenu = new MenuViewLayerController(mContextWrapper, mWindowManager, + mAccessibilityManager, mSecureSettings); captureKeyguardUpdateMonitorCallback(); mKeyguardCallback.onUserUnlocked(); mKeyguardCallback.onKeyguardVisibilityChanged(true); @@ -317,41 +319,19 @@ public class AccessibilityFloatingMenuControllerTest extends SysuiTestCase { assertThat(mController.mFloatingMenu).isNull(); } - @Test - public void onTargetsChanged_flingSpringAnimationsDisabled_floatingMenuIsCreated() { - Settings.Secure.putIntForUser(mContextWrapper.getContentResolver(), - Settings.Secure.ACCESSIBILITY_BUTTON_MODE, ACCESSIBILITY_BUTTON_MODE_FLOATING_MENU, - UserHandle.USER_CURRENT); - final FakeFeatureFlags featureFlags = new FakeFeatureFlags(); - featureFlags.set(A11Y_FLOATING_MENU_FLING_SPRING_ANIMATIONS, false); - - mController = setUpController(); - mController.onAccessibilityButtonTargetsChanged(TEST_A11Y_BTN_TARGETS); - - assertThat(mController.mFloatingMenu).isInstanceOf(AccessibilityFloatingMenu.class); - } - @Test public void onTargetsChanged_isFloatingViewLayerControllerCreated() { Settings.Secure.putIntForUser(mContextWrapper.getContentResolver(), Settings.Secure.ACCESSIBILITY_BUTTON_MODE, ACCESSIBILITY_BUTTON_MODE_FLOATING_MENU, UserHandle.USER_CURRENT); - final FakeFeatureFlags featureFlags = new FakeFeatureFlags(); - featureFlags.set(A11Y_FLOATING_MENU_FLING_SPRING_ANIMATIONS, true); - mController = setUpController(featureFlags); + mController = setUpController(); mController.onAccessibilityButtonTargetsChanged(TEST_A11Y_BTN_TARGETS); assertThat(mController.mFloatingMenu).isInstanceOf(MenuViewLayerController.class); } private AccessibilityFloatingMenuController setUpController() { - final FakeFeatureFlags featureFlags = new FakeFeatureFlags(); - featureFlags.set(A11Y_FLOATING_MENU_FLING_SPRING_ANIMATIONS, false); - return setUpController(featureFlags); - } - - private AccessibilityFloatingMenuController setUpController(FakeFeatureFlags featureFlags) { final WindowManager windowManager = mContext.getSystemService(WindowManager.class); final DisplayManager displayManager = mContext.getSystemService(DisplayManager.class); final FakeDisplayTracker displayTracker = new FakeDisplayTracker(mContext); @@ -361,7 +341,7 @@ public class AccessibilityFloatingMenuControllerTest extends SysuiTestCase { final AccessibilityFloatingMenuController controller = new AccessibilityFloatingMenuController(mContextWrapper, windowManager, displayManager, mAccessibilityManager, mTargetsObserver, mModeObserver, - mKeyguardUpdateMonitor, featureFlags, mSecureSettings, displayTracker); + mKeyguardUpdateMonitor, mSecureSettings, displayTracker); controller.init(); return controller;