Merge "Collapse the stack on clicks rather than on down" into sc-dev am: fd4a4a3ee5 am: abfba98a67

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/14850318

Change-Id: I598b1b445e9de98686f46e8741d130a74fab5032
This commit is contained in:
Mady Mellor
2021-06-09 18:49:57 +00:00
committed by Automerger Merge Worker
2 changed files with 9 additions and 34 deletions

View File

@@ -290,27 +290,6 @@ public class BubbleExpandedView extends LinearLayout {
applyThemeAttrs();
setClipToPadding(false);
setOnTouchListener((view, motionEvent) -> {
if (mTaskView == null) {
return false;
}
final Rect avBounds = new Rect();
mTaskView.getBoundsOnScreen(avBounds);
// Consume and ignore events on the expanded view padding that are within the
// ActivityView's vertical bounds. These events are part of a back gesture, and so they
// should not collapse the stack (which all other touches on areas around the AV would
// do).
if (motionEvent.getRawY() >= avBounds.top
&& motionEvent.getRawY() <= avBounds.bottom
&& (motionEvent.getRawX() < avBounds.left
|| motionEvent.getRawX() > avBounds.right)) {
return true;
}
return false;
});
// BubbleStackView is forced LTR, but we want to respect the locale for expanded view layout
// so the Manage button appears on the right.

View File

@@ -901,20 +901,16 @@ public class BubbleStackView extends FrameLayout
}
});
// If the stack itself is touched, it means none of its touchable views (bubbles, flyouts,
// ActivityViews, etc.) were touched. Collapse the stack if it's expanded.
setOnTouchListener((view, ev) -> {
if (ev.getAction() == MotionEvent.ACTION_DOWN) {
if (mShowingManage) {
showManageMenu(false /* show */);
} else if (mStackEduView != null && mStackEduView.getVisibility() == VISIBLE) {
mStackEduView.hide(false);
} else if (mBubbleData.isExpanded()) {
mBubbleData.setExpanded(false);
}
// If the stack itself is clicked, it means none of its touchable views (bubbles, flyouts,
// TaskView, etc.) were touched. Collapse the stack if it's expanded.
setOnClickListener(view -> {
if (mShowingManage) {
showManageMenu(false /* show */);
} else if (mStackEduView != null && mStackEduView.getVisibility() == VISIBLE) {
mStackEduView.hide(false);
} else if (mBubbleData.isExpanded()) {
mBubbleData.setExpanded(false);
}
return true;
});
animate()