mirror of
https://codeberg.org/timelimit/timelimit-android.git
synced 2025-10-03 17:59:51 +02:00
Improve detecting connection
This commit is contained in:
parent
408cc78290
commit
674420f8c9
1 changed files with 11 additions and 7 deletions
|
@ -21,10 +21,12 @@ import android.content.Intent
|
||||||
import android.content.IntentFilter
|
import android.content.IntentFilter
|
||||||
import android.net.ConnectivityManager
|
import android.net.ConnectivityManager
|
||||||
import android.net.NetworkInfo
|
import android.net.NetworkInfo
|
||||||
|
import android.util.Log
|
||||||
import androidx.core.net.ConnectivityManagerCompat
|
import androidx.core.net.ConnectivityManagerCompat
|
||||||
import androidx.lifecycle.LiveData
|
import androidx.lifecycle.LiveData
|
||||||
import androidx.lifecycle.MutableLiveData
|
import androidx.lifecycle.MutableLiveData
|
||||||
import io.timelimit.android.BuildConfig
|
import io.timelimit.android.BuildConfig
|
||||||
|
import io.timelimit.android.async.Threads
|
||||||
|
|
||||||
object NetworkStatusUtil {
|
object NetworkStatusUtil {
|
||||||
fun getSystemNetworkStatusLive(context: Context): LiveData<NetworkStatus> {
|
fun getSystemNetworkStatusLive(context: Context): LiveData<NetworkStatus> {
|
||||||
|
@ -36,7 +38,8 @@ object NetworkStatusUtil {
|
||||||
if (BuildConfig.hasServer) {
|
if (BuildConfig.hasServer) {
|
||||||
context.applicationContext.registerReceiver(object : BroadcastReceiver() {
|
context.applicationContext.registerReceiver(object : BroadcastReceiver() {
|
||||||
override fun onReceive(context: Context?, intent: Intent) {
|
override fun onReceive(context: Context?, intent: Intent) {
|
||||||
val networkInfo = ConnectivityManagerCompat.getNetworkInfoFromBroadcast(connectivityManager, intent)
|
Threads.mainThreadHandler.post {
|
||||||
|
val networkInfo = connectivityManager.activeNetworkInfo
|
||||||
|
|
||||||
if (networkInfo == null) {
|
if (networkInfo == null) {
|
||||||
status.value = NetworkStatus.Offline
|
status.value = NetworkStatus.Offline
|
||||||
|
@ -46,6 +49,7 @@ object NetworkStatusUtil {
|
||||||
status.value = NetworkStatus.Offline
|
status.value = NetworkStatus.Offline
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}, IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION))
|
}, IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue