From 95acf43c9d9518415c09a5e392a440ed90e92b32 Mon Sep 17 00:00:00 2001 From: Lucas Dupin Date: Mon, 29 Apr 2019 17:55:38 -0700 Subject: [PATCH] Disable rounded corners when in multi window We should not draw rounded corners when animating windows into split view. The divider is a single horizontal line, and we don't support multiple radii per window. Fixes: 129540518 Test: visual Change-Id: Ic31395c77f376053a136a9c55382b74b4157ee34 Merged-In: Ic31395c77f376053a136a9c55382b74b4157ee34 --- .../core/java/com/android/server/wm/AppWindowToken.java | 7 ++++++- services/core/java/com/android/server/wm/WindowState.java | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/wm/AppWindowToken.java b/services/core/java/com/android/server/wm/AppWindowToken.java index 81d6898f04655..bb11881806064 100644 --- a/services/core/java/com/android/server/wm/AppWindowToken.java +++ b/services/core/java/com/android/server/wm/AppWindowToken.java @@ -2553,12 +2553,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();