Loading libs/WindowManager/Shell/src/com/android/wm/shell/ShellTaskOrganizer.java +6 −3 Original line number Diff line number Diff line Loading @@ -31,14 +31,12 @@ import android.os.Binder; import android.os.IBinder; import android.util.ArrayMap; import android.util.Log; import android.util.Slog; import android.util.SparseArray; import android.view.SurfaceControl; import android.window.ITaskOrganizerController; import android.window.TaskAppearedInfo; import android.window.TaskOrganizer; import androidx.annotation.BinderThread; import androidx.annotation.NonNull; import androidx.annotation.Nullable; Loading @@ -47,7 +45,6 @@ import com.android.internal.protolog.common.ProtoLog; import com.android.wm.shell.common.ShellExecutor; import com.android.wm.shell.common.SyncTransactionQueue; import com.android.wm.shell.common.TransactionPool; import com.android.wm.shell.common.annotations.ShellMainThread; import com.android.wm.shell.startingsurface.StartingSurfaceDrawer; import java.io.PrintWriter; Loading Loading @@ -275,6 +272,12 @@ public class ShellTaskOrganizer extends TaskOrganizer { synchronized (mLock) { ProtoLog.v(WM_SHELL_TASK_ORG, "Task info changed taskId=%d", taskInfo.taskId); final TaskAppearedInfo data = mTasks.get(taskInfo.taskId); if (data == null) { // TODO(b/171749427): It means onTaskInfoChanged send before onTaskAppeared or // after onTaskVanished, it should be fixed in controller side. return; } final TaskListener oldListener = getTaskListener(data.getTaskInfo()); final TaskListener newListener = getTaskListener(taskInfo); mTasks.put(taskInfo.taskId, new TaskAppearedInfo(taskInfo, data.getLeash())); Loading services/core/java/com/android/server/wm/TaskOrganizerController.java +4 −3 Original line number Diff line number Diff line Loading @@ -272,7 +272,9 @@ class TaskOrganizerController extends ITaskOrganizerController.Stub { void removeTask(Task t) { if (t.mTaskAppearedSent) { if (t.getSurfaceControl() != null) { t.migrateToNewSurfaceControl(); } t.mTaskAppearedSent = false; mOrganizer.onTaskVanished(t); } Loading @@ -288,8 +290,7 @@ class TaskOrganizerController extends ITaskOrganizerController.Stub { // possible. while (!mOrganizedTasks.isEmpty()) { final Task t = mOrganizedTasks.get(0); t.updateTaskOrganizerState(true /* forceUpdate */); if (mOrganizedTasks.contains(t)) { if (!t.updateTaskOrganizerState(true /* forceUpdate */)) { removeTask(t); } } Loading Loading
libs/WindowManager/Shell/src/com/android/wm/shell/ShellTaskOrganizer.java +6 −3 Original line number Diff line number Diff line Loading @@ -31,14 +31,12 @@ import android.os.Binder; import android.os.IBinder; import android.util.ArrayMap; import android.util.Log; import android.util.Slog; import android.util.SparseArray; import android.view.SurfaceControl; import android.window.ITaskOrganizerController; import android.window.TaskAppearedInfo; import android.window.TaskOrganizer; import androidx.annotation.BinderThread; import androidx.annotation.NonNull; import androidx.annotation.Nullable; Loading @@ -47,7 +45,6 @@ import com.android.internal.protolog.common.ProtoLog; import com.android.wm.shell.common.ShellExecutor; import com.android.wm.shell.common.SyncTransactionQueue; import com.android.wm.shell.common.TransactionPool; import com.android.wm.shell.common.annotations.ShellMainThread; import com.android.wm.shell.startingsurface.StartingSurfaceDrawer; import java.io.PrintWriter; Loading Loading @@ -275,6 +272,12 @@ public class ShellTaskOrganizer extends TaskOrganizer { synchronized (mLock) { ProtoLog.v(WM_SHELL_TASK_ORG, "Task info changed taskId=%d", taskInfo.taskId); final TaskAppearedInfo data = mTasks.get(taskInfo.taskId); if (data == null) { // TODO(b/171749427): It means onTaskInfoChanged send before onTaskAppeared or // after onTaskVanished, it should be fixed in controller side. return; } final TaskListener oldListener = getTaskListener(data.getTaskInfo()); final TaskListener newListener = getTaskListener(taskInfo); mTasks.put(taskInfo.taskId, new TaskAppearedInfo(taskInfo, data.getLeash())); Loading
services/core/java/com/android/server/wm/TaskOrganizerController.java +4 −3 Original line number Diff line number Diff line Loading @@ -272,7 +272,9 @@ class TaskOrganizerController extends ITaskOrganizerController.Stub { void removeTask(Task t) { if (t.mTaskAppearedSent) { if (t.getSurfaceControl() != null) { t.migrateToNewSurfaceControl(); } t.mTaskAppearedSent = false; mOrganizer.onTaskVanished(t); } Loading @@ -288,8 +290,7 @@ class TaskOrganizerController extends ITaskOrganizerController.Stub { // possible. while (!mOrganizedTasks.isEmpty()) { final Task t = mOrganizedTasks.get(0); t.updateTaskOrganizerState(true /* forceUpdate */); if (mOrganizedTasks.contains(t)) { if (!t.updateTaskOrganizerState(true /* forceUpdate */)) { removeTask(t); } } Loading