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

Commit d737680b authored by Manu Cornet's avatar Manu Cornet
Browse files

Also scale down thumbnail in app transitions for grid recents

This is a manual cherrypick of change 1779235 since automerging had
conflicts.

Bug: 32101881
Test: Checked the effect on app -> recents transition on local sw600dp device
Change-Id: I3dec10b2293ceb50bf02db2432766e5d34f91736
parent b03bfe0a
Loading
Loading
Loading
Loading
+15 −2
Original line number Diff line number Diff line
@@ -57,6 +57,7 @@ import android.os.Debug;
import android.os.IBinder;
import android.os.IRemoteCallback;
import android.os.RemoteException;
import android.os.SystemProperties;
import android.util.ArraySet;
import android.util.Slog;
import android.util.SparseArray;
@@ -250,6 +251,8 @@ public class AppTransition implements Dump {
    private boolean mLastHadClipReveal;
    private boolean mProlongedAnimationsEnded;

    private final boolean mGridLayoutRecentsEnabled;

    AppTransition(Context context, WindowManagerService service) {
        mContext = context;
        mService = service;
@@ -288,6 +291,7 @@ public class AppTransition implements Dump {
        };
        mClipRevealTranslationY = (int) (CLIP_REVEAL_TRANSLATION_Y_DP
                * mContext.getResources().getDisplayMetrics().density);
        mGridLayoutRecentsEnabled = SystemProperties.getBoolean("ro.recents.grid", false);
    }

    boolean isTransitionSet() {
@@ -952,7 +956,7 @@ public class AppTransition implements Dump {
        final float toY;
        final float pivotX;
        final float pivotY;
        if (isTvUiMode(uiMode) || orientation == Configuration.ORIENTATION_PORTRAIT) {
        if (shouldScaleDownThumbnailTransition(uiMode, orientation)) {
            fromX = mTmpRect.left;
            fromY = mTmpRect.top;

@@ -1123,7 +1127,7 @@ public class AppTransition implements Dump {
                    mTmpFromClipRect.inset(contentInsets);
                    mNextAppTransitionInsets.set(contentInsets);

                    if (isTvUiMode(uiMode) || orientation == Configuration.ORIENTATION_PORTRAIT) {
                    if (shouldScaleDownThumbnailTransition(uiMode, orientation)) {
                        // We scale the width and clip to the top/left square
                        float scale = thumbWidth /
                                (appWidth - contentInsets.left - contentInsets.right);
@@ -2036,6 +2040,15 @@ public class AppTransition implements Dump {
                || transit == TRANSIT_KEYGUARD_UNOCCLUDE;
    }

    /**
     * @return whether the transition should show the thumbnail being scaled down.
     */
    private boolean shouldScaleDownThumbnailTransition(int uiMode, int orientation) {
        return isTvUiMode(uiMode)
                || mGridLayoutRecentsEnabled
                || orientation == Configuration.ORIENTATION_PORTRAIT;
    }

    /**
     * @return whether the specified {@param uiMode} is the TV mode.
     */