Skip to content

Instantly share code, notes, and snippets.

View sowakillian's full-sized avatar

Sowa Killian sowakillian

View GitHub Profile
@sowakillian
sowakillian / NetworkManager.kt
Last active July 28, 2021 13:12
Monitor network in realtime with StateFlow and ConnectivityManager on Android
class NetworkManager() {
val context = YourApplication.appContext
private lateinit var networkCallback: ConnectivityManager.NetworkCallback
private val connectivityManager = context.getSystemService(CONNECTIVITY_SERVICE) as ConnectivityManager
private val _isNetworkAvailable = MutableStateFlow(false)
val isNetworkAvailable: StateFlow<Boolean> = _isNetworkAvailable.asStateFlow()
init {
networkCallback = createNetworkCallback()