mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-11-03 23:58:55 +01:00 
			
		
		
		
	Adjust Wi-Fi connection check (related to #6038)
This commit is contained in:
		@@ -29,6 +29,7 @@ import kotlinx.coroutines.flow.launchIn
 | 
			
		||||
import kotlinx.coroutines.flow.onEach
 | 
			
		||||
import ru.beryukhov.reactivenetwork.ReactiveNetwork
 | 
			
		||||
import rx.subscriptions.CompositeSubscription
 | 
			
		||||
import timber.log.Timber
 | 
			
		||||
import uy.kohesive.injekt.injectLazy
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
@@ -140,8 +141,9 @@ class DownloadService : Service() {
 | 
			
		||||
                    onNetworkStateChanged()
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            .catch {
 | 
			
		||||
            .catch { error ->
 | 
			
		||||
                withUIContext {
 | 
			
		||||
                    Timber.e(error)
 | 
			
		||||
                    toast(R.string.download_queue_error)
 | 
			
		||||
                    stopSelf()
 | 
			
		||||
                }
 | 
			
		||||
 
 | 
			
		||||
@@ -17,7 +17,6 @@ import android.graphics.Color
 | 
			
		||||
import android.net.ConnectivityManager
 | 
			
		||||
import android.net.NetworkCapabilities
 | 
			
		||||
import android.net.Uri
 | 
			
		||||
import android.net.wifi.WifiInfo
 | 
			
		||||
import android.net.wifi.WifiManager
 | 
			
		||||
import android.os.Build
 | 
			
		||||
import android.os.PowerManager
 | 
			
		||||
@@ -381,21 +380,21 @@ fun Context.isOnline(): Boolean {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Returns true if device is connected to wifi.
 | 
			
		||||
 * Returns true if device is connected to Wifi.
 | 
			
		||||
 */
 | 
			
		||||
fun Context.isConnectedToWifi(): Boolean {
 | 
			
		||||
    if (!wifiManager.isWifiEnabled) return false
 | 
			
		||||
 | 
			
		||||
    val wifiInfo: WifiInfo = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
 | 
			
		||||
    return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
 | 
			
		||||
        val activeNetwork = connectivityManager.activeNetwork ?: return false
 | 
			
		||||
        val networkCapabilities = connectivityManager.getNetworkCapabilities(activeNetwork) ?: return false
 | 
			
		||||
        networkCapabilities.transportInfo as WifiInfo
 | 
			
		||||
 | 
			
		||||
        networkCapabilities.hasTransport(NetworkCapabilities.TRANSPORT_WIFI) &&
 | 
			
		||||
            networkCapabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
 | 
			
		||||
    } else {
 | 
			
		||||
        @Suppress("DEPRECATION")
 | 
			
		||||
        wifiManager.connectionInfo
 | 
			
		||||
        wifiManager.connectionInfo.bssid != null
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return wifiInfo.bssid != null
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user