summaryrefslogtreecommitdiffstats
path: root/packages/SystemUI/src
diff options
context:
space:
mode:
authorSelim Cinek <cinek@google.com>2014-05-24 16:47:06 +0200
committerSelim Cinek <cinek@google.com>2014-05-24 16:47:06 +0200
commitf653dba7cb672b5ebfc8403e54e74095a89d56fb (patch)
treed7813eed0976235505e882747f87356ac7245586 /packages/SystemUI/src
parent1efb240c1a0aeca9492cf8891794712adfdb1fa7 (diff)
downloadframeworks_base-f653dba7cb672b5ebfc8403e54e74095a89d56fb.zip
frameworks_base-f653dba7cb672b5ebfc8403e54e74095a89d56fb.tar.gz
frameworks_base-f653dba7cb672b5ebfc8403e54e74095a89d56fb.tar.bz2
Notifications where clipped incorrectly in the unlocked shade.
Previously the notification clipping did not account for the corners of their rounded rects. Bug: 15188616 Change-Id: If8ee1ceda0a5a43b4ab9e754804279834f93baa4
Diffstat (limited to 'packages/SystemUI/src')
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/stack/StackScrollState.java9
1 files changed, 8 insertions, 1 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackScrollState.java b/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackScrollState.java
index ae2acab..44e10be 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackScrollState.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackScrollState.java
@@ -37,12 +37,15 @@ public class StackScrollState {
private static final String CHILD_NOT_FOUND_TAG = "StackScrollStateNoSuchChild";
private final ViewGroup mHostView;
+ private final int mRoundedRectCornerRadius;
private Map<ExpandableView, ViewState> mStateMap;
private final Rect mClipRect = new Rect();
public StackScrollState(ViewGroup hostView) {
mHostView = hostView;
mStateMap = new HashMap<ExpandableView, ViewState>();
+ mRoundedRectCornerRadius = mHostView.getResources().getDimensionPixelSize(
+ com.android.internal.R.dimen.notification_quantum_rounded_rect_radius);
}
public ViewGroup getHostView() {
@@ -155,11 +158,15 @@ public class StackScrollState {
// apply clipping and shadow
float newNotificationEnd = newYTranslation + newHeight;
+ // In the unlocked shade we have to clip a little bit higher because of the rounded
+ // corners of the notifications.
+ float clippingCorrection = state.dimmed ? 0 : mRoundedRectCornerRadius;
+
// When the previous notification is swiped, we don't clip the content to the
// bottom of it.
float clipHeight = previousNotificationIsSwiped
? newHeight
- : newNotificationEnd - (previousNotificationEnd);
+ : newNotificationEnd - (previousNotificationEnd - clippingCorrection);
updateChildClippingAndBackground(child, newHeight,
clipHeight,