Fix nullability issues in testutils-runtime

Test: ./gradlew internal-testutils-runtime:lintDebug -PcheckUnknownNullness
Change-Id: I0f3128b7b8533cabd3643e3daa1540ff626ac62b
diff --git a/testutils/testutils-runtime/lint-baseline.xml b/testutils/testutils-runtime/lint-baseline.xml
index a8ec864..a548f21 100644
--- a/testutils/testutils-runtime/lint-baseline.xml
+++ b/testutils/testutils-runtime/lint-baseline.xml
@@ -23,158 +23,4 @@
             column="13"/>
     </issue>
 
-    <issue
-        id="UnknownNullness"
-        message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://android.github.io/kotlin-guides/interop.html#nullability-annotations"
-        errorLine1="            final ActivityTestRule&lt;T> activityRule,"
-        errorLine2="                  ~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/testutils/LifecycleOwnerUtils.java"
-            line="54"
-            column="19"/>
-    </issue>
-
-    <issue
-        id="UnknownNullness"
-        message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://android.github.io/kotlin-guides/interop.html#nullability-annotations"
-        errorLine1="            final ActivityTestRule&lt;T> activityRule,"
-        errorLine2="                  ~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/testutils/LifecycleOwnerUtils.java"
-            line="54"
-            column="19"/>
-    </issue>
-
-    <issue
-        id="UnknownNullness"
-        message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://android.github.io/kotlin-guides/interop.html#nullability-annotations"
-        errorLine1="            final Lifecycle.State state) throws Throwable {"
-        errorLine2="                  ~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/testutils/LifecycleOwnerUtils.java"
-            line="55"
-            column="19"/>
-    </issue>
-
-    <issue
-        id="UnknownNullness"
-        message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://android.github.io/kotlin-guides/interop.html#nullability-annotations"
-        errorLine1="            final Lifecycle.State state) throws Throwable {"
-        errorLine2="                  ~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/testutils/LifecycleOwnerUtils.java"
-            line="55"
-            column="19"/>
-    </issue>
-
-    <issue
-        id="UnknownNullness"
-        message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://android.github.io/kotlin-guides/interop.html#nullability-annotations"
-        errorLine1="    public static void waitUntilState(final LifecycleOwner owner,"
-        errorLine2="                                            ~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/testutils/LifecycleOwnerUtils.java"
-            line="64"
-            column="45"/>
-    </issue>
-
-    <issue
-        id="UnknownNullness"
-        message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://android.github.io/kotlin-guides/interop.html#nullability-annotations"
-        errorLine1="    public static void waitUntilState(final LifecycleOwner owner,"
-        errorLine2="                                            ~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/testutils/LifecycleOwnerUtils.java"
-            line="64"
-            column="45"/>
-    </issue>
-
-    <issue
-        id="UnknownNullness"
-        message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://android.github.io/kotlin-guides/interop.html#nullability-annotations"
-        errorLine1="            final ActivityTestRule&lt;?> activityRule,"
-        errorLine2="                  ~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/testutils/LifecycleOwnerUtils.java"
-            line="65"
-            column="19"/>
-    </issue>
-
-    <issue
-        id="UnknownNullness"
-        message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://android.github.io/kotlin-guides/interop.html#nullability-annotations"
-        errorLine1="            final ActivityTestRule&lt;?> activityRule,"
-        errorLine2="                  ~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/testutils/LifecycleOwnerUtils.java"
-            line="65"
-            column="19"/>
-    </issue>
-
-    <issue
-        id="UnknownNullness"
-        message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://android.github.io/kotlin-guides/interop.html#nullability-annotations"
-        errorLine1="            final Lifecycle.State state) throws Throwable {"
-        errorLine2="                  ~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/testutils/LifecycleOwnerUtils.java"
-            line="66"
-            column="19"/>
-    </issue>
-
-    <issue
-        id="UnknownNullness"
-        message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://android.github.io/kotlin-guides/interop.html#nullability-annotations"
-        errorLine1="            final Lifecycle.State state) throws Throwable {"
-        errorLine2="                  ~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/testutils/LifecycleOwnerUtils.java"
-            line="66"
-            column="19"/>
-    </issue>
-
-    <issue
-        id="UnknownNullness"
-        message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://android.github.io/kotlin-guides/interop.html#nullability-annotations"
-        errorLine1="    public static void waitFor(final PollingCheckCondition condition) {"
-        errorLine2="                                     ~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/testutils/PollingCheck.java"
-            line="75"
-            column="38"/>
-    </issue>
-
-    <issue
-        id="UnknownNullness"
-        message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://android.github.io/kotlin-guides/interop.html#nullability-annotations"
-        errorLine1="    public static void waitFor(final PollingCheckCondition condition) {"
-        errorLine2="                                     ~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/testutils/PollingCheck.java"
-            line="75"
-            column="38"/>
-    </issue>
-
-    <issue
-        id="UnknownNullness"
-        message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://android.github.io/kotlin-guides/interop.html#nullability-annotations"
-        errorLine1="    public static void waitFor(long timeout, final PollingCheckCondition condition) {"
-        errorLine2="                                                   ~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/testutils/PollingCheck.java"
-            line="89"
-            column="52"/>
-    </issue>
-
-    <issue
-        id="UnknownNullness"
-        message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://android.github.io/kotlin-guides/interop.html#nullability-annotations"
-        errorLine1="    public static void waitFor(long timeout, final PollingCheckCondition condition) {"
-        errorLine2="                                                   ~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="src/main/java/androidx/testutils/PollingCheck.java"
-            line="89"
-            column="52"/>
-    </issue>
-
 </issues>
