Fix checkDefaultInterfaceUpdate

This commit is contained in:
世界
2026-04-19 22:39:11 +08:00
parent dfe64c11d2
commit ea63fb0f8b

View File

@@ -43,17 +43,20 @@ object DefaultNetworkMonitor {
private fun checkDefaultInterfaceUpdate(newNetwork: Network?) { private fun checkDefaultInterfaceUpdate(newNetwork: Network?) {
val listener = listener ?: return val listener = listener ?: return
if (newNetwork != null) { if (newNetwork != null) {
val interfaceName =
(Application.connectivity.getLinkProperties(newNetwork) ?: return).interfaceName
for (times in 0 until 10) { for (times in 0 until 10) {
val linkProperties = Application.connectivity.getLinkProperties(newNetwork)
if (linkProperties == null) {
Thread.sleep(100)
continue
}
var interfaceIndex: Int var interfaceIndex: Int
try { try {
interfaceIndex = NetworkInterface.getByName(interfaceName).index interfaceIndex = NetworkInterface.getByName(linkProperties.interfaceName).index
} catch (e: Exception) { } catch (e: Exception) {
Thread.sleep(100) Thread.sleep(100)
continue continue
} }
listener.updateDefaultInterface(interfaceName, interfaceIndex, false, false) listener.updateDefaultInterface(linkProperties.interfaceName, interfaceIndex, false, false)
} }
} else { } else {
listener.updateDefaultInterface("", -1, false, false) listener.updateDefaultInterface("", -1, false, false)