Skip to content

Commit e372c76

Browse files
committed
fix: NetworkAdapter now updates isWifiConnected correctly
1 parent dc797cd commit e372c76

1 file changed

Lines changed: 15 additions & 0 deletions

File tree

system/src/main/java/io/github/sds100/keymapper/system/network/AndroidNetworkAdapter.kt

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import android.content.IntentFilter
99
import android.net.ConnectivityManager
1010
import android.net.Network
1111
import android.net.NetworkCapabilities
12+
import android.net.NetworkInfo
1213
import android.net.NetworkRequest
1314
import android.net.wifi.WifiInfo
1415
import android.net.wifi.WifiManager
@@ -18,6 +19,7 @@ import android.telephony.SubscriptionManager
1819
import android.telephony.TelephonyManager
1920
import androidx.annotation.RequiresApi
2021
import androidx.core.content.ContextCompat
22+
import androidx.core.content.IntentCompat
2123
import androidx.core.content.getSystemService
2224
import dagger.hilt.android.qualifiers.ApplicationContext
2325
import io.github.sds100.keymapper.common.utils.Constants
@@ -56,6 +58,7 @@ class AndroidNetworkAdapter @Inject constructor(
5658
private val httpClient: OkHttpClient by lazy { OkHttpClient() }
5759

5860
private val broadcastReceiver = object : BroadcastReceiver() {
61+
@Suppress("DEPRECATION")
5962
override fun onReceive(context: Context?, intent: Intent?) {
6063
intent?.action ?: return
6164

@@ -64,10 +67,22 @@ class AndroidNetworkAdapter @Inject constructor(
6467
val state = intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE, -1)
6568

6669
isWifiEnabled.update { state == WifiManager.WIFI_STATE_ENABLED }
70+
71+
if (state != WifiManager.WIFI_STATE_ENABLED) {
72+
isWifiConnected.value = false
73+
connectedWifiSSIDFlow.value = null
74+
}
6775
}
6876

6977
WifiManager.NETWORK_STATE_CHANGED_ACTION -> {
78+
val networkInfo = IntentCompat.getParcelableExtra(
79+
intent,
80+
WifiManager.EXTRA_NETWORK_INFO,
81+
NetworkInfo::class.java,
82+
) ?: return
83+
7084
connectedWifiSSIDFlow.update { getWifiSSID() }
85+
isWifiConnected.update { networkInfo.isConnected }
7186
}
7287
}
7388
}

0 commit comments

Comments
 (0)