Skip to content

Commit

Permalink
fix: GuildOldStyle on QQ9.0.15~9.0.73
Browse files Browse the repository at this point in the history
  • Loading branch information
HdShare committed Jul 20, 2024
1 parent 00c6478 commit ba72136
Showing 1 changed file with 14 additions and 4 deletions.
18 changes: 14 additions & 4 deletions app/src/main/java/io/github/memory2314/hook/GuildOldStyle.kt
Original file line number Diff line number Diff line change
Expand Up @@ -22,25 +22,35 @@

package io.github.memory2314.hook

import cc.ioctl.util.hookBeforeIfEnabled
import io.github.qauxv.base.annotation.FunctionHookEntry
import io.github.qauxv.base.annotation.UiItemAgentEntry
import io.github.qauxv.dsl.FunctionEntryRouter
import io.github.qauxv.hook.CommonSwitchFunctionHook
import io.github.qauxv.util.QQVersion
import io.github.qauxv.util.hostInfo
import io.github.qauxv.util.requireMinQQVersion
import xyz.nextalone.util.invoke
import xyz.nextalone.util.method
import xyz.nextalone.util.replace
import xyz.nextalone.util.throwOrTrue

@FunctionHookEntry
@UiItemAgentEntry
object GuildOldStyle : CommonSwitchFunctionHook() {
override val name = "频道旧版样式"
override val description = "当前仅适配QQ9.0.0"
override val description = "仅支持QQ9.0.15~9.0.73版本"
override val uiItemLocation = FunctionEntryRouter.Locations.Auxiliary.GUILD_CATEGORY
override val isAvailable = requireMinQQVersion(QQVersion.QQ_9_0_0)
override val isAvailable = hostInfo.versionCode in QQVersion.QQ_9_0_15..QQVersion.QQ_9_0_73

override fun initOnce() = throwOrTrue {
"Lcom/tencent/mobileqq/guild/discover/GuildDiscoverABTestHelper;->w()I".method.replace(this, 1)
if (requireMinQQVersion(QQVersion.QQ_9_0_30)) { // 9.0.30~9.0.73(之后的版本获取布局方法不存在)
hookBeforeIfEnabled("Lcom/tencent/mobileqq/guild/mainframe/GuildFragmentDelegateFrame;->getCurrentMainFragment()Lcom/tencent/mobileqq/guild/mainframe/AbsGuildMainFragment;".method) {
it.result = it.thisObject.invoke("getMainFrameFragment")
}
} else { // (第一个新版频道)9.0.15~9.0.25
hookBeforeIfEnabled("Lcom/tencent/mobileqq/guild/mainframe/GuildFragmentDelegateFrame;->s()Lcom/tencent/mobileqq/guild/mainframe/AbsGuildMainFragment;".method) {
it.result = it.thisObject.invoke("u")
}
}
}
}

0 comments on commit ba72136

Please sign in to comment.