DO NOT MERGE - Also scale down thumbnail in app transitions for grid recents

Bug: 32101881
Test: Checked the effect on app -> recents transition on local sw600dp device
Change-Id: Ic3e3af6e8db4a62028e1283e915a7cd12db49607
This commit is contained in:
Manu Cornet
2017-01-12 15:05:13 -08:00
parent a00c235600
commit da5900d0a7

View File

@@ -57,6 +57,7 @@ import android.os.Debug;
import android.os.IBinder; import android.os.IBinder;
import android.os.IRemoteCallback; import android.os.IRemoteCallback;
import android.os.RemoteException; import android.os.RemoteException;
import android.os.SystemProperties;
import android.util.ArraySet; import android.util.ArraySet;
import android.util.Slog; import android.util.Slog;
import android.util.SparseArray; import android.util.SparseArray;
@@ -234,6 +235,8 @@ public class AppTransition implements Dump {
private boolean mLastHadClipReveal; private boolean mLastHadClipReveal;
private boolean mProlongedAnimationsEnded; private boolean mProlongedAnimationsEnded;
private final boolean mGridLayoutRecentsEnabled;
AppTransition(Context context, WindowManagerService service) { AppTransition(Context context, WindowManagerService service) {
mContext = context; mContext = context;
mService = service; mService = service;
@@ -272,6 +275,7 @@ public class AppTransition implements Dump {
}; };
mClipRevealTranslationY = (int) (CLIP_REVEAL_TRANSLATION_Y_DP mClipRevealTranslationY = (int) (CLIP_REVEAL_TRANSLATION_Y_DP
* mContext.getResources().getDisplayMetrics().density); * mContext.getResources().getDisplayMetrics().density);
mGridLayoutRecentsEnabled = SystemProperties.getBoolean("ro.recents.grid", false);
} }
boolean isTransitionSet() { boolean isTransitionSet() {
@@ -926,7 +930,7 @@ public class AppTransition implements Dump {
final float toY; final float toY;
final float pivotX; final float pivotX;
final float pivotY; final float pivotY;
if (isTvUiMode(uiMode) || orientation == Configuration.ORIENTATION_PORTRAIT) { if (shouldScaleDownThumbnailTransition(uiMode, orientation)) {
fromX = mTmpRect.left; fromX = mTmpRect.left;
fromY = mTmpRect.top; fromY = mTmpRect.top;
@@ -1097,7 +1101,7 @@ public class AppTransition implements Dump {
mTmpFromClipRect.inset(contentInsets); mTmpFromClipRect.inset(contentInsets);
mNextAppTransitionInsets.set(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 // We scale the width and clip to the top/left square
float scale = thumbWidth / float scale = thumbWidth /
(appWidth - contentInsets.left - contentInsets.right); (appWidth - contentInsets.left - contentInsets.right);
@@ -1959,6 +1963,15 @@ public class AppTransition implements Dump {
return prepared; return prepared;
} }
/**
* @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. * @return whether the specified {@param uiMode} is the TV mode.
*/ */