Add read WIFI state support

This commit is contained in:
世界
2023-11-18 14:40:56 +08:00
parent fdb8288331
commit eb3bdfa415
5 changed files with 41 additions and 2 deletions

View File

@@ -9,6 +9,7 @@ import io.nekohasekai.libbox.NetworkInterfaceIterator
import io.nekohasekai.libbox.PlatformInterface
import io.nekohasekai.libbox.StringIterator
import io.nekohasekai.libbox.TunOptions
import io.nekohasekai.libbox.WIFIState
import io.nekohasekai.sfa.Application
import java.net.Inet6Address
import java.net.InetSocketAddress
@@ -101,6 +102,15 @@ interface PlatformInterfaceWrapper : PlatformInterface {
override fun clearDNSCache() {
}
override fun readWIFIState(): WIFIState? {
val wifiInfo = Application.wifiManager.connectionInfo ?: return null
var ssid = wifiInfo.ssid
if (ssid.startsWith("\"") && ssid.endsWith("\"")) {
ssid = ssid.substring(1, ssid.length - 1)
}
return WIFIState(ssid, wifiInfo.bssid)
}
private class InterfaceArray(private val iterator: Enumeration<NetworkInterface>) :
NetworkInterfaceIterator {