diff options
| author | 2023-05-12 22:53:32 +0000 | |
|---|---|---|
| committer | 2023-05-12 22:53:32 +0000 | |
| commit | c8196383a29e67e65848c69b811b3e28e19bef3b (patch) | |
| tree | 9a4858876a4f8ca482d88f24e8a2e6f3c804b95a /libs | |
| parent | e0a5db492f26d6ae6052b5d0e92805fb64279742 (diff) | |
| parent | 27c8c5ec7d7d1723b2a43253c03c2fc1c7f02739 (diff) | |
Merge "Fix graphical glitches on keyguard-unlock with PIP" into udc-dev
Diffstat (limited to 'libs')
| -rw-r--r-- | libs/WindowManager/Shell/src/com/android/wm/shell/util/TransitionUtil.java | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/util/TransitionUtil.java b/libs/WindowManager/Shell/src/com/android/wm/shell/util/TransitionUtil.java index ef0c7a8a755b..6d37e58c59ad 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/util/TransitionUtil.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/util/TransitionUtil.java @@ -235,11 +235,20 @@ public class TransitionUtil { public static RemoteAnimationTarget newTarget(TransitionInfo.Change change, int order, TransitionInfo info, SurfaceControl.Transaction t, @Nullable ArrayMap<SurfaceControl, SurfaceControl> leashMap) { + return newTarget(change, order, false /* forceTranslucent */, info, t, leashMap); + } + + /** + * Creates a new RemoteAnimationTarget from the provided change info + */ + public static RemoteAnimationTarget newTarget(TransitionInfo.Change change, int order, + boolean forceTranslucent, TransitionInfo info, SurfaceControl.Transaction t, + @Nullable ArrayMap<SurfaceControl, SurfaceControl> leashMap) { final SurfaceControl leash = createLeash(info, change, order, t); if (leashMap != null) { leashMap.put(change.getLeash(), leash); } - return newTarget(change, order, leash); + return newTarget(change, order, leash, forceTranslucent); } /** @@ -247,6 +256,14 @@ public class TransitionUtil { */ public static RemoteAnimationTarget newTarget(TransitionInfo.Change change, int order, SurfaceControl leash) { + return newTarget(change, order, leash, false /* forceTranslucent */); + } + + /** + * Creates a new RemoteAnimationTarget from the provided change and leash + */ + public static RemoteAnimationTarget newTarget(TransitionInfo.Change change, int order, + SurfaceControl leash, boolean forceTranslucent) { if (isDividerBar(change)) { return getDividerTarget(change, leash); } @@ -276,7 +293,7 @@ public class TransitionUtil { // TODO: once we can properly sync transactions across process, // then get rid of this leash. leash, - (change.getFlags() & TransitionInfo.FLAG_TRANSLUCENT) != 0, + forceTranslucent || (change.getFlags() & TransitionInfo.FLAG_TRANSLUCENT) != 0, null, // TODO(shell-transitions): we need to send content insets? evaluate how its used. new Rect(0, 0, 0, 0), |