Merge "Fixes an issue where the guts could disappear" into oc-mr1-dev

am: 6b3501ab91

Change-Id: I3011c9437aac2405c35c93df746a7a865256ab48
This commit is contained in:
Selim Cinek
2017-09-18 18:40:09 +00:00
committed by android-build-merger
3 changed files with 20 additions and 6 deletions

View File

@@ -2024,14 +2024,15 @@ public class ExpandableNotificationRow extends ActivatableNotificationView
}
@Override
public int getMinHeight() {
if (mGuts != null && mGuts.isExposed()) {
public int getMinHeight(boolean ignoreTemporaryStates) {
if (!ignoreTemporaryStates && mGuts != null && mGuts.isExposed()) {
return mGuts.getIntrinsicHeight();
} else if (isHeadsUpAllowed() && mIsHeadsUp && mHeadsUpManager.isTrackingHeadsUp()) {
} else if (!ignoreTemporaryStates && isHeadsUpAllowed() && mIsHeadsUp
&& mHeadsUpManager.isTrackingHeadsUp()) {
return getPinnedHeadsUpHeight(false /* atLeastMinHeight */);
} else if (mIsSummaryWithChildren && !isGroupExpanded() && !mShowingPublic) {
return mChildrenContainer.getMinHeight();
} else if (isHeadsUpAllowed() && mIsHeadsUp) {
} else if (!ignoreTemporaryStates && isHeadsUpAllowed() && mIsHeadsUp) {
return mHeadsUpHeight;
}
NotificationContentView showingLayout = getShowingLayout();

View File

@@ -151,9 +151,21 @@ public abstract class ExpandableView extends FrameLayout {
}
/**
* @return The minimum content height of this notification.
* @return The minimum content height of this notification. This also respects the temporary
* states of the view.
*/
public int getMinHeight() {
return getMinHeight(false /* ignoreTemporaryStates */);
}
/**
* Get the minimum height of this view.
*
* @param ignoreTemporaryStates should temporary states be ignored like the guts or heads-up.
*
* @return The minimum height that this view needs.
*/
public int getMinHeight(boolean ignoreTemporaryStates) {
return getHeight();
}

View File

@@ -509,7 +509,8 @@ public class NotificationPanelView extends PanelView implements
if (row.isRemoved()) {
continue;
}
availableSpace -= child.getMinHeight() + notificationPadding;
availableSpace -= child.getMinHeight(true /* ignoreTemporaryStates */)
+ notificationPadding;
if (availableSpace >= 0 && count < maximum) {
count++;
} else if (availableSpace > -shelfSize) {