CreateEntry
@RequiresApi(value = 23)
public final class CreateEntry
An entry to be shown on the selector during a create flow initiated when an app calls CredentialManager.createCredential
A CreateEntry points to a location such as an account, or a group where the credential can be registered. When user selects this entry, the corresponding PendingIntent is fired, and the credential creation can be completed.
| Throws | |
|---|---|
kotlin.IllegalArgumentException |
If |
Summary
Nested types |
|---|
public final class CreateEntry.BuilderA builder for |
Public constructors |
|---|
CreateEntry( |
@RequiresApi(value = 35) |
Public methods |
|
|---|---|
static final CreateEntry |
fromCreateEntry(@NonNull CreateEntry createEntry)Converts a framework |
final @NonNull CharSequence |
the name of the account where the credential will be saved |
final BiometricPromptData |
the data that is set optionally to utilize a credential manager flow that directly handles the biometric verification and presents back the response; set to null by default, so if not opted in, the embedded biometric prompt flow will not show |
final CharSequence |
the localized description shown on UI about where the credential is stored |
final Icon |
getIcon()the icon to be displayed with this entry on the UI, must be created using |
final Instant |
the last time the account underlying this entry was used by the user, distinguishable up to the milli second mark only such that if two entries have the same millisecond precision, they will be considered to have been used at the same time |
final Integer |
Returns the no. of password type credentials that the provider with this entry has. |
final @NonNull PendingIntent |
the |
final Integer |
Returns the no. of public key type credentials that the provider with this entry has. |
final Integer |
Returns the no. of total credentials that the provider with this entry has. |
final boolean |
whether this entry should be auto selected if it is the only entry on the selector |
Public constructors
CreateEntry
public CreateEntry(
@NonNull CharSequence accountName,
@NonNull PendingIntent pendingIntent,
CharSequence description,
Instant lastUsedTime,
Icon icon,
Integer passwordCredentialCount,
Integer publicKeyCredentialCount,
Integer totalCredentialCount,
boolean isAutoSelectAllowed
)
| Parameters | |
|---|---|
@NonNull CharSequence accountName |
the name of the account where the credential will be saved |
@NonNull PendingIntent pendingIntent |
the |
CharSequence description |
the localized description shown on UI about where the credential is stored |
Instant lastUsedTime |
the last time the account underlying this entry was used by the user, distinguishable up to the milli second mark only such that if two entries have the same millisecond precision, they will be considered to have been used at the same time |
Icon icon |
the icon to be displayed with this entry on the UI, must be created using |
Integer passwordCredentialCount |
the no. of password credentials contained by the provider |
Integer publicKeyCredentialCount |
the no. of public key credentials contained by the provider |
Integer totalCredentialCount |
the total no. of credentials contained by the provider |
boolean isAutoSelectAllowed |
whether this entry should be auto selected if it is the only entry on the selector |
| Throws | |
|---|---|
kotlin.IllegalArgumentException |
If |
kotlin.NullPointerException |
If |
CreateEntry
@RequiresApi(value = 35)
public CreateEntry(
@NonNull CharSequence accountName,
@NonNull PendingIntent pendingIntent,
CharSequence description,
Instant lastUsedTime,
Icon icon,
Integer passwordCredentialCount,
Integer publicKeyCredentialCount,
Integer totalCredentialCount,
boolean isAutoSelectAllowed,
BiometricPromptData biometricPromptData
)
| Parameters | |
|---|---|
@NonNull CharSequence accountName |
the name of the account where the credential will be saved |
@NonNull PendingIntent pendingIntent |
the |
CharSequence description |
the localized description shown on UI about where the credential is stored |
Instant lastUsedTime |
the last time the account underlying this entry was used by the user, distinguishable up to the milli second mark only such that if two entries have the same millisecond precision, they will be considered to have been used at the same time |
Icon icon |
the icon to be displayed with this entry on the UI, must be created using |
Integer passwordCredentialCount |
the no. of password credentials contained by the provider |
Integer publicKeyCredentialCount |
the no. of public key credentials contained by the provider |
Integer totalCredentialCount |
the total no. of credentials contained by the provider |
boolean isAutoSelectAllowed |
whether this entry should be auto selected if it is the only entry on the selector |
BiometricPromptData biometricPromptData |
the data that is set optionally to utilize a credential manager flow that directly handles the biometric verification and presents back the response; set to null by default, so if not opted in, the embedded biometric prompt flow will not show |
| Throws | |
|---|---|
kotlin.IllegalArgumentException |
If |
kotlin.NullPointerException |
If |
Public methods
fromCreateEntry
public static final CreateEntry fromCreateEntry(@NonNull CreateEntry createEntry)
Converts a framework android.service.credentials.CreateEntry class to a Jetpack CreateEntry class
Note that this API is not needed in a general credential creation flow that is implemented using this jetpack library, where you are only required to construct an instance of CreateEntry to populate the BeginCreateCredentialResponse.
| Parameters | |
|---|---|
@NonNull CreateEntry createEntry |
the instance of framework class to be converted |
getAccountName
public final @NonNull CharSequence getAccountName()
the name of the account where the credential will be saved
getBiometricPromptData
public final BiometricPromptData getBiometricPromptData()
the data that is set optionally to utilize a credential manager flow that directly handles the biometric verification and presents back the response; set to null by default, so if not opted in, the embedded biometric prompt flow will not show
getDescription
public final CharSequence getDescription()
the localized description shown on UI about where the credential is stored
getIcon
public final Icon getIcon()
the icon to be displayed with this entry on the UI, must be created using Icon.createWithResource when possible, and especially not with Icon.createWithBitmap as the latter consumes more memory and may cause undefined behavior due to memory implications on internal transactions
getLastUsedTime
public final Instant getLastUsedTime()
the last time the account underlying this entry was used by the user, distinguishable up to the milli second mark only such that if two entries have the same millisecond precision, they will be considered to have been used at the same time
getPasswordCredentialCount
public final Integer getPasswordCredentialCount()
Returns the no. of password type credentials that the provider with this entry has.
getPendingIntent
public final @NonNull PendingIntent getPendingIntent()
the PendingIntent that will get invoked when the user selects this entry, must be created with a unique request code per entry, with flag PendingIntent.FLAG_MUTABLE to allow the Android system to attach the final request, and NOT with flag PendingIntent.FLAG_ONE_SHOT as it can be invoked multiple times
getPublicKeyCredentialCount
public final Integer getPublicKeyCredentialCount()
Returns the no. of public key type credentials that the provider with this entry has.
getTotalCredentialCount
public final Integer getTotalCredentialCount()
Returns the no. of total credentials that the provider with this entry has.
This total count is not necessarily equal to the sum of getPasswordCredentialCount and getPublicKeyCredentialCount.
isAutoSelectAllowed
public final boolean isAutoSelectAllowed()
whether this entry should be auto selected if it is the only entry on the selector