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 row = (ExpandableNotificationRow) child;
|
||||||
ExpandableNotificationRow parent = row.getNotificationParent();
|
ExpandableNotificationRow parent = row.getNotificationParent();
|
||||||
if (parent != null && parent.areChildrenExpanded()
|
if (parent != null && parent.areChildrenExpanded()
|
||||||
&& (mGearExposedView == parent
|
&& (parent.areGutsExposed()
|
||||||
|
|| mGearExposedView == parent
|
||||||
|| (parent.getNotificationChildren().size() == 1
|
|| (parent.getNotificationChildren().size() == 1
|
||||||
&& parent.isClearable()))) {
|
&& parent.isClearable()))) {
|
||||||
// In this case the group is expanded and showing the gear for the
|
// 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) {
|
public boolean canChildBeExpanded(View v) {
|
||||||
return v instanceof ExpandableNotificationRow
|
return v instanceof ExpandableNotificationRow
|
||||||
&& ((ExpandableNotificationRow) v).isExpandable()
|
&& ((ExpandableNotificationRow) v).isExpandable()
|
||||||
|
&& !((ExpandableNotificationRow) v).areGutsExposed()
|
||||||
&& (mIsExpanded || !((ExpandableNotificationRow) v).isPinned());
|
&& (mIsExpanded || !((ExpandableNotificationRow) v).isPinned());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2097,7 +2099,9 @@ public class NotificationStackScrollLayout extends ViewGroup
|
|||||||
final ExpandableView firstChild = getFirstChildNotGone();
|
final ExpandableView firstChild = getFirstChildNotGone();
|
||||||
int firstChildMinHeight = firstChild != null
|
int firstChildMinHeight = firstChild != null
|
||||||
? firstChild.getIntrinsicHeight()
|
? firstChild.getIntrinsicHeight()
|
||||||
: mCollapsedSize;
|
: mEmptyShadeView != null
|
||||||
|
? mEmptyShadeView.getMinHeight()
|
||||||
|
: mCollapsedSize;
|
||||||
if (mOwnScrollY > 0) {
|
if (mOwnScrollY > 0) {
|
||||||
firstChildMinHeight = Math.max(firstChildMinHeight - mOwnScrollY, mCollapsedSize);
|
firstChildMinHeight = Math.max(firstChildMinHeight - mOwnScrollY, mCollapsedSize);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -171,6 +171,12 @@ public class StackScrollAlgorithm {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static boolean canChildBeDismissed(View v) {
|
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);
|
final View veto = v.findViewById(R.id.veto);
|
||||||
return (veto != null && veto.getVisibility() != View.GONE);
|
return (veto != null && veto.getVisibility() != View.GONE);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user