Merge "Fix divider not updated when moving split-tasks from fold -> unfold" into udc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
b598f03f1f
@@ -18,6 +18,8 @@ package com.android.wm.shell.unfold;
|
||||
|
||||
import static android.view.WindowManager.TRANSIT_CHANGE;
|
||||
|
||||
import static com.android.wm.shell.protolog.ShellProtoLogGroup.WM_SHELL_TRANSITIONS;
|
||||
|
||||
import android.os.IBinder;
|
||||
import android.view.SurfaceControl;
|
||||
import android.window.TransitionInfo;
|
||||
@@ -27,6 +29,7 @@ import android.window.WindowContainerTransaction;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.android.internal.protolog.common.ProtoLog;
|
||||
import com.android.wm.shell.common.TransactionPool;
|
||||
import com.android.wm.shell.sysui.ShellInit;
|
||||
import com.android.wm.shell.transition.Transitions;
|
||||
@@ -36,6 +39,7 @@ import com.android.wm.shell.unfold.ShellUnfoldProgressProvider.UnfoldListener;
|
||||
import com.android.wm.shell.unfold.animation.FullscreenUnfoldTaskAnimator;
|
||||
import com.android.wm.shell.unfold.animation.SplitTaskUnfoldAnimator;
|
||||
import com.android.wm.shell.unfold.animation.UnfoldTaskAnimator;
|
||||
import com.android.wm.shell.util.TransitionUtil;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -105,8 +109,14 @@ public class UnfoldTransitionHandler implements TransitionHandler, UnfoldListene
|
||||
animator.clearTasks();
|
||||
|
||||
info.getChanges().forEach(change -> {
|
||||
if (change.getTaskInfo() != null
|
||||
&& change.getMode() == TRANSIT_CHANGE
|
||||
if (change.getTaskInfo() != null) {
|
||||
ProtoLog.v(WM_SHELL_TRANSITIONS,
|
||||
"startAnimation, check taskInfo: %s, mode: %s, isApplicableTask: %s",
|
||||
change.getTaskInfo(), TransitionInfo.modeToString(change.getMode()),
|
||||
animator.isApplicableTask(change.getTaskInfo()));
|
||||
}
|
||||
if (change.getTaskInfo() != null && (change.getMode() == TRANSIT_CHANGE
|
||||
|| TransitionUtil.isOpeningType(change.getMode()))
|
||||
&& animator.isApplicableTask(change.getTaskInfo())) {
|
||||
animator.onTaskAppeared(change.getTaskInfo(), change.getLeash());
|
||||
}
|
||||
|
||||
@@ -213,7 +213,7 @@ public class SplitTaskUnfoldAnimator implements UnfoldTaskAnimator,
|
||||
@Override
|
||||
public boolean isApplicableTask(TaskInfo taskInfo) {
|
||||
return taskInfo.hasParentTask()
|
||||
&& taskInfo.isVisible
|
||||
&& taskInfo.isRunning
|
||||
&& taskInfo.realActivity != null // to filter out parents created by organizer
|
||||
&& taskInfo.getWindowingMode() == WINDOWING_MODE_MULTI_WINDOW;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user