ConnectivityHelper

Centralized network connectivity helper for Android.

This utility provides synchronous checks and reactive flows for monitoring internet availability and transport types (Wifi, Cellular, etc.).

Requires permission: ACCESS_NETWORK_STATE

Example usage:

val connectivityHelper = ConnectivityHelper(context)

// Synchronous check
if (connectivityHelper.isOnline()) {
refreshContent()
}

// Reactive observation
viewModelScope.launch {
connectivityHelper.statusFlow.collect { status ->
when (status) {
is NetworkStatus.Available -> showOnlineMode()
is NetworkStatus.Unavailable -> showOfflineBanner()
is NetworkStatus.Losing -> Unit
}
}
}

Constructors

Link copied to clipboard
constructor(context: Context)

Properties

Link copied to clipboard
@get:RequiresPermission(value = "android.permission.ACCESS_NETWORK_STATE")
val statusFlow: Flow<NetworkStatus>

A Flow that emits NetworkStatus whenever the network connectivity changes. It emits the current status immediately upon subscription.

Functions

Link copied to clipboard
@RequiresPermission(value = "android.permission.ACCESS_NETWORK_STATE")
fun currentTransport(): NetworkTransport?

Transport actif, ou null si hors ligne.

Link copied to clipboard
@RequiresPermission(value = "android.permission.ACCESS_NETWORK_STATE")
fun isOnline(): Boolean

true si une connexion réseau validée est disponible.