Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8c0d172d authored by Yinglei Wang's avatar Yinglei Wang Committed by Android (Google) Code Review
Browse files

Merge "Add AccessibilityAction ACTION_SHOW_SUGGESTIONS"

parents e9bbdafd fbfd7340
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -2045,6 +2045,7 @@ package android {
    field public static final int accessibilityActionScrollUp = 16908344; // 0x1020038
    field public static final int accessibilityActionSetProgress = 16908349; // 0x102003d
    field public static final int accessibilityActionShowOnScreen = 16908342; // 0x1020036
    field public static final int accessibilityActionShowSuggestions;
    field public static final int accessibilityActionShowTooltip = 16908356; // 0x1020044
    field public static final int accessibilityActionSwipeDown;
    field public static final int accessibilityActionSwipeLeft;
@@ -51527,6 +51528,7 @@ package android.view.accessibility {
    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_SET_SELECTION;
    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_SET_TEXT;
    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_SHOW_ON_SCREEN;
    field @NonNull public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_SHOW_SUGGESTIONS;
    field public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_SHOW_TOOLTIP;
    field @NonNull public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_SWIPE_DOWN;
    field @NonNull public static final android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction ACTION_SWIPE_LEFT;
+6 −0
Original line number Diff line number Diff line
@@ -5104,6 +5104,12 @@ public class AccessibilityNodeInfo implements Parcelable {
        @NonNull public static final AccessibilityAction ACTION_SWIPE_DOWN =
            new AccessibilityAction(R.id.accessibilityActionSwipeDown);

        /**
         * Action to show suggestions for editable text.
         */
        @NonNull public static final AccessibilityAction ACTION_SHOW_SUGGESTIONS =
                new AccessibilityAction(R.id.accessibilityActionShowSuggestions);

        private final int mActionId;
        private final CharSequence mLabel;

+1 −1
Original line number Diff line number Diff line
@@ -2513,7 +2513,7 @@ public class Editor {
     * the current cursor position or selection range. This method is consistent with the
     * method to show suggestions {@link SuggestionsPopupWindow#updateSuggestions}.
     */
    private boolean shouldOfferToShowSuggestions() {
    boolean shouldOfferToShowSuggestions() {
        CharSequence text = mTextView.getText();
        if (!(text instanceof Spannable)) return false;

+17 −0
Original line number Diff line number Diff line
@@ -12105,6 +12105,9 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
            if (canCut()) {
                info.addAction(AccessibilityNodeInfo.ACTION_CUT);
            }
            if (canReplace()) {
                info.addAction(AccessibilityNodeInfo.AccessibilityAction.ACTION_SHOW_SUGGESTIONS);
            }
            if (canShare()) {
                info.addAction(new AccessibilityNodeInfo.AccessibilityAction(
                        ACCESSIBILITY_ACTION_SHARE,
@@ -12419,6 +12422,11 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
            }
            return false;
            default: {
                // New ids have static blocks to assign values, so they can't be used in a case
                // block.
                if (action == R.id.accessibilityActionShowSuggestions) {
                    return isFocused() && canReplace() && onTextContextMenuItem(ID_REPLACE);
                }
                return super.performAccessibilityActionInternal(action, arguments);
            }
        }
@@ -13005,6 +13013,15 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
        return false;
    }
    boolean canReplace() {
        if (hasPasswordTransformationMethod()) {
            return false;
        }
        return (mText.length() > 0) && (mText instanceof Editable) && (mEditor != null)
                && isSuggestionsEnabled() && mEditor.shouldOfferToShowSuggestions();
    }
    boolean canShare() {
        if (!getContext().canStartActivityForResult() || !isDeviceProvisioned()) {
            return false;
+3 −0
Original line number Diff line number Diff line
@@ -275,6 +275,9 @@
  <!-- Accessibility action identifier for {@link android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction#ACTION_SWIPE_DOWN}. -->
  <item type="id" name="accessibilityActionSwipeDown" />

  <!-- Accessibility action identifier for {@link android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction#ACTION_SHOW_SUGGESTIONS}. -->
  <item type="id" name="accessibilityActionShowSuggestions" />

  <!-- View tag for remote views to store the index of the next child when adding nested remote views dynamically. -->
  <item type="id" name="remote_views_next_child" />

Loading