修复状态栏通知个数显示导致隐藏图标无效的 BUG

This commit is contained in:
2022-03-17 10:11:26 +08:00
parent 3d977998c1
commit 7a5df6457f
5 changed files with 21 additions and 15 deletions

4
.idea/misc.xml generated
View File

@@ -7,6 +7,7 @@
<entry key="app/src/main/res/drawable-night/permotion_round.xml" value="0.256" /> <entry key="app/src/main/res/drawable-night/permotion_round.xml" value="0.256" />
<entry key="app/src/main/res/drawable-v24/ic_launcher_foreground.xml" value="0.44871794871794873" /> <entry key="app/src/main/res/drawable-v24/ic_launcher_foreground.xml" value="0.44871794871794873" />
<entry key="app/src/main/res/drawable/bg_green_round.xml" value="0.255" /> <entry key="app/src/main/res/drawable/bg_green_round.xml" value="0.255" />
<entry key="app/src/main/res/drawable/bg_warn_round.xml" value="0.2325" />
<entry key="app/src/main/res/drawable/bg_yellow_round.xml" value="0.255" /> <entry key="app/src/main/res/drawable/bg_yellow_round.xml" value="0.255" />
<entry key="app/src/main/res/drawable/permotion_round.xml" value="0.256" /> <entry key="app/src/main/res/drawable/permotion_round.xml" value="0.256" />
<entry key="app/src/main/res/drawable/white_round.xml" value="0.256" /> <entry key="app/src/main/res/drawable/white_round.xml" value="0.256" />
@@ -15,10 +16,11 @@
<entry key="app/src/main/res/layout-w936dp/dia_status_icon_cout.xml" value="0.935546875" /> <entry key="app/src/main/res/layout-w936dp/dia_status_icon_cout.xml" value="0.935546875" />
<entry key="app/src/main/res/layout/activity_config.xml" value="0.42168674698795183" /> <entry key="app/src/main/res/layout/activity_config.xml" value="0.42168674698795183" />
<entry key="app/src/main/res/layout/activity_login.xml" value="0.4375" /> <entry key="app/src/main/res/layout/activity_login.xml" value="0.4375" />
<entry key="app/src/main/res/layout/activity_main.xml" value="0.343980343980344" /> <entry key="app/src/main/res/layout/activity_main.xml" value="0.3448275862068966" />
<entry key="app/src/main/res/layout/adapter_config.xml" value="0.375" /> <entry key="app/src/main/res/layout/adapter_config.xml" value="0.375" />
<entry key="app/src/main/res/layout/dia_icon_filter.xml" value="0.4307692307692308" /> <entry key="app/src/main/res/layout/dia_icon_filter.xml" value="0.4307692307692308" />
<entry key="app/src/main/res/layout/dia_icon_search.xml" value="0.4307692307692308" /> <entry key="app/src/main/res/layout/dia_icon_search.xml" value="0.4307692307692308" />
<entry key="app/src/main/res/layout/dia_source_from.xml" value="0.3591278324070115" />
<entry key="app/src/main/res/layout/dia_source_from_string.xml" value="0.4307692307692308" /> <entry key="app/src/main/res/layout/dia_source_from_string.xml" value="0.4307692307692308" />
<entry key="app/src/main/res/layout/dia_status_icon_count.xml" value="0.45" /> <entry key="app/src/main/res/layout/dia_status_icon_count.xml" value="0.45" />
<entry key="app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml" value="0.44871794871794873" /> <entry key="app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml" value="0.44871794871794873" />

View File

@@ -30,7 +30,7 @@ android {
buildTypes { buildTypes {
release { release {
minifyEnabled true minifyEnabled false
signingConfig signingConfigs.debug signingConfig signingConfigs.debug
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
} }

View File

@@ -119,6 +119,9 @@ class HookEntry : YukiHookXposedInitProxy {
/** 缓存的通知优化图标数组 */ /** 缓存的通知优化图标数组 */
private var iconDatas = ArrayList<IconDataBean>() private var iconDatas = ArrayList<IconDataBean>()
/** 是否显示通知图标 - 跟随 Hook 保存 */
private var isShowNotificationIcons = true
/** /**
* - 这个是修复彩色图标的关键核心代码判断 * - 这个是修复彩色图标的关键核心代码判断
* *
@@ -558,12 +561,19 @@ class HookEntry : YukiHookXposedInitProxy {
method { name = "updateState" } method { name = "updateState" }
beforeHook { beforeHook {
/** 解除状态栏通知图标个数限制 */ /** 解除状态栏通知图标个数限制 */
if (prefs.getBoolean(ENABLE_HOOK_STATUS_ICON_COUNT, default = true)) if (isShowNotificationIcons && prefs.getBoolean(ENABLE_HOOK_STATUS_ICON_COUNT, default = true))
field { name = "MAX_STATIC_ICONS" } field { name = "MAX_STATIC_ICONS" }
.get(instance).set(prefs.getInt(HOOK_STATUS_ICON_COUNT, default = 5) .get(instance).set(prefs.getInt(HOOK_STATUS_ICON_COUNT, default = 5)
.let { if (it in 0..100) it else 5 }) .let { if (it in 0..100) it else 5 })
} }
} }
injectMember {
method {
name = "miuiShowNotificationIcons"
param(BooleanType)
}
beforeHook { isShowNotificationIcons = firstArgs as Boolean }
}
} }
NotificationHeaderViewWrapperClass.hook { NotificationHeaderViewWrapperClass.hook {
/** 修复下拉通知图标自动设置回 APP 图标的方法 */ /** 修复下拉通知图标自动设置回 APP 图标的方法 */

View File

@@ -211,18 +211,12 @@ val Context.versionName get() = packageInfo.versionName ?: ""
*/ */
val Context.versionCode get() = packageInfo.versionCode val Context.versionCode get() = packageInfo.versionCode
/**
* dp 转换为 px
* @return [Int]
*/
val Number.dp get() = (toFloat() * appContext.resources.displayMetrics.density).toInt()
/** /**
* dp 转换为 px * dp 转换为 px
* @param context 使用的实例 * @param context 使用的实例
* @return [Float] * @return [Float]
*/ */
fun Number.dp(context: Context) = toFloat() * context.resources.displayMetrics.density fun Number.dp(context: Context) = (toFloat() * context.resources.displayMetrics.density)
/** /**
* Base64 加密 * Base64 加密

View File

@@ -48,16 +48,16 @@ class MaterialSwitch(context: Context, attrs: AttributeSet?) : SwitchCompat(cont
.rectangle() .rectangle()
.rounded() .rounded()
.solidColor(0xFF656565.toInt()) .solidColor(0xFF656565.toInt())
.height(20.dp) .height(20.dp(context).toInt())
.cornerRadius(15.dp) .cornerRadius(15.dp(context).toInt())
.build() .build()
thumbDrawable = DrawableBuilder() thumbDrawable = DrawableBuilder()
.rectangle() .rectangle()
.rounded() .rounded()
.solidColor(Color.WHITE) .solidColor(Color.WHITE)
.size(20.dp, 20.dp) .size(20.dp(context).toInt(), 20.dp(context).toInt())
.cornerRadius(20.dp) .cornerRadius(20.dp(context).toInt())
.strokeWidth(8.dp) .strokeWidth(8.dp(context).toInt())
.strokeColor(Color.TRANSPARENT) .strokeColor(Color.TRANSPARENT)
.build() .build()
trackTintList = toColors( trackTintList = toColors(