From 99418aa1a106628e5365b15e503ca265cb4b4634 Mon Sep 17 00:00:00 2001 From: hd <1839732296@qq.com> Date: Sun, 30 Jun 2024 23:37:39 +0800 Subject: [PATCH] feat: RemoveAudioPlayerDialog Closes #1063 --- .../me/hd/hook/RemoveAudioPlayerDialog.kt | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 app/src/main/java/me/hd/hook/RemoveAudioPlayerDialog.kt diff --git a/app/src/main/java/me/hd/hook/RemoveAudioPlayerDialog.kt b/app/src/main/java/me/hd/hook/RemoveAudioPlayerDialog.kt new file mode 100644 index 0000000000..ca11ad6e68 --- /dev/null +++ b/app/src/main/java/me/hd/hook/RemoveAudioPlayerDialog.kt @@ -0,0 +1,54 @@ +/* + * 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 + * . + */ + +package me.hd.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.Initiator +import io.github.qauxv.util.QQVersion +import io.github.qauxv.util.requireMinQQVersion + +@FunctionHookEntry +@UiItemAgentEntry +object RemoveAudioPlayerDialog : CommonSwitchFunctionHook() { + + override val name = "移除语音播放弹窗" + override val description = "移除语音播放时, ‘请调大手机音量后播放’灰色弹窗" + override val uiItemLocation = FunctionEntryRouter.Locations.Auxiliary.MESSAGE_CATEGORY + override val isAvailable = requireMinQQVersion(QQVersion.QQ_8_9_88) + + override fun initOnce(): Boolean { + val pttHelperClass = Initiator.loadClass("com.tencent.mobileqq.aio.helper.PttHelper\$getPhoneLowVolumeListener\$onLowVolume\$1") + val invokeMethod = pttHelperClass.getDeclaredMethod("invoke", Boolean::class.java) + hookBeforeIfEnabled(invokeMethod) { param -> + val boolean = param.args[0] as Boolean + if (boolean) { + param.args[0] = false + } + } + return true + } +} \ No newline at end of file