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

Commit 36f05c49 authored by Issei Suzuki's avatar Issei Suzuki Committed by Automerger Merge Worker
Browse files

Merge "Fix bubble shows empty contents after rotating the device." into...

Merge "Fix bubble shows empty contents after rotating the device." into rvc-dev am: 35cd1a6a am: adf2eec8 am: f38cb395 am: 286e3e1b

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

Change-Id: I1af1f44e0f2bb36441e1620d4573d579e8b3a07b
parents 729a220f 286e3e1b
Loading
Loading
Loading
Loading
+18 −4
Original line number Diff line number Diff line
@@ -2414,7 +2414,7 @@ class ActivityStack extends Task {
        forAllActivities(ActivityRecord::removeLaunchTickRunnable);
    }

    private void updateTransitLocked(int transit, ActivityOptions options) {
    private void updateTransitLocked(int transit, ActivityOptions options, boolean forceOverride) {
        if (options != null) {
            ActivityRecord r = topRunningActivity();
            if (r != null && !r.isState(RESUMED)) {
@@ -2423,7 +2423,8 @@ class ActivityStack extends Task {
                ActivityOptions.abort(options);
            }
        }
        getDisplay().mDisplayContent.prepareAppTransition(transit, false);
        getDisplay().mDisplayContent.prepareAppTransition(transit, false,
                0 /* flags */, forceOverride);
    }

    final void moveTaskToFront(Task tr, boolean noAnimation, ActivityOptions options,
@@ -2443,8 +2444,17 @@ class ActivityStack extends Task {
            // nothing to do!
            if (noAnimation) {
                ActivityOptions.abort(options);
            } else if (isSingleTaskInstance()) {
                // When a task is moved front on the display which can only contain one task, start
                // a special transition.
                // {@link AppTransitionController#handleAppTransitionReady} later picks up the
                // transition, and schedules
                // {@link ITaskStackListener#onSingleTaskDisplayDrawn} callback which is triggered
                // after contents are drawn on the display.
                updateTransitLocked(TRANSIT_SHOW_SINGLE_TASK_DISPLAY, options,
                        true /* forceOverride */);
            } else {
                updateTransitLocked(TRANSIT_TASK_TO_FRONT, options);
                updateTransitLocked(TRANSIT_TASK_TO_FRONT, options, false /* forceOverride */);
            }
            return;
        }
@@ -2490,9 +2500,13 @@ class ActivityStack extends Task {
                    mStackSupervisor.mNoAnimActivities.add(r);
                }
                ActivityOptions.abort(options);
            } else if (isSingleTaskInstance()) {
                updateTransitLocked(TRANSIT_SHOW_SINGLE_TASK_DISPLAY, options,
                        true /* forceOverride */);
            } else {
                updateTransitLocked(TRANSIT_TASK_TO_FRONT, options);
                updateTransitLocked(TRANSIT_TASK_TO_FRONT, options, false /* forceOverride */);
            }

            // If a new task is moved to the front, then mark the existing top activity as
            // supporting

+2 −1
Original line number Diff line number Diff line
@@ -2375,7 +2375,8 @@ class RootWindowContainer extends WindowContainer<DisplayContent>
                        // triggered after contents are drawn on the display.
                        if (display.isSingleTaskInstance()) {
                            display.mDisplayContent.prepareAppTransition(
                                    TRANSIT_SHOW_SINGLE_TASK_DISPLAY, false);
                                    TRANSIT_SHOW_SINGLE_TASK_DISPLAY, false,
                                    0 /* flags */, true /* forceOverride*/);
                        }
                        stack.awakeFromSleepingLocked();
                        if (display.isSingleTaskInstance()) {