mirror of
https://github.com/fankes/TSBattery.git
synced 2025-09-06 10:45:53 +08:00
Merge code
This commit is contained in:
1
.idea/gradle.xml
generated
1
.idea/gradle.xml
generated
@@ -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>
|
||||||
|
@@ -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
|
||||||
/** 跟随系统夜间模式 */
|
/** 跟随系统夜间模式 */
|
||||||
|
@@ -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()
|
||||||
debugTag = "TSBattery"
|
runHook()
|
||||||
isDebug = false
|
}
|
||||||
}
|
|
||||||
|
/** 配置 Hook */
|
||||||
|
private fun runConfig() = configs {
|
||||||
|
debugTag = "TSBattery"
|
||||||
|
isDebug = false
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 开始 Hook */
|
||||||
|
private fun runHook() = encase {
|
||||||
loadApp(QQ_PACKAGE_NAME) {
|
loadApp(QQ_PACKAGE_NAME) {
|
||||||
hookSystemWakeLock()
|
hookSystemWakeLock()
|
||||||
hookNotification()
|
hookNotification()
|
||||||
|
@@ -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
|
||||||
|
@@ -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
|
@@ -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,17 +96,15 @@ 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
|
action = Settings.ACTION_APPLICATION_DETAILS_SETTINGS
|
||||||
action = Settings.ACTION_APPLICATION_DETAILS_SETTINGS
|
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()
|
}.onFailure {
|
||||||
} catch (_: Exception) {
|
Toast.makeText(this, "启动 $packageName 应用信息失败", Toast.LENGTH_SHORT).show()
|
||||||
Toast.makeText(this, "启动 $packageName 应用信息失败", Toast.LENGTH_SHORT).show()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
@@ -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) {
|
||||||
|
Reference in New Issue
Block a user