Merge "Fix divider not updated when moving split-tasks from fold -> unfold" into udc-dev am: b598f03f1f
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/23242200 Change-Id: I0e7c24c5d6a387fab39f55a3edb6804b7e551bf8 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -18,6 +18,8 @@ package com.android.wm.shell.unfold;
|
|||||||
|
|
||||||
import static android.view.WindowManager.TRANSIT_CHANGE;
|
import static android.view.WindowManager.TRANSIT_CHANGE;
|
||||||
|
|
||||||
|
import static com.android.wm.shell.protolog.ShellProtoLogGroup.WM_SHELL_TRANSITIONS;
|
||||||
|
|
||||||
import android.os.IBinder;
|
import android.os.IBinder;
|
||||||
import android.view.SurfaceControl;
|
import android.view.SurfaceControl;
|
||||||
import android.window.TransitionInfo;
|
import android.window.TransitionInfo;
|
||||||
@@ -27,6 +29,7 @@ import android.window.WindowContainerTransaction;
|
|||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
|
|
||||||
|
import com.android.internal.protolog.common.ProtoLog;
|
||||||
import com.android.wm.shell.common.TransactionPool;
|
import com.android.wm.shell.common.TransactionPool;
|
||||||
import com.android.wm.shell.sysui.ShellInit;
|
import com.android.wm.shell.sysui.ShellInit;
|
||||||
import com.android.wm.shell.transition.Transitions;
|
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.FullscreenUnfoldTaskAnimator;
|
||||||
import com.android.wm.shell.unfold.animation.SplitTaskUnfoldAnimator;
|
import com.android.wm.shell.unfold.animation.SplitTaskUnfoldAnimator;
|
||||||
import com.android.wm.shell.unfold.animation.UnfoldTaskAnimator;
|
import com.android.wm.shell.unfold.animation.UnfoldTaskAnimator;
|
||||||
|
import com.android.wm.shell.util.TransitionUtil;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -105,8 +109,14 @@ public class UnfoldTransitionHandler implements TransitionHandler, UnfoldListene
|
|||||||
animator.clearTasks();
|
animator.clearTasks();
|
||||||
|
|
||||||
info.getChanges().forEach(change -> {
|
info.getChanges().forEach(change -> {
|
||||||
if (change.getTaskInfo() != null
|
if (change.getTaskInfo() != null) {
|
||||||
&& change.getMode() == TRANSIT_CHANGE
|
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.isApplicableTask(change.getTaskInfo())) {
|
||||||
animator.onTaskAppeared(change.getTaskInfo(), change.getLeash());
|
animator.onTaskAppeared(change.getTaskInfo(), change.getLeash());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -213,7 +213,7 @@ public class SplitTaskUnfoldAnimator implements UnfoldTaskAnimator,
|
|||||||
@Override
|
@Override
|
||||||
public boolean isApplicableTask(TaskInfo taskInfo) {
|
public boolean isApplicableTask(TaskInfo taskInfo) {
|
||||||
return taskInfo.hasParentTask()
|
return taskInfo.hasParentTask()
|
||||||
&& taskInfo.isVisible
|
&& taskInfo.isRunning
|
||||||
&& taskInfo.realActivity != null // to filter out parents created by organizer
|
&& taskInfo.realActivity != null // to filter out parents created by organizer
|
||||||
&& taskInfo.getWindowingMode() == WINDOWING_MODE_MULTI_WINDOW;
|
&& taskInfo.getWindowingMode() == WINDOWING_MODE_MULTI_WINDOW;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user