mirror of
https://github.com/fankes/TSBattery.git
synced 2025-09-04 01:35:25 +08:00
refactor: update KavaRef usage to 1.0.1
This commit is contained in:
@@ -47,6 +47,7 @@ import com.fankes.tsbattery.hook.factory.startModuleSettings
|
||||
import com.fankes.tsbattery.hook.helper.DexKitHelper
|
||||
import com.fankes.tsbattery.utils.factory.appVersionName
|
||||
import com.fankes.tsbattery.utils.factory.dp
|
||||
import com.highcapable.kavaref.KavaRef.Companion.asResolver
|
||||
import com.highcapable.kavaref.KavaRef.Companion.resolve
|
||||
import com.highcapable.kavaref.extension.ArrayClass
|
||||
import com.highcapable.kavaref.extension.VariousClass
|
||||
@@ -150,7 +151,7 @@ object QQTIMHooker : YukiBaseHooker() {
|
||||
* @return [Activity] or null
|
||||
*/
|
||||
private fun Any.compatToActivity() = if (this !is Activity)
|
||||
resolve().optional().firstMethodOrNull { name = "getActivity"; superclass() }?.invoke()
|
||||
asResolver().optional().firstMethodOrNull { name = "getActivity"; superclass() }?.invoke()
|
||||
else this
|
||||
|
||||
/** 使用 DexKit 进行搜索 */
|
||||
@@ -496,13 +497,13 @@ object QQTIMHooker : YukiBaseHooker() {
|
||||
*/
|
||||
private fun hookQQSettingsUiLegacy(instance: Any?) {
|
||||
/** 当前的顶级 Item 实例 */
|
||||
val formItemRefRoot = instance?.resolve()?.optional()?.lastFieldOrNull {
|
||||
val formItemRefRoot = instance?.asResolver()?.optional()?.lastFieldOrNull {
|
||||
type { it == FormSimpleItemClass || it == FormCommonSingleLineItemClass }
|
||||
}?.get<View>()
|
||||
|
||||
/** 创建一个新的 Item */
|
||||
val item = FormSimpleItemClass?.createInstanceAsTypeOrNull<View>(instance?.compatToActivity())
|
||||
item?.resolve()?.optional()?.apply {
|
||||
item?.asResolver()?.optional()?.apply {
|
||||
firstMethodOrNull {
|
||||
name = "setLeftText"
|
||||
parameters(CharSequence::class)
|
||||
|
@@ -42,6 +42,7 @@ import com.fankes.tsbattery.utils.factory.absoluteStatusBarHeight
|
||||
import com.fankes.tsbattery.utils.factory.appVersionCode
|
||||
import com.fankes.tsbattery.utils.factory.appVersionName
|
||||
import com.fankes.tsbattery.utils.factory.dp
|
||||
import com.highcapable.kavaref.KavaRef.Companion.asResolver
|
||||
import com.highcapable.kavaref.KavaRef.Companion.resolve
|
||||
import com.highcapable.yukihookapi.hook.entity.YukiBaseHooker
|
||||
import com.highcapable.yukihookapi.hook.factory.injectModuleAppResources
|
||||
@@ -125,7 +126,7 @@ object WeChatHooker : YukiBaseHooker() {
|
||||
name = "get_fragment"
|
||||
emptyParameters()
|
||||
superclass()
|
||||
}?.of(instance)?.invoke()?.resolve()?.optional()?.firstMethodOrNull {
|
||||
}?.of(instance)?.invoke()?.asResolver()?.optional()?.firstMethodOrNull {
|
||||
name = "getView"
|
||||
emptyParameters()
|
||||
returnType = View::class
|
||||
|
@@ -30,6 +30,7 @@ import com.fankes.tsbattery.const.JumpEvent
|
||||
import com.fankes.tsbattery.const.PackageName
|
||||
import com.fankes.tsbattery.hook.entity.QQTIMHooker.toClass
|
||||
import com.fankes.tsbattery.ui.activity.parasitic.ConfigActivity
|
||||
import com.highcapable.kavaref.KavaRef.Companion.asResolver
|
||||
import com.highcapable.kavaref.KavaRef.Companion.resolve
|
||||
import com.highcapable.kavaref.extension.VariousClass
|
||||
import com.highcapable.yukihookapi.YukiHookAPI
|
||||
@@ -53,7 +54,7 @@ fun Context.isQQNightMode(): Boolean {
|
||||
name = "sMobileQQ"
|
||||
superclass()
|
||||
}?.get()
|
||||
val mAppRuntime = sMobileQQ?.resolve()
|
||||
val mAppRuntime = sMobileQQ?.asResolver()
|
||||
?.optional()
|
||||
?.firstFieldOrNull {
|
||||
name = "mAppRuntime"
|
||||
|
@@ -48,9 +48,9 @@ libraries:
|
||||
version-ref: <this>::api
|
||||
com.highcapable.kavaref:
|
||||
kavaref-core:
|
||||
version: 1.0.0
|
||||
version: 1.0.1
|
||||
kavaref-extension:
|
||||
version: 1.0.0
|
||||
version: 1.0.1
|
||||
com.highcapable.hikage:
|
||||
hikage-core:
|
||||
version: 1.0.1
|
||||
|
Reference in New Issue
Block a user