Update the tests to destroy the activity.
Bug: 329219676
Bug: 327636437
Bug: 329219676
Bug: 319463414
Test: Removed failing tests
Change-Id: Idf49b129fb88e68472e75188b9485e6ea8968431
diff --git a/compose/foundation/foundation-layout/src/androidInstrumentedTest/kotlin/androidx/compose/foundation/layout/WindowInsetsDeviceTest.kt b/compose/foundation/foundation-layout/src/androidInstrumentedTest/kotlin/androidx/compose/foundation/layout/WindowInsetsDeviceTest.kt
index e99233e..6800c39 100644
--- a/compose/foundation/foundation-layout/src/androidInstrumentedTest/kotlin/androidx/compose/foundation/layout/WindowInsetsDeviceTest.kt
+++ b/compose/foundation/foundation-layout/src/androidInstrumentedTest/kotlin/androidx/compose/foundation/layout/WindowInsetsDeviceTest.kt
@@ -46,6 +46,8 @@
import androidx.core.view.WindowInsetsCompat
import androidx.core.view.WindowInsetsControllerCompat
import androidx.core.view.children
+import androidx.lifecycle.DefaultLifecycleObserver
+import androidx.lifecycle.LifecycleOwner
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
import androidx.test.filters.SdkSuppress
@@ -64,10 +66,22 @@
class WindowInsetsDeviceTest {
@get:Rule
val rule = createAndroidComposeRule<WindowInsetsActivity>()
+ private lateinit var finishLatch: CountDownLatch
+ private val finishLatchGetter
+ get() = finishLatch
+ private val observer = object : DefaultLifecycleObserver {
+ override fun onDestroy(owner: LifecycleOwner) {
+ finishLatchGetter.countDown()
+ }
+ }
@Before
fun setup() {
rule.activity.createdLatch.await(1, TimeUnit.SECONDS)
+ finishLatch = CountDownLatch(1)
+ rule.runOnUiThread {
+ rule.activity.lifecycle.addObserver(observer)
+ }
}
@After
@@ -75,6 +89,7 @@
rule.runOnUiThread {
rule.activity.finish()
}
+ assertThat(finishLatch.await(1, TimeUnit.SECONDS)).isTrue()
}
@OptIn(ExperimentalLayoutApi::class)
@@ -91,8 +106,12 @@
val innerComposable: @Composable () -> Unit = {
imeInset2 = WindowInsets.ime.getBottom(LocalDensity.current)
Box(
- Modifier.fillMaxSize().imePadding().imeNestedScroll()
- .nestedScroll(connection, dispatcher).background(
+ Modifier
+ .fillMaxSize()
+ .imePadding()
+ .imeNestedScroll()
+ .nestedScroll(connection, dispatcher)
+ .background(
Color.Cyan
)
)
diff --git a/compose/foundation/foundation-layout/src/androidInstrumentedTest/kotlin/androidx/compose/foundation/layout/WindowInsetsPaddingTest.kt b/compose/foundation/foundation-layout/src/androidInstrumentedTest/kotlin/androidx/compose/foundation/layout/WindowInsetsPaddingTest.kt
index 7e408e5..c72c7d7 100644
--- a/compose/foundation/foundation-layout/src/androidInstrumentedTest/kotlin/androidx/compose/foundation/layout/WindowInsetsPaddingTest.kt
+++ b/compose/foundation/foundation-layout/src/androidInstrumentedTest/kotlin/androidx/compose/foundation/layout/WindowInsetsPaddingTest.kt
@@ -53,11 +53,15 @@
import androidx.core.view.DisplayCutoutCompat
import androidx.core.view.WindowInsetsCompat
import androidx.core.view.forEach
+import androidx.lifecycle.DefaultLifecycleObserver
+import androidx.lifecycle.LifecycleOwner
import androidx.test.ext.junit.rules.ActivityScenarioRule
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
import androidx.test.filters.SdkSuppress
import com.google.common.truth.Truth.assertThat
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import kotlin.math.roundToInt
import org.junit.After
import org.junit.Before
@@ -73,9 +77,22 @@
private lateinit var insetsView: InsetsView
+ private lateinit var finishLatch: CountDownLatch
+ private val finishLatchGetter
+ get() = finishLatch
+ private val observer = object : DefaultLifecycleObserver {
+ override fun onDestroy(owner: LifecycleOwner) {
+ finishLatchGetter.countDown()
+ }
+ }
+
@Before
fun setup() {
WindowInsetsHolder.setUseTestInsets(true)
+ finishLatch = CountDownLatch(1)
+ rule.runOnUiThread {
+ rule.activity.lifecycle.addObserver(observer)
+ }
}
@After
@@ -84,6 +101,7 @@
rule.runOnUiThread {
rule.activity.finish()
}
+ assertThat(finishLatch.await(1, TimeUnit.SECONDS)).isTrue()
}
@Test
diff --git a/compose/foundation/foundation-layout/src/androidInstrumentedTest/kotlin/androidx/compose/foundation/layout/WindowInsetsSizeTest.kt b/compose/foundation/foundation-layout/src/androidInstrumentedTest/kotlin/androidx/compose/foundation/layout/WindowInsetsSizeTest.kt
index 7c113ab..7fdd264 100644
--- a/compose/foundation/foundation-layout/src/androidInstrumentedTest/kotlin/androidx/compose/foundation/layout/WindowInsetsSizeTest.kt
+++ b/compose/foundation/foundation-layout/src/androidInstrumentedTest/kotlin/androidx/compose/foundation/layout/WindowInsetsSizeTest.kt
@@ -36,10 +36,14 @@
import androidx.core.graphics.Insets as AndroidXInsets
import androidx.core.view.DisplayCutoutCompat
import androidx.core.view.WindowInsetsCompat
+import androidx.lifecycle.DefaultLifecycleObserver
+import androidx.lifecycle.LifecycleOwner
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.MediumTest
import androidx.test.filters.SdkSuppress
import com.google.common.truth.Truth.assertThat
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
import org.junit.After
import org.junit.Before
import org.junit.Rule
@@ -54,9 +58,22 @@
private lateinit var insetsView: InsetsView
+ private lateinit var finishLatch: CountDownLatch
+ private val finishLatchGetter
+ get() = finishLatch
+ private val observer = object : DefaultLifecycleObserver {
+ override fun onDestroy(owner: LifecycleOwner) {
+ finishLatchGetter.countDown()
+ }
+ }
+
@Before
fun setup() {
WindowInsetsHolder.setUseTestInsets(true)
+ finishLatch = CountDownLatch(1)
+ rule.runOnUiThread {
+ rule.activity.lifecycle.addObserver(observer)
+ }
}
@After
@@ -65,6 +82,7 @@
rule.runOnUiThread {
rule.activity.finish()
}
+ assertThat(finishLatch.await(1, TimeUnit.SECONDS)).isTrue()
}
@OptIn(ExperimentalLayoutApi::class)