Improve detecting connection

This commit is contained in:
Jonas Lochmann 2019-10-14 15:14:10 +02:00
parent 408cc78290
commit 674420f8c9
No known key found for this signature in database
GPG key ID: 8B8C9AEE10FA5B36

View file

@ -21,10 +21,12 @@ import android.content.Intent
import android.content.IntentFilter
import android.net.ConnectivityManager
import android.net.NetworkInfo
import android.util.Log
import androidx.core.net.ConnectivityManagerCompat
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import io.timelimit.android.BuildConfig
import io.timelimit.android.async.Threads
object NetworkStatusUtil {
fun getSystemNetworkStatusLive(context: Context): LiveData<NetworkStatus> {
@ -36,7 +38,8 @@ object NetworkStatusUtil {
if (BuildConfig.hasServer) {
context.applicationContext.registerReceiver(object : BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent) {
val networkInfo = ConnectivityManagerCompat.getNetworkInfoFromBroadcast(connectivityManager, intent)
Threads.mainThreadHandler.post {
val networkInfo = connectivityManager.activeNetworkInfo
if (networkInfo == null) {
status.value = NetworkStatus.Offline
@ -46,6 +49,7 @@ object NetworkStatusUtil {
status.value = NetworkStatus.Offline
}
}
}
}, IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION))
}