Show side pages when exiting spring-loaded mode
Bug: 6132598
Change-Id: I2bf9025b7ac66d020522448b003905cb37c87587
diff --git a/src/com/android/launcher2/PagedView.java b/src/com/android/launcher2/PagedView.java
index 5434704..8a2a5a0 100644
--- a/src/com/android/launcher2/PagedView.java
+++ b/src/com/android/launcher2/PagedView.java
@@ -721,20 +721,21 @@
protected void getVisiblePages(int[] range) {
final int pageCount = getChildCount();
+
if (pageCount > 0) {
final int screenWidth = getMeasuredWidth();
int leftScreen = 0;
int rightScreen = 0;
View currPage = getPageAt(leftScreen);
while (leftScreen < pageCount - 1 &&
- currPage.getRight() - currPage.getPaddingRight() < mScrollX) {
+ currPage.getX() + currPage.getWidth() - currPage.getPaddingRight() < mScrollX) {
leftScreen++;
currPage = getPageAt(leftScreen);
}
rightScreen = leftScreen;
currPage = getPageAt(rightScreen + 1);
while (rightScreen < pageCount - 1 &&
- currPage.getLeft() + currPage.getPaddingLeft() < mScrollX + screenWidth) {
+ currPage.getX() - currPage.getPaddingLeft() < mScrollX + screenWidth) {
rightScreen++;
currPage = getPageAt(rightScreen + 1);
}
diff --git a/src/com/android/launcher2/Workspace.java b/src/com/android/launcher2/Workspace.java
index 06e0185..fc49161 100644
--- a/src/com/android/launcher2/Workspace.java
+++ b/src/com/android/launcher2/Workspace.java
@@ -1568,6 +1568,7 @@
final State oldState = mState;
final boolean oldStateIsNormal = (oldState == State.NORMAL);
+ final boolean oldStateIsSpringLoaded = (oldState == State.SPRING_LOADED);
final boolean oldStateIsSmall = (oldState == State.SMALL);
mState = state;
final boolean stateIsNormal = (state == State.NORMAL);
@@ -1608,8 +1609,9 @@
if ((oldStateIsSmall && stateIsNormal) ||
(oldStateIsNormal && stateIsSmall)) {
// To/from workspace - only show the current page unless the transition is not
- // animated and the animation end callback below doesn't run
- if (i == mCurrentPage || !animated) {
+ // animated and the animation end callback below doesn't run;
+ // or, if we're in spring-loaded mode
+ if (i == mCurrentPage || !animated || oldStateIsSpringLoaded) {
finalAlpha = 1f;
finalAlphaMultiplierValue = 0f;
} else {