mirror of
https://github.com/fankes/TSBattery.git
synced 2025-09-06 18:55:45 +08:00
Fix QQ, TIM make Activity DPI deformation problem
This commit is contained in:
@@ -23,6 +23,7 @@ package com.fankes.tsbattery.hook.entity
|
|||||||
|
|
||||||
import android.app.Activity
|
import android.app.Activity
|
||||||
import android.app.Service
|
import android.app.Service
|
||||||
|
import android.content.res.Configuration
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
@@ -75,6 +76,9 @@ object QQTIMHooker : YukiBaseHooker() {
|
|||||||
private val BaseChatPieClass =
|
private val BaseChatPieClass =
|
||||||
VariousClass("${PackageName.QQ}.activity.aio.core.BaseChatPie", "${PackageName.QQ}.activity.BaseChatPie")
|
VariousClass("${PackageName.QQ}.activity.aio.core.BaseChatPie", "${PackageName.QQ}.activity.BaseChatPie")
|
||||||
|
|
||||||
|
/** 默认的 [Configuration] */
|
||||||
|
var baseConfiguration: Configuration? = null
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 当前是否为 QQ
|
* 当前是否为 QQ
|
||||||
* @return [Boolean]
|
* @return [Boolean]
|
||||||
@@ -504,6 +508,9 @@ object QQTIMHooker : YukiBaseHooker() {
|
|||||||
|
|
||||||
override fun onHook() {
|
override fun onHook() {
|
||||||
onAppLifecycle {
|
onAppLifecycle {
|
||||||
|
attachBaseContext { baseContext, hasCalledSuper ->
|
||||||
|
if (hasCalledSuper.not()) baseConfiguration = baseContext.resources.configuration
|
||||||
|
}
|
||||||
onCreate {
|
onCreate {
|
||||||
appVersionName = versionName
|
appVersionName = versionName
|
||||||
ConfigData.init(context = this)
|
ConfigData.init(context = this)
|
||||||
|
@@ -19,12 +19,13 @@
|
|||||||
*
|
*
|
||||||
* This file is Created by fankes on 2022/9/28.
|
* This file is Created by fankes on 2022/9/28.
|
||||||
*/
|
*/
|
||||||
@file:Suppress("SetTextI18n")
|
@file:Suppress("SetTextI18n", "DEPRECATION")
|
||||||
|
|
||||||
package com.fankes.tsbattery.ui.activity.parasitic
|
package com.fankes.tsbattery.ui.activity.parasitic
|
||||||
|
|
||||||
import android.content.ComponentName
|
import android.content.ComponentName
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
|
import android.content.res.Resources
|
||||||
import android.widget.TextView
|
import android.widget.TextView
|
||||||
import androidx.core.view.isGone
|
import androidx.core.view.isGone
|
||||||
import androidx.core.view.isVisible
|
import androidx.core.view.isVisible
|
||||||
@@ -34,6 +35,7 @@ import com.fankes.tsbattery.data.ConfigData
|
|||||||
import com.fankes.tsbattery.data.ConfigData.bind
|
import com.fankes.tsbattery.data.ConfigData.bind
|
||||||
import com.fankes.tsbattery.databinding.ActivityConfigBinding
|
import com.fankes.tsbattery.databinding.ActivityConfigBinding
|
||||||
import com.fankes.tsbattery.hook.HookEntry
|
import com.fankes.tsbattery.hook.HookEntry
|
||||||
|
import com.fankes.tsbattery.hook.entity.QQTIMHooker
|
||||||
import com.fankes.tsbattery.ui.activity.MainActivity
|
import com.fankes.tsbattery.ui.activity.MainActivity
|
||||||
import com.fankes.tsbattery.ui.activity.base.BaseActivity
|
import com.fankes.tsbattery.ui.activity.base.BaseActivity
|
||||||
import com.fankes.tsbattery.utils.factory.*
|
import com.fankes.tsbattery.utils.factory.*
|
||||||
@@ -117,6 +119,17 @@ class ConfigActivity : BaseActivity<ActivityConfigBinding>() {
|
|||||||
text = text.toString().replace(oldValue = "{APP_NAME}", appName)
|
text = text.toString().replace(oldValue = "{APP_NAME}", appName)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** 重新设置 DPI 防止 QQ、TIM 修改它 */
|
||||||
|
override fun getResources(): Resources? = super.getResources().apply {
|
||||||
|
if (packageName == PackageName.QQ || packageName == PackageName.TIM)
|
||||||
|
QQTIMHooker.baseConfiguration?.also {
|
||||||
|
updateConfiguration(configuration.apply {
|
||||||
|
fontScale = it.fontScale
|
||||||
|
densityDpi = it.densityDpi
|
||||||
|
}, displayMetrics)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取当前 APP 名称
|
* 获取当前 APP 名称
|
||||||
* @return [String]
|
* @return [String]
|
||||||
|
Reference in New Issue
Block a user