am 059ec2e5: am 88cc3f5a: Merge "Fixing overscroll with single page (issue 10937081)" into jb-ub-now-indigo-rose
* commit '059ec2e5c1af9fe43a3665749c4f3bd8031f6009': Fixing overscroll with single page (issue 10937081)
|
Before Width: | Height: | Size: 848 B After Width: | Height: | Size: 858 B |
|
Before Width: | Height: | Size: 547 B After Width: | Height: | Size: 552 B |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 4.5 KiB |
@@ -71,7 +71,7 @@
|
||||
<integer name="config_dragFadeOutDuration">250</integer>
|
||||
|
||||
<!-- Camera distance for the overscroll effect -->
|
||||
<integer name="config_cameraDistance">6500</integer>
|
||||
<integer name="config_cameraDistance">8000</integer>
|
||||
|
||||
<!-- Whether or not to use custom clings if a custom workspace layout is passed in -->
|
||||
<bool name="config_useCustomClings">false</bool>
|
||||
|
||||
@@ -194,6 +194,7 @@ public class Workspace extends SmoothPagedView
|
||||
private final int[] mTempXY = new int[2];
|
||||
private int[] mTempVisiblePagesRange = new int[2];
|
||||
private boolean mOverscrollTransformsSet;
|
||||
private float mLastOverscrollPivotX;
|
||||
public static final int DRAG_BITMAP_PADDING = 2;
|
||||
private boolean mWorkspaceFadeInAdjacentScreens;
|
||||
|
||||
@@ -1413,22 +1414,20 @@ public class Workspace extends SmoothPagedView
|
||||
final float rightBiasedPivot = 0.75f;
|
||||
final int lowerIndex = 0;
|
||||
final int upperIndex = getChildCount() - 1;
|
||||
if (isRtl) {
|
||||
index = mOverScrollX < 0 ? upperIndex : lowerIndex;
|
||||
pivotX = (index == 0 ? leftBiasedPivot : rightBiasedPivot);
|
||||
} else {
|
||||
index = mOverScrollX < 0 ? lowerIndex : upperIndex;
|
||||
pivotX = (index == 0 ? rightBiasedPivot : leftBiasedPivot);
|
||||
}
|
||||
|
||||
final boolean isLeftPage = mOverScrollX < 0;
|
||||
index = (!isRtl && isLeftPage) || (isRtl && !isLeftPage) ? lowerIndex : upperIndex;
|
||||
pivotX = isLeftPage ? rightBiasedPivot : leftBiasedPivot;
|
||||
|
||||
CellLayout cl = (CellLayout) getChildAt(index);
|
||||
float scrollProgress = getScrollProgress(screenCenter, cl, index);
|
||||
final boolean isLeftPage = (isRtl ? index > 0 : index == 0);
|
||||
cl.setOverScrollAmount(Math.abs(scrollProgress), isLeftPage);
|
||||
float rotation = -WORKSPACE_OVERSCROLL_ROTATION * scrollProgress;
|
||||
cl.setRotationY(rotation);
|
||||
if (!mOverscrollTransformsSet) {
|
||||
|
||||
if (!mOverscrollTransformsSet || Float.compare(mLastOverscrollPivotX, pivotX) != 0) {
|
||||
mOverscrollTransformsSet = true;
|
||||
mLastOverscrollPivotX = pivotX;
|
||||
cl.setCameraDistance(mDensity * mCameraDistance);
|
||||
cl.setPivotX(cl.getMeasuredWidth() * pivotX);
|
||||
cl.setPivotY(cl.getMeasuredHeight() * 0.5f);
|
||||
|
||||