summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/com/android/launcher3/PagedView.java20
-rw-r--r--src/com/android/launcher3/Workspace.java2
2 files changed, 20 insertions, 2 deletions
diff --git a/src/com/android/launcher3/PagedView.java b/src/com/android/launcher3/PagedView.java
index 36935401f..b1b3a9328 100644
--- a/src/com/android/launcher3/PagedView.java
+++ b/src/com/android/launcher3/PagedView.java
@@ -915,6 +915,7 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc
int verticalPadding = getPaddingTop() + getPaddingBottom();
LayoutParams lp = (LayoutParams) getChildAt(startIndex).getLayoutParams();
+ LayoutParams nextLp;
int childLeft = offsetX + (lp.isFullScreenPage ? 0 : getPaddingLeft());
if (mPageScrolls == null || getChildCount() != mChildCountOnLastLayout) {
@@ -944,7 +945,24 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc
int scrollOffsetLeft = lp.isFullScreenPage ? 0 : getPaddingLeft();
mPageScrolls[i] = childLeft - scrollOffsetLeft - offsetX;
- childLeft += childWidth + mPageSpacing;
+
+ int pageGap = mPageSpacing;
+ int next = i + delta;
+ if (next != endIndex) {
+ nextLp = (LayoutParams) getPageAt(next).getLayoutParams();
+ } else {
+ nextLp = null;
+ }
+
+ // Prevent full screen pages from showing in the viewport
+ // when they are not the current page.
+ if (lp.isFullScreenPage) {
+ pageGap = getPaddingLeft();
+ } else if (nextLp != null && nextLp.isFullScreenPage) {
+ pageGap = getPaddingRight();
+ }
+
+ childLeft += childWidth + pageGap;
}
}
diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java
index 078d25665..7dcacc7c9 100644
--- a/src/com/android/launcher3/Workspace.java
+++ b/src/com/android/launcher3/Workspace.java
@@ -1546,7 +1546,7 @@ public class Workspace extends SmoothPagedView
mState == State.NORMAL &&
!mIsSwitchingState &&
!isInOverscroll) {
- for (int i = 0; i < getChildCount(); i++) {
+ for (int i = numCustomPages(); i < getChildCount(); i++) {
CellLayout child = (CellLayout) getChildAt(i);
if (child != null) {
float scrollProgress = getScrollProgress(screenCenter, child, i);