diff options
author | Chris Craik <ccraik@google.com> | 2014-08-13 10:37:18 -0700 |
---|---|---|
committer | Chris Craik <ccraik@google.com> | 2014-08-13 13:44:40 -0700 |
commit | 1e610d479f091f1b09f2a7e5201711bf4d311f6f (patch) | |
tree | 14cc9ed1beb3e7badc5283c2bed654c5ffb1df5f /core/java/com/android/internal/widget/ActionBarContainer.java | |
parent | 4a8dddbf18fedb33bb2c725db489669a141e1d73 (diff) | |
download | frameworks_base-1e610d479f091f1b09f2a7e5201711bf4d311f6f.zip frameworks_base-1e610d479f091f1b09f2a7e5201711bf4d311f6f.tar.gz frameworks_base-1e610d479f091f1b09f2a7e5201711bf4d311f6f.tar.bz2 |
Fix action bar background drawing
bug:16940717
Fixes regression from 0de8add60e0d40c59def41663acae4d57d0b4b15
Change-Id: I7ec30a9c0c9422874cad106a2caeb7dcbe75e1b6
Diffstat (limited to 'core/java/com/android/internal/widget/ActionBarContainer.java')
-rw-r--r-- | core/java/com/android/internal/widget/ActionBarContainer.java | 32 |
1 files changed, 15 insertions, 17 deletions
diff --git a/core/java/com/android/internal/widget/ActionBarContainer.java b/core/java/com/android/internal/widget/ActionBarContainer.java index 9e24844..254f602 100644 --- a/core/java/com/android/internal/widget/ActionBarContainer.java +++ b/core/java/com/android/internal/widget/ActionBarContainer.java @@ -253,7 +253,7 @@ public class ActionBarContainer extends FrameLayout { return null; } - private boolean isCollapsed(View view) { + private static boolean isCollapsed(View view) { return view == null || view.getVisibility() == GONE || view.getMeasuredHeight() == 0; } @@ -326,35 +326,33 @@ public class ActionBarContainer extends FrameLayout { * projection surfaces. */ private class ActionBarBackgroundDrawable extends Drawable { - private Drawable getDrawable() { + @Override + public void draw(Canvas canvas) { if (mIsSplit) { if (mSplitBackground != null) { - return mSplitBackground; + mSplitBackground.draw(canvas); } } else { if (mBackground != null) { - return mBackground; + mBackground.draw(canvas); } if (mStackedBackground != null && mIsStacked) { - return mStackedBackground; + mStackedBackground.draw(canvas); } } - return null; - } - - @Override - public void draw(Canvas canvas) { - final Drawable drawable = getDrawable(); - if (drawable != null) { - drawable.draw(canvas); - } } @Override public void getOutline(@NonNull Outline outline) { - final Drawable drawable = getDrawable(); - if (drawable != null) { - drawable.getOutline(outline); + if (mIsSplit) { + if (mSplitBackground != null) { + mSplitBackground.getOutline(outline); + } + } else { + // ignore the stacked background for shadow casting + if (mBackground != null) { + mBackground.getOutline(outline); + } } } |