Merge "Fix lockscreen notification + media counting." into sc-dev

This commit is contained in:
Jeff DeCew
2021-06-09 02:43:26 +00:00
committed by Android (Google) Code Review
2 changed files with 26 additions and 17 deletions

View File

@@ -2097,11 +2097,13 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
if (height != 0) { if (height != 0) {
height += mPaddingBetweenElements; height += mPaddingBetweenElements;
} }
height += calculateGapHeight(previousView, expandableView, numShownItems); float gapHeight = calculateGapHeight(previousView, expandableView, numShownNotifs);
height += gapHeight;
height += viewHeight; height += viewHeight;
numShownItems++; numShownItems++;
if (!(expandableView instanceof MediaHeaderView)) { if (viewHeight > 0 || !(expandableView instanceof MediaHeaderView)) {
// Only count the media as a notification if it has a positive height.
numShownNotifs++; numShownNotifs++;
} }
previousView = expandableView; previousView = expandableView;

View File

@@ -139,6 +139,7 @@ import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow
import com.android.systemui.statusbar.notification.row.ExpandableView; import com.android.systemui.statusbar.notification.row.ExpandableView;
import com.android.systemui.statusbar.notification.stack.AmbientState; import com.android.systemui.statusbar.notification.stack.AmbientState;
import com.android.systemui.statusbar.notification.stack.AnimationProperties; import com.android.systemui.statusbar.notification.stack.AnimationProperties;
import com.android.systemui.statusbar.notification.stack.MediaHeaderView;
import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout; import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout;
import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayoutController; import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayoutController;
import com.android.systemui.statusbar.notification.stack.StackStateAnimator; import com.android.systemui.statusbar.notification.stack.StackStateAnimator;
@@ -1325,21 +1326,27 @@ public class NotificationPanelViewController extends PanelViewController {
ExpandableView previousView = null; ExpandableView previousView = null;
for (int i = 0; i < mNotificationStackScrollLayoutController.getChildCount(); i++) { for (int i = 0; i < mNotificationStackScrollLayoutController.getChildCount(); i++) {
ExpandableView child = mNotificationStackScrollLayoutController.getChildAt(i); ExpandableView child = mNotificationStackScrollLayoutController.getChildAt(i);
if (!(child instanceof ExpandableNotificationRow)) { if (child instanceof ExpandableNotificationRow) {
continue; ExpandableNotificationRow row = (ExpandableNotificationRow) child;
} boolean suppressedSummary = mGroupManager != null
ExpandableNotificationRow row = (ExpandableNotificationRow) child; && mGroupManager.isSummaryOfSuppressedGroup(row.getEntry().getSbn());
boolean if (suppressedSummary) {
suppressedSummary = continue;
mGroupManager != null && mGroupManager.isSummaryOfSuppressedGroup( }
row.getEntry().getSbn()); if (!canShowViewOnLockscreen(child)) {
if (suppressedSummary) { continue;
continue; }
} if (row.isRemoved()) {
if (!canShowViewOnLockscreen(child)) { continue;
continue; }
} } else if (child instanceof MediaHeaderView) {
if (row.isRemoved()) { if (child.getVisibility() == GONE) {
continue;
}
if (child.getIntrinsicHeight() == 0) {
continue;
}
} else {
continue; continue;
} }
availableSpace -= child.getMinHeight(true /* ignoreTemporaryStates */); availableSpace -= child.getMinHeight(true /* ignoreTemporaryStates */);