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

Commit 4514df4f authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Fixes activity didn't receive windowing mode change while exitPip"

parents a437988c 283da3bf
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -5656,6 +5656,11 @@ public final class ActivityThread extends ClientTransactionHandler {
            throw new IllegalArgumentException("Activity token not set. Is the activity attached?");
        }

        // WindowConfiguration differences aren't considered as public, check it separately.
        // multi-window / pip mode changes, if any, should be sent before the configuration
        // change callback, see also PinnedStackTests#testConfigurationChangeOrderDuringTransition
        handleWindowingModeChangeIfNeeded(activity, newConfig);

        final boolean movedToDifferentDisplay = isDifferentDisplay(activity, displayId);
        boolean shouldReportChange = false;
        if (activity.mCurrentConfig == null) {
@@ -5708,11 +5713,6 @@ public final class ActivityThread extends ClientTransactionHandler {
        }

        if (shouldReportChange) {
            // multi-window / pip mode changes, if any, should be sent before the configuration
            // change callback, see also
            // PinnedStackTests#testConfigurationChangeOrderDuringTransition
            handleWindowingModeChangeIfNeeded(activity, newConfig);

            activity.mCalled = false;
            activity.onConfigurationChanged(configToReport);
            if (!activity.mCalled) {
+7 −0
Original line number Diff line number Diff line
@@ -3569,6 +3569,13 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
    }

    void reportResized() {
        // If the activity is scheduled to relaunch, skip sending the resized to ViewRootImpl now
        // since it will be destroyed anyway. This also prevents the client from receiving
        // windowing mode change before it is destroyed.
        if (mActivityRecord != null && mActivityRecord.isRelaunching()) {
            return;
        }

        if (Trace.isTagEnabled(TRACE_TAG_WINDOW_MANAGER)) {
            Trace.traceBegin(TRACE_TAG_WINDOW_MANAGER, "wm.reportResized_" + getWindowTag());
        }