diff options
author | TreeHugger Robot <treehugger-gerrit@google.com> | 2018-05-24 18:33:01 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2018-05-24 18:33:01 +0000 |
commit | e8532d84a94b095db4912dc863d826b7e7722036 (patch) | |
tree | 924527cf8be6ec4ab039bc7d23d028c3821a1778 | |
parent | fb6721da45e7f3fa4df00d6486ee3c53de5d7cf7 (diff) | |
parent | ccd90231e606e6a2c0ee55f49ad347723aa2f75f (diff) | |
download | android_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.xml | 1 | ||||
-rw-r--r-- | quickstep/src/com/android/launcher3/uioverrides/FastOverviewState.java | 29 | ||||
-rw-r--r-- | quickstep/src/com/android/quickstep/ActivityControlHelper.java | 6 |
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(); |