OngoingActivity.Builder

public final class OngoingActivity.Builder


Builder used to build an OngoingActivity

Note that many fields take a default value from the provided notification if not explicitly set. If set explicitly and in the notification, the value set through the Builder will be used.

The only required fields (set through the builder or the notification) are static icon and pending intent.

Summary

Public constructors

Builder(
    @NonNull Context context,
    @NonNull int notificationId,
    @NonNull NotificationCompat.Builder notificationBuilder
)

Construct a new empty Builder, associated with the given notification.

Builder(
    @NonNull Context context,
    @NonNull String tag,
    @NonNull int notificationId,
    @NonNull NotificationCompat.Builder notificationBuilder
)

Construct a new empty Builder, associated with the given notification.

Public methods

@NonNull OngoingActivity

Combine all options provided and the information in the notification if needed, return a new OngoingActivity object.

@NonNull OngoingActivity.Builder
setAnimatedIcon(@Nullable Icon animatedIcon)

Set the animated icon that can be used on some surfaces to represent this OngoingActivity.

@NonNull OngoingActivity.Builder
setAnimatedIcon(@DrawableRes @NonNull int animatedIcon)

Set the animated icon that can be used on some surfaces to represent this OngoingActivity.

@NonNull OngoingActivity.Builder

Set the category of this OngoingActivity.

@NonNull OngoingActivity.Builder

Set the corresponding LocusId of this OngoingActivity, this will be used by the launcher to identify the corresponding launcher item and display it accordingly.

@NonNull OngoingActivity.Builder
setOngoingActivityId(@NonNull int ongoingActivityId)

Give an id to this OngoingActivity, as a way to reference it in recoverOngoingActivity

@NonNull OngoingActivity.Builder
setStaticIcon(@NonNull Icon staticIcon)

Set the static icon that can be used on some surfaces to represent this OngoingActivity, for example in the WatchFace in ambient mode.

@NonNull OngoingActivity.Builder
setStaticIcon(@DrawableRes @NonNull int staticIcon)

Set the static icon that can be used on some surfaces to represent this OngoingActivity, for example in the WatchFace in ambient mode.

@NonNull OngoingActivity.Builder

Set the initial status of this ongoing activity, the status may be displayed on the UI to show progress of the Ongoing Activity.

@NonNull OngoingActivity.Builder

Sets the Title of this OngoingActivity.

@NonNull OngoingActivity.Builder

Set the intent to be used to go back to the activity when the user interacts with the Ongoing Activity in other surfaces (for example, taps the Icon on the WatchFace).

Public constructors

Builder

public Builder(
    @NonNull Context context,
    @NonNull int notificationId,
    @NonNull NotificationCompat.Builder notificationBuilder
)

Construct a new empty Builder, associated with the given notification.

Parameters
@NonNull Context context

to be used during the life of this Builder, will NOT pass a reference into the built OngoingActivity

@NonNull int notificationId

id that will be used to post the notification associated with this Ongoing Activity

@NonNull NotificationCompat.Builder notificationBuilder

builder for the notification associated with this Ongoing Activity

Builder

public Builder(
    @NonNull Context context,
    @NonNull String tag,
    @NonNull int notificationId,
    @NonNull NotificationCompat.Builder notificationBuilder
)

Construct a new empty Builder, associated with the given notification.

Parameters
@NonNull Context context

to be used during the life of this Builder, will NOT pass a reference into the built OngoingActivity

@NonNull String tag

tag that will be used to post the notification associated with this Ongoing Activity

@NonNull int notificationId

id that will be used to post the notification associated with this Ongoing Activity

@NonNull NotificationCompat.Builder notificationBuilder

builder for the notification associated with this Ongoing Activity

Public methods

build

@NonNull
public OngoingActivity build()

Combine all options provided and the information in the notification if needed, return a new OngoingActivity object. See particular setters for information on what defaults from the notification are used.

Throws
java.lang.IllegalArgumentException

if the static icon or the touch intent are not provided.

setAnimatedIcon

@NonNull
public OngoingActivity.Builder setAnimatedIcon(@Nullable Icon animatedIcon)

Set the animated icon that can be used on some surfaces to represent this OngoingActivity. For example, in the WatchFace. Should be white with a transparent background, preferably an AnimatedVectorDrawable.

If not provided, or set to null, the static icon will be used.

setAnimatedIcon

@NonNull
public OngoingActivity.Builder setAnimatedIcon(@DrawableRes @NonNull int animatedIcon)

Set the animated icon that can be used on some surfaces to represent this OngoingActivity. For example, in the WatchFace. Should be white with a transparent background, preferably an AnimatedVectorDrawable.

If not provided, the static icon will be used.

setCategory

@NonNull
public OngoingActivity.Builder setCategory(@Nullable String category)

Set the category of this OngoingActivity. It may be used by the system to prioritize displaying the OngoingActivity.

If set, it Must be one of the predefined notification categories (see the {@code CATEGORY_*} constants in NotificationCompat) that best describes this OngoingActivity.

If this is not set (or null), the notification's category is used if present.

setLocusId

@NonNull
public OngoingActivity.Builder setLocusId(@Nullable LocusIdCompat locusId)

Set the corresponding LocusId of this OngoingActivity, this will be used by the launcher to identify the corresponding launcher item and display it accordingly.

If set to null or not set, the launcher will use heuristics to do the matching.

setOngoingActivityId

@NonNull
public OngoingActivity.Builder setOngoingActivityId(@NonNull int ongoingActivityId)

Give an id to this OngoingActivity, as a way to reference it in recoverOngoingActivity

setStaticIcon

@NonNull
public OngoingActivity.Builder setStaticIcon(@NonNull Icon staticIcon)

Set the static icon that can be used on some surfaces to represent this OngoingActivity, for example in the WatchFace in ambient mode. Should be white with a transparent background, preferably a VectorDrawable.

If not set, the smallIcon of the notification will be used. If neither is set, build will throw an exception.

setStaticIcon

@NonNull
public OngoingActivity.Builder setStaticIcon(@DrawableRes @NonNull int staticIcon)

Set the static icon that can be used on some surfaces to represent this OngoingActivity, for example in the WatchFace in ambient mode. Should be white with a transparent background, preferably a VectorDrawable.

If not set, the smallIcon of the notification will be used. If neither is set, build will throw an exception.

setStatus

@NonNull
public OngoingActivity.Builder setStatus(@NonNull Status status)

Set the initial status of this ongoing activity, the status may be displayed on the UI to show progress of the Ongoing Activity.

If not provided, the contentText of the notification will be used.

setTitle

@NonNull
public OngoingActivity.Builder setTitle(@Nullable String title)

Sets the Title of this OngoingActivity. If this is set to a non-null value, it could be used by the launcher to override the app's title.

No defaults from the notification are used for this field.

setTouchIntent

@NonNull
public OngoingActivity.Builder setTouchIntent(@NonNull PendingIntent touchIntent)

Set the intent to be used to go back to the activity when the user interacts with the Ongoing Activity in other surfaces (for example, taps the Icon on the WatchFace).

If not set, the contentIntent of the notification will be used. If neither is set, build will throw an exception.