diff options
| author | 2024-12-19 12:14:56 -0500 | |
|---|---|---|
| committer | 2024-12-19 12:30:43 -0500 | |
| commit | 3ad486a5567859ffcc7ad6878d866fe0a03fe89d (patch) | |
| tree | cd19fe54d9eb638d6e7882e24225b3aa12d9b250 | |
| parent | 253d3033966f7beaab76612e83ff7e9552fd2018 (diff) | |
Thread guard teardown to prevent crash
Bug: 384537275
Test: ABTD in bug
Flag: TEST_ONLY
Change-Id: I6ce2c56d255ce1c0767fa581af977511b0bd5a58
| -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 { |