From ff97716a3a2ebab1849e40815b84cfd72ae266f2 Mon Sep 17 00:00:00 2001 From: Chris Li Date: Wed, 26 Jul 2023 21:57:22 +0800 Subject: [PATCH] Fix flaky WindowTokenClientControllerTest Create a new instance for testing instead of using the app's real instance. The failure only happens once and likely to be an isolated one. Likely to be a side effect of using the application's real instance. Fix: 293161156 Test: atest FrameworksCoreTests:WindowTokenClientControllerTest Change-Id: I77f0e34066c61f1f5aaf95551e6d58cf96d112b4 --- core/java/android/window/WindowTokenClientController.java | 6 ++++++ .../src/android/window/WindowTokenClientControllerTest.java | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/core/java/android/window/WindowTokenClientController.java b/core/java/android/window/WindowTokenClientController.java index 2f05f830fe09e..44847073646d8 100644 --- a/core/java/android/window/WindowTokenClientController.java +++ b/core/java/android/window/WindowTokenClientController.java @@ -73,6 +73,12 @@ public class WindowTokenClientController { } } + /** Creates a new instance for test only. */ + @VisibleForTesting + public static WindowTokenClientController createInstanceForTesting() { + return new WindowTokenClientController(); + } + private WindowTokenClientController() {} /** diff --git a/core/tests/coretests/src/android/window/WindowTokenClientControllerTest.java b/core/tests/coretests/src/android/window/WindowTokenClientControllerTest.java index 9793dde0aaa58..767dd8c20b779 100644 --- a/core/tests/coretests/src/android/window/WindowTokenClientControllerTest.java +++ b/core/tests/coretests/src/android/window/WindowTokenClientControllerTest.java @@ -76,7 +76,7 @@ public class WindowTokenClientControllerTest { mOriginalWindowManagerService = WindowManagerGlobal.getWindowManagerService(); WindowManagerGlobal.overrideWindowManagerServiceForTesting(mWindowManagerService); doReturn(mClientToken).when(mWindowTokenClient).asBinder(); - mController = spy(WindowTokenClientController.getInstance()); + mController = spy(WindowTokenClientController.createInstanceForTesting()); } @After