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

Commit 22a92911 authored by Darryl Johnson's avatar Darryl Johnson
Browse files

Revert "Use queue to defer all task events"

This reverts commit c3160532.

Reason for revert: Possible cause of b/175877100

Change-Id: I90647623b0f50f157d5e335444f9d239b38364a1
parent c3160532
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -261,6 +261,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()));
+4 −4
Original line number Diff line number Diff line
@@ -41,12 +41,12 @@ public class PipUiEventLogger {
    }

    public void setTaskInfo(TaskInfo taskInfo) {
        if (taskInfo != null && taskInfo.topActivity != null) {
            mPackageName = taskInfo.topActivity.getPackageName();
            mPackageUid = getUid(mPackageName, taskInfo.userId);
        } else {
        if (taskInfo == null) {
            mPackageName = null;
            mPackageUid = INVALID_PACKAGE_UID;
        } else {
            mPackageName = taskInfo.topActivity.getPackageName();
            mPackageUid = getUid(mPackageName, taskInfo.userId);
        }
    }

+0 −1
Original line number Diff line number Diff line
@@ -1003,7 +1003,6 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump
    }

    private void updateThemeColors() {
        if (mScrimBehind == null) return;
        int background = Utils.getColorAttr(mScrimBehind.getContext(),
                android.R.attr.colorBackgroundFloating).getDefaultColor();
        int accent = Utils.getColorAccent(mScrimBehind.getContext()).getDefaultColor();
+1 −1
Original line number Diff line number Diff line
@@ -1013,7 +1013,7 @@ class RootWindowContainer extends WindowContainer<DisplayContent>
        mWmService.scheduleAnimationLocked();

        // Send any pending task-info changes that were queued-up during a layout deferment
        mWmService.mAtmService.mTaskOrganizerController.dispatchPendingEvents();
        mWmService.mAtmService.mTaskOrganizerController.dispatchPendingTaskInfoChanges();

        if (DEBUG_WINDOW_TRACE) Slog.e(TAG, "performSurfacePlacementInner exit");
    }
+7 −5
Original line number Diff line number Diff line
@@ -4955,6 +4955,7 @@ class Task extends WindowContainer<WindowContainer> {
            }
        } else {
            // No longer managed by any organizer.
            mTaskAppearedSent = false;
            setForceHidden(FLAG_FORCE_HIDDEN_FOR_TASK_ORG, false /* set */);
            if (mCreatedByOrganizer) {
                removeImmediately();
@@ -4979,6 +4980,11 @@ class Task extends WindowContainer<WindowContainer> {
     * @return {@code true} if task organizer changed.
     */
    boolean updateTaskOrganizerState(boolean forceUpdate, boolean skipTaskAppeared) {
        if (getSurfaceControl() == null) {
            // Can't call onTaskAppeared without a surfacecontrol, so defer this until after one
            // is created.
            return false;
        }
        if (!canBeOrganized()) {
            return setTaskOrganizer(null);
        }
@@ -4988,10 +4994,6 @@ class Task extends WindowContainer<WindowContainer> {
        final ITaskOrganizer organizer = controller.getTaskOrganizer(windowingMode);
        if (!forceUpdate && mTaskOrganizer == organizer) {
            return false;
        } else if (organizer != null && getSurfaceControl() == null) {
            // Can't call onTaskAppeared without a surfacecontrol, so defer this until after one
            // is created.
            return false;
        }
        return setTaskOrganizer(organizer, skipTaskAppeared);
    }
@@ -7631,7 +7633,7 @@ class Task extends WindowContainer<WindowContainer> {

    void dispatchTaskInfoChangedIfNeeded(boolean force) {
        if (isOrganized()) {
            mAtmService.mTaskOrganizerController.onTaskInfoChanged(this, force);
            mAtmService.mTaskOrganizerController.dispatchTaskInfoChanged(this, force);
        }
    }

Loading