Skip to content

Commit

Permalink
feat: HideShortcutBar
Browse files Browse the repository at this point in the history
Closes #1226
  • Loading branch information
HdShare committed Oct 27, 2024
1 parent 7a24dec commit c6cd502
Show file tree
Hide file tree
Showing 2 changed files with 59 additions and 0 deletions.
7 changes: 7 additions & 0 deletions app/src/main/java/io/github/qauxv/util/dexkit/DexKitTarget.kt
Original file line number Diff line number Diff line change
Expand Up @@ -1029,4 +1029,11 @@ data object RemoveAudioTransitionMethod : DexKitTarget.UsingStr() {
override val traitString = arrayOf("getDrawable onCompositionLoaded lottieComposition is null or mIsDestroyed")
override val declaringClass = "Lcom/tencent/mobileqq/activity/aio/audiopanel/AudioTransitionAnimManager;"
override val filter = DexKitFilter.allowAll
}

data object Hd_HideShortcutBar_Method : DexKitTarget.UsingStr() {
override val findMethod = true
override val traitString = arrayOf("isShortcutBarVisibleOrGoingToBeVisible return false for AIOIceBreakViewShowing")
override val declaringClass = "Lcom/tencent/mobileqq/activity/aio/helper/TroopAppShortcutBarHelper;"
override val filter = DexKitFilter.strInClsName("com/tencent/mobileqq/activity/aio/helper/")
}
52 changes: 52 additions & 0 deletions app/src/main/java/me/hd/hook/HideShortcutBar.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
/*
* QAuxiliary - An Xposed module for QQ/TIM
* Copyright (C) 2019-2024 QAuxiliary developers
* https://github.com/cinit/QAuxiliary
*
* This software is an opensource software: you can redistribute it
* and/or modify it under the terms of the General Public License
* as published by the Free Software Foundation; either
* version 3 of the License, or any later version as published
* by QAuxiliary contributors.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the General Public License for more details.
*
* You should have received a copy of the General Public License
* along with this software.
* If not, see
* <https://github.com/cinit/QAuxiliary/blob/master/LICENSE.md>.
*/

package me.hd.hook

import cc.ioctl.util.hookAfterIfEnabled
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.dexkit.DexKit
import io.github.qauxv.util.dexkit.Hd_HideShortcutBar_Method
import io.github.qauxv.util.requireMinQQVersion

@FunctionHookEntry
@UiItemAgentEntry
object HideShortcutBar : CommonSwitchFunctionHook(
targets = arrayOf(Hd_HideShortcutBar_Method)
) {

override val name = "隐藏聊天快捷栏"
override val description = "隐藏聊天输入框上方快捷栏展示的群应用"
override val uiItemLocation = FunctionEntryRouter.Locations.Simplify.CHAT_OTHER
override val isAvailable = requireMinQQVersion(QQVersion.QQ_8_9_88)

override fun initOnce(): Boolean {
hookAfterIfEnabled(DexKit.requireMethodFromCache(Hd_HideShortcutBar_Method)) { param ->
param.result = false
}
return true
}
}

0 comments on commit c6cd502

Please sign in to comment.