summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2018-05-24 18:33:01 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2018-05-24 18:33:01 +0000
commite8532d84a94b095db4912dc863d826b7e7722036 (patch)
tree924527cf8be6ec4ab039bc7d23d028c3821a1778
parentfb6721da45e7f3fa4df00d6486ee3c53de5d7cf7 (diff)
parentccd90231e606e6a2c0ee55f49ad347723aa2f75f (diff)
downloadandroid_packages_apps_Trebuchet-e8532d84a94b095db4912dc863d826b7e7722036.tar.gz
android_packages_apps_Trebuchet-e8532d84a94b095db4912dc863d826b7e7722036.tar.bz2
android_packages_apps_Trebuchet-e8532d84a94b095db4912dc863d826b7e7722036.zip
Merge "Calculate the scale up for quickscrub based on the available size of the screen" into ub-launcher3-edmonton
-rw-r--r--quickstep/res/values/dimens.xml1
-rw-r--r--quickstep/src/com/android/launcher3/uioverrides/FastOverviewState.java29
-rw-r--r--quickstep/src/com/android/quickstep/ActivityControlHelper.java6
3 files changed, 28 insertions, 8 deletions
diff --git a/quickstep/res/values/dimens.xml b/quickstep/res/values/dimens.xml
index ad5f767be..ed18bf5e3 100644
--- a/quickstep/res/values/dimens.xml
+++ b/quickstep/res/values/dimens.xml
@@ -21,6 +21,7 @@
<dimen name="task_menu_background_radius">12dp</dimen>
<dimen name="task_corner_radius">2dp</dimen>
<dimen name="recents_page_spacing">10dp</dimen>
+ <dimen name="quickscrub_adjacent_visible_width">20dp</dimen>
<!-- The speed in dp/s at which the user needs to be scrolling in recents such that we start
loading full resolution screenshots. -->
diff --git a/quickstep/src/com/android/launcher3/uioverrides/FastOverviewState.java b/quickstep/src/com/android/launcher3/uioverrides/FastOverviewState.java
index da85990bb..43d982230 100644
--- a/quickstep/src/com/android/launcher3/uioverrides/FastOverviewState.java
+++ b/quickstep/src/com/android/launcher3/uioverrides/FastOverviewState.java
@@ -15,8 +15,13 @@
*/
package com.android.launcher3.uioverrides;
+import android.content.Context;
+import android.content.res.Resources;
+import android.graphics.Rect;
+
import com.android.launcher3.DeviceProfile;
import com.android.launcher3.Launcher;
+import com.android.launcher3.R;
import com.android.quickstep.QuickScrubController;
import com.android.quickstep.views.RecentsView;
@@ -25,6 +30,12 @@ import com.android.quickstep.views.RecentsView;
*/
public class FastOverviewState extends OverviewState {
+ private static final float MAX_PREVIEW_SCALE_UP = 1.3f;
+ /**
+ * Vertical transition of the task previews relative to the full container.
+ */
+ public static final float OVERVIEW_TRANSLATION_FACTOR = 0.5f;
+
private static final int STATE_FLAGS = FLAG_DISABLE_RESTORE | FLAG_DISABLE_INTERACTION
| FLAG_OVERVIEW_UI | FLAG_HIDE_BACK_BUTTON | FLAG_DISABLE_ACCESSIBILITY;
@@ -46,15 +57,23 @@ public class FastOverviewState extends OverviewState {
@Override
public float[] getOverviewScaleAndTranslationYFactor(Launcher launcher) {
- return new float[] {getOverviewScale(launcher.getDeviceProfile()), 0.5f};
+ RecentsView recentsView = launcher.getOverviewPanel();
+ recentsView.getTaskSize(sTempRect);
+
+ return new float[] {getOverviewScale(launcher.getDeviceProfile(), sTempRect, launcher),
+ OVERVIEW_TRANSLATION_FACTOR};
}
- public static float getOverviewScale(DeviceProfile dp) {
- if (dp.isMultiWindowMode || dp.isVerticalBarLayout()) {
+ public static float getOverviewScale(DeviceProfile dp, Rect taskRect, Context context) {
+ if (dp.isVerticalBarLayout()) {
return 1f;
}
- // TODO: Calculate it dynamically based on available space
- return 1.3f;
+ Resources res = context.getResources();
+ float usedHeight = taskRect.height() + res.getDimension(R.dimen.task_thumbnail_top_margin);
+ float usedWidth = taskRect.width() + 2 * (res.getDimension(R.dimen.recents_page_spacing)
+ + res.getDimension(R.dimen.quickscrub_adjacent_visible_width));
+ return Math.min(Math.min(dp.availableHeightPx / usedHeight,
+ dp.availableWidthPx / usedWidth), MAX_PREVIEW_SCALE_UP);
}
}
diff --git a/quickstep/src/com/android/quickstep/ActivityControlHelper.java b/quickstep/src/com/android/quickstep/ActivityControlHelper.java
index d47fec5fc..e202c574a 100644
--- a/quickstep/src/com/android/quickstep/ActivityControlHelper.java
+++ b/quickstep/src/com/android/quickstep/ActivityControlHelper.java
@@ -153,8 +153,8 @@ public interface ActivityControlHelper<T extends BaseDraggingActivity> {
@Override
public float getTranslationYForQuickScrub(Launcher activity) {
LauncherRecentsView recentsView = activity.getOverviewPanel();
- float transYFactor = FAST_OVERVIEW.getOverviewScaleAndTranslationYFactor(activity)[1];
- return recentsView.computeTranslationYForFactor(transYFactor);
+ return recentsView.computeTranslationYForFactor(
+ FastOverviewState.OVERVIEW_TRANSLATION_FACTOR);
}
@Override
@@ -167,7 +167,7 @@ public interface ActivityControlHelper<T extends BaseDraggingActivity> {
@InteractionType int interactionType, TransformedRect outRect) {
LayoutUtils.calculateLauncherTaskSize(context, dp, outRect.rect);
if (interactionType == INTERACTION_QUICK_SCRUB) {
- outRect.scale = FastOverviewState.getOverviewScale(dp);
+ outRect.scale = FastOverviewState.getOverviewScale(dp, outRect.rect, context);
}
if (dp.isVerticalBarLayout()) {
Rect targetInsets = dp.getInsets();