Fixing homescreen getting blank when returning from the overlay

Change-Id: Ie11b92cd59c90e71b9b58eeede742ef0c5b28380
This commit is contained in:
Sunny Goyal
2016-02-12 14:24:21 -08:00
parent 38f92cf9aa
commit f2ea0cdd94
2 changed files with 22 additions and 4 deletions
+14
View File
@@ -173,6 +173,7 @@ public class Workspace extends PagedView
@Thunk float[] mDragViewVisualCenter = new float[2];
private float[] mTempCellLayoutCenterCoordinates = new float[2];
private Matrix mTempInverseMatrix = new Matrix();
private Matrix mTempMatrix = new Matrix();
private SpringLoadedDragController mSpringLoadedDragController;
private float mSpringLoadedShrinkFactor;
@@ -1344,6 +1345,7 @@ public class Workspace extends PagedView
if (mIsRtl) {
transX = -transX;
}
mOverlayTranslation = transX;
// TODO(adamcohen): figure out a final effect here. We may need to recommend
// different effects based on device performance. On at least one relatively high-end
@@ -1361,6 +1363,18 @@ public class Workspace extends PagedView
}
}
@Override
protected Matrix getPageShiftMatrix() {
if (Float.compare(mOverlayTranslation, 0) != 0) {
// The pages are translated by mOverlayTranslation. incorporate that in the
// visible page calculation by shifting everything back by that same amount.
mTempMatrix.set(getMatrix());
mTempMatrix.postTranslate(-mOverlayTranslation, 0);
return mTempMatrix;
}
return super.getPageShiftMatrix();
}
private void setTranslationAndAlpha(View v, float transX, float alpha) {
if (v != null) {
v.setTranslationX(transX);