Merge "Freezing screen when dismiss pip if orientation is going to change." into qt-r1-dev

am: 41b006d8d6

Change-Id: I4c66179b972c9137fc233df385cbf4699f635d55
This commit is contained in:
wilsonshih
2019-08-12 21:41:45 -07:00
committed by android-build-merger

View File

@@ -5651,13 +5651,20 @@ class ActivityStack extends ConfigurationContainer {
void animateResizePinnedStack(Rect sourceHintBounds, Rect toBounds, int animationDuration,
boolean fromFullscreen) {
if (!inPinnedWindowingMode()) return;
if (skipResizeAnimation(toBounds == null /* toFullscreen */)) {
mService.moveTasksToFullscreenStack(mStackId, true /* onTop */);
} else {
if (getTaskStack() == null) return;
getTaskStack().animateResizePinnedStack(toBounds, sourceHintBounds,
animationDuration, fromFullscreen);
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 */);
return;
}
}
if (getTaskStack() == null) return;
getTaskStack().animateResizePinnedStack(toBounds, sourceHintBounds,
animationDuration, fromFullscreen);
}
/**
@@ -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);