Merge "Fix kotlin nullable errors in CredentialManager" into udc-dev-plus-aosp
diff --git a/core/java/android/credentials/ui/BaseDialogResult.java b/core/java/android/credentials/ui/BaseDialogResult.java
index f0442de..e8cf5ab 100644
--- a/core/java/android/credentials/ui/BaseDialogResult.java
+++ b/core/java/android/credentials/ui/BaseDialogResult.java
@@ -85,15 +85,15 @@
      */
     public static final int RESULT_CODE_DATA_PARSING_FAILURE = 3;
 
-    @NonNull
+    @Nullable
     private final IBinder mRequestToken;
 
-    public BaseDialogResult(@NonNull IBinder requestToken) {
+    public BaseDialogResult(@Nullable IBinder requestToken) {
         mRequestToken = requestToken;
     }
 
     /** Returns the unique identifier for the request that launched the operation. */
-    @NonNull
+    @Nullable
     public IBinder getRequestToken() {
         return mRequestToken;
     }
@@ -101,7 +101,6 @@
     protected BaseDialogResult(@NonNull Parcel in) {
         IBinder requestToken = in.readStrongBinder();
         mRequestToken = requestToken;
-        AnnotationValidations.validate(NonNull.class, null, mRequestToken);
     }
 
     @Override
diff --git a/core/java/android/credentials/ui/UserSelectionDialogResult.java b/core/java/android/credentials/ui/UserSelectionDialogResult.java
index 44b3b36..3089bf6 100644
--- a/core/java/android/credentials/ui/UserSelectionDialogResult.java
+++ b/core/java/android/credentials/ui/UserSelectionDialogResult.java
@@ -60,7 +60,7 @@
     @Nullable private ProviderPendingIntentResponse mProviderPendingIntentResponse;
 
     public UserSelectionDialogResult(
-            @NonNull IBinder requestToken, @NonNull String providerId,
+            @Nullable IBinder requestToken, @NonNull String providerId,
             @NonNull String entryKey, @NonNull String entrySubkey) {
         super(requestToken);
         mProviderId = providerId;
@@ -69,7 +69,7 @@
     }
 
     public UserSelectionDialogResult(
-            @NonNull IBinder requestToken, @NonNull String providerId,
+            @Nullable IBinder requestToken, @NonNull String providerId,
             @NonNull String entryKey, @NonNull String entrySubkey,
             @Nullable ProviderPendingIntentResponse providerPendingIntentResponse) {
         super(requestToken);
diff --git a/packages/CredentialManager/src/com/android/credentialmanager/DataConverter.kt b/packages/CredentialManager/src/com/android/credentialmanager/DataConverter.kt
index b86eec0..8361877 100644
--- a/packages/CredentialManager/src/com/android/credentialmanager/DataConverter.kt
+++ b/packages/CredentialManager/src/com/android/credentialmanager/DataConverter.kt
@@ -68,11 +68,12 @@
 ): String? {
     return try {
         val pkgInfo = pm.getPackageInfo(appPackageName, PackageManager.PackageInfoFlags.of(0))
-        pkgInfo.applicationInfo.loadSafeLabel(
+        val applicationInfo = checkNotNull(pkgInfo.applicationInfo)
+        applicationInfo.loadSafeLabel(
             pm, 0f,
             TextUtils.SAFE_STRING_FLAG_FIRST_LINE or TextUtils.SAFE_STRING_FLAG_TRIM
         ).toString()
-    } catch (e: PackageManager.NameNotFoundException) {
+    } catch (e: Exception) {
         Log.e(Constants.LOG_TAG, "Caller app not found", e)
         null
     }
@@ -93,13 +94,14 @@
                 providerFlattenedComponentName,
                 PackageManager.PackageInfoFlags.of(0)
             )
+            val applicationInfo = checkNotNull(pkgInfo.applicationInfo)
             providerLabel =
-                pkgInfo.applicationInfo.loadSafeLabel(
+                applicationInfo.loadSafeLabel(
                     pm, 0f,
                     TextUtils.SAFE_STRING_FLAG_FIRST_LINE or TextUtils.SAFE_STRING_FLAG_TRIM
                 ).toString()
-            providerIcon = pkgInfo.applicationInfo.loadIcon(pm)
-        } catch (e: PackageManager.NameNotFoundException) {
+            providerIcon = applicationInfo.loadIcon(pm)
+        } catch (e: Exception) {
             Log.e(Constants.LOG_TAG, "Provider package info not found", e)
         }
     } else {
@@ -119,13 +121,14 @@
                     component.packageName,
                     PackageManager.PackageInfoFlags.of(0)
                 )
+                val applicationInfo = checkNotNull(pkgInfo.applicationInfo)
                 providerLabel =
-                    pkgInfo.applicationInfo.loadSafeLabel(
+                    applicationInfo.loadSafeLabel(
                         pm, 0f,
                         TextUtils.SAFE_STRING_FLAG_FIRST_LINE or TextUtils.SAFE_STRING_FLAG_TRIM
                     ).toString()
-                providerIcon = pkgInfo.applicationInfo.loadIcon(pm)
-            } catch (e: PackageManager.NameNotFoundException) {
+                providerIcon = applicationInfo.loadIcon(pm)
+            } catch (e: Exception) {
                 Log.e(Constants.LOG_TAG, "Provider package info not found", e)
             }
         }