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

Commit 3d2b802a 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: 669b8963
am: c8f1c61a

Change-Id: I68068b4e1da49fc817da2bb561acb8d7cb71e2b0
parents c48b34af c8f1c61a
Loading
Loading
Loading
Loading
+13 −15
Original line number Diff line number Diff line
@@ -5370,14 +5370,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.
@@ -5392,15 +5399,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);