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
This commit is contained in:
@@ -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();
|
||||
|
||||
@@ -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")
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user