Package-level declarations

Types

Link copied to clipboard
class CSBackgroundOnceFunc(parent: CSHasDestruct? = null, @WorkerThread function: () -> Unit, val after: Int = 0) : CSModel, CSFunc
Link copied to clipboard
class CSDebouncer(parent: CSHasRegistrations, scope: CoroutineScope, dispatcher: CoroutineContext = Main, action: suspend () -> Unit, after: Duration = 1.milliseconds) : CSFunc

A debouncer class to delay action execution until a period of inactivity.

Link copied to clipboard
class CSLaterOnceFunc(parent: CSHasRegistrations, dispatcher: CoroutineDispatcher = Main, val function: suspend () -> Unit, after: Duration = Duration.ZERO) : CSFunc
Link copied to clipboard
class CSThrottler<T>(parent: CSHasRegistrations, dispatcher: CoroutineContext = Main, action: suspend (T) -> Unit, after: Duration = ZERO) : Function1<T, Unit>

A thread-safe, coroutine-based Throttler.

Link copied to clipboard

Functions

Link copied to clipboard
inline fun ScheduledExecutorService.background(delay: Duration? = null, @WorkerThread crossinline function: () -> Unit): CSRegistration
Link copied to clipboard
inline fun ScheduledExecutorService.backgroundEach(period: Duration, delay: Duration = period, @WorkerThread crossinline function: () -> Unit): CSRegistration
Link copied to clipboard
inline fun ScheduledExecutorService.backgroundEachNano(period: Long, delay: Long = period, @WorkerThread crossinline function: () -> Unit): CSRegistration
Link copied to clipboard
inline fun ScheduledExecutorService.backgroundNano(delay: Long, @WorkerThread crossinline function: () -> Unit): CSRegistration
Link copied to clipboard
inline fun Handler.later(crossinline function: Fun): CSRegistration
inline fun CSHasDestruct.later(@MainThread crossinline function: () -> Unit)
inline fun Handler.later(after: Int, crossinline function: Fun): CSRegistration
inline fun Handler.later(after: Duration, crossinline function: Fun): CSRegistration
inline fun CSHasRegistrations.later(after: Int, crossinline function: () -> Unit): CSRegistration
inline fun CSHasRegistrations.later(after: Duration, crossinline function: () -> Unit): CSRegistration
Link copied to clipboard
inline fun Handler.laterEach(after: Int, period: Int = after, crossinline function: Fun): CSRegistration
inline fun Handler.laterEach(after: Duration, period: Duration = after, crossinline function: Fun): CSRegistration
inline fun Handler.laterEach(after: Duration, period: Duration = after, start: Boolean = true, crossinline function: Fun): CSRegistration

inline fun Handler.laterEach(after: Int, period: Int = after, start: Boolean = true, crossinline function: Fun): CSRegistration

LeakCanary was reporting false positives for leaks because removeCallbacks looks like doesn't remove runnable immediately

Link copied to clipboard
fun CoroutineContext.launch(name: String? = null, func: suspend (JobRegistration) -> Unit): JobRegistration
fun CSHasRegistrations.launch(dispatcher: CoroutineContext = Main, func: suspend (JobRegistration) -> Unit): JobRegistration
fun CoroutineContext.launch(name: String? = null, after: Duration, func: suspend (JobRegistration) -> Unit): JobRegistration
fun CoroutineContext.launch(scope: CoroutineScope, name: String? = null, func: suspend (JobRegistration) -> Unit): JobRegistration
fun CSHasRegistrations.launch(key: String, dispatcher: CoroutineContext = Main, func: suspend (JobRegistration) -> Unit): JobRegistration
fun CSHasRegistrations.launch(scope: CoroutineScope, context: CoroutineContext = Main, func: suspend (JobRegistration) -> Unit): JobRegistration
Link copied to clipboard
fun CSHasRegistrations.launchIfNot(key: String, dispatcher: CoroutineContext = Main, func: suspend (CSRegistration) -> Unit): CSRegistration?
Link copied to clipboard
fun CSHasRegistrations.launchRepeat(delay: Int, start: Boolean = true, dispatcher: CoroutineContext = Main, function: suspend () -> Unit): CSRegistration
fun CSHasRegistrations.launchRepeat(after: Int, delay: Int, start: Boolean = true, dispatcher: CoroutineContext = Main, function: suspend () -> Unit): CSRegistration
fun CSHasRegistrations.launchRepeat(dispatcher: CoroutineContext, delay: Int, after: Int = delay, start: Boolean = true, function: suspend () -> Unit): CSRegistration
fun CSHasRegistrations.launchRepeat(dispatcher: CoroutineContext = Main, delay: Duration = ZERO, after: Duration = delay, start: Boolean = true, function: suspend () -> Unit): CSRegistration
Link copied to clipboard
inline fun CSHasDestruct.onMain(@MainThread crossinline function: () -> Unit)
Link copied to clipboard
fun CoroutineScope.start(func: suspend (JobRegistration) -> Unit): JobRegistration