Merge "Fixes divider position after minimizing and unminimizing with ime open" into oc-dev

am: 81a57133e8

Change-Id: I9d3f0778d8153dcf172e2dcd4b7b5653e94e6d62
This commit is contained in:
Matthew Ng
2017-05-11 18:14:19 +00:00
committed by android-build-merger

View File

@@ -767,17 +767,22 @@ public class DividerView extends FrameLayout implements OnTouchListener,
mDockedStackMinimized = minimized; mDockedStackMinimized = minimized;
} else if (mDockedStackMinimized != minimized) { } else if (mDockedStackMinimized != minimized) {
mIsInMinimizeInteraction = true; mIsInMinimizeInteraction = true;
if (minimized && (mCurrentAnimator == null || !mCurrentAnimator.isRunning())) { if (minimized && (mCurrentAnimator == null || !mCurrentAnimator.isRunning())
&& (mDividerPositionBeforeMinimized <= 0 || !mAdjustedForIme)) {
mDividerPositionBeforeMinimized = getCurrentPosition(); mDividerPositionBeforeMinimized = getCurrentPosition();
} }
mMinimizedSnapAlgorithm = null; mMinimizedSnapAlgorithm = null;
mDockedStackMinimized = minimized; mDockedStackMinimized = minimized;
initializeSnapAlgorithm(); initializeSnapAlgorithm();
stopDragging(getCurrentPosition(), minimized ? stopDragging(minimized
mMinimizedSnapAlgorithm.getMiddleTarget() : ? mDividerPositionBeforeMinimized
mSnapAlgorithm.calculateNonDismissingSnapTarget( : getCurrentPosition(),
minimized
? mMinimizedSnapAlgorithm.getMiddleTarget()
: mSnapAlgorithm.calculateNonDismissingSnapTarget(
mDividerPositionBeforeMinimized), mDividerPositionBeforeMinimized),
animDuration, Interpolators.FAST_OUT_SLOW_IN, 0); animDuration, Interpolators.FAST_OUT_SLOW_IN, 0);
setAdjustedForIme(false, animDuration);
} }
if (!minimized) { if (!minimized) {
mBackground.animate().withEndAction(mResetBackgroundRunnable); mBackground.animate().withEndAction(mResetBackgroundRunnable);
@@ -820,6 +825,9 @@ public class DividerView extends FrameLayout implements OnTouchListener,
.setDuration(animDuration) .setDuration(animDuration)
.start(); .start();
mAdjustedForIme = adjustedForIme; mAdjustedForIme = adjustedForIme;
if (mHomeStackResizable && adjustedForIme) {
mDividerPositionBeforeMinimized = getCurrentPosition();
}
} }
private void resetBackground() { private void resetBackground() {