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

am: 366a6e9995

Change-Id: I0548e41a12dee860c911b5570796bdfc78d09a74
This commit is contained in:
wilsonshih
2019-08-12 22:00:54 -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);