Skip to content

Commit 1a511e0

Browse files
committed
fix Android 14
1 parent 97a698a commit 1a511e0

File tree

2 files changed

+17
-3
lines changed
  • BetterVerboseWiFiLogging/src/main/java/de/binarynoise/betterVerboseWiFiLogging

2 files changed

+17
-3
lines changed

BetterVerboseWiFiLogging/src/main/java/de/binarynoise/betterVerboseWiFiLogging/Hook.kt

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package de.binarynoise.betterVerboseWiFiLogging
22

33
import android.annotation.SuppressLint
4+
import android.os.Build
45
import de.binarynoise.betterVerboseWiFiLogging.StandardWifiEntry.newGetScanResultDescription
56
import de.binarynoise.betterVerboseWiFiLogging.Utils.wifiTrackerLibUtilsClass
67
import de.binarynoise.betterVerboseWiFiLogging.WifiEntry.getNetworkCapabilityDescription
@@ -47,8 +48,13 @@ class Hook : IXposedHookLoadPackage {
4748
}
4849
}
4950

51+
val verboseMethod = if (Build.VERSION.SDK_INT < 34) {
52+
XposedHelpers.findMethodExact(wifiTrackerLibUtilsClass, "getVerboseLoggingDescription", wifiEntryClass)
53+
} else {
54+
XposedHelpers.findMethodExact(wifiTrackerLibUtilsClass, "getVerboseSummary", wifiEntryClass)
55+
}
5056

51-
XposedHelpers.findAndHookMethod(wifiTrackerLibUtilsClass, "getVerboseLoggingDescription", wifiEntryClass, object : MethodHook() {
57+
XposedBridge.hookMethod(verboseMethod, object : MethodHook() {
5258
override fun beforeHookedMethod(param: MethodHookParam) {
5359
with(param) {
5460
val wifiEntry = args[0]

BetterVerboseWiFiLogging/src/main/java/de/binarynoise/betterVerboseWiFiLogging/Wrapper.kt

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import java.lang.reflect.Method
66
import android.annotation.SuppressLint
77
import android.net.wifi.ScanResult
88
import android.net.wifi.WifiInfo
9+
import android.os.Build
910
import de.binarynoise.betterVerboseWiFiLogging.WifiEntry.mWifiInfoField
1011
import de.binarynoise.betterVerboseWiFiLogging.Wrapper.classLoader
1112
import de.binarynoise.reflection.field
@@ -18,9 +19,16 @@ object Wrapper {
1819
}
1920

2021
object BaseWifiTracker {
21-
private val baseWiFiTrackerClass: Class<*> get() = classLoader.loadClass("$wifitrackerlib.BaseWifiTracker")
22+
val baseWiFiTrackerClass: Class<*> = classLoader.loadClass("$wifitrackerlib.BaseWifiTracker")
2223

23-
fun isVerboseLoggingEnabled(): Boolean = baseWiFiTrackerClass.getDeclaredMethod("isVerboseLoggingEnabled").invoke(null) as Boolean
24+
fun isVerboseLoggingEnabled(): Boolean {
25+
if (Build.VERSION.SDK_INT < 34) return baseWiFiTrackerClass.getDeclaredMethod("isVerboseLoggingEnabled").invoke(null) as Boolean
26+
else {
27+
// that actually is the fix, the original code doesn't check for this either anymore
28+
// https://cs.android.com/android/_/android/platform/frameworks/opt/net/wifi/+/main:libs/WifiTrackerLib/src/com/android/wifitrackerlib/Utils.java;l=529;bpv=0;bpt=0
29+
return true
30+
}
31+
}
2432
}
2533

2634
object Utils {

0 commit comments

Comments
 (0)