summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/com/android/internal/widget/ActionBarView.java18
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);