Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3874383e authored by Mady Mellor's avatar Mady Mellor
Browse files

Use ShellExecutor when interacting with TaskViewTransitions

A couple of methods in TaskViewTaskController are coming from
TaskViewTransitions so I think those are fine as is, but a couple
of places are coming from users of TaskView, so update those spots
to run on ShellExecutor.

Test: treehugger / manually tried bubbles & home controls
Bug: 290795301
Change-Id: Idf773e700873bfaf2688fff6ae1f95b43767eb99
parent 5e8a3030
Loading
Loading
Loading
Loading
+18 −11
Original line number Diff line number Diff line
@@ -94,9 +94,11 @@ public class TaskViewTaskController implements ShellTaskOrganizer.TaskListener {
        mShellExecutor = organizer.getExecutor();
        mSyncQueue = syncQueue;
        mTaskViewTransitions = taskViewTransitions;
        mShellExecutor.execute(() -> {
            if (mTaskViewTransitions != null) {
                mTaskViewTransitions.addTaskView(this);
            }
        });
        mGuard.open("release");
    }

@@ -225,10 +227,10 @@ public class TaskViewTaskController implements ShellTaskOrganizer.TaskListener {
    }

    private void performRelease() {
        mShellExecutor.execute(() -> {
            if (mTaskViewTransitions != null) {
                mTaskViewTransitions.removeTaskView(this);
            }
        mShellExecutor.execute(() -> {
            mTaskOrganizer.removeListener(this);
            resetTaskInfo();
        });
@@ -410,9 +412,12 @@ public class TaskViewTaskController implements ShellTaskOrganizer.TaskListener {
        if (mTaskToken == null) {
            return;
        }
        // Sync Transactions can't operate simultaneously with shell transition collection.

        if (isUsingShellTransitions()) {
            mShellExecutor.execute(() -> {
                // Sync Transactions can't operate simultaneously with shell transition collection.
                mTaskViewTransitions.setTaskBounds(this, boundsOnScreen);
            });
            return;
        }

@@ -430,9 +435,11 @@ public class TaskViewTaskController implements ShellTaskOrganizer.TaskListener {
            Slog.w(TAG, "Trying to remove a task that was never added? (no taskToken)");
            return;
        }
        mShellExecutor.execute(() -> {
            WindowContainerTransaction wct = new WindowContainerTransaction();
            wct.removeTask(mTaskToken);
            mTaskViewTransitions.closeTaskView(wct, this);
        });
    }

    /**