Skip to content

Commit f78467c

Browse files
committed
1.11
Signed-off-by: RC1844 <1844766234@qq.com>
1 parent 6233251 commit f78467c

File tree

2 files changed

+26
-26
lines changed

2 files changed

+26
-26
lines changed

app/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ android {
1212
minSdkVersion 28
1313
targetSdkVersion 30
1414
versionCode 10
15-
versionName '1.10'
15+
versionName '1.11'
1616
}
1717

1818
buildTypes {

app/src/main/java/com/xposed/miuiime/MainHook.kt

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)