Merge code

This commit is contained in:
2022-03-13 01:00:05 +08:00
parent 5b411227d9
commit 8a90303228
7 changed files with 34 additions and 34 deletions

1
.idea/gradle.xml generated
View File

@@ -14,7 +14,6 @@
<option value="$PROJECT_DIR$/app" /> <option value="$PROJECT_DIR$/app" />
</set> </set>
</option> </option>
<option name="resolveModulePerSourceSet" value="false" />
</GradleProjectSettings> </GradleProjectSettings>
</option> </option>
</component> </component>

View File

@@ -38,15 +38,10 @@ class TSApplication : Application() {
* @return [TSApplication] * @return [TSApplication]
*/ */
val appContext get() = context ?: error("App is death") val appContext get() = context ?: error("App is death")
/** 自身 APP 是否已启动 */
var isMineStarted = false
} }
override fun onCreate() { override fun onCreate() {
super.onCreate() super.onCreate()
/** 设置状态 */
isMineStarted = true
/** 设置静态实例 */ /** 设置静态实例 */
context = this context = this
/** 跟随系统夜间模式 */ /** 跟随系统夜间模式 */

View File

@@ -36,12 +36,12 @@ import com.fankes.tsbattery.hook.HookConst.ENABLE_RUN_INFO
import com.fankes.tsbattery.hook.HookConst.QQ_PACKAGE_NAME import com.fankes.tsbattery.hook.HookConst.QQ_PACKAGE_NAME
import com.fankes.tsbattery.hook.HookConst.TIM_PACKAGE_NAME import com.fankes.tsbattery.hook.HookConst.TIM_PACKAGE_NAME
import com.fankes.tsbattery.hook.HookConst.WECHAT_PACKAGE_NAME import com.fankes.tsbattery.hook.HookConst.WECHAT_PACKAGE_NAME
import com.fankes.tsbattery.utils.showDialog import com.fankes.tsbattery.utils.factory.showDialog
import com.fankes.tsbattery.utils.versionCode import com.fankes.tsbattery.utils.factory.versionCode
import com.fankes.tsbattery.utils.versionName import com.fankes.tsbattery.utils.factory.versionName
import com.highcapable.yukihookapi.YukiHookAPI.configs
import com.highcapable.yukihookapi.annotation.xposed.InjectYukiHookWithXposed import com.highcapable.yukihookapi.annotation.xposed.InjectYukiHookWithXposed
import com.highcapable.yukihookapi.hook.bean.VariousClass import com.highcapable.yukihookapi.hook.bean.VariousClass
import com.highcapable.yukihookapi.hook.factory.configs
import com.highcapable.yukihookapi.hook.factory.encase import com.highcapable.yukihookapi.hook.factory.encase
import com.highcapable.yukihookapi.hook.factory.field import com.highcapable.yukihookapi.hook.factory.field
import com.highcapable.yukihookapi.hook.log.loggerD import com.highcapable.yukihookapi.hook.log.loggerD
@@ -292,11 +292,19 @@ class HookEntry : YukiHookXposedInitProxy {
} }
} }
override fun onHook() = encase { override fun onHook() {
configs { runConfig()
runHook()
}
/** 配置 Hook */
private fun runConfig() = configs {
debugTag = "TSBattery" debugTag = "TSBattery"
isDebug = false isDebug = false
} }
/** 开始 Hook */
private fun runHook() = encase {
loadApp(QQ_PACKAGE_NAME) { loadApp(QQ_PACKAGE_NAME) {
hookSystemWakeLock() hookSystemWakeLock()
hookNotification() hookNotification()

View File

@@ -48,10 +48,10 @@ import com.fankes.tsbattery.hook.HookConst.ENABLE_RUN_INFO
import com.fankes.tsbattery.hook.HookConst.QQ_PACKAGE_NAME import com.fankes.tsbattery.hook.HookConst.QQ_PACKAGE_NAME
import com.fankes.tsbattery.hook.HookConst.TIM_PACKAGE_NAME import com.fankes.tsbattery.hook.HookConst.TIM_PACKAGE_NAME
import com.fankes.tsbattery.hook.HookConst.WECHAT_PACKAGE_NAME import com.fankes.tsbattery.hook.HookConst.WECHAT_PACKAGE_NAME
import com.fankes.tsbattery.utils.isInstall import com.fankes.tsbattery.utils.factory.isInstall
import com.fankes.tsbattery.utils.isNotSystemInDarkMode import com.fankes.tsbattery.utils.factory.isNotSystemInDarkMode
import com.fankes.tsbattery.utils.openSelfSetting import com.fankes.tsbattery.utils.factory.openSelfSetting
import com.fankes.tsbattery.utils.showDialog import com.fankes.tsbattery.utils.factory.showDialog
import com.gyf.immersionbar.ktx.immersionBar import com.gyf.immersionbar.ktx.immersionBar
import com.highcapable.yukihookapi.hook.factory.isTaiChiModuleActive import com.highcapable.yukihookapi.hook.factory.isTaiChiModuleActive
import com.highcapable.yukihookapi.hook.factory.modulePrefs import com.highcapable.yukihookapi.hook.factory.modulePrefs

View File

@@ -21,7 +21,7 @@
*/ */
@file:Suppress("unused") @file:Suppress("unused")
package com.fankes.tsbattery.utils package com.fankes.tsbattery.utils.factory
import android.app.AlertDialog import android.app.AlertDialog
import android.content.Context import android.content.Context

View File

@@ -21,7 +21,7 @@
*/ */
@file:Suppress("DEPRECATION") @file:Suppress("DEPRECATION")
package com.fankes.tsbattery.utils package com.fankes.tsbattery.utils.factory
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
@@ -96,8 +96,7 @@ fun Number.dp(context: Context) = toFloat() * context.resources.displayMetrics.d
* 跳转 APP 自身设置界面 * 跳转 APP 自身设置界面
* @param packageName 包名 * @param packageName 包名
*/ */
fun Context.openSelfSetting(packageName: String) { fun Context.openSelfSetting(packageName: String) = runCatching {
try {
if (packageName.isInstall) if (packageName.isInstall)
startActivity(Intent().apply { startActivity(Intent().apply {
flags = Intent.FLAG_ACTIVITY_NEW_TASK flags = Intent.FLAG_ACTIVITY_NEW_TASK
@@ -105,8 +104,7 @@ fun Context.openSelfSetting(packageName: String) {
data = Uri.fromParts("package", packageName, null) data = Uri.fromParts("package", packageName, null)
}) })
else Toast.makeText(this, "你没有安装此应用", Toast.LENGTH_SHORT).show() else Toast.makeText(this, "你没有安装此应用", Toast.LENGTH_SHORT).show()
} catch (_: Exception) { }.onFailure {
Toast.makeText(this, "启动 $packageName 应用信息失败", Toast.LENGTH_SHORT).show() Toast.makeText(this, "启动 $packageName 应用信息失败", Toast.LENGTH_SHORT).show()
} }
}

View File

@@ -28,7 +28,7 @@ import android.content.res.ColorStateList
import android.graphics.Color import android.graphics.Color
import android.util.AttributeSet import android.util.AttributeSet
import androidx.appcompat.widget.SwitchCompat import androidx.appcompat.widget.SwitchCompat
import com.fankes.tsbattery.utils.dp import com.fankes.tsbattery.utils.factory.dp
import com.fankes.tsbattery.utils.drawable.drawabletoolbox.DrawableBuilder import com.fankes.tsbattery.utils.drawable.drawabletoolbox.DrawableBuilder
class MaterialSwitch(context: Context, attrs: AttributeSet?) : SwitchCompat(context, attrs) { class MaterialSwitch(context: Context, attrs: AttributeSet?) : SwitchCompat(context, attrs) {