Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit eb3fc3d5 authored by Selim Cinek's avatar Selim Cinek
Browse files

Fixes an issue where the guts could disappear

Because it was too big to fit on the screen, a
notification could be dropped.

Change-Id: I73e57ef18ac55ca076e6b76408d9bd9d91a78b9d
Fixes: 64735432
Test: manual, longpress last notification, trigger layout.
parent 406042a5
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -1989,14 +1989,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();
+13 −1
Original line number Diff line number Diff line
@@ -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();
    }

+2 −1
Original line number Diff line number Diff line
@@ -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) {