Merge "Update a11y when alpha changes" into pi-dev

This commit is contained in:
Phil Weaver
2018-05-15 19:49:09 +00:00
committed by Android (Google) Code Review

View File

@@ -15049,8 +15049,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
public void setAlpha(@FloatRange(from=0.0, to=1.0) float alpha) {
ensureTransformationInfo();
if (mTransformationInfo.mAlpha != alpha) {
float oldAlpha = mTransformationInfo.mAlpha;
mTransformationInfo.mAlpha = alpha;
setAlphaInternal(alpha);
if (onSetAlpha((int) (alpha * 255))) {
mPrivateFlags |= PFLAG_ALPHA_SET;
// subclass is handling alpha - don't optimize rendering cache invalidation
@@ -15061,10 +15060,6 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
invalidateViewProperty(true, false);
mRenderNode.setAlpha(getFinalAlpha());
}
// Report visibility changes, which can affect children, to accessibility
if ((alpha == 0) ^ (oldAlpha == 0)) {
notifySubtreeAccessibilityStateChangedIfNeeded();
}
}
}
@@ -15081,7 +15076,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
boolean setAlphaNoInvalidation(float alpha) {
ensureTransformationInfo();
if (mTransformationInfo.mAlpha != alpha) {
mTransformationInfo.mAlpha = alpha;
setAlphaInternal(alpha);
boolean subclassHandlesAlpha = onSetAlpha((int) (alpha * 255));
if (subclassHandlesAlpha) {
mPrivateFlags |= PFLAG_ALPHA_SET;
@@ -15094,6 +15089,15 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
return false;
}
private void setAlphaInternal(float alpha) {
float oldAlpha = mTransformationInfo.mAlpha;
mTransformationInfo.mAlpha = alpha;
// Report visibility changes, which can affect children, to accessibility
if ((alpha == 0) ^ (oldAlpha == 0)) {
notifySubtreeAccessibilityStateChangedIfNeeded();
}
}
/**
* This property is hidden and intended only for use by the Fade transition, which
* animates it to produce a visual translucency that does not side-effect (or get