@@ -26,7 +26,7 @@ class MainHook : IXposedHookLoadPackage {
2626 // 将导航栏颜色赋值给输入法优化的底图
2727 findAndHookMethod(" com.android.internal.policy.PhoneWindow" ,
2828 lpparam.classLoader, " setNavigationBarColor" ,
29- Int ::class , object : XC_MethodHook () {
29+ Int ::class .java , object : XC_MethodHook () {
3030 override fun afterHookedMethod (param : MethodHookParam ) {
3131 val color = - 0x1 - param.args[0 ] as Int
3232 XposedHelpers .callStaticMethod(
@@ -36,19 +36,24 @@ class MainHook : IXposedHookLoadPackage {
3636 }
3737 })
3838 }
39+
3940 }
40- // 针对A10的修复切换输入法列表
41- findClass( " android.inputmethodservice.InputMethodServiceInjector \$ MiuiSwitchInputMethodListener " ,
42- lpparam.classLoader)?. let {
43- hookDeleteNotSupportIme(it)
44- }
41+
42+ hookDeleteNotSupportIme(
43+ " android.inputmethodservice.InputMethodServiceInjector \$ MiuiSwitchInputMethodListener " ,
44+ lpparam.classLoader,
45+ )
4546
4647 // 获取常用语的ClassLoader
4748 findAndHookMethod(" android.inputmethodservice.InputMethodModuleManager" ,
4849 lpparam.classLoader, " loadDex" ,
4950 ClassLoader ::class .java, String ::class .java,
5051 object : XC_MethodHook () {
5152 override fun afterHookedMethod (param : MethodHookParam ) {
53+ hookDeleteNotSupportIme(
54+ " com.miui.inputmethod.InputMethodBottomManager\$ MiuiSwitchInputMethodListener" ,
55+ param.args[0 ] as ClassLoader ,
56+ )
5257 findClass(
5358 " com.miui.inputmethod.InputMethodBottomManager" ,
5459 param.args[0 ] as ClassLoader
@@ -72,15 +77,9 @@ class MainHook : IXposedHookLoadPackage {
7277 }
7378 })
7479 }
75- findClass(
76- " com.miui.inputmethod.InputMethodBottomManager\$ MiuiSwitchInputMethodListener" ,
77- param.args[0 ] as ClassLoader
78- )?.let {
79- hookDeleteNotSupportIme(it)
80- }
8180 }
8281 })
83- XposedBridge .log(" Hook MIUI IME Success " )
82+ XposedBridge .log(" Hook MIUI IME Done! " )
8483 }
8584
8685 /* *
@@ -90,11 +89,10 @@ class MainHook : IXposedHookLoadPackage {
9089 */
9190 fun hookSIsImeSupport (clazz : Class <* >) {
9291 try {
93- // XposedBridge.log("Hook field sIsImeSupport")
9492 XposedHelpers .setStaticIntField(clazz, " sIsImeSupport" , 1 )
95- XposedBridge .log(" Hook field sIsImeSupport success " )
93+ XposedBridge .log(" Success: Hook field sIsImeSupport" )
9694 } catch (e: Throwable ) {
97- XposedBridge .log(" Hook field sIsImeSupport failed " )
95+ XposedBridge .log(" Failed: Hook field sIsImeSupport " )
9896 XposedBridge .log(e)
9997 }
10098 }
@@ -112,13 +110,15 @@ class MainHook : IXposedHookLoadPackage {
112110 }
113111
114112 /* *
115- * 修复切换输入法列表
113+ * 针对A10的修复切换输入法列表
116114 *
117- * @param clazz 声明或继承方法的类
115+ * @param className 声明或继承方法的类的名称
116+ * @param classLoader 该类的加载器
118117 */
119- fun hookDeleteNotSupportIme (clazz : Class < * > ) {
118+ private fun hookDeleteNotSupportIme (className : String , classLoader : ClassLoader ) {
120119 findAndHookMethod(
121- clazz, " deleteNotSupportIme" ,
120+ className,
121+ classLoader, " deleteNotSupportIme" ,
122122 XC_MethodReplacement .returnConstant(null )
123123 )
124124 }
@@ -130,9 +130,9 @@ class MainHook : IXposedHookLoadPackage {
130130 ) {
131131 try {
132132 XposedHelpers .findAndHookMethod(clazz, methodName, * parameterTypesAndCallback)
133- XposedBridge .log(" Hook method $methodName success " )
133+ XposedBridge .log(" Success: Hook method $methodName " )
134134 } catch (e: Throwable ) {
135- XposedBridge .log(" Hook method $methodName failed " )
135+ XposedBridge .log(" Failed: Hook method $methodName " )
136136 XposedBridge .log(e)
137137 }
138138 }
@@ -154,11 +154,11 @@ class MainHook : IXposedHookLoadPackage {
154154
155155 fun findClass (className : String , classLoader : ClassLoader ): Class <* >? {
156156 return try {
157- val clazz= XposedHelpers .findClass(className, classLoader)
158- XposedBridge .log(" Find class $className success " )
157+ val clazz = XposedHelpers .findClass(className, classLoader)
158+ XposedBridge .log(" Success: Find class $className " )
159159 clazz
160160 } catch (e: Throwable ) {
161- XposedBridge .log(" Find class $className failed " )
161+ XposedBridge .log(" Failed:Class not found: $className " )
162162 XposedBridge .log(e)
163163 null
164164 }
0 commit comments