diff options
| author | 2021-04-15 14:36:20 +0800 | |
|---|---|---|
| committer | 2021-04-16 11:44:33 +0800 | |
| commit | a4977ae2bc6fc52dcd6c9d3c6ab6c15b6ff3ae24 (patch) | |
| tree | c2ec163a97f3af3ab3786668f4489e1e0012e631 | |
| parent | ec28b329409b9fc9d4a0c15f146c10ed98cb8ff1 (diff) | |
Reset the layer of the nav bar when restoring it back
We set the layer of the nav bar to MAX_VALUE when attaching the nav bar
to app during quick-step gesture.
Hence, we also need to reset it when restoring it back.
Bug: 184914153
Test: atest RecenteAnimationControlerTest
Change-Id: I331a2992c1b965503f714683f8be56d473e03434
| -rw-r--r-- | services/core/java/com/android/server/wm/RecentsAnimationController.java | 2 | ||||
| -rw-r--r-- | services/tests/wmtests/src/com/android/server/wm/RecentsAnimationControllerTest.java | 6 |
2 files changed, 8 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/wm/RecentsAnimationController.java b/services/core/java/com/android/server/wm/RecentsAnimationController.java index 129a6ce8e1d5..19c2e734a125 100644 --- a/services/core/java/com/android/server/wm/RecentsAnimationController.java +++ b/services/core/java/com/android/server/wm/RecentsAnimationController.java @@ -675,6 +675,8 @@ public class RecentsAnimationController implements DeathRecipient { } final SurfaceControl.Transaction t = mDisplayContent.getPendingTransaction(); final WindowContainer parent = navToken.getParent(); + t.setLayer(navToken.getSurfaceControl(), navToken.getLastLayer()); + if (animate) { final NavBarFadeAnimationController navBarFadeAnimationController = mDisplayContent.getDisplayPolicy().getNavBarFadeAnimationController(); diff --git a/services/tests/wmtests/src/com/android/server/wm/RecentsAnimationControllerTest.java b/services/tests/wmtests/src/com/android/server/wm/RecentsAnimationControllerTest.java index 153fd3a68e82..23d57b89cf1c 100644 --- a/services/tests/wmtests/src/com/android/server/wm/RecentsAnimationControllerTest.java +++ b/services/tests/wmtests/src/com/android/server/wm/RecentsAnimationControllerTest.java @@ -518,6 +518,7 @@ public class RecentsAnimationControllerTest extends WindowTestsBase { verify(mController.mStatusBar).setNavigationBarLumaSamplingEnabled( mDefaultDisplay.mDisplayId, false); verify(transaction).reparent(navToken.getSurfaceControl(), activity.getSurfaceControl()); + verify(transaction).setLayer(navToken.getSurfaceControl(), Integer.MAX_VALUE); final WindowContainer parent = navToken.getParent(); final NavBarFadeAnimationController navBarFadeAnimationController = @@ -526,6 +527,7 @@ public class RecentsAnimationControllerTest extends WindowTestsBase { mController.cleanupAnimation(REORDER_MOVE_TO_TOP); verify(mController.mStatusBar).setNavigationBarLumaSamplingEnabled( mDefaultDisplay.mDisplayId, true); + verify(transaction).setLayer(navToken.getSurfaceControl(), 0); verify(transaction).reparent(navToken.getSurfaceControl(), parent.getSurfaceControl()); verify(navBarFadeAnimationController).fadeWindowToken(true); } @@ -543,6 +545,7 @@ public class RecentsAnimationControllerTest extends WindowTestsBase { verify(mController.mStatusBar).setNavigationBarLumaSamplingEnabled( mDefaultDisplay.mDisplayId, false); verify(transaction).reparent(navToken.getSurfaceControl(), activity.getSurfaceControl()); + verify(transaction).setLayer(navToken.getSurfaceControl(), Integer.MAX_VALUE); final WindowContainer parent = navToken.getParent(); final NavBarFadeAnimationController navBarFadeAnimationController = @@ -551,6 +554,7 @@ public class RecentsAnimationControllerTest extends WindowTestsBase { mController.cleanupAnimation(REORDER_MOVE_TO_ORIGINAL_POSITION); verify(mController.mStatusBar).setNavigationBarLumaSamplingEnabled( mDefaultDisplay.mDisplayId, true); + verify(transaction).setLayer(navToken.getSurfaceControl(), 0); verify(transaction).reparent(navToken.getSurfaceControl(), parent.getSurfaceControl()); verify(navBarFadeAnimationController, never()).fadeWindowToken(anyBoolean()); } @@ -579,6 +583,7 @@ public class RecentsAnimationControllerTest extends WindowTestsBase { verify(mController.mStatusBar).setNavigationBarLumaSamplingEnabled( mDefaultDisplay.mDisplayId, false); verify(transaction).reparent(navToken.getSurfaceControl(), activity.getSurfaceControl()); + verify(transaction).setLayer(navToken.getSurfaceControl(), Integer.MAX_VALUE); final WindowContainer parent = navToken.getParent(); final NavBarFadeAnimationController navBarFadeAnimationController = @@ -591,6 +596,7 @@ public class RecentsAnimationControllerTest extends WindowTestsBase { mController.cleanupAnimation(REORDER_MOVE_TO_TOP); verify(mController.mStatusBar).setNavigationBarLumaSamplingEnabled( mDefaultDisplay.mDisplayId, true); + verify(transaction).setLayer(navToken.getSurfaceControl(), 0); verify(mockController).setOnShowRunnable(any()); verify(transaction, times(0)).reparent(navToken.getSurfaceControl(), parent.getSurfaceControl()); |