Skip to content

Instantly share code, notes, and snippets.

View AndroidKiran's full-sized avatar
💭
Cooking Tv app

Ravikiran AndroidKiran

💭
Cooking Tv app
View GitHub Profile
@AndroidKiran
AndroidKiran / RequestFlowManager.kt
Last active November 11, 2024 19:33
Kotlin implementation of a RequestFlowManager using Flows and Coroutines. Includes functions for refresh, retry, and reset, along with extension functions to convert request events into Flows and StateFlows.
import com.applogics.scrabble.core.common.utils.RequestFlowManager.RequestState
import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.FlowPreview
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.SharingStarted
import kotlinx.coroutines.flow.debounce
import kotlinx.coroutines.flow.distinctUntilChanged
@AndroidKiran
AndroidKiran / NetworkLiveData.kt
Created March 31, 2018 17:46
NetworkLiveData
class NetworkLiveData constructor(private val context: Context?) : LiveData<Boolean>() {
private lateinit var networkConnectionBroadcastReceiver: NetworkConnectionBroadcastReceiver
override fun onActive() {
registerReceiver()
}
override fun onInactive() {
unRegisterReceiver()
import android.annotation.SuppressLint
import android.arch.lifecycle.LiveData
import android.content.Context
import android.location.Location
import android.os.Looper
import com.google.android.gms.location.*
import swapp.items.com.swappify.firebase.utils.Result
class CurrentLocationLiveData private constructor(context: Context) : LiveData<Result<Location>>() {