Skip to content

Commit

Permalink
feat:remove audio transition.
Browse files Browse the repository at this point in the history
  • Loading branch information
leafmoes committed Oct 3, 2024
1 parent a60bf1d commit f113631
Showing 1 changed file with 53 additions and 0 deletions.
53 changes: 53 additions & 0 deletions app/src/main/java/io/github/leafmoes/RemoveAudioTransition.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
/*
* 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 io.github.leafmoes

import android.content.Context
import com.github.kyuubiran.ezxhelper.utils.findMethod
import com.github.kyuubiran.ezxhelper.utils.hookReplace
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 xyz.nextalone.util.throwOrTrue


@FunctionHookEntry
@UiItemAgentEntry
object RemoveAudioTransition : CommonSwitchFunctionHook("removeAudioTransition") {
override val name: String get() = "移除语音面板多余过渡动画"
override val description: String get() = "QQ语音面板左右滑动的时候因为这个动画导致UI重影\n故写此功能移除这个莫名其妙的动画"
override val uiItemLocation: Array<String> get() = FunctionEntryRouter.Locations.Simplify.CHAT_OTHER

override fun initOnce()= throwOrTrue {
Initiator.loadClass("com.tencent.mobileqq.activity.aio.audiopanel.AudioTransitionAnimManager")
.findMethod {
val paramsTypes = parameterTypes
parameterCount == 4
&& paramsTypes[0] == Int::class.javaPrimitiveType
&& paramsTypes[1] == String::class.java
&& paramsTypes[2] == Context::class.java
}.hookReplace { }
}
}

0 comments on commit f113631

Please sign in to comment.