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

Commit 83254fb5 authored by Tony Huang's avatar Tony Huang Committed by Android (Google) Code Review
Browse files

Merge "Use queue to defer all task events"

parents a93b2f60 28fb865b
Loading
Loading
Loading
Loading
+0 −6
Original line number Diff line number Diff line
@@ -262,12 +262,6 @@ 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) {
            mPackageName = null;
            mPackageUid = INVALID_PACKAGE_UID;
        } else {
        if (taskInfo != null && taskInfo.topActivity != null) {
            mPackageName = taskInfo.topActivity.getPackageName();
            mPackageUid = getUid(mPackageName, taskInfo.userId);
        } else {
            mPackageName = null;
            mPackageUid = INVALID_PACKAGE_UID;
        }
    }

+1 −0
Original line number Diff line number Diff line
@@ -1005,6 +1005,7 @@ 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();
+3 −3
Original line number Diff line number Diff line
@@ -862,6 +862,9 @@ class RootWindowContainer extends WindowContainer<DisplayContent>
                        "<<< CLOSE TRANSACTION performLayoutAndPlaceSurfaces");
            }
        }

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

        checkAppTransitionReady(surfacePlacer);
@@ -1014,9 +1017,6 @@ class RootWindowContainer extends WindowContainer<DisplayContent>

        mWmService.scheduleAnimationLocked();

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

        if (DEBUG_WINDOW_TRACE) Slog.e(TAG, "performSurfacePlacementInner exit");
    }

+2 −3
Original line number Diff line number Diff line
@@ -5009,7 +5009,6 @@ 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("setTaskOrganizer");
@@ -5035,7 +5034,7 @@ class Task extends WindowContainer<WindowContainer> {
     */
    boolean updateTaskOrganizerState(boolean forceUpdate, boolean skipTaskAppeared) {
        if (getSurfaceControl() == null) {
            // Can't call onTaskAppeared without a surfacecontrol, so defer this until after one
            // Can't call onTaskAppeared without a surfacecontrol, so defer this until next one
            // is created.
            return false;
        }
@@ -7686,7 +7685,7 @@ class Task extends WindowContainer<WindowContainer> {

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

Loading