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

Commit bb33a6ef authored by Evan Rosky's avatar Evan Rosky Committed by Automerger Merge Worker
Browse files

Merge "Update transient-flags when windows are collected" into udc-dev am:...

Merge "Update transient-flags when windows are collected" into udc-dev am: 7f7fd82c am: fdcb75c7

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/23356976



Change-Id: Icbe77a11ca37f723147590674905b24860647604
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 367a1e10 fdcb75c7
Loading
Loading
Loading
Loading
+13 −6
Original line number Diff line number Diff line
@@ -382,11 +382,7 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener {
            // Add FLAG_ABOVE_TRANSIENT_LAUNCH to the tree of transient-hide tasks,
            // so ChangeInfo#hasChanged() can return true to report the transition info.
            for (int i = mChanges.size() - 1; i >= 0; --i) {
                final WindowContainer<?> wc = mChanges.keyAt(i);
                if (wc.asTaskFragment() == null && wc.asActivityRecord() == null) continue;
                if (isInTransientHide(wc)) {
                    mChanges.valueAt(i).mFlags |= ChangeInfo.FLAG_ABOVE_TRANSIENT_LAUNCH;
                }
                updateTransientFlags(mChanges.valueAt(i));
            }
        }
        ProtoLog.v(ProtoLogGroup.WM_DEBUG_WINDOW_TRANSITIONS, "Transition %d: Set %s as "
@@ -581,7 +577,9 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener {
        for (WindowContainer<?> curr = getAnimatableParent(wc);
                curr != null && !mChanges.containsKey(curr);
                curr = getAnimatableParent(curr)) {
            mChanges.put(curr, new ChangeInfo(curr));
            final ChangeInfo info = new ChangeInfo(curr);
            updateTransientFlags(info);
            mChanges.put(curr, info);
            if (isReadyGroup(curr)) {
                mReadyTracker.addGroup(curr);
                ProtoLog.v(ProtoLogGroup.WM_DEBUG_WINDOW_TRANSITIONS, " Creating Ready-group for"
@@ -600,6 +598,7 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener {
        ChangeInfo info = mChanges.get(wc);
        if (info == null) {
            info = new ChangeInfo(wc);
            updateTransientFlags(info);
            mChanges.put(wc, info);
        }
        mParticipants.add(wc);
@@ -615,6 +614,14 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener {
        }
    }

    private void updateTransientFlags(@NonNull ChangeInfo info) {
        final WindowContainer<?> wc = info.mContainer;
        // Only look at tasks, taskfragments, or activities
        if (wc.asTaskFragment() == null && wc.asActivityRecord() == null) return;
        if (!isInTransientHide(wc)) return;
        info.mFlags |= ChangeInfo.FLAG_ABOVE_TRANSIENT_LAUNCH;
    }

    private void recordDisplay(DisplayContent dc) {
        if (dc == null || mTargetDisplays.contains(dc)) return;
        mTargetDisplays.add(dc);