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

Commit 7c769178 authored by wilsonshih's avatar wilsonshih Committed by android-build-merger
Browse files

Merge "Freezing screen when dismiss pip if orientation is going to change."...

Merge "Freezing screen when dismiss pip if orientation is going to change." into qt-r1-dev am: 41b006d8
am: 366a6e99

Change-Id: I0548e41a12dee860c911b5570796bdfc78d09a74
parents 8bca1ec5 366a6e99
Loading
Loading
Loading
Loading
+13 −15
Original line number Diff line number Diff line
@@ -5651,14 +5651,21 @@ class ActivityStack extends ConfigurationContainer {
    void animateResizePinnedStack(Rect sourceHintBounds, Rect toBounds, int animationDuration,
            boolean fromFullscreen) {
        if (!inPinnedWindowingMode()) return;
        if (skipResizeAnimation(toBounds == null /* toFullscreen */)) {
        if (toBounds == null /* toFullscreen */) {
            final Configuration parentConfig = getParent().getConfiguration();
            final ActivityRecord top = topRunningNonOverlayTaskActivity();
            if (top != null && !top.isConfigurationCompatible(parentConfig)) {
                // The final orientation of this activity will change after moving to full screen.
                // Start freezing screen here to prevent showing a temporary full screen window.
                top.startFreezingScreenLocked(top.app, CONFIG_SCREEN_LAYOUT);
                mService.moveTasksToFullscreenStack(mStackId, true /* onTop */);
        } else {
                return;
            }
        }
        if (getTaskStack() == null) return;
        getTaskStack().animateResizePinnedStack(toBounds, sourceHintBounds,
                animationDuration, fromFullscreen);
    }
    }

    /**
     * Get current bounds of this stack, return empty when it is unavailable.
@@ -5673,15 +5680,6 @@ class ActivityStack extends ConfigurationContainer {
        stack.getAnimationOrCurrentBounds(outBounds);
    }

    private boolean skipResizeAnimation(boolean toFullscreen) {
        if (!toFullscreen) {
            return false;
        }
        final Configuration parentConfig = getParent().getConfiguration();
        final ActivityRecord top = topRunningNonOverlayTaskActivity();
        return top != null && !top.isConfigurationCompatible(parentConfig);
    }

    void setPictureInPictureAspectRatio(float aspectRatio) {
        if (getTaskStack() == null) return;
        getTaskStack().setPictureInPictureAspectRatio(aspectRatio);