Merge "Fix gear being covered on notification update" into nyc-dev

This commit is contained in:
Mady Mellor
2016-04-25 19:06:16 +00:00
committed by Android (Google) Code Review
2 changed files with 14 additions and 4 deletions

View File

@@ -493,7 +493,15 @@ public class SwipeHelper implements Gefingerpoken {
updateSwipeProgressFromOffset(view, canAnimViewBeDismissed); updateSwipeProgressFromOffset(view, canAnimViewBeDismissed);
} }
public void snapChildIfNeeded(final View view, boolean animate) { /**
* Called when a view is updated to be non-dismissable, if the view was being dismissed before
* the update this will handle snapping it back into place.
*
* @param view the view to snap if necessary.
* @param animate whether to animate the snap or not.
* @param targetLeft the target to snap to.
*/
public void snapChildIfNeeded(final View view, boolean animate, float targetLeft) {
if ((mDragging && mCurrView == view) || mSnappingChild) { if ((mDragging && mCurrView == view) || mSnappingChild) {
return; return;
} }
@@ -507,7 +515,7 @@ public class SwipeHelper implements Gefingerpoken {
} }
if (needToSnap) { if (needToSnap) {
if (animate) { if (animate) {
snapChild(view, 0 /* targetLeft */, 0.0f /* velocity */); snapChild(view, targetLeft, 0.0f /* velocity */);
} else { } else {
snapChildInstantly(view); snapChildInstantly(view);
} }

View File

@@ -990,9 +990,11 @@ public class NotificationStackScrollLayout extends ViewGroup
true /* isDismissAll */); true /* isDismissAll */);
} }
public void snapViewIfNeeded(View child) { public void snapViewIfNeeded(ExpandableNotificationRow child) {
boolean animate = mIsExpanded || isPinnedHeadsUp(child); boolean animate = mIsExpanded || isPinnedHeadsUp(child);
mSwipeHelper.snapChildIfNeeded(child, animate); // If the child is showing the gear to go to settings, snap to that
float targetLeft = child.getSettingsRow().isVisible() ? child.getTranslation() : 0;
mSwipeHelper.snapChildIfNeeded(child, animate, targetLeft);
} }
@Override @Override