Skip to content

Instantly share code, notes, and snippets.

@Audhil
Last active February 4, 2018 09:34
Show Gist options
  • Save Audhil/a6edd9dc64c62bad8b60282025f2aeca to your computer and use it in GitHub Desktop.
Save Audhil/a6edd9dc64c62bad8b60282025f2aeca to your computer and use it in GitHub Desktop.
Util to Check Internet connectivity, and BroadCast Listener to dynamically keep track inside app
fun Context.isNetworkConnected(): Boolean {
val connectivityManager = getSystemService(Context.CONNECTIVITY_SERVICE) as? ConnectivityManager
return connectivityManager?.getNetworkInfo(ConnectivityManager.TYPE_WIFI)?.isConnected!! ||
connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE)?.isConnected!!
}
// internet listener
private var internetListener = object : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) {
if ([email protected]() && isInternetUnAvailable) {
showVLog("internet available")
isInternetUnAvailable = false
} else {
if ([email protected]()) {
showVLog("internet gone")
isInternetUnAvailable = true
}
}
}
}
// bool
var isInternetUnAvailable = false
override fun onResume() {
super.onResume()
registerReceiver(internetListener, IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION))
}
override fun onPause() {
super.onPause()
unregisterReceiver(internetListener)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment