Provides an ordered array of shortcut types so Settings presents shortcuts in the desired order
NO_IFTTT=corrects ui order Flag: android.provider.a11y_standalone_gesture_enabled Test: atest AccessibilityUtilTest Bug: 371463731 Change-Id: Ia1864076faa281cf57c469a2d0d34f859858d859
This commit is contained in:
@@ -90,11 +90,5 @@
|
||||
settings:allowDividerAbove="false"
|
||||
settings:allowDividerBelow="false"
|
||||
settings:controller="com.android.settings.accessibility.shortcuts.TripleTapShortcutOptionController" />
|
||||
<!--
|
||||
LINT.ThenChange(
|
||||
/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorial.java:shortcut_type_ui_order,
|
||||
/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java:shortcut_type_ui_order,
|
||||
/src/com/android/settings/accessibility/AccessibilityShortcutPreferenceFragment.java:shortcut_type_ui_order
|
||||
)
|
||||
-->
|
||||
<!-- LINT.ThenChange(/src/com/android/settings/accessibility/AccessibilityUtil.java:shortcut_type_ui_order) -->
|
||||
</PreferenceScreen>
|
@@ -64,7 +64,6 @@ import androidx.core.widget.TextViewCompat;
|
||||
import androidx.viewpager.widget.PagerAdapter;
|
||||
import androidx.viewpager.widget.ViewPager;
|
||||
|
||||
import com.android.internal.accessibility.common.ShortcutConstants;
|
||||
import com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType;
|
||||
import com.android.internal.accessibility.util.ShortcutUtils;
|
||||
import com.android.settings.R;
|
||||
@@ -490,11 +489,10 @@ public final class AccessibilityShortcutsTutorial {
|
||||
static List<TutorialPage> createShortcutTutorialPages(
|
||||
@NonNull Context context, int shortcutTypes, @NonNull CharSequence featureName,
|
||||
boolean inSetupWizard) {
|
||||
// LINT.IfChange(shortcut_type_ui_order)
|
||||
final List<TutorialPage> tutorialPages = new ArrayList<>();
|
||||
int buttonMode = ShortcutUtils.getButtonMode(context, context.getUserId());
|
||||
|
||||
for (int shortcutType: ShortcutConstants.USER_SHORTCUT_TYPES) {
|
||||
for (int shortcutType: AccessibilityUtil.SHORTCUTS_ORDER_IN_UI) {
|
||||
if ((shortcutTypes & shortcutType) == 0) {
|
||||
continue;
|
||||
}
|
||||
@@ -506,7 +504,6 @@ public final class AccessibilityShortcutsTutorial {
|
||||
createShortcutTutorialPage(
|
||||
context, shortcutType, buttonMode, featureName, inSetupWizard));
|
||||
}
|
||||
// LINT.ThenChange(/res/xml/accessibility_edit_shortcuts.xml:shortcut_type_ui_order)
|
||||
|
||||
return tutorialPages;
|
||||
}
|
||||
|
@@ -50,7 +50,6 @@ import androidx.annotation.NonNull;
|
||||
import androidx.annotation.StringRes;
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
|
||||
import com.android.internal.accessibility.common.ShortcutConstants;
|
||||
import com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType;
|
||||
import com.android.internal.accessibility.util.ShortcutUtils;
|
||||
import com.android.settings.R;
|
||||
@@ -66,6 +65,16 @@ import java.util.StringJoiner;
|
||||
|
||||
/** Provides utility methods to accessibility settings only. */
|
||||
public final class AccessibilityUtil {
|
||||
// LINT.IfChange(shortcut_type_ui_order)
|
||||
static final int[] SHORTCUTS_ORDER_IN_UI = {
|
||||
QUICK_SETTINGS,
|
||||
SOFTWARE, // FAB displays before gesture. Navbar displays without gesture.
|
||||
GESTURE,
|
||||
HARDWARE,
|
||||
TWOFINGER_DOUBLETAP,
|
||||
TRIPLETAP
|
||||
};
|
||||
// LINT.ThenChange(/res/xml/accessibility_edit_shortcuts.xml:shortcut_type_ui_order)
|
||||
|
||||
private AccessibilityUtil(){}
|
||||
|
||||
@@ -344,7 +353,7 @@ public final class AccessibilityUtil {
|
||||
*/
|
||||
static boolean hasValuesInSettings(Context context, int shortcutTypes,
|
||||
@NonNull ComponentName componentName) {
|
||||
for (int shortcutType : ShortcutConstants.USER_SHORTCUT_TYPES) {
|
||||
for (int shortcutType : AccessibilityUtil.SHORTCUTS_ORDER_IN_UI) {
|
||||
if (!android.view.accessibility.Flags.a11yQsShortcut()) {
|
||||
if ((shortcutType & QUICK_SETTINGS) == QUICK_SETTINGS) {
|
||||
continue;
|
||||
@@ -395,7 +404,7 @@ public final class AccessibilityUtil {
|
||||
static int getUserShortcutTypesFromSettings(Context context,
|
||||
@NonNull ComponentName componentName) {
|
||||
int shortcutTypes = DEFAULT;
|
||||
for (int shortcutType : ShortcutConstants.USER_SHORTCUT_TYPES) {
|
||||
for (int shortcutType : AccessibilityUtil.SHORTCUTS_ORDER_IN_UI) {
|
||||
if (!android.view.accessibility.Flags.a11yQsShortcut()) {
|
||||
if ((shortcutType & QUICK_SETTINGS) == QUICK_SETTINGS) {
|
||||
continue;
|
||||
@@ -511,8 +520,7 @@ public final class AccessibilityUtil {
|
||||
public static CharSequence getShortcutSummaryList(Context context, int shortcutTypes) {
|
||||
final List<CharSequence> list = new ArrayList<>();
|
||||
|
||||
// LINT.IfChange(shortcut_type_ui_order)
|
||||
for (int shortcutType : ShortcutConstants.USER_SHORTCUT_TYPES) {
|
||||
for (int shortcutType : AccessibilityUtil.SHORTCUTS_ORDER_IN_UI) {
|
||||
if (!android.view.accessibility.Flags.a11yQsShortcut()
|
||||
&& (shortcutType & QUICK_SETTINGS) == QUICK_SETTINGS) {
|
||||
continue;
|
||||
@@ -548,7 +556,6 @@ public final class AccessibilityUtil {
|
||||
list.sort(CharSequence::compare);
|
||||
return CaseMap.toTitle().wholeString().noLowercase().apply(Locale.getDefault(), /* iter= */
|
||||
null, LocaleUtils.getConcatenatedString(list));
|
||||
// LINT.ThenChange(/res/xml/accessibility_edit_shortcuts.xml:shortcut_type_ui_order)
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
|
@@ -30,7 +30,6 @@ import android.view.accessibility.Flags;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
|
||||
import com.android.internal.accessibility.common.ShortcutConstants;
|
||||
import com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType;
|
||||
import com.android.internal.accessibility.util.ShortcutUtils;
|
||||
|
||||
@@ -123,7 +122,7 @@ public final class PreferredShortcuts {
|
||||
public static void updatePreferredShortcutsFromSettings(
|
||||
@NonNull Context context, @NonNull Set<String> components) {
|
||||
final Map<Integer, Set<String>> shortcutTypeToTargets = new ArrayMap<>();
|
||||
for (int shortcutType : ShortcutConstants.USER_SHORTCUT_TYPES) {
|
||||
for (int shortcutType : AccessibilityUtil.SHORTCUTS_ORDER_IN_UI) {
|
||||
if (!Flags.a11yQsShortcut()
|
||||
&& shortcutType == QUICK_SETTINGS) {
|
||||
// Skip saving quick setting as preferred shortcut option when flag is not enabled
|
||||
|
@@ -55,7 +55,6 @@ import androidx.preference.Preference;
|
||||
import androidx.preference.PreferenceCategory;
|
||||
import androidx.preference.SwitchPreferenceCompat;
|
||||
|
||||
import com.android.internal.accessibility.common.ShortcutConstants;
|
||||
import com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType;
|
||||
import com.android.internal.annotations.VisibleForTesting;
|
||||
import com.android.server.accessibility.Flags;
|
||||
@@ -740,7 +739,7 @@ public class ToggleScreenMagnificationPreferenceFragment extends
|
||||
|
||||
@VisibleForTesting
|
||||
static boolean hasMagnificationValuesInSettings(Context context, int shortcutTypes) {
|
||||
for (int shortcutType : ShortcutConstants.USER_SHORTCUT_TYPES) {
|
||||
for (int shortcutType : AccessibilityUtil.SHORTCUTS_ORDER_IN_UI) {
|
||||
if ((shortcutTypes & shortcutType) == 0) {
|
||||
continue;
|
||||
}
|
||||
@@ -791,7 +790,7 @@ public class ToggleScreenMagnificationPreferenceFragment extends
|
||||
|
||||
private static int getUserShortcutTypeFromSettings(Context context) {
|
||||
int shortcutTypes = DEFAULT;
|
||||
for (int shortcutType : ShortcutConstants.USER_SHORTCUT_TYPES) {
|
||||
for (int shortcutType : AccessibilityUtil.SHORTCUTS_ORDER_IN_UI) {
|
||||
if ((shortcutType & (TWOFINGER_DOUBLETAP | QUICK_SETTINGS | GESTURE | TRIPLETAP))
|
||||
== shortcutType
|
||||
&& !android.view.accessibility.Flags.a11yQsShortcut()) {
|
||||
|
Reference in New Issue
Block a user