Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e8532d84 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Calculate the scale up for quickscrub based on the available size of...

Merge "Calculate the scale up for quickscrub based on the available size of the screen" into ub-launcher3-edmonton
parents fb6721da ccd90231
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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. -->
+24 −5
Original line number Diff line number Diff line
@@ -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);
    }
}
+3 −3
Original line number Diff line number Diff line
@@ -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();