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
diff --git a/services/core/java/com/android/server/wm/AppTransition.java b/services/core/java/com/android/server/wm/AppTransition.java
index cd46165..2379374 100644
--- a/services/core/java/com/android/server/wm/AppTransition.java
+++ b/services/core/java/com/android/server/wm/AppTransition.java
@@ -57,6 +57,7 @@
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;
@@ -234,6 +235,8 @@
private boolean mLastHadClipReveal;
private boolean mProlongedAnimationsEnded;
+ private final boolean mGridLayoutRecentsEnabled;
+
AppTransition(Context context, WindowManagerService service) {
mContext = context;
mService = service;
@@ -272,6 +275,7 @@
};
mClipRevealTranslationY = (int) (CLIP_REVEAL_TRANSLATION_Y_DP
* mContext.getResources().getDisplayMetrics().density);
+ mGridLayoutRecentsEnabled = SystemProperties.getBoolean("ro.recents.grid", false);
}
boolean isTransitionSet() {
@@ -926,7 +930,7 @@
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;
@@ -1097,7 +1101,7 @@
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);
@@ -1960,6 +1964,15 @@
}
/**
+ * @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.
*/
private boolean isTvUiMode(int uiMode) {