Fixed unminimizing during battery saving mode

Added code to restore docked stack to the position before minimized
state when no animation duration is specified. Battery mode skips
animations and therefore it provides no animation duration.

Change-Id: Ica4e4497b90d6b99c9c2c78b5e27365fe35b37ce
Test: manual
Fixes: 36768431
This commit is contained in:
Matthew Ng
2017-04-27 16:28:49 -07:00
parent 97578e313c
commit 04f34304fb

View File

@@ -725,14 +725,21 @@ public class DividerView extends FrameLayout implements OnTouchListener,
mMinimizedSnapAlgorithm = null;
mDockedStackMinimized = minimized;
initializeSnapAlgorithm();
if (!mIsInMinimizeInteraction && minimized) {
mIsInMinimizeInteraction = true;
mDividerPositionBeforeMinimized = DockedDividerUtils.calculateMiddlePosition(
isHorizontalDivision(), mStableInsets, mDisplayWidth, mDisplayHeight,
mDividerSize);
if (mIsInMinimizeInteraction != minimized) {
if (minimized) {
mIsInMinimizeInteraction = true;
mDividerPositionBeforeMinimized = DockedDividerUtils.calculateMiddlePosition(
isHorizontalDivision(), mStableInsets, mDisplayWidth, mDisplayHeight,
mDividerSize);
int position = mMinimizedSnapAlgorithm.getMiddleTarget().position;
resizeStack(position, position, mMinimizedSnapAlgorithm.getMiddleTarget());
int position = mMinimizedSnapAlgorithm.getMiddleTarget().position;
resizeStack(position, position, mMinimizedSnapAlgorithm.getMiddleTarget());
} else {
resizeStack(mDividerPositionBeforeMinimized, mDividerPositionBeforeMinimized,
mSnapAlgorithm.calculateNonDismissingSnapTarget(
mDividerPositionBeforeMinimized));
mIsInMinimizeInteraction = false;
}
}
}
}