Wait until an AndroidOwner is available
Add a check to see if an AndroidOwner is available to the waitForIdle
criteria.
Fixes: 154818174
Test: Added LateSetContentTest
Change-Id: I88b682d0d8dd4141fe0f46377dcbe163c89dd05c
diff --git a/ui/ui-test/src/androidTest/java/androidx/ui/test/LateSetContentTest.kt b/ui/ui-test/src/androidTest/java/androidx/ui/test/LateSetContentTest.kt
new file mode 100644
index 0000000..aa37c23
--- /dev/null
+++ b/ui/ui-test/src/androidTest/java/androidx/ui/test/LateSetContentTest.kt
@@ -0,0 +1,49 @@
+/*
+ * Copyright 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.ui.test
+
+import android.os.Bundle
+import android.os.Handler
+import android.os.Looper
+import androidx.activity.ComponentActivity
+import androidx.test.filters.LargeTest
+import androidx.ui.core.setContent
+import androidx.ui.test.android.AndroidComposeTestRule
+import androidx.ui.test.util.BoundaryNode
+import org.junit.Rule
+import org.junit.Test
+
+@LargeTest
+class LateSetContentTest {
+ @get:Rule
+ val composeTestRule = AndroidComposeTestRule<Activity>()
+
+ @Test
+ fun test() {
+ findByTag("Node").assertExists()
+ }
+
+ class Activity : ComponentActivity() {
+ private val handler = Handler(Looper.getMainLooper())
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ handler.postDelayed({
+ setContent { BoundaryNode("Node") }
+ }, 500)
+ }
+ }
+}