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

Commit df31d341 authored by Jason Hsu's avatar Jason Hsu Committed by Automerger Merge Worker
Browse files

Merge "Fix talkback did not speak out ReplacementSpan's content description."...

Merge "Fix talkback did not speak out ReplacementSpan's content description." into rvc-dev am: dac6071a am: 54091834

Change-Id: I4d06ea20178c0bb5ea42a677aceed88f1c3a6746
parents 21c3e399 54091834
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -738,7 +738,7 @@ public class TextUtils {
    /** @hide */
    public static final int ACCESSIBILITY_REPLACEMENT_SPAN = 29;
    /** @hide */
    public static final int LAST_SPAN = LINE_HEIGHT_SPAN;
    public static final int LAST_SPAN = ACCESSIBILITY_REPLACEMENT_SPAN;

    /**
     * Flatten a CharSequence and whatever styles can be copied across processes
+13 −8
Original line number Diff line number Diff line
@@ -22,30 +22,35 @@ import android.os.Parcel;
import android.os.Parcelable;
import android.text.ParcelableSpan;
import android.text.TextUtils;
import android.view.accessibility.AccessibilityNodeInfo;

/**
 * This class serves as a parcelable placeholder for the ReplacementSpans.
 * This class serves as a parcelable placeholder for the {@link ReplacementSpan}.
 *
 * This span contains content description of original span to let Accessibility service to do the
 * substitution for it.
 * It is used to replace ReplacementSpans in {@link AccessibilityNodeInfo#setText(CharSequence)}.
 *
 * @hide
 */
public class AccessibilityReplacementSpan extends ReplacementSpan
        implements ParcelableSpan {
    // The content description of the span this one replaces
    private CharSequence mContentDescription;

    /**
     * Sets the content description to the parent class.
     *
     * @param contentDescription The content description of the span this one replaces
     */
    public AccessibilityReplacementSpan(CharSequence contentDescription) {
        this.setContentDescription(contentDescription);
        mContentDescription = contentDescription;
    }

    /**
     * Sets the content description to the parent class.
     *
     * @param p The parcel to de-serialize from
     */
    public AccessibilityReplacementSpan(Parcel p) {
        mContentDescription = p.readCharSequence();
        final CharSequence contentDescription = p.readCharSequence();
        this.setContentDescription(contentDescription);
    }

    @Override
@@ -70,7 +75,7 @@ public class AccessibilityReplacementSpan extends ReplacementSpan

    @Override
    public void writeToParcelInternal(Parcel dest, int flags) {
        dest.writeCharSequence(mContentDescription);
        dest.writeCharSequence(this.getContentDescription());
    }

    @Override