Loading src/com/android/settings/accessibility/AccessibilityShortcutPreferenceFragment.java +3 −2 Original line number Diff line number Diff line Loading @@ -41,6 +41,7 @@ import androidx.preference.PreferenceCategory; import androidx.preference.PreferenceScreen; import com.android.internal.accessibility.common.ShortcutConstants; import com.android.internal.accessibility.util.ShortcutUtils; import com.android.settings.R; import com.android.settings.accessibility.shortcuts.EditShortcutsPreferenceFragment; import com.android.settings.dashboard.RestrictedDashboardFragment; Loading Loading @@ -308,8 +309,8 @@ public abstract class AccessibilityShortcutPreferenceFragment extends Restricted final int shortcutTypes = getUserPreferredShortcutTypes(); mShortcutPreference.setChecked( AccessibilityUtil.hasValuesInSettings(getPrefContext(), shortcutTypes, getComponentName())); ShortcutUtils.isShortcutContained( getPrefContext(), shortcutTypes, getComponentName().flattenToString())); mShortcutPreference.setSummary(getShortcutTypeSummary(getPrefContext())); } Loading src/com/android/settings/accessibility/AccessibilityUtil.java +3 −50 Original line number Diff line number Diff line Loading @@ -21,7 +21,6 @@ import static android.view.WindowInsets.Type.displayCutout; import static android.view.WindowInsets.Type.systemBars; import static android.view.WindowManagerPolicyConstants.NAV_BAR_MODE_GESTURAL; import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.DEFAULT; import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.GESTURE; import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.HARDWARE; import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.QUICK_SETTINGS; Loading @@ -37,7 +36,6 @@ import android.graphics.Insets; import android.graphics.Rect; import android.icu.text.CaseMap; import android.os.Build; import android.os.UserHandle; import android.provider.Settings; import android.text.TextUtils; import android.util.TypedValue; Loading Loading @@ -194,52 +192,6 @@ public final class AccessibilityUtil { : AccessibilityServiceFragmentType.TOGGLE; } /** * Returns if component name existed in one of {@code shortcutTypes} string in Settings. * * @param context The current context. * @param shortcutTypes A combination of {@link UserShortcutType}. * @param componentName The component name that need to be checked existed in Settings. * @return {@code true} if componentName existed in Settings. */ static boolean hasValuesInSettings(Context context, int shortcutTypes, @NonNull ComponentName componentName) { for (int shortcutType : AccessibilityUtil.SHORTCUTS_ORDER_IN_UI) { if (!android.provider.Flags.a11yStandaloneGestureEnabled()) { if ((shortcutType & GESTURE) == GESTURE) { continue; } } if ((shortcutTypes & shortcutType) == shortcutType && hasValueInSettings(context, shortcutType, componentName)) { return true; } } return false; } /** * Returns if component name existed in {@code shortcutType} string Settings. * * @param context The current context. * @param shortcutType The preferred shortcut type user selected. * @param componentName The component name that need to be checked existed in Settings. * @return {@code true} if componentName existed in Settings. * * @deprecated use * {@link ShortcutUtils#isShortcutContained(Context, int, String)} instead. * * (TODO 367414968: finish removal.) */ @Deprecated @VisibleForTesting static boolean hasValueInSettings(Context context, @UserShortcutType int shortcutType, @NonNull ComponentName componentName) { return ShortcutUtils.getShortcutTargetsFromSettings( context, shortcutType, UserHandle.myUserId() ).contains(componentName.flattenToString()); } /** * Gets the corresponding user shortcut type of a given accessibility service. * Loading @@ -250,14 +202,15 @@ public final class AccessibilityUtil { */ static int getUserShortcutTypesFromSettings(Context context, @NonNull ComponentName componentName) { int shortcutTypes = DEFAULT; int shortcutTypes = UserShortcutType.DEFAULT; for (int shortcutType : AccessibilityUtil.SHORTCUTS_ORDER_IN_UI) { if (!android.provider.Flags.a11yStandaloneGestureEnabled()) { if ((shortcutType & GESTURE) == GESTURE) { continue; } } if (hasValueInSettings(context, shortcutType, componentName)) { if (ShortcutUtils.isShortcutContained( context, shortcutType, componentName.flattenToString())) { shortcutTypes |= shortcutType; } } Loading src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java +3 −2 Original line number Diff line number Diff line Loading @@ -56,6 +56,7 @@ import androidx.preference.PreferenceScreen; import androidx.recyclerview.widget.RecyclerView; import com.android.internal.accessibility.common.ShortcutConstants; import com.android.internal.accessibility.util.ShortcutUtils; import com.android.settings.R; import com.android.settings.SettingsActivity; import com.android.settings.accessibility.AccessibilityUtil.QuickSettingsTooltipType; Loading Loading @@ -630,8 +631,8 @@ public abstract class ToggleFeaturePreferenceFragment extends DashboardFragment final int shortcutTypes = getUserPreferredShortcutTypes(); mShortcutPreference.setChecked( AccessibilityUtil.hasValuesInSettings(getPrefContext(), shortcutTypes, mComponentName)); ShortcutUtils.isShortcutContained( getPrefContext(), shortcutTypes, mComponentName.flattenToString())); mShortcutPreference.setSummary(getShortcutTypeSummary(getPrefContext())); } Loading tests/robotests/config/robolectric.properties +1 −0 Original line number Diff line number Diff line sdk=NEWEST_SDK shadows=\ com.android.settings.testutils.shadow.ShadowThreadUtils \ com.android.settings.testutils.shadow.ShadowAccessibilityManager \ com.android.settings.network.ShadowServiceManagerExtend instrumentedPackages=androidx.preference sqliteMode=native No newline at end of file tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java +4 −3 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package com.android.settings.accessibility; import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.SOFTWARE; import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.any; Loading Loading @@ -564,9 +566,8 @@ public class AccessibilitySettingsTest { } private void setShortcutEnabled(ComponentName componentName, boolean enabled) { Settings.Secure.putString(mContext.getContentResolver(), Settings.Secure.ACCESSIBILITY_BUTTON_TARGETS, enabled ? componentName.flattenToString() : ""); mShadowAccessibilityManager.setAccessibilityShortcutTargets( SOFTWARE, (enabled) ? List.of(componentName.flattenToString()) : List.of()); } private BooleanSubject assertUriObserversContainsClazz( Loading Loading
src/com/android/settings/accessibility/AccessibilityShortcutPreferenceFragment.java +3 −2 Original line number Diff line number Diff line Loading @@ -41,6 +41,7 @@ import androidx.preference.PreferenceCategory; import androidx.preference.PreferenceScreen; import com.android.internal.accessibility.common.ShortcutConstants; import com.android.internal.accessibility.util.ShortcutUtils; import com.android.settings.R; import com.android.settings.accessibility.shortcuts.EditShortcutsPreferenceFragment; import com.android.settings.dashboard.RestrictedDashboardFragment; Loading Loading @@ -308,8 +309,8 @@ public abstract class AccessibilityShortcutPreferenceFragment extends Restricted final int shortcutTypes = getUserPreferredShortcutTypes(); mShortcutPreference.setChecked( AccessibilityUtil.hasValuesInSettings(getPrefContext(), shortcutTypes, getComponentName())); ShortcutUtils.isShortcutContained( getPrefContext(), shortcutTypes, getComponentName().flattenToString())); mShortcutPreference.setSummary(getShortcutTypeSummary(getPrefContext())); } Loading
src/com/android/settings/accessibility/AccessibilityUtil.java +3 −50 Original line number Diff line number Diff line Loading @@ -21,7 +21,6 @@ import static android.view.WindowInsets.Type.displayCutout; import static android.view.WindowInsets.Type.systemBars; import static android.view.WindowManagerPolicyConstants.NAV_BAR_MODE_GESTURAL; import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.DEFAULT; import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.GESTURE; import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.HARDWARE; import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.QUICK_SETTINGS; Loading @@ -37,7 +36,6 @@ import android.graphics.Insets; import android.graphics.Rect; import android.icu.text.CaseMap; import android.os.Build; import android.os.UserHandle; import android.provider.Settings; import android.text.TextUtils; import android.util.TypedValue; Loading Loading @@ -194,52 +192,6 @@ public final class AccessibilityUtil { : AccessibilityServiceFragmentType.TOGGLE; } /** * Returns if component name existed in one of {@code shortcutTypes} string in Settings. * * @param context The current context. * @param shortcutTypes A combination of {@link UserShortcutType}. * @param componentName The component name that need to be checked existed in Settings. * @return {@code true} if componentName existed in Settings. */ static boolean hasValuesInSettings(Context context, int shortcutTypes, @NonNull ComponentName componentName) { for (int shortcutType : AccessibilityUtil.SHORTCUTS_ORDER_IN_UI) { if (!android.provider.Flags.a11yStandaloneGestureEnabled()) { if ((shortcutType & GESTURE) == GESTURE) { continue; } } if ((shortcutTypes & shortcutType) == shortcutType && hasValueInSettings(context, shortcutType, componentName)) { return true; } } return false; } /** * Returns if component name existed in {@code shortcutType} string Settings. * * @param context The current context. * @param shortcutType The preferred shortcut type user selected. * @param componentName The component name that need to be checked existed in Settings. * @return {@code true} if componentName existed in Settings. * * @deprecated use * {@link ShortcutUtils#isShortcutContained(Context, int, String)} instead. * * (TODO 367414968: finish removal.) */ @Deprecated @VisibleForTesting static boolean hasValueInSettings(Context context, @UserShortcutType int shortcutType, @NonNull ComponentName componentName) { return ShortcutUtils.getShortcutTargetsFromSettings( context, shortcutType, UserHandle.myUserId() ).contains(componentName.flattenToString()); } /** * Gets the corresponding user shortcut type of a given accessibility service. * Loading @@ -250,14 +202,15 @@ public final class AccessibilityUtil { */ static int getUserShortcutTypesFromSettings(Context context, @NonNull ComponentName componentName) { int shortcutTypes = DEFAULT; int shortcutTypes = UserShortcutType.DEFAULT; for (int shortcutType : AccessibilityUtil.SHORTCUTS_ORDER_IN_UI) { if (!android.provider.Flags.a11yStandaloneGestureEnabled()) { if ((shortcutType & GESTURE) == GESTURE) { continue; } } if (hasValueInSettings(context, shortcutType, componentName)) { if (ShortcutUtils.isShortcutContained( context, shortcutType, componentName.flattenToString())) { shortcutTypes |= shortcutType; } } Loading
src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java +3 −2 Original line number Diff line number Diff line Loading @@ -56,6 +56,7 @@ import androidx.preference.PreferenceScreen; import androidx.recyclerview.widget.RecyclerView; import com.android.internal.accessibility.common.ShortcutConstants; import com.android.internal.accessibility.util.ShortcutUtils; import com.android.settings.R; import com.android.settings.SettingsActivity; import com.android.settings.accessibility.AccessibilityUtil.QuickSettingsTooltipType; Loading Loading @@ -630,8 +631,8 @@ public abstract class ToggleFeaturePreferenceFragment extends DashboardFragment final int shortcutTypes = getUserPreferredShortcutTypes(); mShortcutPreference.setChecked( AccessibilityUtil.hasValuesInSettings(getPrefContext(), shortcutTypes, mComponentName)); ShortcutUtils.isShortcutContained( getPrefContext(), shortcutTypes, mComponentName.flattenToString())); mShortcutPreference.setSummary(getShortcutTypeSummary(getPrefContext())); } Loading
tests/robotests/config/robolectric.properties +1 −0 Original line number Diff line number Diff line sdk=NEWEST_SDK shadows=\ com.android.settings.testutils.shadow.ShadowThreadUtils \ com.android.settings.testutils.shadow.ShadowAccessibilityManager \ com.android.settings.network.ShadowServiceManagerExtend instrumentedPackages=androidx.preference sqliteMode=native No newline at end of file
tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java +4 −3 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package com.android.settings.accessibility; import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.SOFTWARE; import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.any; Loading Loading @@ -564,9 +566,8 @@ public class AccessibilitySettingsTest { } private void setShortcutEnabled(ComponentName componentName, boolean enabled) { Settings.Secure.putString(mContext.getContentResolver(), Settings.Secure.ACCESSIBILITY_BUTTON_TARGETS, enabled ? componentName.flattenToString() : ""); mShadowAccessibilityManager.setAccessibilityShortcutTargets( SOFTWARE, (enabled) ? List.of(componentName.flattenToString()) : List.of()); } private BooleanSubject assertUriObserversContainsClazz( Loading