Merge "set correct bounds in ActionBar based on visibility of ActionBarView" into lmp-dev
diff --git a/core/java/com/android/internal/widget/ActionBarContainer.java b/core/java/com/android/internal/widget/ActionBarContainer.java
index 8111e63..0105f51 100644
--- a/core/java/com/android/internal/widget/ActionBarContainer.java
+++ b/core/java/com/android/internal/widget/ActionBarContainer.java
@@ -39,6 +39,7 @@
private boolean mIsTransitioning;
private View mTabContainer;
private View mActionBarView;
+ private View mActionContextView;
private Drawable mBackground;
private Drawable mStackedBackground;
@@ -79,6 +80,7 @@
public void onFinishInflate() {
super.onFinishInflate();
mActionBarView = findViewById(com.android.internal.R.id.action_bar);
+ mActionContextView = findViewById(com.android.internal.R.id.action_context_bar);
}
public void setPrimaryBackground(Drawable bg) {
@@ -312,8 +314,16 @@
}
} else {
if (mBackground != null) {
- mBackground.setBounds(mActionBarView.getLeft(), mActionBarView.getTop(),
- mActionBarView.getRight(), mActionBarView.getBottom());
+ if (mActionBarView.getVisibility() == View.VISIBLE) {
+ mBackground.setBounds(mActionBarView.getLeft(), mActionBarView.getTop(),
+ mActionBarView.getRight(), mActionBarView.getBottom());
+ } else if (mActionContextView != null &&
+ mActionContextView.getVisibility() == View.VISIBLE) {
+ mBackground.setBounds(mActionContextView.getLeft(), mActionContextView.getTop(),
+ mActionContextView.getRight(), mActionContextView.getBottom());
+ } else {
+ mBackground.setBounds(0, 0, 0, 0);
+ }
needsInvalidate = true;
}
mIsStacked = hasTabs;