mirror of
https://github.com/LittleTurtle2333/SimplicityTools.git
synced 2026-07-12 11:21:18 +08:00
simplify HideSimIcon.kt
This commit is contained in:
@@ -1,32 +1,21 @@
|
|||||||
package com.lt2333.simplicitytools.hook.app.systemui
|
package com.lt2333.simplicitytools.hook.app.systemui
|
||||||
|
|
||||||
import com.lt2333.simplicitytools.util.XSPUtils
|
import com.lt2333.simplicitytools.util.hasEnable
|
||||||
|
import com.lt2333.simplicitytools.util.hookBeforeMethod
|
||||||
import de.robv.android.xposed.IXposedHookLoadPackage
|
import de.robv.android.xposed.IXposedHookLoadPackage
|
||||||
import de.robv.android.xposed.XC_MethodHook
|
|
||||||
import de.robv.android.xposed.XposedHelpers
|
|
||||||
import de.robv.android.xposed.callbacks.XC_LoadPackage
|
import de.robv.android.xposed.callbacks.XC_LoadPackage
|
||||||
|
|
||||||
class HideSimIcon :IXposedHookLoadPackage {
|
class HideSimIcon :IXposedHookLoadPackage {
|
||||||
override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam) {
|
override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam) {
|
||||||
val classIfExists = XposedHelpers.findClassIfExists(
|
"com.android.systemui.statusbar.phone.StatusBarSignalPolicy".hookBeforeMethod(lpparam.classLoader, "hasCorrectSubs", MutableList::class.java) {
|
||||||
"com.android.systemui.statusbar.phone.StatusBarSignalPolicy",
|
val list = it.args[0] as MutableList<*>
|
||||||
lpparam.classLoader
|
|
||||||
)
|
|
||||||
XposedHelpers.findAndHookMethod(
|
|
||||||
classIfExists,
|
|
||||||
"hasCorrectSubs", MutableList::class.java,
|
|
||||||
object : XC_MethodHook() {
|
|
||||||
override fun beforeHookedMethod(param: MethodHookParam) {
|
|
||||||
val list = param.args[0] as MutableList<*>
|
|
||||||
val size = list.size
|
val size = list.size
|
||||||
|
hasEnable("hide_sim_two_icon", extraCondition = { size == 2 }) {
|
||||||
if (size == 2 && XSPUtils.getBoolean("hide_sim_two_icon", false)) {
|
|
||||||
list.removeAt(1)
|
list.removeAt(1)
|
||||||
}
|
}
|
||||||
if (size >= 1 && XSPUtils.getBoolean("hide_sim_one_icon", false)) {
|
hasEnable("hide_sim_one_icon", extraCondition = { size >= 1 }) {
|
||||||
list.removeAt(0)
|
list.removeAt(0)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user