Merge "Don't resize task when dismissing docked stack" into nyc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
4e0114742a
@@ -530,16 +530,12 @@ public class DividerView extends FrameLayout implements OnTouchListener,
|
|||||||
|
|
||||||
private ValueAnimator getFlingAnimator(int position, final SnapTarget snapTarget,
|
private ValueAnimator getFlingAnimator(int position, final SnapTarget snapTarget,
|
||||||
final long endDelay) {
|
final long endDelay) {
|
||||||
|
final boolean taskPositionSameAtEnd = snapTarget.flag == SnapTarget.FLAG_NONE;
|
||||||
ValueAnimator anim = ValueAnimator.ofInt(position, snapTarget.position);
|
ValueAnimator anim = ValueAnimator.ofInt(position, snapTarget.position);
|
||||||
anim.addUpdateListener(new AnimatorUpdateListener() {
|
anim.addUpdateListener(animation -> resizeStack((Integer) animation.getAnimatedValue(),
|
||||||
@Override
|
taskPositionSameAtEnd && animation.getAnimatedFraction() == 1f
|
||||||
public void onAnimationUpdate(ValueAnimator animation) {
|
? TASK_POSITION_SAME
|
||||||
resizeStack((Integer) animation.getAnimatedValue(),
|
: snapTarget.position, snapTarget));
|
||||||
animation.getAnimatedFraction() == 1f
|
|
||||||
? TASK_POSITION_SAME
|
|
||||||
: snapTarget.position, snapTarget);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
Runnable endAction = () -> {
|
Runnable endAction = () -> {
|
||||||
commitSnapFlags(snapTarget);
|
commitSnapFlags(snapTarget);
|
||||||
mWindowManagerProxy.setResizing(false);
|
mWindowManagerProxy.setResizing(false);
|
||||||
@@ -919,10 +915,10 @@ public class DividerView extends FrameLayout implements OnTouchListener,
|
|||||||
private int restrictDismissingTaskPosition(int taskPosition, int dockSide,
|
private int restrictDismissingTaskPosition(int taskPosition, int dockSide,
|
||||||
SnapTarget snapTarget) {
|
SnapTarget snapTarget) {
|
||||||
if (snapTarget.flag == SnapTarget.FLAG_DISMISS_START && dockSideTopLeft(dockSide)) {
|
if (snapTarget.flag == SnapTarget.FLAG_DISMISS_START && dockSideTopLeft(dockSide)) {
|
||||||
return mSnapAlgorithm.getFirstSplitTarget().position;
|
return Math.max(mSnapAlgorithm.getFirstSplitTarget().position, mStartPosition);
|
||||||
} else if (snapTarget.flag == SnapTarget.FLAG_DISMISS_END
|
} else if (snapTarget.flag == SnapTarget.FLAG_DISMISS_END
|
||||||
&& dockSideBottomRight(dockSide)) {
|
&& dockSideBottomRight(dockSide)) {
|
||||||
return mSnapAlgorithm.getLastSplitTarget().position;
|
return Math.min(mSnapAlgorithm.getLastSplitTarget().position, mStartPosition);
|
||||||
} else {
|
} else {
|
||||||
return taskPosition;
|
return taskPosition;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user