summaryrefslogtreecommitdiffstats
path: root/quickstep
diff options
context:
space:
mode:
authorSunny Goyal <sunnygoyal@google.com>2017-12-21 12:40:38 -0800
committerSunny Goyal <sunnygoyal@google.com>2017-12-22 11:21:18 -0800
commit9328a51271dbcf122021dcf5e40a6cc41a0cb90f (patch)
treeed1f06b8309c465293bf2aaaa1d7c8332a4bf4f8 /quickstep
parent8c8fdec3e967286106c369db18e8bb69e5da4542 (diff)
downloadandroid_packages_apps_Trebuchet-9328a51271dbcf122021dcf5e40a6cc41a0cb90f.tar.gz
android_packages_apps_Trebuchet-9328a51271dbcf122021dcf5e40a6cc41a0cb90f.tar.bz2
android_packages_apps_Trebuchet-9328a51271dbcf122021dcf5e40a6cc41a0cb90f.zip
Adding translationX to workspace card to that it is slightly visible
behind the first card Change-Id: Idc0c169fb92510e74b983160778bd9dbacf29943
Diffstat (limited to 'quickstep')
-rw-r--r--quickstep/res/values/dimens.xml1
-rw-r--r--quickstep/src/com/android/launcher3/uioverrides/OverviewState.java17
-rw-r--r--quickstep/src/com/android/launcher3/uioverrides/WorkspaceCard.java18
3 files changed, 27 insertions, 9 deletions
diff --git a/quickstep/res/values/dimens.xml b/quickstep/res/values/dimens.xml
index 4f8595705..a5716ea69 100644
--- a/quickstep/res/values/dimens.xml
+++ b/quickstep/res/values/dimens.xml
@@ -22,4 +22,5 @@
<dimen name="quickstep_fling_threshold_velocity">500dp</dimen>
<dimen name="quickstep_fling_min_velocity">250dp</dimen>
+ <dimen name="workspace_overview_offset_x">-30dp</dimen>
</resources>
diff --git a/quickstep/src/com/android/launcher3/uioverrides/OverviewState.java b/quickstep/src/com/android/launcher3/uioverrides/OverviewState.java
index f34aa85c9..f1da81748 100644
--- a/quickstep/src/com/android/launcher3/uioverrides/OverviewState.java
+++ b/quickstep/src/com/android/launcher3/uioverrides/OverviewState.java
@@ -22,6 +22,7 @@ import android.view.View;
import com.android.launcher3.Launcher;
import com.android.launcher3.LauncherState;
+import com.android.launcher3.R;
import com.android.launcher3.Utilities;
import com.android.launcher3.Workspace;
import com.android.launcher3.userevent.nano.LauncherLogProto.ContainerType;
@@ -49,10 +50,12 @@ public class OverviewState extends LauncherState {
}
RecentsView rv = launcher.getOverviewPanel();
+ float overlap = 0;
if (rv.getCurrentPage() >= rv.getFirstTaskIndex()) {
Utilities.scaleRectAboutCenter(pageRect, WORKSPACE_SCALE_ON_SCROLL);
+ overlap = launcher.getResources().getDimension(R.dimen.workspace_overview_offset_x);
}
- return getScaleAndTranslationForPageRect(launcher, pageRect);
+ return getScaleAndTranslationForPageRect(launcher, overlap, pageRect);
}
@Override
@@ -77,15 +80,23 @@ public class OverviewState extends LauncherState {
return launcher.getOverviewPanel();
}
- public static float[] getScaleAndTranslationForPageRect(Launcher launcher, Rect pageRect) {
+ public static float[] getScaleAndTranslationForPageRect(Launcher launcher, float offsetX,
+ Rect pageRect) {
Workspace ws = launcher.getWorkspace();
float childWidth = ws.getNormalChildWidth();
Rect insets = launcher.getDragLayer().getInsets();
float scale = pageRect.width() / childWidth;
+ float translationX = offsetX / scale;
+ if (Utilities.isRtl(launcher.getResources())) {
+ translationX = -translationX;
+ }
+
float halfHeight = ws.getHeight() / 2;
float childTop = halfHeight - scale * (halfHeight - ws.getPaddingTop() - insets.top);
- return new float[] {scale, pageRect.top - childTop};
+ float translationY = pageRect.top - childTop;
+
+ return new float[] {scale, translationX, translationY};
}
}
diff --git a/quickstep/src/com/android/launcher3/uioverrides/WorkspaceCard.java b/quickstep/src/com/android/launcher3/uioverrides/WorkspaceCard.java
index 990d28648..9f7cffeeb 100644
--- a/quickstep/src/com/android/launcher3/uioverrides/WorkspaceCard.java
+++ b/quickstep/src/com/android/launcher3/uioverrides/WorkspaceCard.java
@@ -39,7 +39,7 @@ import com.android.quickstep.RecentsView.ScrollState;
public class WorkspaceCard extends FrameLayout implements PageCallbacks, OnClickListener {
private final Rect mTempRect = new Rect();
- private final float[] mEvaluatedFloats = new float[2];
+ private final float[] mEvaluatedFloats = new float[3];
private final FloatArrayEvaluator mEvaluator = new FloatArrayEvaluator(mEvaluatedFloats);
// UI related information
@@ -151,21 +151,25 @@ public class WorkspaceCard extends FrameLayout implements PageCallbacks, OnClick
@Override
public int onPageScroll(ScrollState scrollState) {
- setTranslationX(scrollState.distanceFromScreenCenter);
-
float factor = scrollState.linearInterpolation;
float scale = factor * WORKSPACE_SCALE_ON_SCROLL + (1 - factor);
setScaleX(scale);
setScaleY(scale);
+ float translateX = scrollState.distanceFromScreenCenter;
if (mIsWorkspaceScrollingEnabled) {
initUiData();
mEvaluator.evaluate(factor, mScaleAndTranslatePage0, mScaleAndTranslatePage1);
mWorkspace.setScaleX(mEvaluatedFloats[0]);
mWorkspace.setScaleY(mEvaluatedFloats[0]);
- mWorkspace.setTranslationY(mEvaluatedFloats[1]);
+ mWorkspace.setTranslationX(mEvaluatedFloats[1]);
+ mWorkspace.setTranslationY(mEvaluatedFloats[2]);
+ translateX += mEvaluatedFloats[1];
}
+
+ setTranslationX(translateX);
+
return SCROLL_TYPE_WORKSPACE;
}
@@ -174,13 +178,15 @@ public class WorkspaceCard extends FrameLayout implements PageCallbacks, OnClick
return;
}
+ float overlap = getResources().getDimension(R.dimen.workspace_overview_offset_x);
+
RecentsView.getPageRect(mLauncher, mTempRect);
mScaleAndTranslatePage0 = OverviewState
- .getScaleAndTranslationForPageRect(mLauncher, mTempRect);
+ .getScaleAndTranslationForPageRect(mLauncher, 0, mTempRect);
Rect scaledDown = new Rect(mTempRect);
Utilities.scaleRectAboutCenter(scaledDown, WORKSPACE_SCALE_ON_SCROLL);
mScaleAndTranslatePage1 = OverviewState
- .getScaleAndTranslationForPageRect(mLauncher, scaledDown);
+ .getScaleAndTranslationForPageRect(mLauncher, overlap, scaledDown);
mUIDataValid = true;
}
}