diff --git a/app/src/main/java/com/fankes/tsbattery/hook/HookMain.kt b/app/src/main/java/com/fankes/tsbattery/hook/HookMain.kt index 94c757a..0c5a778 100644 --- a/app/src/main/java/com/fankes/tsbattery/hook/HookMain.kt +++ b/app/src/main/java/com/fankes/tsbattery/hook/HookMain.kt @@ -122,7 +122,7 @@ class HookMain : IXposedHookLoadPackage { replaceToNull(BASE_CHAT_PIE, "bj") replaceToNull(BASE_CHAT_PIE, "bk") } - "8.8.55" -> { + "8.8.55", "8.8.68" -> { replaceToNull(BASE_CHAT_PIE, "bk") replaceToNull(BASE_CHAT_PIE, "bl") } @@ -224,7 +224,7 @@ class HookMain : IXposedHookLoadPackage { msg = "[提示模块运行信息功能已打开]\n\n" + "模块工作看起来一切正常,请自行测试是否能达到省电效果。\n\n" + "已生效模块版本:${XPrefUtils.getString(HookMedium.ENABLE_MODULE_VERSION)}\n" + - "当前模式:${if (XPrefUtils.getBoolean(HookMedium.ENABLE_WHITE_MODE)) "保守模式" else "完全模式"}" + + "当前模式:${if (XPrefUtils.getBoolean(HookMedium.ENABLE_QQTIM_WHITE_MODE)) "保守模式" else "完全模式"}" + "\n\n包名:${packageName}\n版本:$versionName($versionCode)" + "\n\n模块只对挂后台锁屏情况下有省电效果,请不要将过多的群提醒,消息通知打开,这样子在使用过程时照样会极其耗电。\n\n" + "如果你不想看到此提示。请在模块设置中关闭“提示模块运行信息”,此设置默认关闭。\n\n" + @@ -238,7 +238,7 @@ class HookMain : IXposedHookLoadPackage { }) } /** 关闭保守模式后不再仅仅作用于系统电源锁 */ - if (!XPrefUtils.getBoolean(HookMedium.ENABLE_WHITE_MODE)) { + if (!XPrefUtils.getBoolean(HookMedium.ENABLE_QQTIM_WHITE_MODE)) { runWithoutError("BaseChatPie(first time)") { /** 通过在 SplashActivity 里取到应用的版本号 */ XposedHelpers.findAndHookMethod( @@ -276,6 +276,7 @@ class HookMain : IXposedHookLoadPackage { /** * Hook 掉一个一像素保活 [Activity] 真的我怎么都想不到讯哥的程序员做出这种事情 * 这个东西经过测试会在锁屏的时候吊起来,解锁的时候自动 finish(),无限耍流氓耗电 + * 2022/1/25 后期查证:锁屏界面消息快速回复窗口的解锁后拉起保活界面,也是毒瘤 */ XposedHelpers.findAndHookMethod( "$QQ_PACKAGE_NAME.activity.QQLSUnlockActivity", @@ -308,9 +309,10 @@ class HookMain : IXposedHookLoadPackage { } ) /** - * 这个东西同上,不知道是啥时候调用 + * 这个东西同上 * 反正也是一个一像素保活的 [Activity] * 讯哥的程序员真的有你的 + * 2022/1/25 后期查证:锁屏界面消息快速回复窗口 */ XposedHelpers.findAndHookMethod( "$QQ_PACKAGE_NAME.activity.QQLSActivity\$14", diff --git a/app/src/main/java/com/fankes/tsbattery/hook/HookMedium.kt b/app/src/main/java/com/fankes/tsbattery/hook/HookMedium.kt index 34aff44..6a90f1d 100644 --- a/app/src/main/java/com/fankes/tsbattery/hook/HookMedium.kt +++ b/app/src/main/java/com/fankes/tsbattery/hook/HookMedium.kt @@ -33,7 +33,10 @@ object HookMedium { const val ENABLE_HIDE_ICON = "_hide_icon" const val ENABLE_RUN_INFO = "_tip_run_info" - const val ENABLE_WHITE_MODE = "_white_mode" + const val ENABLE_QQTIM_WHITE_MODE = "_qqtim_white_mode" + const val ENABLE_QQTIM_CORESERVICE = "_qqtim_core_service" + const val ENABLE_QQTIM_CORESERVICE_CHILD = "_qqtim_core_service_child" + const val ENABLE_WECHAT_HOOK = "_wechat_hook" const val ENABLE_MODULE_VERSION = "_module_version" const val SELF_PACKAGE_NAME = "com.fankes.tsbattery" @@ -63,20 +66,20 @@ object HookMedium { var result: Bundle? = null try { result = it.contentResolver.call(uri, "active", null, null) - } catch (e: RuntimeException) { + } catch (_: RuntimeException) { // TaiChi is killed, try invoke try { val intent = Intent("me.weishu.exp.ACTION_ACTIVE") intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) it.startActivity(intent) - } catch (e1: Throwable) { + } catch (_: Throwable) { return false } } if (result == null) result = it.contentResolver.call(uri, "active", null, null) if (result == null) return false isExp = result.getBoolean("active", false) - } catch (ignored: Throwable) { + } catch (_: Throwable) { } } return isExp diff --git a/app/src/main/java/com/fankes/tsbattery/ui/MainActivity.kt b/app/src/main/java/com/fankes/tsbattery/ui/MainActivity.kt index e0b7b77..32cb152 100644 --- a/app/src/main/java/com/fankes/tsbattery/ui/MainActivity.kt +++ b/app/src/main/java/com/fankes/tsbattery/ui/MainActivity.kt @@ -58,9 +58,9 @@ class MainActivity : AppCompatActivity() { private const val moduleVersion = BuildConfig.VERSION_NAME private const val qqSupportVersion = - "8.8.17、8.8.23、8.8.35、8.8.38、8.8.50、8.8.55 (8.5.5~8.8.55)" + "8.8.17、8.8.23、8.8.35、8.8.38、8.8.50、8.8.55、8.8.68 (8.5.5~8.8.68)" private const val timSupportVersion = "2+、3+ (并未完全测试每个版本)" - private const val wechatSupportVersion = "全版本仅支持基础省电,更多功能敬请期待" + private const val wechatSupportVersion = "全版本仅支持基础省电,更多功能依然画饼" /** 声明当前实例 */ var instance: MainActivity? = null @@ -143,12 +143,12 @@ class MainActivity : AppCompatActivity() { val hideIconInLauncherSwitch = findViewById(R.id.hide_icon_in_launcher_switch) val notifyModuleInfoSwitch = findViewById(R.id.notify_module_info_switch) /** 获取 Sp 存储的信息 */ - protectModeSwitch.isChecked = getBoolean(HookMedium.ENABLE_WHITE_MODE) + protectModeSwitch.isChecked = getBoolean(HookMedium.ENABLE_QQTIM_WHITE_MODE) hideIconInLauncherSwitch.isChecked = getBoolean(HookMedium.ENABLE_HIDE_ICON) notifyModuleInfoSwitch.isChecked = getBoolean(HookMedium.ENABLE_RUN_INFO) protectModeSwitch.setOnCheckedChangeListener { btn, b -> if (!btn.isPressed) return@setOnCheckedChangeListener - putBoolean(HookMedium.ENABLE_WHITE_MODE, b) + putBoolean(HookMedium.ENABLE_QQTIM_WHITE_MODE, b) } hideIconInLauncherSwitch.setOnCheckedChangeListener { btn, b -> if (!btn.isPressed) return@setOnCheckedChangeListener diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 1d64a37..254f3f4 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -282,8 +282,35 @@ android:elevation="0dp" android:gravity="center" android:orientation="vertical" - android:paddingLeft="15dp" - android:paddingRight="15dp"> + android:padding="15dp"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +