summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Powell <adamp@google.com>2013-02-04 12:44:34 -0800
committerAdam Powell <adamp@google.com>2013-02-04 12:47:34 -0800
commit62f33030b9fb6be893e20b563e3ba1800e3e63e8 (patch)
tree93d72ae75fce9bfa615537d136b05636076def90
parent3d57823a2e813ef9d535aab6c40ecbc509f5ab71 (diff)
downloadbase-62f33030b9fb6be893e20b563e3ba1800e3e63e8.tar.gz
Fix regression in expanded action view up
A bug was introduced when these views were restructured. Make sure that the Up button for expanded action views functions/focuses correctly. Bug 8124825 Change-Id: I0a886e62fca21dbb9a173db87642bb79ce9245e7
-rw-r--r--core/java/com/android/internal/widget/ActionBarView.java13
1 files changed, 13 insertions, 0 deletions
diff --git a/core/java/com/android/internal/widget/ActionBarView.java b/core/java/com/android/internal/widget/ActionBarView.java
index 4d28abcec9e2..d11b3b35074b 100644
--- a/core/java/com/android/internal/widget/ActionBarView.java
+++ b/core/java/com/android/internal/widget/ActionBarView.java
@@ -122,6 +122,7 @@ public class ActionBarView extends AbsActionBarView {
private boolean mIncludeTabs;
private boolean mIsCollapsable;
private boolean mIsCollapsed;
+ private boolean mWasHomeEnabled; // Was it enabled before action view expansion?
private MenuBuilder mOptionsMenu;
@@ -227,6 +228,15 @@ public class ActionBarView extends AbsActionBarView {
mExpandedHomeLayout.setContentDescription(getResources().getText(
R.string.action_bar_up_description));
+ // This needs to highlight/be focusable on its own.
+ // TODO: Clean up the handoff between expanded/normal.
+ final Drawable upBackground = mUpGoerFive.getBackground();
+ if (upBackground != null) {
+ mExpandedHomeLayout.setBackground(upBackground.getConstantState().newDrawable());
+ }
+ mExpandedHomeLayout.setEnabled(true);
+ mExpandedHomeLayout.setFocusable(true);
+
mTitleStyleRes = a.getResourceId(R.styleable.ActionBar_titleTextStyle, 0);
mSubtitleStyleRes = a.getResourceId(R.styleable.ActionBar_subtitleTextStyle, 0);
mProgressStyle = a.getResourceId(R.styleable.ActionBar_progressBarStyle, 0);
@@ -1529,6 +1539,8 @@ 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);
requestLayout();
item.setActionViewExpanded(true);
@@ -1571,6 +1583,7 @@ public class ActionBarView extends AbsActionBarView {
}
mExpandedHomeLayout.setIcon(null);
mCurrentExpandedItem = null;
+ setHomeButtonEnabled(mWasHomeEnabled); // Set by expandItemActionView above
requestLayout();
item.setActionViewExpanded(false);