Fix an action bar accessibility regression

A previous fix introduced a problem with building content descriptions
for accessibility of the home/up button in one code path while setting
display options flags. Correct the issue and also refresh content
descriptions immediately when setting related attributes one at a
time.

Bug 11542264

Change-Id: I40d07036d1026e8e40c77c47ac377c82edd827b4
This commit is contained in:
Adam Powell
2013-11-12 16:20:46 -08:00
parent 6cd206b2aa
commit 2229ca031a

View File

@ -526,7 +526,7 @@ public class ActionBarView extends AbsActionBarView {
if (mLogoNavItem != null) {
mLogoNavItem.setTitle(title);
}
mUpGoerFive.setContentDescription(buildHomeContentDescription());
updateHomeAccessibility(mUpGoerFive.isEnabled());
}
public CharSequence getSubtitle() {
@ -544,7 +544,7 @@ public class ActionBarView extends AbsActionBarView {
(!TextUtils.isEmpty(mTitle) || !TextUtils.isEmpty(mSubtitle));
mTitleLayout.setVisibility(visible ? VISIBLE : GONE);
}
mUpGoerFive.setContentDescription(buildHomeContentDescription());
updateHomeAccessibility(mUpGoerFive.isEnabled());
}
public void setHomeButtonEnabled(boolean enable) {
@ -681,7 +681,7 @@ public class ActionBarView extends AbsActionBarView {
}
// Make sure the home button has an accurate content description for accessibility.
updateHomeAccessibility(!mUpGoerFive.isEnabled());
updateHomeAccessibility(mUpGoerFive.isEnabled());
}
public void setIcon(Drawable icon) {
@ -1332,11 +1332,13 @@ public class ActionBarView extends AbsActionBarView {
public void setHomeActionContentDescription(CharSequence description) {
mHomeDescription = description;
updateHomeAccessibility(mUpGoerFive.isEnabled());
}
public void setHomeActionContentDescription(int resId) {
mHomeDescriptionRes = resId;
mHomeDescription = resId != 0 ? getResources().getText(resId) : null;
updateHomeAccessibility(mUpGoerFive.isEnabled());
}
static class SavedState extends BaseSavedState {