diff --git a/app/src/main/java/me/iacn/biliroaming/XposedInit.kt b/app/src/main/java/me/iacn/biliroaming/XposedInit.kt index ff9b8c2240..e5118247e1 100644 --- a/app/src/main/java/me/iacn/biliroaming/XposedInit.kt +++ b/app/src/main/java/me/iacn/biliroaming/XposedInit.kt @@ -118,7 +118,7 @@ class XposedInit : IXposedHookLoadPackage, IXposedHookZygoteInit { startHook(DanmakuHook(lpparam.classLoader)) startHook(BangumiPageAdHook(lpparam.classLoader)) startHook(VideoQualityHook(lpparam.classLoader)) - startHook(PublishToFollowingHook(lpparam.classLoader)) + // startHook(PublishToFollowingHook(lpparam.classLoader)) startHook(UposReplaceHook(lpparam.classLoader)) startHook(SpeedHook(lpparam.classLoader)) startHook(MultiWindowHook(lpparam.classLoader)) diff --git a/app/src/main/java/me/iacn/biliroaming/hook/DynamicHook.kt b/app/src/main/java/me/iacn/biliroaming/hook/DynamicHook.kt index d9a8baeabe..b8805f8507 100644 --- a/app/src/main/java/me/iacn/biliroaming/hook/DynamicHook.kt +++ b/app/src/main/java/me/iacn/biliroaming/hook/DynamicHook.kt @@ -39,7 +39,7 @@ class DynamicHook(classLoader: ClassLoader) : BaseHook(classLoader) { val hidden = sPrefs.getBoolean("hidden", false) if (hidden && (needFilterDynamic || removeTopicOfAll || removeUpOfAll)) { dynamicMossV2?.hookAfterMethod( - "dynAll", + if (instance.useNewMossFunc) "executeDynAll" else "dynAll", "com.bapis.bilibili.app.dynamic.v2.DynAllReq" ) { param -> param.result?.let { @@ -52,7 +52,7 @@ class DynamicHook(classLoader: ClassLoader) : BaseHook(classLoader) { } } dynamicMossV2?.hookBeforeMethod( - "dynAll", + if (instance.useNewMossFunc) "executeDynAll" else "dynAll", "com.bapis.bilibili.app.dynamic.v2.DynAllReq", instance.mossResponseHandlerClass ) { @@ -70,7 +70,7 @@ class DynamicHook(classLoader: ClassLoader) : BaseHook(classLoader) { } if (hidden && ((filterApplyToVideo && needFilterDynamic) || removeUpOfVideo)) { dynamicMossV2?.hookAfterMethod( - "dynVideo", + if (instance.useNewMossFunc) "executeDynVideo" else "dynVideo", "com.bapis.bilibili.app.dynamic.v2.DynVideoReq" ) { param -> param.result?.let { @@ -81,7 +81,7 @@ class DynamicHook(classLoader: ClassLoader) : BaseHook(classLoader) { } } dynamicMossV2?.hookBeforeMethod( - "dynVideo", + if (instance.useNewMossFunc) "executeDynVideo" else "dynVideo", "com.bapis.bilibili.app.dynamic.v2.DynVideoReq", instance.mossResponseHandlerClass ) { @@ -97,13 +97,13 @@ class DynamicHook(classLoader: ClassLoader) : BaseHook(classLoader) { } if (hidden && preferVideoTab) { dynamicMossV1?.hookAfterMethod( - "dynRed", + if (instance.useNewMossFunc) "executeDynRed" else "dynRed", "com.bapis.bilibili.app.dynamic.v1.DynRedReq" ) { param -> param.result?.callMethod("setDefaultTab", "video") } dynamicMossV2?.hookBeforeMethod( - "dynTab", + if (instance.useNewMossFunc) "executeDynTab" else "dynTab", "com.bapis.bilibili.app.dynamic.v2.DynTabReq", instance.mossResponseHandlerClass ) { diff --git a/app/src/main/java/me/iacn/biliroaming/hook/KillDelayBootHook.kt b/app/src/main/java/me/iacn/biliroaming/hook/KillDelayBootHook.kt index a85c510c77..562fa8987f 100644 --- a/app/src/main/java/me/iacn/biliroaming/hook/KillDelayBootHook.kt +++ b/app/src/main/java/me/iacn/biliroaming/hook/KillDelayBootHook.kt @@ -1,11 +1,15 @@ package me.iacn.biliroaming.hook import me.iacn.biliroaming.BiliBiliPackage.Companion.instance +import me.iacn.biliroaming.Constant import me.iacn.biliroaming.utils.hookAfterMethod +import me.iacn.biliroaming.utils.packageName class KillDelayBootHook(classLoader: ClassLoader) : BaseHook(classLoader) { override fun startHook() { - instance.gripperBootExpClass?.hookAfterMethod("getDelayMillis") { param -> + instance.gripperBootExpClass?.hookAfterMethod( + if (packageName == Constant.PLAY_PACKAGE_NAME) "b" else "getDelayMillis" + ) { param -> param.result = -1L } } diff --git a/app/src/main/java/me/iacn/biliroaming/hook/PlayArcConfHook.kt b/app/src/main/java/me/iacn/biliroaming/hook/PlayArcConfHook.kt index dc718da690..3b3f3ed0ff 100644 --- a/app/src/main/java/me/iacn/biliroaming/hook/PlayArcConfHook.kt +++ b/app/src/main/java/me/iacn/biliroaming/hook/PlayArcConfHook.kt @@ -14,7 +14,7 @@ class PlayArcConfHook(classLoader: ClassLoader) : BaseHook(classLoader) { if (!sPrefs.getBoolean("play_arc_conf", false)) return instance.playURLMossClass?.hookAfterMethod( - "playView", instance.playViewReqClass + if (instance.useNewMossFunc) "executePlayView" else "playView", instance.playViewReqClass ) { param -> param.result?.callMethod("getPlayArc")?.run { arrayOf( @@ -41,7 +41,8 @@ class PlayArcConfHook(classLoader: ClassLoader) : BaseHook(classLoader) { } instance.playerMossClass?.hookAfterMethod( - "playViewUnite", instance.playViewUniteReqClass + if (instance.useNewMossFunc) "executePlayViewUnite" else "playViewUnite", + instance.playViewUniteReqClass ) { param -> param.result?.callMethod("mergePlayArcConf", arcConfs) } @@ -81,7 +82,7 @@ class PlayArcConfHook(classLoader: ClassLoader) : BaseHook(classLoader) { hooker = playlistHook ) hookAfterMethod( - "playURL", + if (instance.useNewMossFunc) "executePlayURL" else "playURL", "com.bapis.bilibili.app.listener.v1.PlayURLReq" ) { param -> if (instance.networkExceptionClass?.isInstance(param.throwable) == true) diff --git a/app/src/main/java/me/iacn/biliroaming/hook/SubtitleHook.kt b/app/src/main/java/me/iacn/biliroaming/hook/SubtitleHook.kt index 160e6851d7..0298d38b6d 100644 --- a/app/src/main/java/me/iacn/biliroaming/hook/SubtitleHook.kt +++ b/app/src/main/java/me/iacn/biliroaming/hook/SubtitleHook.kt @@ -313,7 +313,8 @@ class SubtitleHook(classLoader: ClassLoader) : BaseHook(classLoader) { private fun hookSubtitleList() { instance.dmMossClass?.hookAfterMethod( - "dmView", instance.dmViewReqClass, + if (instance.useNewMossFunc) "executeDmView" else "dmView", + instance.dmViewReqClass, ) { param -> param.result.hookSubtitleList(param.args[0])?.let { param.result = it } } diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 8fc62f4829..2f3710c255 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -266,8 +266,10 @@ 封鎖影片詳情頁及評論頁的評論引導提示 禁止首頁自動重新整理 禁止首頁內容在退至後台、切換其他頁面一段時間後返回或熱重啟時自動重新整理 + 同時套用於影片下方推薦 篩選漸層顏色弹幕 漸層顏色(非一般彩色)彈幕顯示為白色 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index e98e706ee1..0e322f0417 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -268,8 +268,10 @@ 屏蔽视频详情页及评论页的评论引导提示 禁止首页自动刷新 禁止首页内容在退至后台、切换其他页面一段时间后返回或热重启时自动刷新 + 同时应用于视频下方推荐 过滤渐变色弹幕 渐变色(非普通彩色)弹幕显示为白色 diff --git a/app/src/main/res/xml/prefs_setting.xml b/app/src/main/res/xml/prefs_setting.xml index 691689d1c4..411edd02ea 100644 --- a/app/src/main/res/xml/prefs_setting.xml +++ b/app/src/main/res/xml/prefs_setting.xml @@ -247,10 +247,12 @@ android:summary="@string/disable_auto_refresh_summary" android:title="@string/disable_auto_refresh_title" /> +