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

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

Merge "Don't applyReady immediately if WCT is launching activity" into udc-qpr-dev am: 4e6490ef

parents 7f6e145b 4e6490ef
Loading
Loading
Loading
Loading
+17 −0
Original line number Diff line number Diff line
@@ -309,6 +309,14 @@ class WindowOrganizerController extends IWindowOrganizerController.Stub
                                applyTransaction(wct, -1 /* syncId */, nextTransition, caller,
                                        deferred);
                                if (needsSetReady) {
                                    // TODO(b/294925498): Remove this once we have accurate ready
                                    //                    tracking.
                                    if (hasActivityLaunch(wct) && !mService.mRootWindowContainer
                                            .allPausedActivitiesComplete()) {
                                        // WCT is launching an activity, so we need to wait for its
                                        // lifecycle events.
                                        return;
                                    }
                                    nextTransition.setAllReady();
                                }
                            });
@@ -344,6 +352,15 @@ class WindowOrganizerController extends IWindowOrganizerController.Stub
        }
    }

    private static boolean hasActivityLaunch(WindowContainerTransaction wct) {
        for (int i = 0; i < wct.getHierarchyOps().size(); ++i) {
            if (wct.getHierarchyOps().get(i).getType() == HIERARCHY_OP_TYPE_LAUNCH_TASK) {
                return true;
            }
        }
        return false;
    }

    @Override
    public int startLegacyTransition(int type, @NonNull RemoteAnimationAdapter adapter,
            @NonNull IWindowContainerTransactionCallback callback,