@Document.BuilderProducer
public final class Alarm.Builder


Builder for Alarm.

Summary

Public constructors

Constructor with all the existing values.

Builder(@NonNull String namespace, @NonNull String id)

Constructor for Alarm.Builder.

Public methods

@NonNull T

Adds an alias for the item.

@NonNull T

Add a new action to the list of potential actions for this document.

@NonNull Alarm

Builds the Alarm.

@NonNull Thing

Builds a Thing object.

@NonNull T

Clears the aliases, if any, for the item.

@NonNull T

Clear all the potential actions for this document.

@NonNull T

Sets a list of aliases for the item.

@NonNull T
setBlackoutPeriodEndDate(@Nullable String blackoutPeriodEndDate)

Sets the end time for the blackout period in ISO 8601 format.

@NonNull T
setBlackoutPeriodStartDate(@Nullable String blackoutPeriodStartDate)

Sets the start date for the blackout period in ISO 8601 format.

@NonNull T
setCreationTimestampMillis(long creationTimestampMillis)

Sets the creation timestamp for the current AppSearch entity, in milliseconds using the currentTimeMillis time base.

@NonNull T
setDaysOfWeek(
    @Nullable @IntRange(from = Calendar.SUNDAY, to = Calendar.SATURDAY) int[] daysOfWeek
)

Sets the scheduled days for repeating.

@NonNull T

Sets the description for the item.

@NonNull T
setDocumentScore(int documentScore)

Sets the user-provided opaque document score of the current AppSearch document, which can be used for ranking using RANKING_STRATEGY_DOCUMENT_SCORE.

@NonNull T
setDocumentTtlMillis(long documentTtlMillis)

Sets the time-to-live (TTL) for the current AppSearch document as a duration in milliseconds.

@NonNull T
setEnabled(boolean enabled)

Sets whether or not the Alarm is active.

@NonNull T
setHour(@IntRange(from = 0, to = 23) int hour)

Sets the hour the Alarm will fire.

@NonNull T

Sets the URL for an image of the item.

@NonNull T
setMinute(@IntRange(from = 0, to = 59) int minute)

Sets the minute the Alarm will fire.

@NonNull T

Sets the name of the item.

@NonNull T

Sets the next AlarmInstance.

@NonNull T
setOriginatingDevice(int originatingDevice)

Sets the OriginatingDevice this alarm belongs to.

@NonNull T

Sets a list of potential actions for this document.

@NonNull T

Sets the previous AlarmInstance.

@NonNull T

Sets the content URI for the ringtone to be played, or VALUE_RINGTONE_SILENT if no ringtone will be played.

@NonNull T
setShouldVibrate(boolean shouldVibrate)

Sets whether or not to activate the device vibrator when the Alarm fires.

@NonNull T

Sets the deeplink URL of the item.

Protected fields

mAlternateNames

protected List<StringmAlternateNames

mBlackoutPeriodEndDate

protected String mBlackoutPeriodEndDate

mBlackoutPeriodStartDate

protected String mBlackoutPeriodStartDate

mCreationTimestampMillis

protected long mCreationTimestampMillis

mDaysOfWeek

protected int[] mDaysOfWeek

mDescription

protected String mDescription

mDocumentScore

protected int mDocumentScore

mDocumentTtlMillis

protected long mDocumentTtlMillis

mEnabled

protected boolean mEnabled

mHour

protected int mHour

mId

protected final String mId

mImage

protected String mImage

mMinute

protected int mMinute

mName

protected String mName

mNamespace

protected final String mNamespace

mNextInstance

protected AlarmInstance mNextInstance

mOriginatingDevice

protected int mOriginatingDevice

mPotentialActions

protected List<PotentialActionmPotentialActions

mPreviousInstance

protected AlarmInstance mPreviousInstance

mRingtone

protected String mRingtone

mShouldVibrate

protected boolean mShouldVibrate

mUrl

protected String mUrl

Public constructors

Builder

Added in 1.1.0-alpha06
public Builder(@NonNull Alarm alarm)

Constructor with all the existing values.

Builder

Added in 1.1.0-alpha06
public Builder(@NonNull String namespace, @NonNull String id)

Constructor for Alarm.Builder.

Parameters
@NonNull String namespace

Namespace for the Document. See Document.Namespace.

@NonNull String id

Unique identifier for the Document. See Document.Id.

Public methods

addAlternateName

Added in 1.1.0-alpha06
public @NonNulladdAlternateName(@NonNull String alternateName)

Adds an alias for the item.

addPotentialAction

Added in 1.1.0-alpha06
public @NonNulladdPotentialAction(@NonNull PotentialAction newPotentialAction)

Add a new action to the list of potential actions for this document.

build

Added in 1.1.0-alpha06
public @NonNull Alarm build()

Builds the Alarm.

build

Added in 1.1.0-alpha06
public @NonNull Thing build()

Builds a Thing object.

clearAlternateNames

Added in 1.1.0-alpha06
public @NonNullclearAlternateNames()

Clears the aliases, if any, for the item.

clearPotentialActions

Added in 1.1.0-alpha06
public @NonNullclearPotentialActions()

Clear all the potential actions for this document.

setAlternateNames

Added in 1.1.0-alpha06
public @NonNullsetAlternateNames(@Nullable List<String> alternateNames)

Sets a list of aliases for the item.

setBlackoutPeriodEndDate

