diff options
| -rw-r--r-- | services/tests/wmtests/src/com/android/server/wm/WindowTestsBase.java | 4 | ||||
| -rw-r--r-- | services/tests/wmtests/src/com/android/server/wm/WmServiceUtils.java | 10 |
2 files changed, 12 insertions, 2 deletions
diff --git a/services/tests/wmtests/src/com/android/server/wm/WindowTestsBase.java b/services/tests/wmtests/src/com/android/server/wm/WindowTestsBase.java index 3813891ef0e0..638cb03f4707 100644 --- a/services/tests/wmtests/src/com/android/server/wm/WindowTestsBase.java +++ b/services/tests/wmtests/src/com/android/server/wm/WindowTestsBase.java @@ -198,8 +198,8 @@ class WindowTestsBase { mDisplayContent.mInputMethodTarget = null; } - // Wait until everything is really cleaned up. - waitUntilHandlersIdle(); + // Cleaned up everything in Handler. + WmServiceUtils.cleanupWindowManagerHandlers(); } catch (Exception e) { Log.e(TAG, "Failed to tear down test", e); throw e; diff --git a/services/tests/wmtests/src/com/android/server/wm/WmServiceUtils.java b/services/tests/wmtests/src/com/android/server/wm/WmServiceUtils.java index 2465e5d89bb1..05ac8c1072c0 100644 --- a/services/tests/wmtests/src/com/android/server/wm/WmServiceUtils.java +++ b/services/tests/wmtests/src/com/android/server/wm/WmServiceUtils.java @@ -171,6 +171,16 @@ class WmServiceUtils { return sService; } + static void cleanupWindowManagerHandlers() { + final WindowManagerService wm = getWindowManagerService(); + if (wm == null) { + return; + } + wm.mH.removeCallbacksAndMessages(null); + wm.mAnimationHandler.removeCallbacksAndMessages(null); + SurfaceAnimationThread.getHandler().removeCallbacksAndMessages(null); + } + static void waitUntilWindowManagerHandlersIdle() { final WindowManagerService wm = getWindowManagerService(); if (wm == null) { |