Fix AlwaysOnTop stack may covered by RemoteAnimation
Now with hierarachical animation, the layer of
RecentsAnimation / RemoteAnimation are controlled by system.
Now Launcher side don't need to have other way to set layer for ZBoost
case, so remove setLayer & withLayer related logics for cleaning up.
Fix: 151024899
Test: manual, launch google map app -> enter PiP mode,
swipe up to overview screen or launch activity from shortcut,
make sure the PiP window is not covered by other apps.
Change-Id: I8028cd50d66f7d77e5d1ec6514e953c8be9935d6
(cherry picked from commit 99f7da7dd243ac3969a41ad64cdfd0f92fefaa08)
diff --git a/quickstep/recents_ui_overrides/src/com/android/quickstep/util/AppWindowAnimationHelper.java b/quickstep/recents_ui_overrides/src/com/android/quickstep/util/AppWindowAnimationHelper.java
index 9309110..5abbd86 100644
--- a/quickstep/recents_ui_overrides/src/com/android/quickstep/util/AppWindowAnimationHelper.java
+++ b/quickstep/recents_ui_overrides/src/com/android/quickstep/util/AppWindowAnimationHelper.java
@@ -208,7 +208,6 @@
float alpha;
float cornerRadius = 0f;
float scale = Math.max(mCurrentRect.width(), mTargetRect.width()) / crop.width();
- int layer = RemoteAnimationProvider.getLayer(app, mBoostModeTargetLayers);
if (app.mode == params.mTargetSet.targetMode) {
alpha = mTaskAlphaCallback.getAlpha(app, params.mTargetAlpha);
if (app.activityType != RemoteAnimationTargetCompat.ACTIVITY_TYPE_HOME) {
@@ -245,13 +244,11 @@
alpha = mBaseAlphaCallback.getAlpha(app, progress);
if (ENABLE_QUICKSTEP_LIVE_TILE.get() && params.mLauncherOnTop) {
crop = null;
- layer = Integer.MAX_VALUE;
}
}
builder.withAlpha(alpha)
.withMatrix(mTmpMatrix)
.withWindowCrop(crop)
- .withLayer(layer)
// Since radius is in Surface space, but we draw the rounded corners in screen
// space, we have to undo the scale
.withCornerRadius(cornerRadius / scale);
diff --git a/quickstep/src/com/android/launcher3/QuickstepAppTransitionManagerImpl.java b/quickstep/src/com/android/launcher3/QuickstepAppTransitionManagerImpl.java
index 70cbd82..1cb0aa4 100644
--- a/quickstep/src/com/android/launcher3/QuickstepAppTransitionManagerImpl.java
+++ b/quickstep/src/com/android/launcher3/QuickstepAppTransitionManagerImpl.java
@@ -611,7 +611,6 @@
.withWindowCrop(target.screenSpaceBounds)
.withAlpha(1f);
}
- builder.withLayer(RemoteAnimationProvider.getLayer(target, MODE_OPENING));
params[i] = builder.build();
}
surfaceApplier.scheduleApply(params);
@@ -718,7 +717,6 @@
params[i] = new SurfaceParams.Builder(target.leash)
.withAlpha(1f)
.withWindowCrop(target.screenSpaceBounds)
- .withLayer(RemoteAnimationProvider.getLayer(target, MODE_OPENING))
.withCornerRadius(cornerRadius)
.build();
}
@@ -775,7 +773,6 @@
}
params[i] = builder
.withWindowCrop(target.screenSpaceBounds)
- .withLayer(RemoteAnimationProvider.getLayer(target, MODE_CLOSING))
.build();
}
surfaceApplier.scheduleApply(params);
diff --git a/quickstep/src/com/android/quickstep/util/RemoteAnimationProvider.java b/quickstep/src/com/android/quickstep/util/RemoteAnimationProvider.java
index 21b97ec..4cd0206 100644
--- a/quickstep/src/com/android/quickstep/util/RemoteAnimationProvider.java
+++ b/quickstep/src/com/android/quickstep/util/RemoteAnimationProvider.java
@@ -62,15 +62,12 @@
static void prepareTargetsForFirstFrame(RemoteAnimationTargetCompat[] targets,
TransactionCompat t, int boostModeTargets) {
for (RemoteAnimationTargetCompat target : targets) {
- t.setLayer(target.leash, getLayer(target, boostModeTargets));
t.show(target.leash);
}
}
public static int getLayer(RemoteAnimationTargetCompat target, int boostModeTarget) {
- return target.mode == boostModeTarget
- ? Z_BOOST_BASE + target.prefixOrderIndex
- : target.prefixOrderIndex;
+ return target.prefixOrderIndex;
}
/**