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