summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/wm/AppWindowToken.java7
-rw-r--r--services/core/java/com/android/server/wm/TaskStack.java10
2 files changed, 9 insertions, 8 deletions
diff --git a/services/core/java/com/android/server/wm/AppWindowToken.java b/services/core/java/com/android/server/wm/AppWindowToken.java
index 8007c0f316e0..ed3218351210 100644
--- a/services/core/java/com/android/server/wm/AppWindowToken.java
+++ b/services/core/java/com/android/server/wm/AppWindowToken.java
@@ -1015,6 +1015,8 @@ class AppWindowToken extends WindowToken implements WindowManagerService.AppFree
void notifyAppStopped() {
if (DEBUG_ADD_REMOVE) Slog.v(TAG, "notifyAppStopped: " + this);
mAppStopped = true;
+ // Reset the last saved PiP snap fraction on app stop.
+ mDisplayContent.mPinnedStackControllerLocked.resetReentrySnapFraction(this);
destroySurfaces();
// Remove any starting window that was added for this app if they are still around.
removeStartingWindow();
@@ -3072,11 +3074,6 @@ class AppWindowToken extends WindowToken implements WindowManagerService.AppFree
@Override
void setHidden(boolean hidden) {
super.setHidden(hidden);
-
- if (hidden) {
- // Once the app window is hidden, reset the last saved PiP snap fraction
- mDisplayContent.mPinnedStackControllerLocked.resetReentrySnapFraction(this);
- }
scheduleAnimation();
}
diff --git a/services/core/java/com/android/server/wm/TaskStack.java b/services/core/java/com/android/server/wm/TaskStack.java
index eb45e73d47a4..79367a050d46 100644
--- a/services/core/java/com/android/server/wm/TaskStack.java
+++ b/services/core/java/com/android/server/wm/TaskStack.java
@@ -321,7 +321,9 @@ public class TaskStack extends WindowContainer<Task> implements
*/
private void setAnimationFinalBounds(Rect sourceHintBounds, Rect destBounds,
boolean toFullscreen) {
- mBoundsAnimatingRequested = true;
+ if (mAnimationType == BoundsAnimationController.BOUNDS) {
+ mBoundsAnimatingRequested = true;
+ }
mBoundsAnimatingToFullscreen = toFullscreen;
if (destBounds != null) {
mBoundsAnimationTarget.set(destBounds);
@@ -1586,8 +1588,10 @@ public class TaskStack extends WindowContainer<Task> implements
return false;
}
- mBoundsAnimatingRequested = false;
- mBoundsAnimating = true;
+ if (animationType == BoundsAnimationController.BOUNDS) {
+ mBoundsAnimatingRequested = false;
+ mBoundsAnimating = true;
+ }
mAnimationType = animationType;
// If we are changing UI mode, as in the PiP to fullscreen