11package de.binarynoise.openWifiOnTop
22
3- import de.binarynoise.logger.Logger.log
43import de.binarynoise.reflection.cast
54import de.binarynoise.reflection.findDeclaredMethod
65import de.robv.android.xposed.IXposedHookLoadPackage
7- import de.robv.android.xposed.XposedBridge
86import de.robv.android.xposed.XposedHelpers
97import de.robv.android.xposed.callbacks.XC_LoadPackage
10- import de.robv.android.xposed.XC_MethodHook as MethodHook
118
129class Hook : IXposedHookLoadPackage {
1310
@@ -18,7 +15,7 @@ class Hook : IXposedHookLoadPackage {
1815 val isPrimary = WifiEntryClass .findDeclaredMethod(" isPrimaryNetwork" )
1916 val WIFI_PICKER_COMPARATOR = XposedHelpers .getStaticObjectField(WifiEntryClass , " WIFI_PICKER_COMPARATOR" ).cast<Comparator <Any >>()
2017
21- val comparator: ( Any , Any ) -> Int = { a, b ->
18+ val comparator: Comparator < Any > = Comparator { a, b ->
2219 val aPrimary = isPrimary.invoke(a) as Boolean
2320 val bPrimary = isPrimary.invoke(b) as Boolean
2421
@@ -45,28 +42,6 @@ class Hook : IXposedHookLoadPackage {
4542 else WIFI_PICKER_COMPARATOR .compare(a, b)
4643 }
4744
48- val WifiPickerTrackerClass = lpparam.classLoader.loadClass(" com.android.wifitrackerlib.WifiPickerTracker" )
49-
50- try {
51- XposedHelpers .findAndHookMethod(WifiPickerTrackerClass , " getWifiEntries" , object : MethodHook () {
52- override fun afterHookedMethod (param : MethodHookParam ) = with (param) {
53- result.cast<MutableList <* >>().sortWith(comparator)
54- }
55- })
56- log(" handleLoadPackage: hooked getWifiEntries" )
57- } catch (t: Throwable ) {
58- XposedBridge .log(t)
59- }
60-
61- try {
62- XposedBridge .hookAllMethods(WifiPickerTrackerClass , " updateWifiEntries" , object : MethodHook () {
63- override fun afterHookedMethod (param : MethodHookParam ): Unit = with (param) {
64- XposedHelpers .getObjectField(thisObject, " mWifiEntries" ).cast<MutableList <* >>().sortWith(comparator)
65- }
66- })
67- log(" handleLoadPackage: hooked updateWifiEntries" )
68- } catch (t: Throwable ) {
69- XposedBridge .log(t)
70- }
45+ XposedHelpers .setStaticObjectField(WifiEntryClass , " WIFI_PICKER_COMPARATOR" , comparator)
7146 }
7247}
0 commit comments