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

Commit 2229ca03 authored by Adam Powell's avatar Adam Powell
Browse files

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
parent 6cd206b2
Loading
Loading
Loading
Loading
+5 −3
Original line number Original line Diff line number Diff line
@@ -526,7 +526,7 @@ public class ActionBarView extends AbsActionBarView {
        if (mLogoNavItem != null) {
        if (mLogoNavItem != null) {
            mLogoNavItem.setTitle(title);
            mLogoNavItem.setTitle(title);
        }
        }
        mUpGoerFive.setContentDescription(buildHomeContentDescription());
        updateHomeAccessibility(mUpGoerFive.isEnabled());
    }
    }


    public CharSequence getSubtitle() {
    public CharSequence getSubtitle() {
@@ -544,7 +544,7 @@ public class ActionBarView extends AbsActionBarView {
                    (!TextUtils.isEmpty(mTitle) || !TextUtils.isEmpty(mSubtitle));
                    (!TextUtils.isEmpty(mTitle) || !TextUtils.isEmpty(mSubtitle));
            mTitleLayout.setVisibility(visible ? VISIBLE : GONE);
            mTitleLayout.setVisibility(visible ? VISIBLE : GONE);
        }
        }
        mUpGoerFive.setContentDescription(buildHomeContentDescription());
        updateHomeAccessibility(mUpGoerFive.isEnabled());
    }
    }


    public void setHomeButtonEnabled(boolean enable) {
    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.
        // Make sure the home button has an accurate content description for accessibility.
        updateHomeAccessibility(!mUpGoerFive.isEnabled());
        updateHomeAccessibility(mUpGoerFive.isEnabled());
    }
    }


    public void setIcon(Drawable icon) {
    public void setIcon(Drawable icon) {
@@ -1332,11 +1332,13 @@ public class ActionBarView extends AbsActionBarView {


    public void setHomeActionContentDescription(CharSequence description) {
    public void setHomeActionContentDescription(CharSequence description) {
        mHomeDescription = description;
        mHomeDescription = description;
        updateHomeAccessibility(mUpGoerFive.isEnabled());
    }
    }


    public void setHomeActionContentDescription(int resId) {
    public void setHomeActionContentDescription(int resId) {
        mHomeDescriptionRes = resId;
        mHomeDescriptionRes = resId;
        mHomeDescription = resId != 0 ? getResources().getText(resId) : null;
        mHomeDescription = resId != 0 ? getResources().getText(resId) : null;
        updateHomeAccessibility(mUpGoerFive.isEnabled());
    }
    }


    static class SavedState extends BaseSavedState {
    static class SavedState extends BaseSavedState {