Merge branch 'kmmiio99o:master' into master
This commit is contained in:
commit
3d45a8d70f
1 changed files with 15 additions and 39 deletions
|
|
@ -51,16 +51,6 @@ object FontsModule : Module() {
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onLoad(packageParam: XC_LoadPackage.LoadPackageParam) = with(packageParam) {
|
override fun onLoad(packageParam: XC_LoadPackage.LoadPackageParam) = with(packageParam) {
|
||||||
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(
|
XposedHelpers.findAndHookMethod(
|
||||||
"com.facebook.react.common.assets.ReactFontManager\$Companion",
|
"com.facebook.react.common.assets.ReactFontManager\$Companion",
|
||||||
classLoader,
|
classLoader,
|
||||||
|
|
@ -68,28 +58,14 @@ object FontsModule : Module() {
|
||||||
String::class.java,
|
String::class.java,
|
||||||
Int::class.java,
|
Int::class.java,
|
||||||
"android.content.res.AssetManager",
|
"android.content.res.AssetManager",
|
||||||
hookCallback
|
object : XC_MethodReplacement() {
|
||||||
)
|
override fun replaceHookedMethod(param: MethodHookParam): Typeface? {
|
||||||
true
|
val fontFamilyName: String = param.args[0].toString()
|
||||||
} catch (_: Throwable) {
|
val style: Int = param.args[1] as Int
|
||||||
false
|
val assetManager: AssetManager = param.args[2] as AssetManager
|
||||||
}
|
return createAssetTypeface(fontFamilyName, style, assetManager)
|
||||||
|
|
||||||
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() }
|
val fontDefFile = File(appInfo.dataDir, "${Constants.FILES_DIR}/fonts.json").apply { asFile() }
|
||||||
if (!fontDefFile.exists()) return@with
|
if (!fontDefFile.exists()) return@with
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue