summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Colin Cross <ccross@android.com> 2023-08-22 15:42:43 -0700
committer Xin Li <delphij@google.com> 2024-03-13 17:23:56 -0700
commit911af11459f152caaed9235c1f6a394003e4a3f0 (patch)
tree8d75a361f22700a4b13bd09d4c18ff27fedb6097
parent5bba209cf2183f44c82075d6a12c25742eb94de6 (diff)
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 (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:ea28a7bfcbc297d71c2660632f7352fa9ec8423f) Merged-In: I9d45c775f6687a30e6e85e9ec3d9fc1944a2dd83 Change-Id: I9d45c775f6687a30e6e85e9ec3d9fc1944a2dd83
-rw-r--r--core/java/android/credentials/ui/BaseDialogResult.java7
-rw-r--r--core/java/android/credentials/ui/UserSelectionDialogResult.java4
-rw-r--r--packages/CredentialManager/src/com/android/credentialmanager/DataConverter.kt19
3 files changed, 16 insertions, 14 deletions
diff --git a/core/java/android/credentials/ui/BaseDialogResult.java b/core/java/android/credentials/ui/BaseDialogResult.java
index f0442de74e9e..e8cf5abd5239 100644
--- a/core/java/android/credentials/ui/BaseDialogResult.java
+++ b/core/java/android/credentials/ui/BaseDialogResult.java
@@ -85,15 +85,15 @@ public class BaseDialogResult implements Parcelable {
*/
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 @@ public class BaseDialogResult implements Parcelable {
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 44b3b36844c2..3089bf674b95 100644
--- a/core/java/android/credentials/ui/UserSelectionDialogResult.java
+++ b/core/java/android/credentials/ui/UserSelectionDialogResult.java
@@ -60,7 +60,7 @@ public final class UserSelectionDialogResult extends BaseDialogResult implements
@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 final class UserSelectionDialogResult extends BaseDialogResult implements
}
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 b86eec04d542..8361877744cf 100644
--- a/packages/CredentialManager/src/com/android/credentialmanager/DataConverter.kt
+++ b/packages/CredentialManager/src/com/android/credentialmanager/DataConverter.kt
@@ -68,11 +68,12 @@ fun getAppLabel(
): 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 @@ private fun getServiceLabelAndIcon(
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 @@ private fun getServiceLabelAndIcon(
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)
}
}