The Android Developer Challenge is back! Submit your idea before December 2.

Builder

class Builder
kotlin.Any
   ↳ androidx.core.app.NotificationCompat.BubbleMetadata.Builder

Builder to construct a BubbleMetadata object.

Summary

Public constructors

Constructs a new builder object.

Public methods

NotificationCompat.BubbleMetadata

Creates the BubbleMetadata defined by this builder.

NotificationCompat.BubbleMetadata.Builder

If set and the app creating the bubble is in the foreground, the bubble will be posted in its expanded state, with the contents of getIntent() in a floating window.

NotificationCompat.BubbleMetadata.Builder
setDeleteIntent(@Nullable deleteIntent: PendingIntent?)

Sets an optional intent to send when this bubble is explicitly removed by the user.

NotificationCompat.BubbleMetadata.Builder
setDesiredHeight(@Dimension(0) height: Int)

Sets the desired height in DPs for the app content defined by setIntent(PendingIntent), this height may not be respected if there is not enough space on the screen or if the provided height is too small to be useful.

NotificationCompat.BubbleMetadata.Builder
setDesiredHeightResId(@DimenRes heightResId: Int)

Sets the desired height via resId for the app content defined by setIntent(PendingIntent), this height may not be respected if there is not enough space on the screen or if the provided height is too small to be useful.

NotificationCompat.BubbleMetadata.Builder
setIcon(@NonNull icon: IconCompat)

Sets the icon that will represent the bubble when it is collapsed.

NotificationCompat.BubbleMetadata.Builder
setIntent(@NonNull intent: PendingIntent)

Sets the intent that will be used when the bubble is expanded.

NotificationCompat.BubbleMetadata.Builder
setSuppressNotification(shouldSuppressNotif: Boolean)

If set and the app posting the bubble is in the foreground, the bubble will be posted without the associated notification in the notification shade.

Public constructors

<init>

Builder()

Constructs a new builder object.

Public methods

build

@NonNull fun build(): NotificationCompat.BubbleMetadata

Creates the BubbleMetadata defined by this builder.

Will throw IllegalStateException if required fields have not been set on this builder.

setAutoExpandBubble

@NonNull fun setAutoExpandBubble(shouldExpand: Boolean): NotificationCompat.BubbleMetadata.Builder

If set and the app creating the bubble is in the foreground, the bubble will be posted in its expanded state, with the contents of getIntent() in a floating window.

If the app creating the bubble is not in the foreground this flag has no effect.

Generally this flag should only be set if the user has performed an action to request or create a bubble.

setDeleteIntent

@NonNull fun setDeleteIntent(@Nullable deleteIntent: PendingIntent?): NotificationCompat.BubbleMetadata.Builder

Sets an optional intent to send when this bubble is explicitly removed by the user.

setDesiredHeight

@NonNull fun setDesiredHeight(@Dimension(0) height: Int): NotificationCompat.BubbleMetadata.Builder

Sets the desired height in DPs for the app content defined by setIntent(PendingIntent), this height may not be respected if there is not enough space on the screen or if the provided height is too small to be useful.

If setDesiredHeightResId(int) was previously called on this builder, the previous value set will be cleared after calling this method, and this value will be used instead.

setDesiredHeightResId

@NonNull fun setDesiredHeightResId(@DimenRes heightResId: Int): NotificationCompat.BubbleMetadata.Builder

Sets the desired height via resId for the app content defined by setIntent(PendingIntent), this height may not be respected if there is not enough space on the screen or if the provided height is too small to be useful.

If setDesiredHeight(int) was previously called on this builder, the previous value set will be cleared after calling this method, and this value will be used instead.

setIcon

@NonNull fun setIcon(@NonNull icon: IconCompat): NotificationCompat.BubbleMetadata.Builder

Sets the icon that will represent the bubble when it is collapsed.

An icon is required and should be representative of the content within the bubble. If your app produces multiple bubbles, the image should be unique for each of them.

The shape of a bubble icon is adaptive and can match the device theme. If your icon is bitmap-based, you should create it using IconCompat#createWithAdaptiveBitmap(Bitmap), otherwise this method will throw. If your icon is not bitmap-based, you should expect that the icon will be tinted.

setIntent

@NonNull fun setIntent(@NonNull intent: PendingIntent): NotificationCompat.BubbleMetadata.Builder

Sets the intent that will be used when the bubble is expanded. This will display the app content in a floating window over the existing foreground activity.

setSuppressNotification

@NonNull fun setSuppressNotification(shouldSuppressNotif: Boolean): NotificationCompat.BubbleMetadata.Builder

If set and the app posting the bubble is in the foreground, the bubble will be posted without the associated notification in the notification shade.

If the app posting the bubble is not in the foreground this flag has no effect.

Generally this flag should only be set if the user has performed an action to request or create a bubble, or if the user has seen the content in the notification and the notification is no longer relevant.