Merge "Don't merge task view transitions in UnfoldTransitionHandler" into udc-dev am: 021e9f1a71
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/23666087 Change-Id: I94229a47847645c6daa4bbe9fc1619ddc8c18568 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -20,6 +20,7 @@ import static android.view.WindowManager.TRANSIT_CHANGE;
|
|||||||
|
|
||||||
import static com.android.wm.shell.protolog.ShellProtoLogGroup.WM_SHELL_TRANSITIONS;
|
import static com.android.wm.shell.protolog.ShellProtoLogGroup.WM_SHELL_TRANSITIONS;
|
||||||
|
|
||||||
|
import android.app.ActivityManager;
|
||||||
import android.os.IBinder;
|
import android.os.IBinder;
|
||||||
import android.view.SurfaceControl;
|
import android.view.SurfaceControl;
|
||||||
import android.window.TransitionInfo;
|
import android.window.TransitionInfo;
|
||||||
@@ -178,6 +179,18 @@ public class UnfoldTransitionHandler implements TransitionHandler, UnfoldListene
|
|||||||
@NonNull SurfaceControl.Transaction t, @NonNull IBinder mergeTarget,
|
@NonNull SurfaceControl.Transaction t, @NonNull IBinder mergeTarget,
|
||||||
@NonNull TransitionFinishCallback finishCallback) {
|
@NonNull TransitionFinishCallback finishCallback) {
|
||||||
if (info.getType() == TRANSIT_CHANGE) {
|
if (info.getType() == TRANSIT_CHANGE) {
|
||||||
|
// TODO (b/286928742) unfold transition handler should be part of mixed handler to
|
||||||
|
// handle merges better.
|
||||||
|
for (int i = 0; i < info.getChanges().size(); ++i) {
|
||||||
|
final TransitionInfo.Change change = info.getChanges().get(i);
|
||||||
|
final ActivityManager.RunningTaskInfo taskInfo = change.getTaskInfo();
|
||||||
|
if (taskInfo != null
|
||||||
|
&& taskInfo.configuration.windowConfiguration.isAlwaysOnTop()) {
|
||||||
|
// Tasks that are always on top (e.g. bubbles), will handle their own transition
|
||||||
|
// as they are on top of everything else. So skip merging transitions here.
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
// Apply changes happening during the unfold animation immediately
|
// Apply changes happening during the unfold animation immediately
|
||||||
t.apply();
|
t.apply();
|
||||||
finishCallback.onTransitionFinished(null, null);
|
finishCallback.onTransitionFinished(null, null);
|
||||||
|
|||||||
Reference in New Issue
Block a user