Fix ConnectivityService hook with updated APEX modules

This commit is contained in:
世界
2026-01-11 16:33:25 +08:00
parent 5e746241b2
commit 99e087e7c1

View File

@@ -57,171 +57,73 @@ class HookConnectivityManagerRequestNetwork(private val helper: ConnectivityServ
} }
private fun hookRequestNetwork() { private fun hookRequestNetwork() {
when { val methods = listOf(
helper.sdkInt >= 36 -> { "V16" to { hookRequestNetworkV16() },
try { "V12" to { hookRequestNetworkV12() },
hookRequestNetworkV16() "V11" to { hookRequestNetworkV11() },
} catch (e: Throwable) { "V8" to { hookRequestNetworkV8() },
HookErrorStore.w(SOURCE, "hookRequestNetworkV16 failed: ${e.message}", e) )
try { for ((version, hook) in methods) {
hookRequestNetworkV12() try {
} catch (e2: Throwable) { hook()
HookErrorStore.e(SOURCE, "hookRequestNetworkV12 failed: ${e2.message}", e2) return
} } catch (e: Throwable) {
} HookErrorStore.w(SOURCE, "hookRequestNetwork$version failed: ${e.message}", e)
}
helper.sdkInt >= 31 -> {
try {
hookRequestNetworkV12()
} catch (e: Throwable) {
HookErrorStore.w(SOURCE, "hookRequestNetworkV12 failed: ${e.message}", e)
try {
hookRequestNetworkV11()
} catch (e2: Throwable) {
HookErrorStore.e(SOURCE, "hookRequestNetworkV11 failed: ${e2.message}", e2)
}
}
}
helper.sdkInt >= 30 -> {
try {
hookRequestNetworkV11()
} catch (e: Throwable) {
HookErrorStore.w(SOURCE, "hookRequestNetworkV11 failed: ${e.message}", e)
try {
hookRequestNetworkV8()
} catch (e2: Throwable) {
HookErrorStore.e(SOURCE, "hookRequestNetworkV8 failed: ${e2.message}", e2)
}
}
}
else -> {
try {
hookRequestNetworkV8()
} catch (e: Throwable) {
HookErrorStore.e(SOURCE, "hookRequestNetworkV8 failed: ${e.message}", e)
}
} }
} }
HookErrorStore.e(SOURCE, "All hookRequestNetwork variants failed")
} }
private fun hookListenForNetwork() { private fun hookListenForNetwork() {
when { val methods = listOf(
helper.sdkInt >= 36 -> { "V16" to { hookListenForNetworkV16() },
try { "V12" to { hookListenForNetworkV12() },
hookListenForNetworkV16() "V11" to { hookListenForNetworkV11() },
} catch (e: Throwable) { "V8" to { hookListenForNetworkV8() },
HookErrorStore.w(SOURCE, "hookListenForNetworkV16 failed: ${e.message}", e) )
try { for ((version, hook) in methods) {
hookListenForNetworkV12() try {
} catch (e2: Throwable) { hook()
HookErrorStore.e(SOURCE, "hookListenForNetworkV12 failed: ${e2.message}", e2) return
} } catch (e: Throwable) {
} HookErrorStore.w(SOURCE, "hookListenForNetwork$version failed: ${e.message}", e)
}
helper.sdkInt >= 31 -> {
try {
hookListenForNetworkV12()
} catch (e: Throwable) {
HookErrorStore.w(SOURCE, "hookListenForNetworkV12 failed: ${e.message}", e)
try {
hookListenForNetworkV11()
} catch (e2: Throwable) {
HookErrorStore.e(SOURCE, "hookListenForNetworkV11 failed: ${e2.message}", e2)
}
}
}
helper.sdkInt >= 30 -> {
try {
hookListenForNetworkV11()
} catch (e: Throwable) {
HookErrorStore.w(SOURCE, "hookListenForNetworkV11 failed: ${e.message}", e)
try {
hookListenForNetworkV8()
} catch (e2: Throwable) {
HookErrorStore.e(SOURCE, "hookListenForNetworkV8 failed: ${e2.message}", e2)
}
}
}
else -> {
try {
hookListenForNetworkV8()
} catch (e: Throwable) {
HookErrorStore.e(SOURCE, "hookListenForNetworkV8 failed: ${e.message}", e)
}
} }
} }
HookErrorStore.e(SOURCE, "All hookListenForNetwork variants failed")
} }
private fun hookPendingRequestForNetwork() { private fun hookPendingRequestForNetwork() {
when { val methods = listOf(
helper.sdkInt >= 31 -> { "V12" to { hookPendingRequestForNetworkV12() },
try { "V11" to { hookPendingRequestForNetworkV11() },
hookPendingRequestForNetworkV12() "V8" to { hookPendingRequestForNetworkV8() },
} catch (e: Throwable) { )
HookErrorStore.w(SOURCE, "hookPendingRequestForNetworkV12 failed: ${e.message}", e) for ((version, hook) in methods) {
try { try {
hookPendingRequestForNetworkV11() hook()
} catch (e2: Throwable) { return
HookErrorStore.e(SOURCE, "hookPendingRequestForNetworkV11 failed: ${e2.message}", e2) } catch (e: Throwable) {
} HookErrorStore.w(SOURCE, "hookPendingRequestForNetwork$version failed: ${e.message}", e)
}
}
helper.sdkInt >= 30 -> {
try {
hookPendingRequestForNetworkV11()
} catch (e: Throwable) {
HookErrorStore.w(SOURCE, "hookPendingRequestForNetworkV11 failed: ${e.message}", e)
try {
hookPendingRequestForNetworkV8()
} catch (e2: Throwable) {
HookErrorStore.e(SOURCE, "hookPendingRequestForNetworkV8 failed: ${e2.message}", e2)
}
}
}
else -> {
try {
hookPendingRequestForNetworkV8()
} catch (e: Throwable) {
HookErrorStore.e(SOURCE, "hookPendingRequestForNetworkV8 failed: ${e.message}", e)
}
} }
} }
HookErrorStore.e(SOURCE, "All hookPendingRequestForNetwork variants failed")
} }
private fun hookPendingListenForNetwork() { private fun hookPendingListenForNetwork() {
when { val methods = listOf(
helper.sdkInt >= 31 -> { "V12" to { hookPendingListenForNetworkV12() },
try { "V11" to { hookPendingListenForNetworkV11() },
hookPendingListenForNetworkV12() "V8" to { hookPendingListenForNetworkV8() },
} catch (e: Throwable) { )
HookErrorStore.w(SOURCE, "hookPendingListenForNetworkV12 failed: ${e.message}", e) for ((version, hook) in methods) {
try { try {
hookPendingListenForNetworkV11() hook()
} catch (e2: Throwable) { return
HookErrorStore.e(SOURCE, "hookPendingListenForNetworkV11 failed: ${e2.message}", e2) } catch (e: Throwable) {
} HookErrorStore.w(SOURCE, "hookPendingListenForNetwork$version failed: ${e.message}", e)
}
}
helper.sdkInt >= 30 -> {
try {
hookPendingListenForNetworkV11()
} catch (e: Throwable) {
HookErrorStore.w(SOURCE, "hookPendingListenForNetworkV11 failed: ${e.message}", e)
try {
hookPendingListenForNetworkV8()
} catch (e2: Throwable) {
HookErrorStore.e(SOURCE, "hookPendingListenForNetworkV8 failed: ${e2.message}", e2)
}
}
}
else -> {
try {
hookPendingListenForNetworkV8()
} catch (e: Throwable) {
HookErrorStore.e(SOURCE, "hookPendingListenForNetworkV8 failed: ${e.message}", e)
}
} }
} }
HookErrorStore.e(SOURCE, "All hookPendingListenForNetwork variants failed")
} }
// region requestNetwork versions // region requestNetwork versions