Added in 1.1.0-alpha06
public @NonNullsetBlackoutPeriodEndDate(@Nullable String blackoutPeriodEndDate)

Sets the end time for the blackout period in ISO 8601 format. E.g.: 2022-01-14

A blackout period means the Alarm will not fire during this period.

If not set, then it indicates that the blackout period has no end time.

If neither blackoutPeriodStartDate and blackoutPeriodEndDate are set, then the blackout period is not defined.

setBlackoutPeriodStartDate

Added in 1.1.0-alpha06
public @NonNullsetBlackoutPeriodStartDate(@Nullable String blackoutPeriodStartDate)

Sets the start date for the blackout period in ISO 8601 format. E.g.: 2022-01-14

A blackout period means the Alarm will not fire during this period.

If not set, then it indicates that the blackout period has no start time.

If neither blackoutPeriodStartDate and blackoutPeriodEndDate are set, then the blackout period is not defined.

setCreationTimestampMillis

Added in 1.1.0-alpha06
public @NonNullsetCreationTimestampMillis(long creationTimestampMillis)

Sets the creation timestamp for the current AppSearch entity, in milliseconds using the currentTimeMillis time base.

This timestamp refers to the creation time of the AppSearch entity, not when the document is written into AppSearch.

If not set, then the current timestamp will be used.

See androidx.appsearch.annotation.Document.CreationTimestampMillis for more information on creation timestamp.

setDaysOfWeek

public @NonNullsetDaysOfWeek(
    @Nullable @IntRange(from = Calendar.SUNDAY, to = Calendar.SATURDAY) int[] daysOfWeek
)

Sets the scheduled days for repeating.

Days of the week can be MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, or SUNDAY.

If not set, or if the list is empty, then the Alarm does not repeat.

setDescription

Added in 1.1.0-alpha06
public @NonNullsetDescription(@Nullable String description)

Sets the description for the item.

setDocumentScore

Added in 1.1.0-alpha06
public @NonNullsetDocumentScore(int documentScore)

Sets the user-provided opaque document score of the current AppSearch document, which can be used for ranking using RANKING_STRATEGY_DOCUMENT_SCORE.

See androidx.appsearch.annotation.Document.Score for more information on score.

setDocumentTtlMillis

Added in 1.1.0-alpha06
public @NonNullsetDocumentTtlMillis(long documentTtlMillis)

Sets the time-to-live (TTL) for the current AppSearch document as a duration in milliseconds.

The document will be automatically deleted when the TTL expires.

If not set, then the document will never expire.

See androidx.appsearch.annotation.Document.TtlMillis for more information on TTL.

setEnabled

Added in 1.1.0-alpha06
public @NonNullsetEnabled(boolean enabled)

Sets whether or not the Alarm is active.

setHour

Added in 1.1.0-alpha06
public @NonNullsetHour(@IntRange(from = 0, to = 23) int hour)

Sets the hour the Alarm will fire.

Hours are specified by integers from 0 to 23.

setImage

Added in 1.1.0-alpha06
public @NonNullsetImage(@Nullable String image)

Sets the URL for an image of the item.

setMinute

Added in 1.1.0-alpha06
public @NonNullsetMinute(@IntRange(from = 0, to = 59) int minute)

Sets the minute the Alarm will fire.

Minutes are specified by integers from 0 to 59.

setName

Added in 1.1.0-alpha06
public @NonNullsetName(@Nullable String name)

Sets the name of the item.

setNextInstance

Added in 1.1.0-alpha06
public @NonNullsetNextInstance(@Nullable AlarmInstance nextInstance)

Sets the next AlarmInstance.

The next AlarmInstance is the immediate future instance that is scheduled to fire. If not set, then there are no future instances.

See AlarmInstance.

setOriginatingDevice

Added in 1.1.0-alpha06
public @NonNullsetOriginatingDevice(int originatingDevice)

Sets the OriginatingDevice this alarm belongs to.

setPotentialActions

Added in 1.1.0-alpha06
public @NonNullsetPotentialActions(@Nullable List<PotentialAction> newPotentialActions)

Sets a list of potential actions for this document.

setPreviousInstance

Added in 1.1.0-alpha06
public @NonNullsetPreviousInstance(@Nullable AlarmInstance previousInstance)

Sets the previous AlarmInstance.

The previous AlarmInstance is most recent past instance that was fired. If not set, then there are no past instances.

See AlarmInstance.

setRingtone

Added in 1.1.0-alpha06
public @NonNullsetRingtone(@Nullable String ringtone)

Sets the content URI for the ringtone to be played, or VALUE_RINGTONE_SILENT if no ringtone will be played.

setShouldVibrate

Added in 1.1.0-alpha06
public @NonNullsetShouldVibrate(boolean shouldVibrate)

Sets whether or not to activate the device vibrator when the Alarm fires.

setUrl

Added in 1.1.0-alpha06
public @NonNullsetUrl(@Nullable String url)

Sets the deeplink URL of the item.

If this item can be displayed by any system UI surface, or can be read by another Android package, through one of the androidx.appsearch.app.SetSchemaRequest.Builder methods, this url should act as a deeplink into the activity that can open it. Callers should be able to construct an ACTION_VIEW intent with the url as the setData to view the item inside your application.

See Allowing Other Apps to Start Your Activity for more details on how to make activities in your app open for use by other apps by defining intent filters.