From ea5ecf09526cb0c8a7a533f46e479bb36201aa62 Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Fri, 4 Aug 2023 21:55:57 -0700 Subject: Fix kotlin nullable errors in IntentResolver Fix kotlin nullable errors that were exposed by setting the retention of android.annotation.NonNull and android.annotation.Nullable to class retention. Bug: 294110802 Test: builds (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:097c2696279e059b10fefbf9a1039a26fe72b0a3) Merged-In: I906bc882f4b29bf5daba6d4cd2f9523d5eadc048 Change-Id: I906bc882f4b29bf5daba6d4cd2f9523d5eadc048 --- .../com/android/intentresolver/AnnotatedUserHandlesTest.kt | 4 ++-- .../android/intentresolver/ChooserRefinementManagerTest.kt | 14 +++++++------- .../intentresolver/chooser/ImmutableTargetInfoTest.kt | 12 +++++++----- .../com/android/intentresolver/chooser/TargetInfoTest.kt | 2 +- 4 files changed, 17 insertions(+), 15 deletions(-) diff --git a/java/tests/src/com/android/intentresolver/AnnotatedUserHandlesTest.kt b/java/tests/src/com/android/intentresolver/AnnotatedUserHandlesTest.kt index a17a560c..cd2fbc7a 100644 --- a/java/tests/src/com/android/intentresolver/AnnotatedUserHandlesTest.kt +++ b/java/tests/src/com/android/intentresolver/AnnotatedUserHandlesTest.kt @@ -37,8 +37,8 @@ class AnnotatedUserHandlesTest { assertThat(info.userIdOfCallingApp).isEqualTo(42) assertThat(info.userHandleSharesheetLaunchedAs.identifier).isEqualTo(116) assertThat(info.personalProfileUserHandle.identifier).isEqualTo(117) - assertThat(info.workProfileUserHandle.identifier).isEqualTo(118) - assertThat(info.cloneProfileUserHandle.identifier).isEqualTo(119) + assertThat(info.workProfileUserHandle?.identifier).isEqualTo(118) + assertThat(info.cloneProfileUserHandle?.identifier).isEqualTo(119) } @Test diff --git a/java/tests/src/com/android/intentresolver/ChooserRefinementManagerTest.kt b/java/tests/src/com/android/intentresolver/ChooserRefinementManagerTest.kt index bd355c86..61ac0c21 100644 --- a/java/tests/src/com/android/intentresolver/ChooserRefinementManagerTest.kt +++ b/java/tests/src/com/android/intentresolver/ChooserRefinementManagerTest.kt @@ -90,7 +90,7 @@ class ChooserRefinementManagerTest { exampleTargetInfo, intentSender, application, - FakeHandler(Looper.myLooper()) + FakeHandler(checkNotNull(Looper.myLooper())) ) ) .isTrue() @@ -126,7 +126,7 @@ class ChooserRefinementManagerTest { exampleTargetInfo, intentSender, application, - FakeHandler(Looper.myLooper()) + FakeHandler(checkNotNull(Looper.myLooper())) ) ) .isTrue() @@ -153,7 +153,7 @@ class ChooserRefinementManagerTest { ImmutableTargetInfo.newBuilder().build(), intentSender, application, - FakeHandler(Looper.myLooper()) + FakeHandler(checkNotNull(Looper.myLooper())) ) ) .isFalse() @@ -172,7 +172,7 @@ class ChooserRefinementManagerTest { targetInfo, intentSender, application, - FakeHandler(Looper.myLooper()) + FakeHandler(checkNotNull(Looper.myLooper())) ) ) .isFalse() @@ -185,7 +185,7 @@ class ChooserRefinementManagerTest { exampleTargetInfo, /* IntentSender */ null, application, - FakeHandler(Looper.myLooper()) + FakeHandler(checkNotNull(Looper.myLooper())) ) ) .isFalse() @@ -198,7 +198,7 @@ class ChooserRefinementManagerTest { exampleTargetInfo, intentSender, application, - FakeHandler(Looper.myLooper()) + FakeHandler(checkNotNull(Looper.myLooper())) ) ) .isTrue() @@ -216,7 +216,7 @@ class ChooserRefinementManagerTest { exampleTargetInfo, intentSender, application, - FakeHandler(Looper.myLooper()!!) + FakeHandler(checkNotNull(Looper.myLooper())!!) ) ) .isTrue() diff --git a/java/tests/src/com/android/intentresolver/chooser/ImmutableTargetInfoTest.kt b/java/tests/src/com/android/intentresolver/chooser/ImmutableTargetInfoTest.kt index 504cfd97..f3ca76a9 100644 --- a/java/tests/src/com/android/intentresolver/chooser/ImmutableTargetInfoTest.kt +++ b/java/tests/src/com/android/intentresolver/chooser/ImmutableTargetInfoTest.kt @@ -220,7 +220,7 @@ class ImmutableTargetInfoTest { val originalInfo = ImmutableTargetInfo.newBuilder() .setResolvedIntent(originalIntent) .build() - val info = originalInfo.tryToCloneWithAppliedRefinement(refinementIntent) + val info = checkNotNull(originalInfo.tryToCloneWithAppliedRefinement(refinementIntent)) assertThat(info?.baseIntentToSend?.getBooleanExtra("ORIGINAL", false)).isTrue() assertThat(info?.baseIntentToSend?.getBooleanExtra("REFINEMENT", false)).isTrue() @@ -243,7 +243,8 @@ class ImmutableTargetInfoTest { val refinementIntent = Intent("REFINE_ME") refinementIntent.setPackage("original") // Has to match for refinement. - val info = infoWithReferrerFillIn.tryToCloneWithAppliedRefinement(refinementIntent) + val info = + checkNotNull(infoWithReferrerFillIn.tryToCloneWithAppliedRefinement(refinementIntent)) assertThat(info?.baseIntentToSend?.getPackage()).isEqualTo("original") // Set all along. assertThat(info?.baseIntentToSend?.action).isEqualTo("REFINE_ME") // Refinement wins. @@ -265,8 +266,9 @@ class ImmutableTargetInfoTest { .setReferrerFillInIntent(referrerFillInIntent) .build() - val refined1 = originalInfo.tryToCloneWithAppliedRefinement(refinementIntent1) - val refined2 = refined1?.tryToCloneWithAppliedRefinement(refinementIntent2) // Cloned clone. + val refined1 = checkNotNull(originalInfo.tryToCloneWithAppliedRefinement(refinementIntent1)) + // Cloned clone. + val refined2 = checkNotNull(refined1.tryToCloneWithAppliedRefinement(refinementIntent2)) // Both clones get the same values filled in from the referrer intent. assertThat(refined1?.baseIntentToSend?.getStringExtra("TEST")).isEqualTo("REFERRER") @@ -300,7 +302,7 @@ class ImmutableTargetInfoTest { val refinement = Intent("REFINE_ME") // First match is `targetAlternate` refinement.putExtra("refinement", true) - val refinedResult = originalInfo.tryToCloneWithAppliedRefinement(refinement) + val refinedResult = checkNotNull(originalInfo.tryToCloneWithAppliedRefinement(refinement)) assertThat(refinedResult?.baseIntentToSend?.getBooleanExtra("refinement", false)).isTrue() assertThat(refinedResult?.baseIntentToSend?.getBooleanExtra("targetAlternate", false)) .isTrue() diff --git a/java/tests/src/com/android/intentresolver/chooser/TargetInfoTest.kt b/java/tests/src/com/android/intentresolver/chooser/TargetInfoTest.kt index f9d3dd96..78e0c3ee 100644 --- a/java/tests/src/com/android/intentresolver/chooser/TargetInfoTest.kt +++ b/java/tests/src/com/android/intentresolver/chooser/TargetInfoTest.kt @@ -232,7 +232,7 @@ class TargetInfoTest { val refinement = Intent("REFINE_ME") // First match is `targetAlternate` refinement.putExtra("refinement", true) - val refinedResult = originalInfo.tryToCloneWithAppliedRefinement(refinement) + val refinedResult = checkNotNull(originalInfo.tryToCloneWithAppliedRefinement(refinement)) // Note `DisplayResolveInfo` targets merge refinements directly into their `resolvedIntent`. assertThat(refinedResult?.resolvedIntent?.getBooleanExtra("refinement", false)).isTrue() assertThat(refinedResult?.resolvedIntent?.getBooleanExtra("targetAlternate", false)) -- cgit v1.2.3-59-g8ed1b