mirror of
https://github.com/fankes/TSBattery.git
synced 2025-09-04 17:55:30 +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.Service
|
||||
import android.content.res.Configuration
|
||||
import android.os.Build
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
@@ -75,6 +76,9 @@ object QQTIMHooker : YukiBaseHooker() {
|
||||
private val BaseChatPieClass =
|
||||
VariousClass("${PackageName.QQ}.activity.aio.core.BaseChatPie", "${PackageName.QQ}.activity.BaseChatPie")
|
||||
|
||||
/** 默认的 [Configuration] */
|
||||
var baseConfiguration: Configuration? = null
|
||||
|
||||
/**
|
||||
* 当前是否为 QQ
|
||||
* @return [Boolean]
|
||||
@@ -504,6 +508,9 @@ object QQTIMHooker : YukiBaseHooker() {
|
||||
|
||||
override fun onHook() {
|
||||
onAppLifecycle {
|
||||
attachBaseContext { baseContext, hasCalledSuper ->
|
||||
if (hasCalledSuper.not()) baseConfiguration = baseContext.resources.configuration
|
||||
}
|
||||
onCreate {
|
||||
appVersionName = versionName
|
||||
ConfigData.init(context = this)
|
||||
|
@@ -19,12 +19,13 @@
|
||||
*
|
||||
* This file is Created by fankes on 2022/9/28.
|
||||
*/
|
||||
@file:Suppress("SetTextI18n")
|
||||
@file:Suppress("SetTextI18n", "DEPRECATION")
|
||||
|
||||
package com.fankes.tsbattery.ui.activity.parasitic
|
||||
|
||||
import android.content.ComponentName
|
||||
import android.content.Intent
|
||||
import android.content.res.Resources
|
||||
import android.widget.TextView
|
||||
import androidx.core.view.isGone
|
||||
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.databinding.ActivityConfigBinding
|
||||
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.base.BaseActivity
|
||||
import com.fankes.tsbattery.utils.factory.*
|
||||
@@ -117,6 +119,17 @@ class ConfigActivity : BaseActivity<ActivityConfigBinding>() {
|
||||
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 名称
|
||||
* @return [String]
|
||||
|
Reference in New Issue
Block a user