diff options
| author | 2024-12-19 12:20:45 -0800 | |
|---|---|---|
| committer | 2024-12-19 12:20:45 -0800 | |
| commit | 849aceb1f7c47e9ff35f99c4efb976bee07793c2 (patch) | |
| tree | c08803cf8e9b67932b939ca66a18bddcb1991c5e | |
| parent | 786cb5767fd1f78604d834edf5af4a53e3a2a81b (diff) | |
| parent | 3ad486a5567859ffcc7ad6878d866fe0a03fe89d (diff) | |
Merge "Thread guard teardown to prevent crash" into main
| -rw-r--r-- | packages/SystemUI/multivalentTests/src/com/android/systemui/qs/external/TileServiceRequestControllerTestComposeOn.kt | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/external/TileServiceRequestControllerTestComposeOn.kt b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/external/TileServiceRequestControllerTestComposeOn.kt index f02856c2f5ae..f48027beef12 100644 --- a/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/external/TileServiceRequestControllerTestComposeOn.kt +++ b/packages/SystemUI/multivalentTests/src/com/android/systemui/qs/external/TileServiceRequestControllerTestComposeOn.kt @@ -148,7 +148,7 @@ class TileServiceRequestControllerTestComposeOn : SysuiTestCase() { @Test fun showAllUsers_set() = kosmos.runTest { - val dialog = runOnMainThreadAndWaitForIdleSync { + val dialog = createDialog { underTest.requestTileAdd( TEST_UID, TEST_COMPONENT, @@ -158,7 +158,6 @@ class TileServiceRequestControllerTestComposeOn : SysuiTestCase() { Callback(), )!! } - onTeardown { dialog.cancel() } assertThat(dialog.isShowForAllUsers).isTrue() } @@ -166,7 +165,7 @@ class TileServiceRequestControllerTestComposeOn : SysuiTestCase() { @Test fun cancelOnTouchOutside_set() = kosmos.runTest { - val dialog = runOnMainThreadAndWaitForIdleSync { + val dialog = createDialog { underTest.requestTileAdd( TEST_UID, TEST_COMPONENT, @@ -176,11 +175,16 @@ class TileServiceRequestControllerTestComposeOn : SysuiTestCase() { Callback(), )!! } - onTeardown { dialog.cancel() } assertThat(dialog.isCancelOnTouchOutside).isTrue() } + fun <T : DialogInterface> createDialog(constructor: () -> T): T { + val dialog = runOnMainThreadAndWaitForIdleSync { constructor() } + onTeardown { runOnMainThreadAndWaitForIdleSync { dialog.cancel() } } + return dialog + } + @Test fun positiveAction_tileAdded() = kosmos.runTest { |