From 4ae4c33881bbc4ca887b6924bd66d18ea4665fe1 Mon Sep 17 00:00:00 2001 From: Vishnu Nair Date: Wed, 18 Mar 2020 12:09:43 -0700 Subject: [PATCH] Make animation leashes effect layers Fixes: 151844058 Test: go/wm-smoke no black flickers Change-Id: Ie2a35a607af61443b5133a623e6eaa7a80cda780 --- services/core/java/com/android/server/wm/SurfaceAnimator.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/wm/SurfaceAnimator.java b/services/core/java/com/android/server/wm/SurfaceAnimator.java index aa817fd38b251..6358e4719fde1 100644 --- a/services/core/java/com/android/server/wm/SurfaceAnimator.java +++ b/services/core/java/com/android/server/wm/SurfaceAnimator.java @@ -379,7 +379,8 @@ class SurfaceAnimator { if (DEBUG_ANIM) Slog.i(TAG, "Reparenting to leash"); final SurfaceControl.Builder builder = animatable.makeAnimationLeash() .setParent(animatable.getAnimationLeashParent()) - .setName(surface + " - animation-leash"); + .setName(surface + " - animation-leash") + .setColorLayer(); final SurfaceControl leash = builder.build(); if (!hidden) { // TODO(b/151665759) Defer reparent calls @@ -390,6 +391,7 @@ class SurfaceAnimator { // seamless rotation. transactionFactory.get().unsetColor(leash).show(leash).apply(); } + t.unsetColor(leash); t.setWindowCrop(leash, width, height); t.setPosition(leash, x, y); t.show(leash);