Builder


class Builder
kotlin.Any
   ↳ android.app.usage.UsageEventsQuery.Builder

Builder for UsageEventsQuery.

Summary

Public constructors
Builder(beginTimeMillis: Long, endTimeMillis: Long)

Constructor that specifies the period for which to return events.

Public methods
UsageEventsQuery

Builds a read-only UsageEventsQuery object.

UsageEventsQuery.Builder
setEventTypes(vararg eventTypes: Int)

Sets the list of usage event types to be included in the query.

UsageEventsQuery.Builder
setPackageNames(vararg pkgNames: String!)

Sets the list of package names to be included in the query.

Public constructors

Builder

Builder(
    beginTimeMillis: Long,
    endTimeMillis: Long)

Constructor that specifies the period for which to return events.

Parameters
beginTimeMillis Long: Inclusive beginning timestamp, as per java.lang.System#currentTimeMillis() Value is a non-negative timestamp measured as the number of milliseconds since 1970-01-01T00:00:00Z.
endTimeMillis Long: Exclusive ending timestamp, as per java.lang.System#currentTimeMillis() Value is a non-negative timestamp measured as the number of milliseconds since 1970-01-01T00:00:00Z.
Exceptions
java.lang.IllegalArgumentException if beginTimeMillis < endTimeMillis

Public methods

build

fun build(): UsageEventsQuery

Builds a read-only UsageEventsQuery object.

Return
UsageEventsQuery This value cannot be null.

setEventTypes

fun setEventTypes(vararg eventTypes: Int): UsageEventsQuery.Builder

Sets the list of usage event types to be included in the query.

Note:

An empty array will be returned by UsageEventsQuery#getEventTypes() without calling this method, which indicates querying for all event types. Apps are encouraged to provide a list of event types. Only the matching types supplied will be used to query.
Parameters
eventTypes Int: the array of the usage event types. See UsageEvents.Event. This value cannot be null. Value is android.app.usage.UsageEvents.Event#NONE, android.app.usage.UsageEvents.Event#ACTIVITY_RESUMED, android.app.usage.UsageEvents.Event#ACTIVITY_PAUSED, android.app.usage.UsageEvents.Event.END_OF_DAY, android.app.usage.UsageEvents.Event.CONTINUE_PREVIOUS_DAY, android.app.usage.UsageEvents.Event#CONFIGURATION_CHANGE, android.app.usage.UsageEvents.Event.SYSTEM_INTERACTION, android.app.usage.UsageEvents.Event#USER_INTERACTION, android.app.usage.UsageEvents.Event#SHORTCUT_INVOCATION, android.app.usage.UsageEvents.Event.CHOOSER_ACTION, android.app.usage.UsageEvents.Event.NOTIFICATION_SEEN, android.app.usage.UsageEvents.Event#STANDBY_BUCKET_CHANGED, android.app.usage.UsageEvents.Event.NOTIFICATION_INTERRUPTION, android.app.usage.UsageEvents.Event.SLICE_PINNED_PRIV, android.app.usage.UsageEvents.Event.SLICE_PINNED, android.app.usage.UsageEvents.Event#SCREEN_INTERACTIVE, android.app.usage.UsageEvents.Event#SCREEN_NON_INTERACTIVE, android.app.usage.UsageEvents.Event#KEYGUARD_SHOWN, android.app.usage.UsageEvents.Event#KEYGUARD_HIDDEN, android.app.usage.UsageEvents.Event#FOREGROUND_SERVICE_START, android.app.usage.UsageEvents.Event#FOREGROUND_SERVICE_STOP, android.app.usage.UsageEvents.Event.CONTINUING_FOREGROUND_SERVICE, android.app.usage.UsageEvents.Event.ROLLOVER_FOREGROUND_SERVICE, android.app.usage.UsageEvents.Event#ACTIVITY_STOPPED, android.app.usage.UsageEvents.Event.ACTIVITY_DESTROYED, android.app.usage.UsageEvents.Event.FLUSH_TO_DISK, android.app.usage.UsageEvents.Event#DEVICE_SHUTDOWN, android.app.usage.UsageEvents.Event#DEVICE_STARTUP, android.app.usage.UsageEvents.Event.USER_UNLOCKED, android.app.usage.UsageEvents.Event.USER_STOPPED, android.app.usage.UsageEvents.Event.LOCUS_ID_SET, or android.app.usage.UsageEvents.Event.APP_COMPONENT_USED
Return
UsageEventsQuery.Builder This value cannot be null.
Exceptions
java.lang.NullPointerException if eventTypes is null or empty.
java.lang.IllegalArgumentException if any of event types are invalid.

setPackageNames

fun setPackageNames(vararg pkgNames: String!): UsageEventsQuery.Builder

Sets the list of package names to be included in the query.

Note:

An empty Set will be returned by UsageEventsQuery#getPackageNames() without calling this method, which indicates querying usage events for all packages. Apps are encouraged to provide a list of package names. Only the matching names supplied will be used to query.
Parameters
pkgNames String!: the array of the package names, each package name should be a non-empty string, null or empty string("") is omitted.
Return
UsageEventsQuery.Builder This value cannot be null.
Exceptions
java.lang.NullPointerException if pkgNames is null or empty.