mirror of
https://github.com/fankes/TSBattery.git
synced 2025-09-04 17:55:30 +08:00
优化代码,适配 Play 版本
This commit is contained in:
@@ -46,6 +46,10 @@ class HookMain : IXposedHookLoadPackage {
|
||||
|
||||
companion object {
|
||||
|
||||
/** 旧版类名 */
|
||||
private const val BASE_CHAT_PIE_LEGACY = "activity.BaseChatPie"
|
||||
|
||||
/** 新版类名 */
|
||||
private const val BASE_CHAT_PIE = "activity.aio.core.BaseChatPie"
|
||||
}
|
||||
|
||||
@@ -106,6 +110,10 @@ class HookMain : IXposedHookLoadPackage {
|
||||
*/
|
||||
private fun XC_LoadPackage.LoadPackageParam.hookQQBaseChatPie(version: String) {
|
||||
when (version) {
|
||||
"8.2.11" -> {
|
||||
replaceToNull(BASE_CHAT_PIE_LEGACY, "bE")
|
||||
replaceToNull(BASE_CHAT_PIE_LEGACY, "aV")
|
||||
}
|
||||
"8.8.17" -> {
|
||||
replaceToNull(BASE_CHAT_PIE, "bd")
|
||||
replaceToNull(BASE_CHAT_PIE, "be")
|
||||
@@ -460,6 +468,7 @@ class HookMain : IXposedHookLoadPackage {
|
||||
* 带给用户的却是 shit 一样的体验
|
||||
* 里面有各种使用 Handler 和 Timer 的各种耗时常驻后台耗电办法持续接收消息
|
||||
* 直接循环全部方法全部干掉
|
||||
* 👮🏻 经过排查 Play 版本没这个类...... Emmmm 不想说啥了
|
||||
*/
|
||||
lpparam.classLoader.loadClass("com.tencent.qapmsdk.qqbattery.monitor.WakeLockMonitor")
|
||||
.apply {
|
||||
|
@@ -59,7 +59,7 @@ 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.8.68 (8.5.5~8.8.68)"
|
||||
"8.2.11(Play)、8.8.17、8.8.23、8.8.35、8.8.38、8.8.50、8.8.55、8.8.68 (8.2.11、8.5.5~8.8.68)"
|
||||
private const val timSupportVersion = "2+、3+ (并未完全测试每个版本)"
|
||||
private const val wechatSupportVersion = "全版本仅支持基础省电,更多功能依然画饼"
|
||||
|
||||
|
@@ -84,11 +84,13 @@ fun Number.dp(context: Context) = toFloat() * context.resources.displayMetrics.d
|
||||
*/
|
||||
fun Context.openSelfSetting(packageName: String) {
|
||||
try {
|
||||
startActivity(Intent().apply {
|
||||
flags = Intent.FLAG_ACTIVITY_NEW_TASK
|
||||
action = Settings.ACTION_APPLICATION_DETAILS_SETTINGS
|
||||
data = Uri.fromParts("package", packageName, null)
|
||||
})
|
||||
if (packageName.isInstall)
|
||||
startActivity(Intent().apply {
|
||||
flags = Intent.FLAG_ACTIVITY_NEW_TASK
|
||||
action = Settings.ACTION_APPLICATION_DETAILS_SETTINGS
|
||||
data = Uri.fromParts("package", packageName, null)
|
||||
})
|
||||
else Toast.makeText(this, "你没有安装此应用", Toast.LENGTH_SHORT).show()
|
||||
} catch (_: Exception) {
|
||||
Toast.makeText(this, "启动 $packageName 应用信息失败", Toast.LENGTH_SHORT).show()
|
||||
}
|
||||
|
Reference in New Issue
Block a user