Merge changes I0ca13626,I3677ce54 into nyc-dev
* changes: Fixed a flicker when closing QS without notifications Handled expandability and swiping while guts are exposed
This commit is contained in:
@@ -873,7 +873,8 @@ public class NotificationStackScrollLayout extends ViewGroup
|
||||
ExpandableNotificationRow row = (ExpandableNotificationRow) child;
|
||||
ExpandableNotificationRow parent = row.getNotificationParent();
|
||||
if (parent != null && parent.areChildrenExpanded()
|
||||
&& (mGearExposedView == parent
|
||||
&& (parent.areGutsExposed()
|
||||
|| mGearExposedView == parent
|
||||
|| (parent.getNotificationChildren().size() == 1
|
||||
&& parent.isClearable()))) {
|
||||
// In this case the group is expanded and showing the gear for the
|
||||
@@ -961,6 +962,7 @@ public class NotificationStackScrollLayout extends ViewGroup
|
||||
public boolean canChildBeExpanded(View v) {
|
||||
return v instanceof ExpandableNotificationRow
|
||||
&& ((ExpandableNotificationRow) v).isExpandable()
|
||||
&& !((ExpandableNotificationRow) v).areGutsExposed()
|
||||
&& (mIsExpanded || !((ExpandableNotificationRow) v).isPinned());
|
||||
}
|
||||
|
||||
@@ -2097,7 +2099,9 @@ public class NotificationStackScrollLayout extends ViewGroup
|
||||
final ExpandableView firstChild = getFirstChildNotGone();
|
||||
int firstChildMinHeight = firstChild != null
|
||||
? firstChild.getIntrinsicHeight()
|
||||
: mCollapsedSize;
|
||||
: mEmptyShadeView != null
|
||||
? mEmptyShadeView.getMinHeight()
|
||||
: mCollapsedSize;
|
||||
if (mOwnScrollY > 0) {
|
||||
firstChildMinHeight = Math.max(firstChildMinHeight - mOwnScrollY, mCollapsedSize);
|
||||
}
|
||||
|
||||
@@ -171,6 +171,12 @@ public class StackScrollAlgorithm {
|
||||
}
|
||||
|
||||
public static boolean canChildBeDismissed(View v) {
|
||||
if (v instanceof ExpandableNotificationRow) {
|
||||
ExpandableNotificationRow row = (ExpandableNotificationRow) v;
|
||||
if (row.areGutsExposed()) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
final View veto = v.findViewById(R.id.veto);
|
||||
return (veto != null && veto.getVisibility() != View.GONE);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user