Package-level declarations

Types

Link copied to clipboard

How long the external notification output stays driven, in milliseconds, which is the unit ModuleConfig.ExternalNotificationConfig.output_ms is read in. FixedUpdateIntervals cannot serve this field: its values are seconds, and writing one here sets a pulse a thousand times shorter than the label promises.

Link copied to clipboard

Defines a set of fixed time intervals in seconds, commonly used for configuration settings.

Link copied to clipboard

Represents a specific configuration context that determines a subset of allowed update intervals. This is used to filter the available FixedUpdateIntervals for a particular setting.

Link copied to clipboard
Link copied to clipboard
sealed class UpdateInterval

Represents an update interval, which can be either a predefined fixed value or a custom manual value in seconds. This is a type-safe representation for settings that involve time durations.

Properties

Link copied to clipboard
Link copied to clipboard
val FieldMetadata.intRange: IntRange?

The inclusive range a proto field declares for presentation, or null when the schema leaves either bound open. Fractional bounds round inward, so the integer range never admits a value the schema excludes.

Link copied to clipboard
val FieldMetadata.unitLabelRes: StringResource?

The translated name of the unit a proto field declares, or null where the app has no name for that symbol. The schema's symbol is never rendered directly: a symbol with no entry here shows no unit rather than raw schema text.

Functions

Link copied to clipboard
fun fieldTitle(label: StringResource, metadata: FieldMetadata): String

A control's title, with the schema's unit appended when the control shows a bare number. An interval picker names its own unit in every item ("30 seconds", "2 hours"), so those pass no metadata and keep the label alone.