Android 12 Developer Preview is here! Try it out, and give us your feedback!

OngoingActivityStatus

open class OngoingActivityStatus : CustomVersionedParcelable, TimeDependentText
androidx.wear.ongoing.OngoingActivityStatus

Base class to serialize / deserialize OngoingActivityStatus into / from a Notification A status is composed of Parts, and they are joined together with a template. Note that for backwards compatibility reasons the code rendering this status message may not have all of the [StatusPart] classes that are available in later versions of the library. Templates that do not have values for all of the named parts will not be used. The template list will be iterated through looking for the first template with all matching named parts available, this will be selected for rendering the status. To provide for backwards compatibility, you should provide one (or more) fallback templates which use status parts from earlier versions of the API. e.g. TextStatusPart & TimerStatusPart The status and part classes here use timestamps for updating the displayed representation of the status, in cases when this is needed (chronometers), as returned by android.os.SystemClock#elapsedRealtime()

Summary

Nested classes

Helper to Build OngoingActivityStatus instances.

Public methods
open static OngoingActivityStatus
forPart(@NonNull part: StatusPart)

Convenience method for creating a Status with no template and a single Part.

open Long
getNextChangeTimeMillis(fromTimeMillis: Long)

Returns the next time this status could have a different rendering.

open StatusPart?
getPart(@NonNull name: String)

Returns the value of the part with the given name.

open MutableSet<String!>

open MutableList<CharSequence!>

open CharSequence
getText(@NonNull context: Context, timeNowMillis: Long)

Returns a textual representation of this status at the given time.

Public methods

forPart

@NonNull open static fun forPart(@NonNull part: StatusPart): OngoingActivityStatus

Convenience method for creating a Status with no template and a single Part.

Parameters
part StatusPart: The only Part that composes this status.
Return
OngoingActivityStatus A new OngoingActivityStatus with just one Part.

getNextChangeTimeMillis

open fun getNextChangeTimeMillis(fromTimeMillis: Long): Long

Returns the next time this status could have a different rendering. There is no guarantee that the rendering will change at the returned time (for example, if some information in the status is not rendered).

Parameters
fromTimeMillis Long: current time, usually now as returned by android.os.SystemClock#elapsedRealtime(). In most cases getText and getNextChangeTimeMillis should be called with the exact same timestamp, so changes are not missed.
Return
Long the next time (counting from fromTimeMillis) that this status may produce a different result when calling getText().

getPart

@Nullable open fun getPart(@NonNull name: String): StatusPart?

Returns the value of the part with the given name.

Parameters
name String: the name to lookup.
Return
StatusPart? the part with the given name, can be null.

getPartNames

@NonNull open fun getPartNames(): MutableSet<String!>
Return
MutableSet<String!> the names of the parts provide to this status.

getTemplates

@NonNull open fun getTemplates(): MutableList<CharSequence!>
Return
MutableList<CharSequence!> the list of templates that this status has.

getText

@NonNull open fun getText(
    @NonNull context: Context,
    timeNowMillis: Long
): CharSequence

Returns a textual representation of this status at the given time. The first template that has all required information will be used, and each part will be used in their respective placeholder/s.

Parameters
context Context: may be used for internationalization. Only used while this method executed.
timeNowMillis Long: the timestamp of the time we want to display, usually now, as
Return
CharSequence the rendered text, for best compatibility, display using a TextView.