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

Commit c9cb2e83 authored by yingleiw's avatar yingleiw
Browse files

Make getStateDescription() in View none final

Do not make getStateDescription final, since it can cause
compatibility issues with existing derived classes that define
a getStateDescription. Also replaced call to
getContentDescription() to mContentDescription. This is because
if a subclass overrides it, we don't want it to affect the value
used in accessibility service (cause divergence in accessibility
event and accessibilityNodeInfo).

Bug: 143652980
Test: no needed
Change-Id: I36c94c85eb258b3c9474090d841c925331d22d73
parent 6de32457
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -50659,7 +50659,7 @@ package android.view {
    method public final int getScrollY();
    method @android.view.ViewDebug.ExportedProperty(category="drawing") @ColorInt public int getSolidColor();
    method @LayoutRes public int getSourceLayoutResId();
    method @android.view.ViewDebug.ExportedProperty(category="accessibility") @Nullable public final CharSequence getStateDescription();
    method @android.view.ViewDebug.ExportedProperty(category="accessibility") @Nullable public CharSequence getStateDescription();
    method public android.animation.StateListAnimator getStateListAnimator();
    method protected int getSuggestedMinimumHeight();
    method protected int getSuggestedMinimumWidth();
+8 −7
Original line number Diff line number Diff line
@@ -8727,7 +8727,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
            structure.setContextClickable(true);
        }
        structure.setClassName(getAccessibilityClassName().toString());
        structure.setContentDescription(getContentDescription());
        structure.setContentDescription(mContentDescription);
    }
    /**
@@ -9934,8 +9934,8 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
        info.setImportantForAccessibility(isImportantForAccessibility());
        info.setPackageName(mContext.getPackageName());
        info.setClassName(getAccessibilityClassName());
        info.setStateDescription(getStateDescription());
        info.setContentDescription(getContentDescription());
        info.setStateDescription(mStateDescription);
        info.setContentDescription(mContentDescription);
        info.setEnabled(isEnabled());
        info.setClickable(isClickable());
@@ -10318,7 +10318,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
     * @see #setStateDescription(CharSequence)
     */
    @ViewDebug.ExportedProperty(category = "accessibility")
    public final @Nullable CharSequence getStateDescription() {
    public @Nullable CharSequence getStateDescription() {
        return mStateDescription;
    }
@@ -13724,7 +13724,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
     */
    @UnsupportedAppUsage
    public CharSequence getIterableTextForAccessibility() {
        return getContentDescription();
        return mContentDescription;
    }
    /**
@@ -29514,9 +29514,10 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
        stream.addProperty("text:textAlignment", getTextAlignment());
        // accessibility
        CharSequence contentDescription = getContentDescription();
        stream.addProperty("accessibility:contentDescription",
                contentDescription == null ? "" : contentDescription.toString());
                mContentDescription == null ? "" : mContentDescription.toString());
        stream.addProperty("accessibility:stateDescription",
                mStateDescription == null ? "" : mStateDescription.toString());
        stream.addProperty("accessibility:labelFor", getLabelFor());
        stream.addProperty("accessibility:importantForAccessibility", getImportantForAccessibility());
    }