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) {
height += mPaddingBetweenElements;
}
height += calculateGapHeight(previousView, expandableView, numShownItems);
float gapHeight = calculateGapHeight(previousView, expandableView, numShownNotifs);
height += gapHeight;
height += viewHeight;
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++;
}
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.stack.AmbientState;
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.NotificationStackScrollLayoutController;
import com.android.systemui.statusbar.notification.stack.StackStateAnimator;
@@ -1325,21 +1326,27 @@ public class NotificationPanelViewController extends PanelViewController {
ExpandableView previousView = null;
for (int i = 0; i < mNotificationStackScrollLayoutController.getChildCount(); i++) {
ExpandableView child = mNotificationStackScrollLayoutController.getChildAt(i);
if (!(child instanceof ExpandableNotificationRow)) {
continue;
}
ExpandableNotificationRow row = (ExpandableNotificationRow) child;
boolean
suppressedSummary =
mGroupManager != null && mGroupManager.isSummaryOfSuppressedGroup(
row.getEntry().getSbn());
if (suppressedSummary) {
continue;
}
if (!canShowViewOnLockscreen(child)) {
continue;
}
if (row.isRemoved()) {
if (child instanceof ExpandableNotificationRow) {
ExpandableNotificationRow row = (ExpandableNotificationRow) child;
boolean suppressedSummary = mGroupManager != null
&& mGroupManager.isSummaryOfSuppressedGroup(row.getEntry().getSbn());
if (suppressedSummary) {
continue;
}
if (!canShowViewOnLockscreen(child)) {
continue;
}
if (row.isRemoved()) {
continue;
}
} else if (child instanceof MediaHeaderView) {
if (child.getVisibility() == GONE) {
continue;
}
if (child.getIntrinsicHeight() == 0) {
continue;
}
} else {
continue;
}
availableSpace -= child.getMinHeight(true /* ignoreTemporaryStates */);