Fix kotlin nullable errors in CredentialManager
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
Change-Id: I9d45c775f6687a30e6e85e9ec3d9fc1944a2dd83
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)
}
}