Merge branch 'kmmiio99o:master' into master

This commit is contained in:
OTKUSteyler 2026-08-26 06:16:01 +02:00 • committed by GitHub
commit 2978e3b8d1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 42 additions and 18 deletions

View file

@ -12,8 +12,8 @@ android {
applicationId = "GoonXposed.xposed"
minSdk = 24
targetSdk = 36
versionCode = 1340
versionName = "1.3.4"
versionCode = 1350
versionName = "1.3.5"
}
signingConfigs {
@ -33,7 +33,7 @@ android {
}
release {
isDebuggable = false
isMinifyEnabled = false
isMinifyEnabled = true
signingConfig = signingConfigs.getByName("release")
}
}

View file

@ -51,21 +51,45 @@ object FontsModule : Module() {
}
override fun onLoad(packageParam: XC_LoadPackage.LoadPackageParam) = with(packageParam) {
XposedHelpers.findAndHookMethod(
"com.facebook.react.views.text.ReactFontManager\$Companion",
classLoader,
"createAssetTypeface",
String::class.java,
Int::class.java,
"android.content.res.AssetManager",
object : XC_MethodReplacement() {
override fun replaceHookedMethod(param: MethodHookParam): Typeface? {
val fontFamilyName: String = param.args[0].toString()
val style: Int = param.args[1] as Int
val assetManager: AssetManager = param.args[2] as AssetManager
return createAssetTypeface(fontFamilyName, style, assetManager)
}
})
val hookCallback = object : XC_MethodReplacement() {
override fun replaceHookedMethod(param: MethodHookParam): Typeface? {
val fontFamilyName: String = param.args[0].toString()
val style: Int = param.args[1] as Int
val assetManager: AssetManager = param.args[2] as AssetManager
return createAssetTypeface(fontFamilyName, style, assetManager)
}
}
val hooked = try {
XposedHelpers.findAndHookMethod(
"com.facebook.react.common.assets.ReactFontManager\$Companion",
classLoader,
"createAssetTypeface",
String::class.java,
Int::class.java,
"android.content.res.AssetManager",
hookCallback
)
true
} catch (_: Throwable) {
false
}
if (!hooked) {
try {
XposedHelpers.findAndHookMethod(
"com.facebook.react.views.text.ReactFontManager\$Companion",
classLoader,
"createAssetTypeface",
String::class.java,
Int::class.java,
"android.content.res.AssetManager",
hookCallback
)
} catch (e: Throwable) {
Log.e("Failed to hook createAssetTypeface in either class", e)
}
}
val fontDefFile = File(appInfo.dataDir, "${Constants.FILES_DIR}/fonts.json").apply { asFile() }
if (!fontDefFile.exists()) return@with