WalletCard.Builder


public static final class WalletCard.Builder
extends Object

java.lang.Object
   ↳ android.service.quickaccesswallet.WalletCard.Builder


Builder for WalletCard objects. You must provide cardId, cardImage, contentDescription, and pendingIntent. If the card is opaque and should be shown with elevation, set hasShadow to true. cardIcon and cardLabel are optional.

Summary

Public constructors

Builder(String cardId, int cardType, Icon cardImage, CharSequence contentDescription, PendingIntent pendingIntent)
Builder(String cardId, Icon cardImage, CharSequence contentDescription, PendingIntent pendingIntent)

Called when a card type is not provided, in which case it defaults to CARD_TYPE_UNKNOWN.

Public methods

WalletCard build()

Builds a new WalletCard instance.

WalletCard.Builder setCardIcon(Icon cardIcon)

An icon may be shown alongside the card image to convey information about how the card can be used, or if some other action must be taken before using the card.

WalletCard.Builder setCardLabel(CharSequence cardLabel)

A card label may be shown alongside the card image to convey information about how the card can be used, or if some other action must be taken before using the card.

WalletCard.Builder setCardLocations(List<Location> cardLocations)

Set of locations this card might be useful at.

WalletCard.Builder setNonPaymentCardSecondaryImage(Icon nonPaymentCardSecondaryImage)

Visual representation of the card when it is tapped.

Inherited methods

Public constructors

Builder

Added in API level 34
public Builder (String cardId, 
                int cardType, 
                Icon cardImage, 
                CharSequence contentDescription, 
                PendingIntent pendingIntent)

Parameters
cardId String: The card id must be non-null and unique within the list of cards returned. Note: this card ID should not contain PII (Personally Identifiable Information, such as username or email address).

cardType int: Integer representing the card type. The card type must be non-null. Value is WalletCard.CARD_TYPE_UNKNOWN, WalletCard.CARD_TYPE_PAYMENT, or WalletCard.CARD_TYPE_NON_PAYMENT

cardImage Icon: The visual representation of the card. If the card image Icon is a bitmap, it should have a width of GetWalletCardsRequest.getCardWidthPx() and a height of GetWalletCardsRequest.getCardHeightPx(). If the card image does not have these dimensions, it may appear distorted when it is scaled to fit these dimensions on screen. Bitmaps must be of type Bitmap.Config.HARDWARE for performance reasons. This value cannot be null.

contentDescription CharSequence: The content description of the card image. This field is required and may not be null or empty. Note: this message should not contain PII (Personally Identifiable Information, such as username or email address).

pendingIntent PendingIntent: If the user performs a click on the card, this PendingIntent will be sent. If the device is locked, the wallet will first request device unlock before sending the pending intent. It is recommended that the pending intent be immutable (use PendingIntent.FLAG_IMMUTABLE). This value cannot be null.

Builder

Added in API level 30
public Builder (String cardId, 
                Icon cardImage, 
                CharSequence contentDescription, 
                PendingIntent pendingIntent)

Called when a card type is not provided, in which case it defaults to CARD_TYPE_UNKNOWN. Calls Builder#Builder(String, int, Icon, CharSequence, PendingIntent)

Parameters
cardId String: This value cannot be null.

cardImage Icon: This value cannot be null.

contentDescription CharSequence: This value cannot be null.

pendingIntent PendingIntent: This value cannot be null.

Public methods

build

Added in API level 30
public WalletCard build ()

Builds a new WalletCard instance.

Returns
WalletCard A built response. This value cannot be null.

setCardIcon

Added in API level 30
public WalletCard.Builder setCardIcon (Icon cardIcon)

An icon may be shown alongside the card image to convey information about how the card can be used, or if some other action must be taken before using the card. For example, an NFC logo could indicate that the card is NFC-enabled and will be provided to an NFC terminal if the phone is held in close proximity to the NFC reader. This field is optional.

If the supplied Icon is backed by a bitmap, it should have width and height GetWalletCardsRequest#getIconSizePx().

Parameters
cardIcon Icon: This value may be null.

Returns
WalletCard.Builder This value cannot be null.

setCardLabel

Added in API level 30
public WalletCard.Builder setCardLabel (CharSequence cardLabel)

A card label may be shown alongside the card image to convey information about how the card can be used, or if some other action must be taken before using the card. For example, an NFC-enabled card could be labeled "Hold near reader" to inform the user of how to use NFC cards when interacting with an NFC reader. This field is optional. Note: this card label should not contain PII (Personally Identifiable Information, such as username or email address). If the provided label is too long to fit on one line, it may be truncated and ellipsized.

Parameters
cardLabel CharSequence: This value may be null.

Returns
WalletCard.Builder This value cannot be null.

setCardLocations

Added in API level 34
public WalletCard.Builder setCardLocations (List<Location> cardLocations)

Set of locations this card might be useful at. If PackageManager.FEATURE_WALLET_LOCATION_BASED_SUGGESTIONS is enabled, the card might be shown to the user when a user is near one of these locations.

Parameters
cardLocations List: This value cannot be null.

Returns
WalletCard.Builder This value cannot be null.

setNonPaymentCardSecondaryImage

Added in API level 34
public WalletCard.Builder setNonPaymentCardSecondaryImage (Icon nonPaymentCardSecondaryImage)

Visual representation of the card when it is tapped. May include additional information unique to the card, such as a barcode or number. Only valid for CARD_TYPE_NON_PAYMENT.

Parameters
nonPaymentCardSecondaryImage Icon: This value may be null.

Returns
WalletCard.Builder This value cannot be null.