diff options
| -rw-r--r-- | core/java/com/android/internal/widget/ActionBarView.java | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/core/java/com/android/internal/widget/ActionBarView.java b/core/java/com/android/internal/widget/ActionBarView.java index d11b3b35074b..0f964b9a2805 100644 --- a/core/java/com/android/internal/widget/ActionBarView.java +++ b/core/java/com/android/internal/widget/ActionBarView.java @@ -559,6 +559,21 @@ public class ActionBarView extends AbsActionBarView { } public void setHomeButtonEnabled(boolean enable) { + setHomeButtonEnabled(enable, true); + } + + private void setHomeButtonEnabled(boolean enable, boolean recordState) { + if (recordState) { + mWasHomeEnabled = enable; + } + + if (mExpandedActionView != null) { + // There's an action view currently showing and we want to keep the state + // configured for the action view at the moment. If we needed to record the + // new state for later we will have done so above. + return; + } + mUpGoerFive.setEnabled(enable); mUpGoerFive.setFocusable(enable); // Make sure the home button has an accurate content description for accessibility. @@ -1539,8 +1554,7 @@ public class ActionBarView extends AbsActionBarView { if (mTabScrollView != null) mTabScrollView.setVisibility(GONE); if (mSpinner != null) mSpinner.setVisibility(GONE); if (mCustomNavView != null) mCustomNavView.setVisibility(GONE); - mWasHomeEnabled = mUpGoerFive.isEnabled(); - setHomeButtonEnabled(false); + setHomeButtonEnabled(false, false); requestLayout(); item.setActionViewExpanded(true); |