Skip to content

Commit

Permalink
Fix small window playing
Browse files Browse the repository at this point in the history
  • Loading branch information
yujincheng08 committed Jan 10, 2024
1 parent 94ab2fe commit db61722
Showing 1 changed file with 16 additions and 6 deletions.
22 changes: 16 additions & 6 deletions app/src/main/java/me/iacn/biliroaming/hook/AllowMiniPlayHook.kt
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package me.iacn.biliroaming.hook

import me.iacn.biliroaming.utils.from
import me.iacn.biliroaming.utils.getStaticObjectField
import me.iacn.biliroaming.utils.hookBeforeAllConstructors
import me.iacn.biliroaming.utils.hookBeforeConstructor
import me.iacn.biliroaming.utils.sPrefs

Expand All @@ -10,18 +11,27 @@ class AllowMiniPlayHook(classLoader: ClassLoader) : BaseHook(classLoader) {
if (!sPrefs.getBoolean("main_func", false)) return

if (sPrefs.getBoolean("allow_mini_play", false)) {
"com.bilibili.lib.media.resource.PlayConfig\$PlayMenuConfig".from(mClassLoader)
?.hookBeforeConstructor(
Boolean::class.javaPrimitiveType,
val miniPlayerType =
"com.bilibili.lib.media.resource.PlayConfig\$PlayConfigType"
.from(mClassLoader)?.getStaticObjectField("MINIPLAYER")
"com.bilibili.lib.media.resource.PlayConfig\$PlayMenuConfig".from(mClassLoader)?.run {
hookBeforeConstructor(
Boolean::class.javaPrimitiveType,
"com.bilibili.lib.media.resource.PlayConfig\$PlayConfigType"
) { param ->
val type = param.args[1]
if (type == miniPlayerType)
param.args[0] = true
}
hookBeforeConstructor(Boolean::class.javaPrimitiveType,
"com.bilibili.lib.media.resource.PlayConfig\$PlayConfigType",
List::class.java
) { param ->
val type = param.args[1]
val miniPlayerType =
"com.bilibili.lib.media.resource.PlayConfig\$PlayConfigType"
.from(mClassLoader)?.getStaticObjectField("MINIPLAYER")
if (type == miniPlayerType)
param.args[0] = true
}
}
}
}
}

0 comments on commit db61722

Please sign in to comment.