diff --git a/services/core/java/com/android/server/wm/AppWindowToken.java b/services/core/java/com/android/server/wm/AppWindowToken.java index e8c770457a22f..5be8e14085788 100644 --- a/services/core/java/com/android/server/wm/AppWindowToken.java +++ b/services/core/java/com/android/server/wm/AppWindowToken.java @@ -2557,12 +2557,17 @@ class AppWindowToken extends WindowToken implements WindowManagerService.AppFree final Animation a = loadAnimation(lp, transit, enter, isVoiceInteraction); if (a != null) { + // Only apply corner radius to animation if we're not in multi window mode. + // We don't want rounded corners when in pip or split screen. + final float windowCornerRadius = !inMultiWindowMode() + ? getDisplayContent().getWindowCornerRadius() + : 0; adapter = new LocalAnimationAdapter( new WindowAnimationSpec(a, mTmpPoint, mTmpRect, getDisplayContent().mAppTransition.canSkipFirstFrame(), appStackClipMode, true /* isAppAnimation */, - getDisplayContent().getWindowCornerRadius()), + windowCornerRadius), mWmService.mSurfaceAnimationRunner); if (a.getZAdjustment() == Animation.ZORDER_TOP) { mNeedsZBoost = true; diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java index 8cbad2dbccd73..497c91ab329d8 100644 --- a/services/core/java/com/android/server/wm/WindowState.java +++ b/services/core/java/com/android/server/wm/WindowState.java @@ -4599,7 +4599,7 @@ class WindowState extends WindowContainer implements WindowManagerP anim.scaleCurrentDuration(mWmService.getWindowAnimationScaleLocked()); final AnimationAdapter adapter = new LocalAnimationAdapter( new WindowAnimationSpec(anim, mSurfacePosition, false /* canSkipFirstFrame */, - getDisplayContent().getWindowCornerRadius()), + 0 /* windowCornerRadius */), mWmService.mSurfaceAnimationRunner); startAnimation(mPendingTransaction, adapter); commitPendingTransaction();