Fix WIFI state permission

This commit is contained in:
世界
2024-02-02 17:53:54 +08:00
parent f6b3fd9907
commit 3224f56f89
8 changed files with 50 additions and 18 deletions

View File

@@ -4,6 +4,7 @@ import android.net.Network
import android.os.Build
import io.nekohasekai.libbox.InterfaceUpdateListener
import io.nekohasekai.sfa.Application
import java.net.NetworkInterface
object DefaultNetworkMonitor {
@@ -35,8 +36,22 @@ object DefaultNetworkMonitor {
newNetwork: Network?
) {
val listener = listener ?: return
val link = Application.connectivity.getLinkProperties(newNetwork ?: return) ?: return
listener.updateDefaultInterface(link.interfaceName, -1)
if (newNetwork != null) {
val interfaceName =
(Application.connectivity.getLinkProperties(newNetwork) ?: return).interfaceName
for (times in 0 until 10) {
var interfaceIndex: Int
try {
interfaceIndex = NetworkInterface.getByName(interfaceName).index
} catch (e: Exception) {
Thread.sleep(100)
continue
}
listener.updateDefaultInterface(interfaceName, interfaceIndex)
}
} else {
listener.updateDefaultInterface("", -1)
}
}