Notification.BubbleMetadata


public static final class Notification.BubbleMetadata
extends Object implements Parcelable

java.lang.Object
   ↳ android.app.Notification.BubbleMetadata


Encapsulates the information needed to display a notification as a bubble.

A bubble is used to display app content in a floating window over the existing foreground activity. A bubble has a collapsed state represented by an icon and an expanded state that displays an activity. These may be defined via Builder#Builder(PendingIntent, Icon) or they may be defined via an existing shortcut using Builder#Builder(String).

Notifications with a valid and allowed bubble will display in collapsed state outside of the notification shade on unlocked devices. When a user interacts with the collapsed bubble, the bubble activity will be invoked and displayed.

Summary

Nested classes

class Notification.BubbleMetadata.Builder

Builder to construct a BubbleMetadata object. 

Inherited constants

Fields

public static final Creator<Notification.BubbleMetadata> CREATOR

Public methods

int describeContents()

Describe the kinds of special objects contained in this Parcelable instance's marshaled representation.

boolean getAutoExpandBubble()
PendingIntent getDeleteIntent()
int getDesiredHeight()
int getDesiredHeightResId()
Icon getIcon()
PendingIntent getIntent()
String getShortcutId()
boolean isBubbleSuppressable()

Indicates whether the bubble should be visually suppressed from the bubble stack if the user is viewing the same content outside of the bubble.

boolean isBubbleSuppressed()

Indicates whether the bubble is currently visually suppressed from the bubble stack.

boolean isNotificationSuppressed()

Indicates whether the notification associated with the bubble is being visually suppressed from the notification shade.

void writeToParcel(Parcel out, int flags)

Flatten this object in to a Parcel.

Inherited methods

Fields

CREATOR

Added in API level 29
public static final Creator<Notification.BubbleMetadata> CREATOR

Public methods

describeContents

Added in API level 29
public int describeContents ()

Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. For example, if the object will include a file descriptor in the output of writeToParcel(android.os.Parcel, int), the return value of this method must include the CONTENTS_FILE_DESCRIPTOR bit.

Returns
int a bitmask indicating the set of special object types marshaled by this Parcelable object instance. Value is either 0 or CONTENTS_FILE_DESCRIPTOR

getAutoExpandBubble

Added in API level 29
public boolean getAutoExpandBubble ()

Returns
boolean whether this bubble should auto expand when it is posted.

getDeleteIntent

Added in API level 29
public PendingIntent getDeleteIntent ()

Returns
PendingIntent the pending intent to send when the bubble is dismissed by a user, if one exists. This value may be null.

getDesiredHeight

Added in API level 29
public int getDesiredHeight ()

Returns
int the ideal height, in DPs, for the floating window that app content defined by getIntent() for this bubble. A value of 0 indicates a desired height has not been set.

getDesiredHeightResId

Added in API level 29
public int getDesiredHeightResId ()

Returns
int the resId of ideal height for the floating window that app content defined by getIntent() for this bubble. A value of 0 indicates a res value has not been provided for the desired height.

getIcon

Added in API level 29
public Icon getIcon ()

Returns
Icon the icon that will be displayed for this bubble when it is collapsed, or null if the bubble is created via Builder#Builder(String).

getIntent

Added in API level 29
public PendingIntent getIntent ()

Returns
PendingIntent the pending intent used to populate the floating window for this bubble, or null if this bubble is created via Builder#Builder(String).

getShortcutId

Added in API level 30
public String getShortcutId ()

Returns
String the shortcut id used for this bubble if created via Builder#Builder(String) or null if created via Builder#Builder(PendingIntent, Icon).

isBubbleSuppressable

Added in API level 31
public boolean isBubbleSuppressable ()

Indicates whether the bubble should be visually suppressed from the bubble stack if the user is viewing the same content outside of the bubble. For example, the user has a bubble with Alice and then opens up the main app and navigates to Alice's page. To match the activity and the bubble notification, the bubble notification should have a locus id set that matches a locus id set on the activity.

Returns
boolean whether this bubble should be suppressed when the same content is visible outside of the bubble.

isBubbleSuppressed

Added in API level 31
public boolean isBubbleSuppressed ()

Indicates whether the bubble is currently visually suppressed from the bubble stack.

Returns
boolean

isNotificationSuppressed

Added in API level 29
public boolean isNotificationSuppressed ()

Indicates whether the notification associated with the bubble is being visually suppressed from the notification shade. When true the notification is hidden, when false the notification shows as normal.

Apps sending bubbles may set this flag so that the bubble is posted without the associated notification in the notification shade.

Generally the app should only set this flag 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.

The system will update this flag with true to hide the notification from the user once the bubble has been expanded.

Returns
boolean whether this bubble should suppress the notification when it is posted.

writeToParcel

Added in API level 29
public void writeToParcel (Parcel out, 
                int flags)

Flatten this object in to a Parcel.

Parameters
out Parcel: The Parcel in which the object should be written. This value cannot be null.

flags int: Additional flags about how the object should be written. May be 0 or Parcelable.PARCELABLE_WRITE_RETURN_VALUE. Value is either 0 or a combination of Parcelable.PARCELABLE_WRITE_RETURN_VALUE, and android.os.Parcelable.PARCELABLE_ELIDE_DUPLICATES