Skip to content

Commit

Permalink
fix: AutoSendOriginalPhoto for QQNT
Browse files Browse the repository at this point in the history
  • Loading branch information
klxiaoniu committed Jun 21, 2023
1 parent 2ff60ca commit f9dc30f
Showing 1 changed file with 19 additions and 0 deletions.
19 changes: 19 additions & 0 deletions app/src/main/java/xyz/nextalone/hook/AutoSendOriginalPhoto.kt
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,16 @@
*/
package xyz.nextalone.hook

import android.annotation.SuppressLint
import android.app.Activity
import android.os.Bundle
import android.view.View
import android.widget.CheckBox
import cc.hicore.QApp.QAppUtils
import cc.ioctl.util.HookUtils
import com.github.kyuubiran.ezxhelper.utils.hookBefore
import com.tencent.mobileqq.widget.QUICheckBox
import de.robv.android.xposed.XposedBridge
import io.github.qauxv.base.annotation.FunctionHookEntry
import io.github.qauxv.base.annotation.UiItemAgentEntry
import io.github.qauxv.dsl.FunctionEntryRouter
Expand All @@ -34,6 +40,7 @@ import io.github.qauxv.util.SyncUtils
import io.github.qauxv.util.requireMinQQVersion
import xyz.nextalone.util.clazz
import xyz.nextalone.util.findHostView
import xyz.nextalone.util.get
import xyz.nextalone.util.hookAfter
import xyz.nextalone.util.method
import xyz.nextalone.util.throwOrTrue
Expand All @@ -46,7 +53,19 @@ object AutoSendOriginalPhoto : CommonSwitchFunctionHook(SyncUtils.PROC_MAIN or S

override val uiItemLocation = FunctionEntryRouter.Locations.Auxiliary.CHAT_CATEGORY

@SuppressLint("ResourceType")
override fun initOnce() = throwOrTrue {
if (QAppUtils.isQQnt()) { //截至2023.6.21,仍有一些项目在使用旧版组件(如频道),故保留其他hook
//Lcom/tencent/mobileqq/e/a/ac;->f:Lcom/tencent/mobileqq/widget/QUICheckBox; //普通模式半屏Panel的原图勾选框
XposedBridge.hookAllConstructors("com.tencent.mobileqq.e.a.ac".clazz!!,HookUtils.afterIfEnabled(this) { param->
param.thisObject.get("f", QUICheckBox::class.java)!!.isChecked = true
})
//新全屏相册活动
"com.tencent.qqnt.qbasealbum.WinkHomeActivity".clazz!!.method("onCreate")!!.hookBefore {
val ctx=it.thisObject as Activity
ctx.intent.putExtra("key_is_quality_raw",true)
}
}
val method = when {
requireMinQQVersion(QQVersion.QQ_8_9_33) -> "d0"
requireMinQQVersion(QQVersion.QQ_8_9_18) -> "c0"
Expand Down

0 comments on commit f9dc30f

Please sign in to comment.