diff --git a/testutils/testutils-runtime/src/main/java/androidx/testutils/LifecycleOwnerUtils.java b/testutils/testutils-runtime/src/main/java/androidx/testutils/LifecycleOwnerUtils.java
index a5e524b..4acd19e 100644
--- a/testutils/testutils-runtime/src/main/java/androidx/testutils/LifecycleOwnerUtils.java
+++ b/testutils/testutils-runtime/src/main/java/androidx/testutils/LifecycleOwnerUtils.java
@@ -51,8 +51,8 @@
      * suitable time period, it asserts that the current state equals the given state.
      */
     public static <T extends Activity & LifecycleOwner> void waitUntilState(
-            final ActivityTestRule<T> activityRule,
-            final Lifecycle.State state) throws Throwable {
+            final @NonNull ActivityTestRule<T> activityRule,
+            final @NonNull Lifecycle.State state) throws Throwable {
         waitUntilState(activityRule.getActivity(), activityRule, state);
     }
 
@@ -61,9 +61,9 @@
      * {@link androidx.lifecycle.Lifecycle.State}. If the owner has not hit that state within a
      * suitable time period, it asserts that the current state equals the given state.
      */
-    public static void waitUntilState(final LifecycleOwner owner,
-            final ActivityTestRule<?> activityRule,
-            final Lifecycle.State state) throws Throwable {
+    public static void waitUntilState(final @NonNull LifecycleOwner owner,
+            final @NonNull ActivityTestRule<?> activityRule,
+            final @NonNull Lifecycle.State state) throws Throwable {
         final CountDownLatch latch = new CountDownLatch(1);
         activityRule.runOnUiThread(new Runnable() {
             @Override
diff --git a/testutils/testutils-runtime/src/main/java/androidx/testutils/PollingCheck.java b/testutils/testutils-runtime/src/main/java/androidx/testutils/PollingCheck.java
index 5e7e386..ac794b5 100644
--- a/testutils/testutils-runtime/src/main/java/androidx/testutils/PollingCheck.java
+++ b/testutils/testutils-runtime/src/main/java/androidx/testutils/PollingCheck.java
@@ -16,6 +16,8 @@
 
 package androidx.testutils;
 
+import androidx.annotation.NonNull;
+
 import org.junit.Assert;
 
 /**
@@ -72,7 +74,7 @@
      * Instantiate and start polling for a given condition with a default 3000ms timeout.
      * @param condition The condition to check for success.
      */
-    public static void waitFor(final PollingCheckCondition condition) {
+    public static void waitFor(final @NonNull PollingCheckCondition condition) {
         new PollingCheck(DEFAULT_TIMEOUT) {
             @Override
             protected boolean check() {
@@ -86,7 +88,7 @@
      * @param timeout Time out in ms
      * @param condition The condition to check for success.
      */
-    public static void waitFor(long timeout, final PollingCheckCondition condition) {
+    public static void waitFor(long timeout, final @NonNull PollingCheckCondition condition) {
         new PollingCheck(timeout) {
             @Override
             protected boolean check() {