From e53e6bbb82b411f99083e4a6d2071fde45d68d53 Mon Sep 17 00:00:00 2001 From: Selim Cinek Date: Mon, 13 Apr 2015 16:14:26 -0700 Subject: [PATCH] Fixed a bug where a notification could not be collapsed Also fixed a bug where the content height was wrongly calculated when the dismissview was invisible. Finally refined the appearance when more then 2 huns are present. Change-Id: If66243beef2383f2cb36961deffcb0a42bbcd177 --- .../SystemUI/src/com/android/systemui/ExpandHelper.java | 3 +-- .../android/systemui/statusbar/policy/HeadsUpManager.java | 2 +- .../statusbar/stack/NotificationStackScrollLayout.java | 7 ++----- .../systemui/statusbar/stack/StackScrollAlgorithm.java | 4 ++-- 4 files changed, 6 insertions(+), 10 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/ExpandHelper.java b/packages/SystemUI/src/com/android/systemui/ExpandHelper.java index 20ca7b7a97ca5..fece07fa9167e 100644 --- a/packages/SystemUI/src/com/android/systemui/ExpandHelper.java +++ b/packages/SystemUI/src/com/android/systemui/ExpandHelper.java @@ -322,8 +322,7 @@ public class ExpandHelper implements Gefingerpoken { isInside(mScrollAdapter.getHostView(), x, y) && mScrollAdapter.isScrolledToTop(); mResizedView = findView(x, y); - if (mResizedView != null && (isFullyExpanded(mResizedView) - || !mCallback.canChildBeExpanded(mResizedView))) { + if (mResizedView != null && !mCallback.canChildBeExpanded(mResizedView)) { mResizedView = null; mWatchingForPull = false; } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/HeadsUpManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/HeadsUpManager.java index c52b036840d0e..e072521e36e76 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/HeadsUpManager.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/HeadsUpManager.java @@ -98,7 +98,7 @@ public class HeadsUpManager implements ViewTreeObserver.OnComputeInternalInsetsL mDefaultSnoozeLengthMs = resources.getInteger(R.integer.heads_up_default_snooze_length_ms); mSnoozeLengthMs = mDefaultSnoozeLengthMs; mMinimumDisplayTime = resources.getInteger(R.integer.heads_up_notification_minimum_time); - mHeadsUpNotificationDecay = 200000000/*resources.getInteger(R.integer.heads_up_notification_decay)*/;; + mHeadsUpNotificationDecay = resources.getInteger(R.integer.heads_up_notification_decay); mClock = new Clock(); // TODO: shadow mSwipeHelper.setMaxSwipeProgress(mMaxAlpha); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java b/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java index 4d7f8c17d1b9f..f61e9ae2b269b 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/stack/NotificationStackScrollLayout.java @@ -1397,12 +1397,9 @@ public class NotificationStackScrollLayout extends ViewGroup // add the padding before this element height += mPaddingBetweenElements; } - if (child instanceof ExpandableNotificationRow) { - ExpandableNotificationRow row = (ExpandableNotificationRow) child; - height += row.getIntrinsicHeight(); - } else if (child instanceof ExpandableView) { + if (child instanceof ExpandableView) { ExpandableView expandableView = (ExpandableView) child; - height += expandableView.getActualHeight(); + height += expandableView.getIntrinsicHeight(); } } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackScrollAlgorithm.java b/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackScrollAlgorithm.java index 54ed04c068e6c..d98bcfe25815a 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackScrollAlgorithm.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/stack/StackScrollAlgorithm.java @@ -524,8 +524,8 @@ public class StackScrollAlgorithm { // Ensure that a headsUp is never below the topmost headsUp StackViewState topState = resultState.getViewStateForView(topHeadsUpEntry); childState.height = row.getHeadsUpHeight(); - childState.yTranslation = Math.min(childState.yTranslation, - topState.yTranslation + topState.height - childState.height); + childState.yTranslation = topState.yTranslation + topState.height + - childState.height; } } else if (mIsExpanded) { if (isTopEntry) {