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
This commit is contained in:
@@ -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();
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user