Skip to content

Instantly share code, notes, and snippets.

View gradlevv's full-sized avatar
😀

Javad Sadati gradlevv

😀
View GitHub Profile
@gradlevv
gradlevv / NetworkConnectionListener.kt
Last active September 20, 2022 06:58
Lifecycle-aware Internet Network Detector
package com.your.package
import android.content.Context
import androidx.lifecycle.MutableLiveData
class NetworkConnectionListener constructor(context: Context) :
MutableLiveData<NetworkState>() {
private val connectionMonitor = NetworkDetector.getInstance(context.applicationContext)
@gradlevv
gradlevv / LegacyVPNDetector.kt
Last active April 26, 2023 14:42
Lifecycle-aware VPN detector
@Suppress("Deprecation")
private class LegacyVPNDetector(
private val context: Context,
connectivityManager: ConnectivityManager
) : VPNDetector(connectivityManager) {
private val filter = IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION)
private val isVPNConnected: Boolean
get() = checkVPNConnectivity()