Loading core/java/android/view/accessibility/AccessibilityManager.java +43 −3 Original line number Diff line number Diff line Loading @@ -67,7 +67,6 @@ import android.view.View; import android.view.accessibility.AccessibilityEvent.EventType; import com.android.internal.R; import com.android.internal.accessibility.common.ShortcutConstants; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.util.IntPair; Loading Loading @@ -157,6 +156,22 @@ public final class AccessibilityManager { public static final String ACTION_CHOOSE_ACCESSIBILITY_BUTTON = "com.android.internal.intent.action.CHOOSE_ACCESSIBILITY_BUTTON"; /** * Used as an int value for accessibility chooser activity to represent the accessibility button * shortcut type. * * @hide */ public static final int ACCESSIBILITY_BUTTON = 0; /** * Used as an int value for accessibility chooser activity to represent hardware key shortcut, * such as volume key button. * * @hide */ public static final int ACCESSIBILITY_SHORTCUT_KEY = 1; /** @hide */ public static final int FLASH_REASON_CALL = 1; Loading @@ -169,6 +184,32 @@ public final class AccessibilityManager { /** @hide */ public static final int FLASH_REASON_PREVIEW = 4; /** * Annotations for the shortcut type. * <p>Note: Keep in sync with {@link #SHORTCUT_TYPES}.</p> * @hide */ @Retention(RetentionPolicy.SOURCE) @IntDef(value = { // LINT.IfChange(shortcut_type_intdef) ACCESSIBILITY_BUTTON, ACCESSIBILITY_SHORTCUT_KEY // LINT.ThenChange(:shortcut_type_array) }) public @interface ShortcutType {} /** * Used for iterating through {@link ShortcutType}. * <p>Note: Keep in sync with {@link ShortcutType}.</p> * @hide */ public static final int[] SHORTCUT_TYPES = { // LINT.IfChange(shortcut_type_array) ACCESSIBILITY_BUTTON, ACCESSIBILITY_SHORTCUT_KEY, // LINT.ThenChange(:shortcut_type_intdef) }; /** * Annotations for content flag of UI. * @hide Loading Loading @@ -1745,8 +1786,7 @@ public final class AccessibilityManager { @TestApi @RequiresPermission(Manifest.permission.MANAGE_ACCESSIBILITY) @NonNull public List<String> getAccessibilityShortcutTargets( @ShortcutConstants.UserShortcutType int shortcutType) { public List<String> getAccessibilityShortcutTargets(@ShortcutType int shortcutType) { final IAccessibilityManager service; synchronized (mLock) { service = getServiceLocked(); Loading core/java/com/android/internal/accessibility/AccessibilityShortcutController.java +3 −3 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package com.android.internal.accessibility; import static android.accessibilityservice.AccessibilityServiceInfo.FEEDBACK_ALL_MASK; import static android.view.WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG; import static android.view.accessibility.AccessibilityManager.ACCESSIBILITY_SHORTCUT_KEY; import static com.android.internal.accessibility.dialog.AccessibilityTargetHelper.getTargets; import static com.android.internal.os.RoSystemProperties.SUPPORT_ONE_HANDED_MODE; Loading Loading @@ -328,8 +329,7 @@ public class AccessibilityShortcutController { } private AlertDialog createShortcutWarningDialog(int userId) { List<AccessibilityTarget> targets = getTargets(mContext, ShortcutConstants.UserShortcutType.HARDWARE); List<AccessibilityTarget> targets = getTargets(mContext, ACCESSIBILITY_SHORTCUT_KEY); if (targets.size() == 0) { return null; } Loading Loading @@ -541,7 +541,7 @@ public class AccessibilityShortcutController { private ComponentName getShortcutTargetComponentName() { final List<String> shortcutTargets = mFrameworkObjectProvider .getAccessibilityManagerInstance(mContext) .getAccessibilityShortcutTargets(ShortcutConstants.UserShortcutType.HARDWARE); .getAccessibilityShortcutTargets(ACCESSIBILITY_SHORTCUT_KEY); if (shortcutTargets.size() != 1) { return null; } Loading core/java/com/android/internal/accessibility/common/ShortcutConstants.java +10 −21 Original line number Diff line number Diff line Loading @@ -44,27 +44,19 @@ public final class ShortcutConstants { * choose accessibility shortcut as preferred shortcut. * {@code TRIPLETAP} for displaying specifying magnification to be toggled via quickly * tapping screen 3 times as preferred shortcut. * {@code TWO_FINGERS_TRIPLE_TAP} for displaying specifying magnification to be toggled via * quickly tapping screen 3 times with two fingers as preferred shortcut. */ @Retention(RetentionPolicy.SOURCE) @IntDef( flag = true, value = { @IntDef({ UserShortcutType.DEFAULT, UserShortcutType.SOFTWARE, UserShortcutType.HARDWARE, UserShortcutType.TRIPLETAP, UserShortcutType.TWO_FINGERS_TRIPLE_TAP, }) public @interface UserShortcutType { int DEFAULT = 0; // LINT.IfChange(shortcut_type_intdef) int SOFTWARE = 1; int HARDWARE = 1 << 1; int TRIPLETAP = 1 << 2; int TWO_FINGERS_TRIPLE_TAP = 1 << 3; // LINT.ThenChange(:shortcut_type_array) int SOFTWARE = 1; // 1 << 0 int HARDWARE = 2; // 1 << 1 int TRIPLETAP = 4; // 1 << 2 } /** Loading @@ -72,12 +64,9 @@ public final class ShortcutConstants { * non-default IntDef types. */ public static final int[] USER_SHORTCUT_TYPES = { // LINT.IfChange(shortcut_type_array) UserShortcutType.SOFTWARE, UserShortcutType.HARDWARE, UserShortcutType.TRIPLETAP, UserShortcutType.TWO_FINGERS_TRIPLE_TAP, // LINT.ThenChange(:shortcut_type_intdef) UserShortcutType.TRIPLETAP }; Loading core/java/com/android/internal/accessibility/dialog/AccessibilityActivityTarget.java +4 −4 Original line number Diff line number Diff line Loading @@ -17,13 +17,14 @@ package com.android.internal.accessibility.dialog; import static com.android.internal.accessibility.util.ShortcutUtils.convertToKey; import static com.android.internal.accessibility.util.ShortcutUtils.convertToUserType; import static com.android.internal.accessibility.util.ShortcutUtils.isShortcutContained; import android.accessibilityservice.AccessibilityShortcutInfo; import android.annotation.NonNull; import android.content.Context; import android.view.accessibility.AccessibilityManager.ShortcutType; import com.android.internal.accessibility.common.ShortcutConstants; import com.android.internal.accessibility.common.ShortcutConstants.AccessibilityFragmentType; import com.android.internal.accessibility.common.ShortcutConstants.ShortcutMenuMode; Loading @@ -32,8 +33,7 @@ import com.android.internal.accessibility.common.ShortcutConstants.ShortcutMenuM */ class AccessibilityActivityTarget extends AccessibilityTarget { AccessibilityActivityTarget(Context context, @ShortcutConstants.UserShortcutType int shortcutType, AccessibilityActivityTarget(Context context, @ShortcutType int shortcutType, @NonNull AccessibilityShortcutInfo shortcutInfo) { super(context, shortcutType, Loading @@ -44,7 +44,7 @@ class AccessibilityActivityTarget extends AccessibilityTarget { shortcutInfo.getActivityInfo().applicationInfo.uid, shortcutInfo.getActivityInfo().loadLabel(context.getPackageManager()), shortcutInfo.getActivityInfo().loadIcon(context.getPackageManager()), convertToKey(shortcutType)); convertToKey(convertToUserType(shortcutType))); } @Override Loading core/java/com/android/internal/accessibility/dialog/AccessibilityButtonChooserActivity.java +2 −2 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package com.android.internal.accessibility.dialog; import static android.view.WindowManagerPolicyConstants.NAV_BAR_MODE_GESTURAL; import static android.view.accessibility.AccessibilityManager.ACCESSIBILITY_BUTTON; import static com.android.internal.accessibility.AccessibilityShortcutController.MAGNIFICATION_COMPONENT_NAME; import static com.android.internal.accessibility.AccessibilityShortcutController.MAGNIFICATION_CONTROLLER_NAME; Loading @@ -35,7 +36,6 @@ import android.widget.GridView; import android.widget.TextView; import com.android.internal.R; import com.android.internal.accessibility.common.ShortcutConstants; import com.android.internal.widget.ResolverDrawerLayout; import java.util.ArrayList; Loading Loading @@ -85,7 +85,7 @@ public class AccessibilityButtonChooserActivity extends Activity { prompt.setVisibility(View.VISIBLE); } mTargets.addAll(getTargets(this, ShortcutConstants.UserShortcutType.SOFTWARE)); mTargets.addAll(getTargets(this, ACCESSIBILITY_BUTTON)); final GridView gridview = findViewById(R.id.accessibility_button_chooser_grid); gridview.setAdapter(new ButtonTargetAdapter(mTargets)); Loading Loading
core/java/android/view/accessibility/AccessibilityManager.java +43 −3 Original line number Diff line number Diff line Loading @@ -67,7 +67,6 @@ import android.view.View; import android.view.accessibility.AccessibilityEvent.EventType; import com.android.internal.R; import com.android.internal.accessibility.common.ShortcutConstants; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.util.IntPair; Loading Loading @@ -157,6 +156,22 @@ public final class AccessibilityManager { public static final String ACTION_CHOOSE_ACCESSIBILITY_BUTTON = "com.android.internal.intent.action.CHOOSE_ACCESSIBILITY_BUTTON"; /** * Used as an int value for accessibility chooser activity to represent the accessibility button * shortcut type. * * @hide */ public static final int ACCESSIBILITY_BUTTON = 0; /** * Used as an int value for accessibility chooser activity to represent hardware key shortcut, * such as volume key button. * * @hide */ public static final int ACCESSIBILITY_SHORTCUT_KEY = 1; /** @hide */ public static final int FLASH_REASON_CALL = 1; Loading @@ -169,6 +184,32 @@ public final class AccessibilityManager { /** @hide */ public static final int FLASH_REASON_PREVIEW = 4; /** * Annotations for the shortcut type. * <p>Note: Keep in sync with {@link #SHORTCUT_TYPES}.</p> * @hide */ @Retention(RetentionPolicy.SOURCE) @IntDef(value = { // LINT.IfChange(shortcut_type_intdef) ACCESSIBILITY_BUTTON, ACCESSIBILITY_SHORTCUT_KEY // LINT.ThenChange(:shortcut_type_array) }) public @interface ShortcutType {} /** * Used for iterating through {@link ShortcutType}. * <p>Note: Keep in sync with {@link ShortcutType}.</p> * @hide */ public static final int[] SHORTCUT_TYPES = { // LINT.IfChange(shortcut_type_array) ACCESSIBILITY_BUTTON, ACCESSIBILITY_SHORTCUT_KEY, // LINT.ThenChange(:shortcut_type_intdef) }; /** * Annotations for content flag of UI. * @hide Loading Loading @@ -1745,8 +1786,7 @@ public final class AccessibilityManager { @TestApi @RequiresPermission(Manifest.permission.MANAGE_ACCESSIBILITY) @NonNull public List<String> getAccessibilityShortcutTargets( @ShortcutConstants.UserShortcutType int shortcutType) { public List<String> getAccessibilityShortcutTargets(@ShortcutType int shortcutType) { final IAccessibilityManager service; synchronized (mLock) { service = getServiceLocked(); Loading
core/java/com/android/internal/accessibility/AccessibilityShortcutController.java +3 −3 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package com.android.internal.accessibility; import static android.accessibilityservice.AccessibilityServiceInfo.FEEDBACK_ALL_MASK; import static android.view.WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG; import static android.view.accessibility.AccessibilityManager.ACCESSIBILITY_SHORTCUT_KEY; import static com.android.internal.accessibility.dialog.AccessibilityTargetHelper.getTargets; import static com.android.internal.os.RoSystemProperties.SUPPORT_ONE_HANDED_MODE; Loading Loading @@ -328,8 +329,7 @@ public class AccessibilityShortcutController { } private AlertDialog createShortcutWarningDialog(int userId) { List<AccessibilityTarget> targets = getTargets(mContext, ShortcutConstants.UserShortcutType.HARDWARE); List<AccessibilityTarget> targets = getTargets(mContext, ACCESSIBILITY_SHORTCUT_KEY); if (targets.size() == 0) { return null; } Loading Loading @@ -541,7 +541,7 @@ public class AccessibilityShortcutController { private ComponentName getShortcutTargetComponentName() { final List<String> shortcutTargets = mFrameworkObjectProvider .getAccessibilityManagerInstance(mContext) .getAccessibilityShortcutTargets(ShortcutConstants.UserShortcutType.HARDWARE); .getAccessibilityShortcutTargets(ACCESSIBILITY_SHORTCUT_KEY); if (shortcutTargets.size() != 1) { return null; } Loading
core/java/com/android/internal/accessibility/common/ShortcutConstants.java +10 −21 Original line number Diff line number Diff line Loading @@ -44,27 +44,19 @@ public final class ShortcutConstants { * choose accessibility shortcut as preferred shortcut. * {@code TRIPLETAP} for displaying specifying magnification to be toggled via quickly * tapping screen 3 times as preferred shortcut. * {@code TWO_FINGERS_TRIPLE_TAP} for displaying specifying magnification to be toggled via * quickly tapping screen 3 times with two fingers as preferred shortcut. */ @Retention(RetentionPolicy.SOURCE) @IntDef( flag = true, value = { @IntDef({ UserShortcutType.DEFAULT, UserShortcutType.SOFTWARE, UserShortcutType.HARDWARE, UserShortcutType.TRIPLETAP, UserShortcutType.TWO_FINGERS_TRIPLE_TAP, }) public @interface UserShortcutType { int DEFAULT = 0; // LINT.IfChange(shortcut_type_intdef) int SOFTWARE = 1; int HARDWARE = 1 << 1; int TRIPLETAP = 1 << 2; int TWO_FINGERS_TRIPLE_TAP = 1 << 3; // LINT.ThenChange(:shortcut_type_array) int SOFTWARE = 1; // 1 << 0 int HARDWARE = 2; // 1 << 1 int TRIPLETAP = 4; // 1 << 2 } /** Loading @@ -72,12 +64,9 @@ public final class ShortcutConstants { * non-default IntDef types. */ public static final int[] USER_SHORTCUT_TYPES = { // LINT.IfChange(shortcut_type_array) UserShortcutType.SOFTWARE, UserShortcutType.HARDWARE, UserShortcutType.TRIPLETAP, UserShortcutType.TWO_FINGERS_TRIPLE_TAP, // LINT.ThenChange(:shortcut_type_intdef) UserShortcutType.TRIPLETAP }; Loading
core/java/com/android/internal/accessibility/dialog/AccessibilityActivityTarget.java +4 −4 Original line number Diff line number Diff line Loading @@ -17,13 +17,14 @@ package com.android.internal.accessibility.dialog; import static com.android.internal.accessibility.util.ShortcutUtils.convertToKey; import static com.android.internal.accessibility.util.ShortcutUtils.convertToUserType; import static com.android.internal.accessibility.util.ShortcutUtils.isShortcutContained; import android.accessibilityservice.AccessibilityShortcutInfo; import android.annotation.NonNull; import android.content.Context; import android.view.accessibility.AccessibilityManager.ShortcutType; import com.android.internal.accessibility.common.ShortcutConstants; import com.android.internal.accessibility.common.ShortcutConstants.AccessibilityFragmentType; import com.android.internal.accessibility.common.ShortcutConstants.ShortcutMenuMode; Loading @@ -32,8 +33,7 @@ import com.android.internal.accessibility.common.ShortcutConstants.ShortcutMenuM */ class AccessibilityActivityTarget extends AccessibilityTarget { AccessibilityActivityTarget(Context context, @ShortcutConstants.UserShortcutType int shortcutType, AccessibilityActivityTarget(Context context, @ShortcutType int shortcutType, @NonNull AccessibilityShortcutInfo shortcutInfo) { super(context, shortcutType, Loading @@ -44,7 +44,7 @@ class AccessibilityActivityTarget extends AccessibilityTarget { shortcutInfo.getActivityInfo().applicationInfo.uid, shortcutInfo.getActivityInfo().loadLabel(context.getPackageManager()), shortcutInfo.getActivityInfo().loadIcon(context.getPackageManager()), convertToKey(shortcutType)); convertToKey(convertToUserType(shortcutType))); } @Override Loading
core/java/com/android/internal/accessibility/dialog/AccessibilityButtonChooserActivity.java +2 −2 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package com.android.internal.accessibility.dialog; import static android.view.WindowManagerPolicyConstants.NAV_BAR_MODE_GESTURAL; import static android.view.accessibility.AccessibilityManager.ACCESSIBILITY_BUTTON; import static com.android.internal.accessibility.AccessibilityShortcutController.MAGNIFICATION_COMPONENT_NAME; import static com.android.internal.accessibility.AccessibilityShortcutController.MAGNIFICATION_CONTROLLER_NAME; Loading @@ -35,7 +36,6 @@ import android.widget.GridView; import android.widget.TextView; import com.android.internal.R; import com.android.internal.accessibility.common.ShortcutConstants; import com.android.internal.widget.ResolverDrawerLayout; import java.util.ArrayList; Loading Loading @@ -85,7 +85,7 @@ public class AccessibilityButtonChooserActivity extends Activity { prompt.setVisibility(View.VISIBLE); } mTargets.addAll(getTargets(this, ShortcutConstants.UserShortcutType.SOFTWARE)); mTargets.addAll(getTargets(this, ACCESSIBILITY_BUTTON)); final GridView gridview = findViewById(R.id.accessibility_button_chooser_grid); gridview.setAdapter(new ButtonTargetAdapter(mTargets)); Loading