Skip to content

Instantly share code, notes, and snippets.

View IMoHaMeDHaMdYI's full-sized avatar
💻

Mohamed Hamdy IMoHaMeDHaMdYI

💻
  • N26
View GitHub Profile
@IMoHaMeDHaMdYI
IMoHaMeDHaMdYI / debounce.kt
Created April 13, 2020 09:43 — forked from mirmilad/debounce.kt
Simple debounce extension for LiveData by using Coroutines
import androidx.lifecycle.LiveData
import androidx.lifecycle.MediatorLiveData
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Job
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
fun <T> LiveData<T>.debounce(duration: Long = 1000L, coroutineScope: CoroutineScope) = MediatorLiveData<T>().also { mld ->
val source = this