Handled expandability and swiping while guts are exposed

Also fixed a bug where the wrong guts were selected with groups.

Change-Id: I3677ce549b2a90e2dc225470cff4e2548ddca81a
Fixes: 29046865
This commit is contained in:
Selim Cinek
2016-06-03 11:46:56 -07:00
parent ddf1b399d8
commit 38d429f439
2 changed files with 9 additions and 1 deletions

View File

@@ -868,7 +868,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
@@ -956,6 +957,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());
}

View File

@@ -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);
}