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" />
+