Package-level declarations
Types
Link copied to clipboard
Boundary used to decide that an E Ink refresh is complete.
Link copied to clipboard
object RefreshModeController
Process-wide controller for nesting-safe transient refresh modes.
Link copied to clipboard
data class RefreshModeReceipt(val mode: TransientUpdateMode, val scope: RefreshModeScope, val nestingDepth: Int)
Describes an acquired transient refresh-mode lease.
Link copied to clipboard
Ownership boundary of a transient refresh mode.
Link copied to clipboard
Nesting-safe ownership token for the process-global firmware transient mode.
Link copied to clipboard
data class RefreshReceipt(val evidence: RefreshCompletionEvidence, val elapsedNanos: Long, val warnings: Set<RefreshWarning> = emptySet())
Result of waiting for an E Ink refresh.
Link copied to clipboard
Recoverable limitation encountered while waiting for a refresh.
Link copied to clipboard
Firmware transient update mode owned by a scoped token.
Functions
Link copied to clipboard
suspend fun awaitEpdIdle(timeout: Duration = 2.seconds, fallbackDelay: Duration = 500.milliseconds): Result<RefreshReceipt>
Waits until the firmware reports that the current E Ink update is complete.
Link copied to clipboard
suspend fun View.refreshAndAwait(mode: EpdUpdateMode, scope: RefreshScope = RefreshScope.FullView, timeout: Duration = 2.seconds): Result<RefreshReceipt>
Dispatches an E Ink refresh for this view and waits for its completion boundary.
Link copied to clipboard
suspend fun <T> withRefreshMode(mode: TransientUpdateMode = TransientUpdateMode.ANIMATION_QUALITY, block: suspend () -> T): Result<T>