mirror of
https://github.com/fankes/MIUINativeNotifyIcon.git
synced 2025-09-06 10:45:20 +08:00
Compare commits
25 Commits
Author | SHA1 | Date | |
---|---|---|---|
8f8c260069 | |||
3461a28881 | |||
b1b99ccdfe | |||
3aa7ee2a6a | |||
1829a44eb3 | |||
b5219a00cc | |||
da81e12a60 | |||
57a14fdaf1 | |||
be18502fd8 | |||
4914ae20b2 | |||
3b338214fc | |||
3a484e4a63 | |||
199ad9fc66 | |||
51e3eb8784 | |||
e05d65e7e5 | |||
2fb557afd8 | |||
8737aaac30 | |||
993ceb5050 | |||
b1baaf4403 | |||
db9f866178 | |||
f2bccafd92 | |||
d798ca944d | |||
ca81a61aae | |||
cd4f7be354 | |||
6c961f044f |
@@ -21,8 +21,8 @@
|
||||
|
||||
```kotlin
|
||||
IconDataBean(
|
||||
isEnabled = true, // 是否默认启用替换
|
||||
isEnabledAll = false, // 是否默认启用完全替换
|
||||
isEnabled = true, // 是否默认启用替换彩色图标 - 关闭后将全部停止替换
|
||||
isEnabledAll = false, // 是否默认启用替换全部图标
|
||||
appName = "", // APP 名称
|
||||
packageName = "", // APP 包名
|
||||
iconBitmap = ("").bitmap, // 位图数据 Base64
|
||||
|
16
README.md
16
README.md
@@ -2,7 +2,7 @@
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||
<br/><br/>
|
||||
<img src="https://github.com/fankes/MIUINativeNotifyIcon/blob/master/app/src/main/ic_launcher-playstore.png" width = "100" height = "100"/>
|
||||
<br/>
|
||||
@@ -12,13 +12,13 @@ Fix the native notification bar icon function abandoned by the MIUI development
|
||||
# 开始使用
|
||||
|
||||
点击下载最新版本
|
||||
<a href='https://github.com/fankes/MIUINativeNotifyIcon/releases'></a>
|
||||
<a href='https://github.com/fankes/MIUINativeNotifyIcon/releases'></a>
|
||||
<br/><br/>
|
||||
⚠️ 适配说明<br/>
|
||||
|
||||
- 此模块仅支持 Lsposed(作用域“系统界面”)、EdXposed(不推荐)、不支持太极无极(阴)
|
||||
- 目前最低支持基于 Android 9 版本的 MIUI12 或 MIUI12.5(建议)
|
||||
- 使用 Zygisk 方式运行的 Lsposed 可能会发生 Hook 不生效的问题,若出现问题请使用 Ramdisk 版本的 Lsposed
|
||||
- 此模块仅支持 LSPosed(作用域“系统界面”)、~~EdXposed(随时停止支持)~~、不支持太极无极
|
||||
- 目前最低支持基于 Android 9 版本的 MIUI 12 或 MIUI 12.5(最低建议)
|
||||
- 请始终保持最新版本的 LSPosed,旧版本可能会出现 Hook 不生效的问题
|
||||
|
||||
# 禁止任何商业用途
|
||||
|
||||
@@ -69,6 +69,12 @@ ContrastColorUtil.getInstance().isGrayscaleIcon(drawable);
|
||||
- 后来一想,也是啊,被国内生态毒害的用户,怎么可能会去想到这些问题呢,最后只能是我自作多情,还对 MIUI 留有一点情怀吧。
|
||||
- ——来自一个无可奈何的 MIUI 老用户
|
||||
|
||||
# 后记
|
||||
|
||||
- 近期重新适配了 MIUI 12、12.5、13 版本,每个版本的图标设置方法都不一样,而且改的乱七八糟的,我都要无语了,只能用了很多折中方案,毕竟我也没有那么大精力每个版本去修复,实在是累了
|
||||
- 特地的把自己能有的小米手机刷成各种 MIUI 版本去为酷友做专项适配,我也是很累了,也希望你们能够多多支持,也能让 MIUI 做得更好
|
||||
- MIUI 再不重写,怕是永远会变成安卓之光。雷军,金凡!!
|
||||
|
||||
# 许可证
|
||||
|
||||
- [GPL-3.0](https://www.gnu.org/licenses/gpl-3.0.html)
|
||||
|
@@ -21,8 +21,8 @@ android {
|
||||
applicationId "com.fankes.miui.notify"
|
||||
minSdk 26
|
||||
targetSdk 26
|
||||
versionCode 5
|
||||
versionName "1.25"
|
||||
versionCode 7
|
||||
versionName "1.35"
|
||||
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
}
|
||||
@@ -45,6 +45,7 @@ android {
|
||||
|
||||
dependencies {
|
||||
compileOnly 'de.robv.android.xposed:api:82'
|
||||
implementation "com.github.topjohnwu.libsu:core:3.1.2"
|
||||
// 基础依赖包
|
||||
implementation 'com.gyf.immersionbar:immersionbar:3.0.0'
|
||||
// Fragment 快速实现
|
||||
|
@@ -30,8 +30,8 @@ import java.io.Serializable
|
||||
* @param packageName 包名
|
||||
* @param iconBitmap 图标位图
|
||||
* @param contributorName 贡献者昵称
|
||||
* @param isEnabled 是否默认启用替换
|
||||
* @param isEnabledAll 是否默认启用完全替换
|
||||
* @param isEnabled 是否默认启用替换彩色图标 - 关闭后将全部停止替换
|
||||
* @param isEnabledAll 是否默认启用替换全部图标
|
||||
*/
|
||||
data class IconDataBean(
|
||||
var appName: String,
|
||||
|
@@ -22,6 +22,7 @@
|
||||
|
||||
package com.fankes.miui.notify.hook
|
||||
|
||||
import android.app.Notification
|
||||
import android.content.Context
|
||||
import android.graphics.Bitmap
|
||||
import android.graphics.Color
|
||||
@@ -47,20 +48,37 @@ class HookMain : IXposedHookLoadPackage {
|
||||
|
||||
companion object {
|
||||
|
||||
/** 一直存在的类 */
|
||||
private const val SystemUIApplicationClass = "$SYSTEMUI_PACKAGE_NAME.SystemUIApplication"
|
||||
|
||||
/** MIUI 新版本存在的类 */
|
||||
private const val NotificationHeaderViewWrapperInjectorClass =
|
||||
"$SYSTEMUI_PACKAGE_NAME.statusbar.notification.row.wrapper.NotificationHeaderViewWrapperInjector"
|
||||
|
||||
/** 一直存在的类 */
|
||||
private const val NotificationHeaderViewWrapperClass =
|
||||
"$SYSTEMUI_PACKAGE_NAME.statusbar.notification.NotificationHeaderViewWrapper"
|
||||
|
||||
/** 一直存在的类 */
|
||||
private const val NotificationViewWrapperClass =
|
||||
"$SYSTEMUI_PACKAGE_NAME.statusbar.notification.NotificationViewWrapper"
|
||||
|
||||
/** 原生存在的类 */
|
||||
private const val StatusBarIconViewClass = "$SYSTEMUI_PACKAGE_NAME.statusbar.StatusBarIconView"
|
||||
|
||||
/** 原生存在的类 */
|
||||
private const val ContrastColorUtilClass = "com.android.internal.util.ContrastColorUtil"
|
||||
|
||||
/** 未确定是否只有旧版本存在的类 */
|
||||
private const val ExpandableNotificationRowClass = "$SYSTEMUI_PACKAGE_NAME.statusbar.ExpandableNotificationRow"
|
||||
|
||||
/** 根据多个版本存在不同的包名相同的类 */
|
||||
private val NotificationUtilClass = Pair(
|
||||
"$SYSTEMUI_PACKAGE_NAME.statusbar.notification.NotificationUtil",
|
||||
"$SYSTEMUI_PACKAGE_NAME.miui.statusbar.notification.NotificationUtil"
|
||||
)
|
||||
|
||||
/** 根据多个版本存在不同的包名相同的类 */
|
||||
private val ExpandedNotificationClass = Pair(
|
||||
"$SYSTEMUI_PACKAGE_NAME.statusbar.notification.ExpandedNotification",
|
||||
"$SYSTEMUI_PACKAGE_NAME.miui.statusbar.ExpandedNotification"
|
||||
@@ -81,13 +99,6 @@ class HookMain : IXposedHookLoadPackage {
|
||||
}
|
||||
}
|
||||
|
||||
/** 仅作用于替换的 Hook 方法体 */
|
||||
private val replaceToFalse = object : XC_MethodReplacement() {
|
||||
override fun replaceHookedMethod(param: MethodHookParam?): Any {
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 忽略异常运行
|
||||
* @param error 错误信息
|
||||
@@ -237,7 +248,8 @@ class HookMain : IXposedHookLoadPackage {
|
||||
}
|
||||
|
||||
/**
|
||||
* ⚠️ 这个是修复彩色图标的关键核心代码判断
|
||||
* - 这个是修复彩色图标的关键核心代码判断
|
||||
*
|
||||
* 判断是否为灰度图标 - 反射执行系统方法
|
||||
* @param context 实例
|
||||
* @param icon 要判断的图标
|
||||
@@ -251,6 +263,31 @@ class HookMain : IXposedHookLoadPackage {
|
||||
.apply { isAccessible = true }.invoke(instance, icon) as Boolean
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取当前通知栏的样式
|
||||
* @return [Boolean]
|
||||
*/
|
||||
private fun XC_LoadPackage.LoadPackageParam.isShowMiuiStyle() = try {
|
||||
findClass(NotificationUtilClass).let {
|
||||
it.getDeclaredMethod("showMiuiStyle")
|
||||
.apply { isAccessible = true }.invoke(null) as Boolean
|
||||
}
|
||||
} catch (_: Throwable) {
|
||||
false
|
||||
}
|
||||
|
||||
/**
|
||||
* 是否为新版本 MIUI 方案
|
||||
*
|
||||
* 拥有状态栏图标颜色检查功能
|
||||
* @return [Boolean]
|
||||
*/
|
||||
private fun XC_LoadPackage.LoadPackageParam.hasIgnoreStatusBarIconColor() = try {
|
||||
isMethodExist(NotificationUtilClass, name = "ignoreStatusBarIconColor", findClass(ExpandedNotificationClass))
|
||||
} catch (_: Throwable) {
|
||||
false
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取 [ExpandedNotificationClass] 的应用名称
|
||||
* @param instance 通知实例
|
||||
@@ -259,46 +296,64 @@ class HookMain : IXposedHookLoadPackage {
|
||||
private fun XC_LoadPackage.LoadPackageParam.findAppName(instance: Any?) = try {
|
||||
findClass(ExpandedNotificationClass).getDeclaredMethod("getAppName").let {
|
||||
it.isAccessible = true
|
||||
it.invoke(instance) as? String ?: "unknown"
|
||||
it.invoke(instance) as? String ?: "<empty>"
|
||||
}
|
||||
} catch (_: Throwable) {
|
||||
"unknown"
|
||||
} catch (e: Throwable) {
|
||||
"<unknown>"
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取全局上下文
|
||||
* @return [Context]
|
||||
* @return [Context] or null
|
||||
*/
|
||||
private val XC_LoadPackage.LoadPackageParam.globalContext
|
||||
get() = findClass(SystemUIApplicationClass)
|
||||
get() = try {
|
||||
findClass(SystemUIApplicationClass)
|
||||
.getDeclaredMethod("getContext").apply { isAccessible = true }
|
||||
.invoke(null) as Context
|
||||
.invoke(null) as? Context?
|
||||
} catch (_: Throwable) {
|
||||
null
|
||||
}
|
||||
|
||||
/**
|
||||
* Hook 状态栏小图标
|
||||
*
|
||||
* 区分系统版本 - 由于每个系统版本的方法不一样这里单独拿出来进行 Hook
|
||||
* @param param Hook Param
|
||||
* @param context 实例
|
||||
* @param expandedNf 通知实例
|
||||
* @param iconDrawable 小图标 [Drawable]
|
||||
* @param isLegacyWay 旧版本 Hook 方式
|
||||
* @param it 回调小图标 - ([Bitmap] 小图标)
|
||||
*/
|
||||
private fun XC_LoadPackage.LoadPackageParam.hookSmallIconOnSet(param: XC_MethodHook.MethodHookParam) =
|
||||
private fun XC_LoadPackage.LoadPackageParam.hookSmallIconOnSet(
|
||||
context: Context,
|
||||
expandedNf: StatusBarNotification?,
|
||||
iconDrawable: Drawable,
|
||||
isLegacyWay: Boolean,
|
||||
it: (Bitmap) -> Unit
|
||||
) {
|
||||
runWithoutError(error = "GetSmallIconOnSet") {
|
||||
/** 获取通知小图标 */
|
||||
val iconDrawable = (param.result as Icon).loadDrawable(globalContext)
|
||||
|
||||
/** 判断是否不是灰度图标 */
|
||||
val isNotGrayscaleIcon = !isGrayscaleIcon(globalContext, iconDrawable)
|
||||
val isNotGrayscaleIcon = !isGrayscaleIcon(context, iconDrawable)
|
||||
/** 获取通知对象 - 由于 MIUI 的版本迭代不规范性可能是空的 */
|
||||
(param.args?.get(0) as? StatusBarNotification?)?.also { notifyInstance ->
|
||||
expandedNf?.also { notifyInstance ->
|
||||
/** 目标彩色通知 APP 图标 */
|
||||
var customIcon: Icon? = null
|
||||
var customIcon: Bitmap? = null
|
||||
if (HookMedium.getBoolean(HookMedium.ENABLE_COLOR_ICON_HOOK, default = true))
|
||||
run {
|
||||
IconPackParams.iconDatas.forEach {
|
||||
if (findAppName(notifyInstance).startsWith("Android") &&
|
||||
(notifyInstance.notification.extras.getCharSequence(Notification.EXTRA_TITLE)
|
||||
?.startsWith("Xposed 模块") == true ||
|
||||
notifyInstance.notification.extras.getCharSequence(Notification.EXTRA_TITLE)
|
||||
?.startsWith("Xposed Module") == true)
|
||||
) customIcon = IconPackParams.lsposedIcon
|
||||
else IconPackParams.iconDatas.forEach {
|
||||
if ((notifyInstance.opPkgName == it.packageName ||
|
||||
findAppName(notifyInstance) == it.appName) &&
|
||||
HookMedium.isAppNotifyHookOf(it)
|
||||
) {
|
||||
if (isNotGrayscaleIcon || HookMedium.isAppNotifyHookAllOf(it))
|
||||
customIcon = Icon.createWithBitmap(it.iconBitmap)
|
||||
customIcon = it.iconBitmap
|
||||
return@run
|
||||
}
|
||||
}
|
||||
@@ -309,47 +364,48 @@ class HookMain : IXposedHookLoadPackage {
|
||||
logD(
|
||||
content = "GetSmallIconOnSet -> " +
|
||||
"hook Custom AppIcon [pkgName] ${notifyInstance.opPkgName} " +
|
||||
"[appName] ${findAppName(notifyInstance)}"
|
||||
) { param.result = customIcon }
|
||||
"[appName] ${findAppName(notifyInstance)} " +
|
||||
"[legacyWay] $isLegacyWay"
|
||||
) { it(customIcon!!) }
|
||||
/** 若不是灰度图标自动处理为圆角 */
|
||||
isNotGrayscaleIcon ->
|
||||
logD(
|
||||
content = "GetSmallIconOnSet -> " +
|
||||
"hook Color AppIcon [pkgName] ${notifyInstance.opPkgName} " +
|
||||
"[appName] ${findAppName(notifyInstance)}"
|
||||
"[appName] ${findAppName(notifyInstance)} " +
|
||||
"[legacyWay] $isLegacyWay"
|
||||
) {
|
||||
param.result = Icon.createWithBitmap(
|
||||
iconDrawable.toBitmap().round(15.dp(globalContext))
|
||||
)
|
||||
it(iconDrawable.toBitmap().round(15.dp(context)))
|
||||
}
|
||||
}
|
||||
} ?: logW(content = "GetSmallIconOnSet -> StatusBarNotification got null")
|
||||
} ?: logW(content = "GetSmallIconOnSet -> StatusBarNotification got null [legacyWay] $isLegacyWay")
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Hook 通知栏小图标
|
||||
*
|
||||
* 区分系统版本 - 由于每个系统版本的方法不一样这里单独拿出来进行 Hook
|
||||
* @param param Hook Param
|
||||
* @param isNew 是否为新版方式
|
||||
* @param context 实例
|
||||
* @param expandedNf 通知实例
|
||||
* @param iconImageView 通知图标实例
|
||||
*/
|
||||
private fun XC_LoadPackage.LoadPackageParam.hookNotifyIconOnSet(param: XC_MethodHook.MethodHookParam, isNew: Boolean) =
|
||||
private fun XC_LoadPackage.LoadPackageParam.hookNotifyIconOnSet(
|
||||
context: Context,
|
||||
expandedNf: StatusBarNotification?,
|
||||
iconImageView: ImageView
|
||||
) {
|
||||
runWithoutError(error = "AutoSetAppIconOnSet") {
|
||||
/** 获取通知对象 - 由于 MIUI 的版本迭代不规范性可能是空的 */
|
||||
(param.args?.get(if (isNew) 2 else 1) as? StatusBarNotification?)?.let { notifyInstance ->
|
||||
expandedNf?.let { notifyInstance ->
|
||||
/** 是否 Hook 彩色通知图标 */
|
||||
val isHookColorIcon = HookMedium.getBoolean(HookMedium.ENABLE_COLOR_ICON_HOOK, default = true)
|
||||
|
||||
/** 获取 [Context] */
|
||||
val context = if (isNew) param.args[0] as Context else globalContext
|
||||
|
||||
/** 新版风格反色 */
|
||||
val newStyle = if (context.isSystemInDarkMode) 0xFF2D2D2D.toInt() else Color.WHITE
|
||||
|
||||
/** 旧版风格反色 */
|
||||
val oldStyle = if (context.isNotSystemInDarkMode) 0xFF515151.toInt() else Color.WHITE
|
||||
|
||||
/** 获取图标框 */
|
||||
val iconImageView = param.args[if (isNew) 1 else 0] as ImageView
|
||||
val oldStyle = if (context.isNotSystemInDarkMode) 0xFF707070.toInt() else Color.WHITE
|
||||
|
||||
/** 获取通知小图标 */
|
||||
val iconDrawable = notifyInstance.notification.smallIcon.loadDrawable(context)
|
||||
@@ -359,9 +415,14 @@ class HookMain : IXposedHookLoadPackage {
|
||||
|
||||
/** 自定义默认小图标 */
|
||||
var customIcon: Bitmap? = null
|
||||
if (isHookColorIcon)
|
||||
run {
|
||||
IconPackParams.iconDatas.forEach {
|
||||
if (isHookColorIcon) run {
|
||||
if (findAppName(notifyInstance).startsWith("Android") &&
|
||||
(notifyInstance.notification.extras.getCharSequence(Notification.EXTRA_TITLE)
|
||||
?.startsWith("Xposed 模块") == true ||
|
||||
notifyInstance.notification.extras.getCharSequence(Notification.EXTRA_TITLE)
|
||||
?.startsWith("Xposed Module") == true)
|
||||
) customIcon = IconPackParams.lsposedIcon
|
||||
else IconPackParams.iconDatas.forEach {
|
||||
if ((notifyInstance.opPkgName == it.packageName ||
|
||||
findAppName(notifyInstance) == it.appName) &&
|
||||
HookMedium.isAppNotifyHookOf(it)
|
||||
@@ -431,24 +492,29 @@ class HookMain : IXposedHookLoadPackage {
|
||||
}
|
||||
} ?: logW(content = "AutoSetAppIconOnSet -> StatusBarNotification got null")
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Hook 通知栏小图标颜色
|
||||
*
|
||||
* 区分系统版本 - 由于每个系统版本的方法不一样这里单独拿出来进行 Hook
|
||||
* @param context 实例
|
||||
* @param expandedNf 状态栏实例
|
||||
* @return [Boolean] 是否忽略通知图标颜色
|
||||
*/
|
||||
private fun XC_LoadPackage.LoadPackageParam.hookIgnoreStatusBarIconColor(expandedNf: StatusBarNotification?) =
|
||||
if (HookMedium.getBoolean(HookMedium.ENABLE_COLOR_ICON_HOOK, default = true))
|
||||
private fun XC_LoadPackage.LoadPackageParam.hookIgnoreStatusBarIconColor(
|
||||
context: Context,
|
||||
expandedNf: StatusBarNotification?
|
||||
) = if (HookMedium.getBoolean(HookMedium.ENABLE_COLOR_ICON_HOOK, default = true))
|
||||
try {
|
||||
/** 获取通知对象 - 由于 MIUI 的版本迭代不规范性可能是空的 */
|
||||
expandedNf?.let { notifyInstance ->
|
||||
/** 获取通知小图标 */
|
||||
val iconDrawable =
|
||||
notifyInstance.notification.smallIcon.loadDrawable(globalContext)
|
||||
notifyInstance.notification.smallIcon.loadDrawable(context)
|
||||
|
||||
/** 判断是否不是灰度图标 */
|
||||
val isNotGrayscaleIcon = !isGrayscaleIcon(globalContext, iconDrawable)
|
||||
val isNotGrayscaleIcon = !isGrayscaleIcon(context, iconDrawable)
|
||||
|
||||
/** 获取目标修复彩色图标的 APP */
|
||||
var isTargetApp = false
|
||||
@@ -532,11 +598,18 @@ class HookMain : IXposedHookLoadPackage {
|
||||
lpparam.classLoader,
|
||||
"shouldSubstituteSmallIcon",
|
||||
lpparam.findClass(ExpandedNotificationClass),
|
||||
replaceToFalse
|
||||
object : XC_MethodReplacement() {
|
||||
override fun replaceHookedMethod(param: MethodHookParam) =
|
||||
/**
|
||||
* 因为之前的 MIUI 版本的状态栏图标颜色会全部设置为白色的 - 找不到修复的地方就直接判断版本了
|
||||
* 对于之前没有通知图标色彩判断功能的版本判断是 MIUI 样式就停止 Hook
|
||||
*/
|
||||
if (lpparam.hasIgnoreStatusBarIconColor()) false else lpparam.isShowMiuiStyle()
|
||||
}
|
||||
)
|
||||
}
|
||||
/** 修复通知图标为彩色 */
|
||||
if (lpparam.isMethodExist(NotificationUtilClass, name = "ignoreStatusBarIconColor"))
|
||||
if (lpparam.hasIgnoreStatusBarIconColor())
|
||||
runWithoutError(error = "IgnoreStatusBarIconColor") {
|
||||
XposedHelpers.findAndHookMethod(
|
||||
lpparam.existClass(NotificationUtilClass),
|
||||
@@ -545,24 +618,47 @@ class HookMain : IXposedHookLoadPackage {
|
||||
lpparam.findClass(ExpandedNotificationClass),
|
||||
object : XC_MethodReplacement() {
|
||||
override fun replaceHookedMethod(param: MethodHookParam) =
|
||||
lpparam.hookIgnoreStatusBarIconColor(param.args?.get(0) as? StatusBarNotification?)
|
||||
lpparam.hookIgnoreStatusBarIconColor(
|
||||
context = lpparam.globalContext ?: error("GlobalContext got null"),
|
||||
param.args?.get(0) as? StatusBarNotification?
|
||||
)
|
||||
}
|
||||
)
|
||||
}
|
||||
else
|
||||
/** 修复通知图标为彩色 - MIPUSH 修复 */
|
||||
runWithoutError(error = "UpdateIconColor") {
|
||||
XposedHelpers.findAndHookMethod(
|
||||
StatusBarIconViewClass,
|
||||
lpparam.classLoader, "updateIconColor",
|
||||
object : XC_MethodHook() {
|
||||
override fun afterHookedMethod(param: MethodHookParam) =
|
||||
runWithoutError(error = "UpdateIconColorOnSet") {
|
||||
/** 是否忽略图标颜色 */
|
||||
val isIgnoredColor = lpparam.hookIgnoreStatusBarIconColor(
|
||||
runWithoutError(error = "UpdateIconColorOnSet") hook@{
|
||||
/** 获取自身 */
|
||||
val iconImageView = param.thisObject as ImageView
|
||||
|
||||
/** 获取通知实例 */
|
||||
val expandedNf =
|
||||
param.thisObject.javaClass.getDeclaredField("mNotification").apply {
|
||||
isAccessible = true
|
||||
}[param.thisObject] as? StatusBarNotification?
|
||||
)
|
||||
|
||||
/** 强制设置图标 - 防止 MIPUSH 不生效 */
|
||||
lpparam.hookSmallIconOnSet(
|
||||
context = iconImageView.context,
|
||||
expandedNf,
|
||||
iconImageView.drawable,
|
||||
isLegacyWay = true
|
||||
) { icon -> iconImageView.setImageBitmap(icon) }
|
||||
|
||||
/**
|
||||
* 对于之前没有通知图标色彩判断功能的版本判断是 MIUI 样式就停止 Hook
|
||||
* 新版本不需要下面的代码设置颜色 - 同样停止 Hook
|
||||
*/
|
||||
if (lpparam.hasIgnoreStatusBarIconColor() || lpparam.isShowMiuiStyle()) return@hook
|
||||
|
||||
/** 是否忽略图标颜色 */
|
||||
val isIgnoredColor =
|
||||
lpparam.hookIgnoreStatusBarIconColor(iconImageView.context, expandedNf)
|
||||
|
||||
/** 当前着色颜色 */
|
||||
val currentColor =
|
||||
@@ -571,8 +667,8 @@ class HookMain : IXposedHookLoadPackage {
|
||||
}[param.thisObject] as? Int ?: Color.WHITE
|
||||
/** 判断并设置颜色 */
|
||||
if (isIgnoredColor)
|
||||
(param.thisObject as? ImageView?)?.colorFilter = null
|
||||
else (param.thisObject as? ImageView?)?.setColorFilter(currentColor)
|
||||
iconImageView.colorFilter = null
|
||||
else iconImageView.setColorFilter(currentColor)
|
||||
logD(content = "IgnoreStatusBarIconColor[UseOldWay] -> isIgnored[$isIgnoredColor]")
|
||||
}
|
||||
}
|
||||
@@ -580,7 +676,9 @@ class HookMain : IXposedHookLoadPackage {
|
||||
}
|
||||
/** 强制回写系统的状态栏图标样式为原生 */
|
||||
runWithoutError(error = "GetSmallIcon") {
|
||||
var isTooOld: Boolean
|
||||
try {
|
||||
isTooOld = false
|
||||
/** 新版方法 */
|
||||
lpparam.findClass(NotificationUtilClass)
|
||||
.getDeclaredMethod(
|
||||
@@ -590,11 +688,13 @@ class HookMain : IXposedHookLoadPackage {
|
||||
).apply { isAccessible = true }
|
||||
} catch (_: Throwable) {
|
||||
try {
|
||||
isTooOld = false
|
||||
/** 旧版方法 */
|
||||
lpparam.findClass(NotificationUtilClass)
|
||||
.getDeclaredMethod("getSmallIcon", lpparam.findClass(ExpandedNotificationClass))
|
||||
.apply { isAccessible = true }
|
||||
} catch (_: Throwable) {
|
||||
isTooOld = true
|
||||
/** 超旧版方法 */
|
||||
lpparam.findClass(NotificationUtilClass)
|
||||
.getDeclaredMethod(
|
||||
@@ -606,7 +706,18 @@ class HookMain : IXposedHookLoadPackage {
|
||||
}.also {
|
||||
XposedBridge.hookMethod(it, object : XC_MethodHook() {
|
||||
override fun afterHookedMethod(param: MethodHookParam) {
|
||||
lpparam.hookSmallIconOnSet(param)
|
||||
/** 对于之前没有通知图标色彩判断功能的版本判断是 MIUI 样式就停止 Hook */
|
||||
if (!lpparam.hasIgnoreStatusBarIconColor() && lpparam.isShowMiuiStyle()) return
|
||||
runWithoutError(error = "GetSmallIconDoing") {
|
||||
(lpparam.globalContext ?: param.args[0] as Context).also { context ->
|
||||
lpparam.hookSmallIconOnSet(
|
||||
context = context,
|
||||
param.args?.get(if (isTooOld) 1 else 0) as? StatusBarNotification?,
|
||||
(param.result as Icon).loadDrawable(context),
|
||||
isLegacyWay = isTooOld
|
||||
) { icon -> param.result = Icon.createWithBitmap(icon) }
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
@@ -636,13 +747,64 @@ class HookMain : IXposedHookLoadPackage {
|
||||
}.also {
|
||||
XposedBridge.hookMethod(it, object : XC_MethodReplacement() {
|
||||
override fun replaceHookedMethod(param: MethodHookParam): Any? {
|
||||
lpparam.hookNotifyIconOnSet(param, isNew = isNewWay)
|
||||
runWithoutError(error = "AutoSetAppIconDoing") {
|
||||
if (isNewWay)
|
||||
lpparam.hookNotifyIconOnSet(
|
||||
context = param.args?.get(0) as? Context ?: lpparam.globalContext
|
||||
?: error("GlobalContext got null"),
|
||||
param.args?.get(2) as? StatusBarNotification?,
|
||||
param.args?.get(1) as ImageView
|
||||
)
|
||||
else
|
||||
lpparam.hookNotifyIconOnSet(
|
||||
context = lpparam.globalContext ?: error("GlobalContext got null"),
|
||||
param.args?.get(1) as? StatusBarNotification?,
|
||||
param.args?.get(0) as ImageView
|
||||
)
|
||||
}
|
||||
return null
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
else logW(content = "Your MIUI Version $miuiVersion is too old and not support for RowsIcon")
|
||||
/** 之前的版本解决方案 */
|
||||
else runWithoutError(error = "AutoSetAppIconOldWay") {
|
||||
XposedHelpers.findAndHookMethod(
|
||||
NotificationHeaderViewWrapperClass,
|
||||
lpparam.classLoader, "handleHeaderViews",
|
||||
object : XC_MethodHook() {
|
||||
override fun afterHookedMethod(param: MethodHookParam) {
|
||||
runWithoutError(error = "AutoSetAppIconOldWayOnSet") hook@{
|
||||
/** 对于之前没有通知图标色彩判断功能的版本判断是 MIUI 样式就停止 Hook */
|
||||
if (!lpparam.hasIgnoreStatusBarIconColor() && lpparam.isShowMiuiStyle()) return@hook
|
||||
/** 从父类中得到 mRow 变量 - [ExpandableNotificationRowClass] */
|
||||
lpparam.findClass(NotificationViewWrapperClass).getDeclaredField("mRow")
|
||||
.apply {
|
||||
isAccessible = true
|
||||
}[param.thisObject].apply {
|
||||
/** 获取小图标 */
|
||||
val iconImageView = lpparam.findClass(NotificationHeaderViewWrapperClass)
|
||||
.getDeclaredField("mIcon")
|
||||
.apply {
|
||||
isAccessible = true
|
||||
}[param.thisObject] as ImageView
|
||||
|
||||
/** 获取其中的得到通知方法 */
|
||||
val expandedNf =
|
||||
javaClass.getDeclaredMethod("getStatusBarNotification").apply {
|
||||
isAccessible = true
|
||||
}.invoke(this) as? StatusBarNotification?
|
||||
/** 执行 Hook */
|
||||
lpparam.hookNotifyIconOnSet(
|
||||
iconImageView.context,
|
||||
expandedNf, iconImageView
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
)
|
||||
}
|
||||
/** 干掉下拉通知图标自动设置回 APP 图标的方法 - Android 12 */
|
||||
if (isUpperOfAndroidS &&
|
||||
lpparam.isMethodExist(
|
||||
|
@@ -48,6 +48,7 @@ object HookMedium {
|
||||
|
||||
/**
|
||||
* 判断模块是否激活
|
||||
*
|
||||
* 在 [HookMain] 中 Hook 掉此方法
|
||||
* @return [Boolean] 激活状态
|
||||
*/
|
||||
@@ -115,6 +116,7 @@ object HookMedium {
|
||||
|
||||
/**
|
||||
* 强制设置 Sp 存储为全局可读可写
|
||||
*
|
||||
* 以供模块使用
|
||||
* @param context 实例
|
||||
*/
|
||||
|
@@ -20,6 +20,7 @@
|
||||
*/
|
||||
package com.fankes.miui.notify.params
|
||||
|
||||
import android.graphics.Bitmap
|
||||
import com.fankes.miui.notify.bean.IconDataBean
|
||||
import com.fankes.miui.notify.utils.bitmap
|
||||
|
||||
@@ -29,6 +30,53 @@ import com.fankes.miui.notify.utils.bitmap
|
||||
*/
|
||||
object IconPackParams {
|
||||
|
||||
/**
|
||||
* 通知栏 LSPosed 激活模块的图标
|
||||
* @return [Bitmap]
|
||||
*/
|
||||
val lsposedIcon by lazy {
|
||||
("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\n" +
|
||||
"ja7y/c/pL9mciVUiPOsiAAAAAElFTkSuQmCC").bitmap
|
||||
}
|
||||
|
||||
/**
|
||||
* 通知栏小图标数组
|
||||
* 默认使用包名进行匹配 - 若失败则使用 APP 名称进行匹配
|
||||
@@ -95,6 +143,24 @@ object IconPackParams {
|
||||
"5wAAAABJRU5ErkJggg==").bitmap,
|
||||
contributorName = "fankes"
|
||||
),
|
||||
IconDataBean(
|
||||
isEnabled = true,
|
||||
isEnabledAll = false,
|
||||
appName = "小米SIM卡激活服务",
|
||||
packageName = "com.xiaomi.simactivate.service",
|
||||
iconBitmap = ("iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAAXNSR0IArs4c6QAAAARzQklUCAgI\n" +
|
||||
"CHwIZIgAAAHpSURBVGiB7Zg/TgJBFId/z9haegITC0KMCZ2Frr0tBYXxKMAZCAcwseISUNGtwcRw\n" +
|
||||
"AS9gY/2zcI2blRlm3sz+hS8hkMy8N+9bZndnBnCA5APJOck147JwGT8KJF8iF1+9DMnHkiXKlyF5\n" +
|
||||
"VZFEFJkTS9ttSGIFwxAZm8i1NmkAahmbyIWymFBUMjaROvGWaaoI4CnTZBHAQ6bpIoCjTBtEAAeZ\n" +
|
||||
"togAe2TaJAIA56aGtokYOYo0jc6InAbEfgHYZt+/JLnfK0tsYugzAHAWUNN/SC4te4d3kr1C/yTf\n" +
|
||||
"wTFvUmjrZblNLE15NVMrFZG+iGwVsVZEZCsifQCpb6xG5E0RU/oYGpEPRUzpY3TmqdUZETE1ZE+I\n" +
|
||||
"xNReEysRud/V0Jl/pDMimjf7FPa3dgwSAGOfANUSRURKFSm+8V3ozNQ6ijSNzoiobnaSk9iFhKIR\n" +
|
||||
"8XosVsVBT62ppS3/b5n63eFvDeeaS49lq7vz/oix1c31mVSx1W0kBy1yGb2KCGNoREYkh4o4J7Lc\n" +
|
||||
"I9847QHdguQUwAbAp6EgpxVsoZ/38t1lgLnloKwu5qZ6bVNrE/XKxMFYk03ktYRCQjHWZBQRkRTA\n" +
|
||||
"rJRydMyymnSQHNd9Y9BhtW081yrI3AB4ws+x/0B9VfxIs8+ziKz3df4G2ybTnqI5trQAAAAASUVO\n" +
|
||||
"RK5CYII=").bitmap,
|
||||
contributorName = "fankes"
|
||||
),
|
||||
IconDataBean(
|
||||
isEnabled = true,
|
||||
isEnabledAll = false,
|
||||
@@ -143,6 +209,24 @@ object IconPackParams {
|
||||
"fzCQEzP6n3A4gnbdRzV75jOnnoS40BA/PPsPeu6w84nPwM8AAAAASUVORK5CYII=").bitmap,
|
||||
contributorName = "fankes"
|
||||
),
|
||||
IconDataBean(
|
||||
isEnabled = true,
|
||||
isEnabledAll = false,
|
||||
appName = "小爱同学",
|
||||
packageName = "com.miui.voiceassist",
|
||||
iconBitmap = ("iVBORw0KGgoAAAANSUhEUgAAADYAAAAyCAYAAAAX1CjLAAAAAXNSR0IArs4c6QAAAARzQklUCAgI\n" +
|
||||
"CHwIZIgAAAIDSURBVGiB7ZoxaBRBFIb/t1xpo41VICAqItgkjam0N4W1hWKRPqB9mthE7BNIHwhi\n" +
|
||||
"oWCR4rSIaDAEVAgELKyjVjFNis/idrnL3ezi7u3sOst8cLD7eDvv/5m7N3s7K3kGuA6sA7+Al8AD\n" +
|
||||
"3zUbAegzycW2dU2NwxTAqu+6ie8COSz4LtCWMe9EY6ERjYVGr8pF6SJ7VdKOpD0zO6tTFLCSHr41\n" +
|
||||
"s091jl1UdGlsTdoHbhfku+gX5D8Zy/3ox8lk4V2H0GcF+f9sDLick/+orM4qvzHX4po7YyW5kRN/\n" +
|
||||
"WHagzjaPzhrrSRJwS9IlSd/M7Ge7ksoD3EkPd7MOnQCLkvrp5xjYBK61JbIswH0N9R8BL6TBV3FJ\n" +
|
||||
"g9nKeCxpsXGFFQAuSFobCc1KWgZmEkn3HNe4Yv8j85KuOOI3O9s8orHQiMZCIxoLjWgsNKKx0IjG\n" +
|
||||
"QiOR9MYRf9+0kIp8lvTdEf+RSNqQ9HskeCBpvQlV02JmJ5KejoW3zOywZ2avgbsa/tncM7PTZiVW\n" +
|
||||
"x8xepfqz83dS+szDzL60JawOMjOjdLp5dJIqxj44Yl+nFZJymBOva/x8HJsSAHMF+dNuSlBFZ+lt\n" +
|
||||
"JDPbAP5osI0kSTtmtl+leM74z9PHatn5SlF+a5SdsbqIzSM0orHQiMZq5th3gSaMTdygStpuoK5f\n" +
|
||||
"OP8i5gHDdzi88hdIU5D64hVJLwAAAABJRU5ErkJggg==").bitmap,
|
||||
contributorName = "fankes"
|
||||
),
|
||||
IconDataBean(
|
||||
isEnabled = true,
|
||||
isEnabledAll = true,
|
||||
@@ -1306,6 +1390,724 @@ object IconPackParams {
|
||||
"n3f3Hi2pWeTpdxZ+/wLYKOmm7bBPnYH8AqH34VsrgGUmAAAAAElFTkSuQmCC").bitmap,
|
||||
contributorName = "fankes"
|
||||
),
|
||||
IconDataBean(
|
||||
isEnabled = true,
|
||||
isEnabledAll = false,
|
||||
appName = "京东",
|
||||
packageName = "com.jingdong.app.mall",
|
||||
iconBitmap = ("iVBORw0KGgoAAAANSUhEUgAAADkAAAAyCAYAAADm33NGAAAAAXNSR0IArs4c6QAAAARzQklUCAgI\n" +
|
||||
"CHwIZIgAAASgSURBVGiB7ZpbqFVFGMd/Y2EahbdEC7MjJZrlhcRuJPiipaGpdKILkm8hIlYa3Sws\n" +
|
||||
"CEKkrAd7yDQikgoStEyL0qyQfKgO0Y0THLUUrykkoSX8elhjZ7Xcl7X3Xvt4DvSHYfaa+eb7/v89\n" +
|
||||
"i9mzv5lAN4E6BRgWy+WxHgT0AfpmSp84bD+wL1XagR0hhB/SvkMX8C8JdSxwE3AbMJ1O4vXic2Ar\n" +
|
||||
"cAQ4nKoPdZlIdRAwC7g5ljEFuD0JPA1sDCH8XM6oqSLVW4GpMc4cYETBIeaGEDZUiD8ZWNar4KCo\n" +
|
||||
"rerr6h5gC3A4hLAEeKPoWMACdbLaEmMPUcep96mbgR1A7/OLiKSOBOYBdwJXZ7o7Yj2siFgZTI0F\n" +
|
||||
"tZzNupKt6joTrFNnlhutzlY3WBkzo+3HVeyagW3liF9ZwniTnWT7q0+ov+QMdEg9WgznmjG3nMj5\n" +
|
||||
"FQa1dxW7ArDyjKZSC09rudcTuKpCX3fCOyGEpWce/vMTok4CdnU5pWLxFTA1hPDHmYbs6lppFhvB\n" +
|
||||
"QWBIwT6PAnuAvbHsA34D2tICISVSHUB5kQeAoXWSeQZ4D7gdmAtcnCkngVOxPlni+UBKSFpUL5LN\n" +
|
||||
"RUusRwD7QwjfZwmkZ3J2HFAKQ4HlsdSDhyLBx4DTwHHgWKxPABeQ7F3L1cOBkcAk4IrIc3gmxooQ\n" +
|
||||
"wpsVWagfVFmtWkx2M980e1msA5urfs0mW6NqGBttL1FfbC7nmrBXHZ1H5As5nA3KjJmlbm8q/Xy4\n" +
|
||||
"K4/AS9WOKo62Vhi/SN3ddCml8WxVgZHkghzO5lXxcZm6srl6zsK7uQRGgh9VcfZqDb5GqovVrU0W\n" +
|
||||
"uEntXYvImXFQFl+rC3M7OtvvaPVh9dOCBX6i9quX1EB1jDpRvbBecWV8X6s+ou5qUOBOtd5NSddB\n" +
|
||||
"Ha8+pf5Yo8BvjRmAHgX1OnWF+msVgevVuhNf5ywlmYVJ0mkGyZatP7Ab+A7Yns2j/o/uDPWGc82h\n" +
|
||||
"qVCvV/+Mpc1kFe5QT6jLGvVfSEqyEaiDgbUkZxwA4zImpxqNUXhyuQ68BlxTob9ni1RXAWXzuhE9\n" +
|
||||
"V6S6CFicw7RnilTvAF7Oaf5Xo/G6XKQ6Acj9z4YkmdUQChWpZg97sv0DgFeAwTW47Xav64wq/auB\n" +
|
||||
"G2v02b1mkniMVgrq88DddfhseH9dtMhRpRrVBcCjdfrsW92kMooWedZBq8mtjtU5x68Fstm3hkUW\n" +
|
||||
"CvVL9Z74uUVdru7L+ae4NeVnTar9/nOnqAxMckO1ojXjY3aq74FzpaUiTLLs49Up6ukSotKJs1Ul\n" +
|
||||
"xvdXj8X+Bxvl05TNQAjhSAihDXgcOC82v5Uy2RvrQ8BLJcYfB7bHx2638PwLdQkwLT4upHN13Unn\n" +
|
||||
"fZ63Qwgd2bERn8X6ouYwbBBqP3VPfN3Wp9o1ycX+FD9Pr+BjQrRZ0zWsa4SdRw/t6sBUu+ot6im1\n" +
|
||||
"PYefL9T3G+XTrNf13lgvDSH8DsnBEsmlvoNAb+DDHH42UvwxfONQZ8QZey7TPtHkoHdatVc1NWaU\n" +
|
||||
"yfW1htCMmZwDbAkhPJlp/5vkZskIkssLVWcy3nxsK55ig1C3qRNLtPc1OQSar9Z796Au/APG6bvw\n" +
|
||||
"wfS6pQAAAABJRU5ErkJggg==").bitmap,
|
||||
contributorName = "fankes"
|
||||
),
|
||||
IconDataBean(
|
||||
isEnabled = true,
|
||||
isEnabledAll = false,
|
||||
appName = "拼多多",
|
||||
packageName = "com.xunmeng.pinduoduo",
|
||||
iconBitmap = ("iVBORw0KGgoAAAANSUhEUgAAADkAAAAyCAYAAADm33NGAAAAAXNSR0IArs4c6QAAAARzQklUCAgI\n" +
|
||||
"CHwIZIgAAAh1SURBVGiB1ZpNjFxHEcd/baygBSIPKIocwLCBABEKZIIBYQmFCcgXDuCIKxIrJBCc\n" +
|
||||
"bB9ARBw85sYFjw8IWUisw40PadcWSiAi7DrYsROczBpbIf7AXvPh2EbyzsYJThTEn0NV7/T09Hs7\n" +
|
||||
"67UN/KXRe12vu+tVd1V1Vb2BFUBSQ9Iuv29Laqxk/PVC0hZJ2yR1JDVvJqOmpK4keXtW0oKkLTeR\n" +
|
||||
"Z0PSpAxt5ylJO24Gs61K4LTZhDR5o3dVUkvSuYRHO+M5I2n8RjAa98kG4M9mM/K5G6VKknbkPAtC\n" +
|
||||
"atWaJLODhQKzKiEjrluVlJjEiEJGTKlGk9YUGDUkTQJTQHDytRW8a9tfdEWqJGkr0HWex5Lfq4Xu\n" +
|
||||
"F4E54BBwEmgCXUmt0twDQnqnLjDhpHU+0RiwWPF+B33M88BjwO+AS8506wjCjUuaATpOuj/7/a0w\n" +
|
||||
"bD3wmr//FaABjAMzcu9fxaxkB48l98cL6nq4Qn0k6fRyqqQak0hwyK+pup6RdDLpc1LSX5J2V6l/\n" +
|
||||
"UL0dDDkdacgmXyh0yedbUKJKMpOYquD5dNaOwqRCXiqMe7JA24pv9wSm0zmuurpEHKlSggLtbVm7\n" +
|
||||
"galSS7ars0CVV3w78KLfzwIfLPS5s0D7UIG2U9I712C28DDDNvdnZxjxqUIfgH8WaG9k7UXgoRDC\n" +
|
||||
"bAihhwl4oDAO4F6/PgEUHQlwdgSeB7DNu7YGcxo44VjS6fbCRPMFWsnz/iu53weMhxBmIyGEMB9C\n" +
|
||||
"aAHbKS9cAO6reAbDzugV4OWkvRNbyEng4yT6u8ttpZPQ/i7pWWUOBobOyW7yiw6nJ3MsGyteFJ9n\n" +
|
||||
"PJvramGu3CYlCz6el3RQfaczL/MxLfUd2uZUyPiysVNPFSgImWNWfk5K2pMItFvSRzMh90gakwXg\n" +
|
||||
"lTwLQuaYlicQGX1ISMlWYKsPKE5aI2RP0rZEgDtif2//0PsdlvQFSRu8fVnSg7JdnasQokrInqQJ\n" +
|
||||
"VZ8Sm4ciHswTdlyft7h+j4JjQCuE0Elo33LhPu/tX/h1LISwH/i2t98AbnNbba6QZzwZZiifEpR2\n" +
|
||||
"8rT6Or4gU92mTN8VdyZb1XY25x0aPgd3Stoks6Pdkr7h9P3Oo5XN0dTgruY72VH9ebu0k7mQh1zI\n" +
|
||||
"s6lQsmioIdP7VMg5VWQekr6WjL8gcyi1qJinnQnZU3/h01SsJ+kJDav7gJBdmTdN289l7XG5zcns\n" +
|
||||
"oDaHlPRzH3tEFj39wduvJzRJ+rEKu5ntaqwONDQYgp5N5pWkxyWdkPSi/waEPKVh/Dprryh/k/QD\n" +
|
||||
"H3c0WSjJdlaSnvHrV0ecr6HhULMqJJX3XXI8i8AHCvOGrL1IOSDIX2aTpGeArzhpI/AU8HoyzwH6\n" +
|
||||
"QcOdkr6sip2MAvptHin1Ct2PAn8C/h0HpyubI12laZm6Tvm4jmpyRpnKROypWe0U362Ya4fMJqdl\n" +
|
||||
"attS32cs+I790ds/S+Z7SdLmtT7PXVgSmq/Kvdiqb/NnXeyIgX6iuj2EsLfwbkeAnwLfB36C7eJH\n" +
|
||||
"sHh0v8/1TSzY/g0Wqr0lE24cO8pa2LHSwJL5vU7rAF+kH+NOAx9LplgfJ6rDnK/aQBTh42oLWZLe\n" +
|
||||
"IelL/vxup+339ne8/Vtvfz1fIQ3nmqWwrqXlI6ViMBCxG0vDJrGdrMMEtqtLx0kI4QqwgAXPl50c\n" +
|
||||
"g+iYtp3w60BWIcvup+hrTQnjWACwDtvJY1UdS0IuAg/5C3Z9slEwTlLykPQj4EngYggh1mkWMbU8\n" +
|
||||
"7O0BIWU232X5RU3RxjZiAtuYIeRCHsBWZZcPTlGV9uToyGo2jwCfAF5Knr0MfC+EEL3scWBXCOGs\n" +
|
||||
"pAlsUZvYTs9iiXsJZ7F897Tfr8d29RyF3Hhtcr8dy/JnKKvJ48D7gE9m9KuYqnza20eADZFhCOHB\n" +
|
||||
"2DGE8Eg29gRwUlYdnEjot2OFqkuU89oxv17CNKjngnYw59PCnJNVNmSuuKX6GPApv/4jczx1hawz\n" +
|
||||
"fq2sw6qcORyUOaTzGqz3pI6nFACkQUKMudtyx9PGjLwukrkLO2CPZ/TXasa84tdiHVZmu6XM4c3A\n" +
|
||||
"54D3AJuoVtkc14Bn/b5B3ykdXeOEOi/WxezqTf4C14MmiTOReeF47uV4a9YuRTQljDFcVHsYGFvj\n" +
|
||||
"+d8DDLrgC5jhX/Znr2I5X8k+lsOiM2vLzrQmZkdNysWsU5hnBytcbxiRzzUGNetRoBlCuLAWIIQw\n" +
|
||||
"J4sbO1i8eQWrwl0Afo+V++5juEo2ji1GCRuxhdvi/brAeSyymnJeW7AdTu32s5jX/Cvw/hqBcowB\n" +
|
||||
"n8EWdSKEMF0xdimFqosgRqnxSJ5IazBamnWHEHFO5nwGknKZQ5uRdDGdL+G5qMHiWXRES7WlZaH6\n" +
|
||||
"WstyQqZJbe4FcyEjYlK+t4qnli9k5ef6EophXVJrKUYQNdiHqeb99A/2UdDGvGGbcqG7DueBB0II\n" +
|
||||
"KxMyIoSwDQvxRmG6HTvQo73BCLkndtS8gGc1mMfNC91ViM5lrq5TrZAAXvkep7qsfx7zwPNYlNPC\n" +
|
||||
"zqsTwG1+f6Zi7CnMc3+YvoCTWFgZ06sSFrFoasI/O9w4uF2kNrlXZr+TiW38qsJmnivY5C99jvhL\n" +
|
||||
"U6sYtcQEOdrk6M5lFYI241XDFbOqCoNk3zerHE9Eydntki1kS9f5/4C1y3cZRKL/PezMW5c8jsHC\n" +
|
||||
"GeAef343ZncNBj/KjIptxjasJP0awLI2WYUQwjzDyWr8LnlP7IYtwruAdzP8eW0UbF+NgLAKIcF2\n" +
|
||||
"teao2TfCFBdqnh3DjoZOTZ+RsCohIwpHzdPAexlU5Sr+c/47Q//L9qPYd5Xao+G/AiWfEiqwnOPp\n" +
|
||||
"Xa9zueWQZRsrFXJON/touNHQ8FepOiErQ7L/eWj483wu5LxqPg38X0FWKO5lQk7rFv1f9pbBd7Xt\n" +
|
||||
"aryqc2+l+A+lYLJN0kJ+6AAAAABJRU5ErkJggg==").bitmap,
|
||||
contributorName = "fankes"
|
||||
),
|
||||
IconDataBean(
|
||||
isEnabled = true,
|
||||
isEnabledAll = false,
|
||||
appName = "京喜",
|
||||
packageName = "com.jd.pingou",
|
||||
iconBitmap = ("iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAAXNSR0IArs4c6QAAAARzQklUCAgI\n" +
|
||||
"CHwIZIgAAAQLSURBVGiBzVrRdeIwEJzl8X/uIKaC81UQOkg6CB1AB8lVkHQQqCDpAFIBXAWYCiAV\n" +
|
||||
"zH1ISoQty5Isksx7/sBI651dabW7tiATSJYArgFU+ir1ZaPW105fbyJS59IhGSRLkvck90zHnuRc\n" +
|
||||
"G+LLCVQknwco34XnLyFEsrgQAReh4lIkZiSPX0DC4EjyNjcJlxdOmRU/dch8zEGgILluCH6g5XYq\n" +
|
||||
"T20GEHilZXn9zKfGmDVTl5oWuG0IXHjGl1qBEE/VVAbp3NgOMtskMmx7Yhcx95bk0kHqzPo9MgrH\n" +
|
||||
"/HUsCdeeeIgSkgHaGE08ucaOHJNnAGaOsaeehxYkqwglq4Cl4jr1571e1cp0hdhpz1yzptckb1xK\n" +
|
||||
"avl31rL1epkqkLhw9Bqhw5UGLi/ZcyuqTWxjr5Vesx046j4PUgWELix9ivgQtEeorLjrkHFi3Ib3\n" +
|
||||
"ESFdUY9+b3RbwK/I1Fyxc/X811CdRE8oAex75NYiMolUpALwS//8JyLegOGYfwTQFxAmH6VAgAsN\n" +
|
||||
"vEuCank+sr0fbKz1mJseWYtAnRb2pNB6opXIWcqn1CRHPbdqyJxHyNgDgDBsWTVhKr0CqhrMASMz\n" +
|
||||
"ZT9NxokTXWXsUAyROR0hn0W/E9UY+YkcALxCNRfMcgGUtQuoFXAL4CrjM6uYjd6HDSPOC6qDs5kJ\n" +
|
||||
"pGKPDEJ2TDzwchIaSsSZUicSCj3LshPxJpGWgnOS88CxXdnuxYhsAhWzC7Qg7zGx/gfT1qe/HsBH\n" +
|
||||
"udtEX01TMa3lVCdbgCqf6gzddEfDPTsMMIAESW5GUPE+BRWANR2JJFXt4jqlSwCtToyWsUZ/ptuF\n" +
|
||||
"3aANZuGFusihagv5LHuk9iRVrdLs1qRglpo0dlsmLFM4QZ34ubKKiSmsauRNGb4SBxEpTTsouoz9\n" +
|
||||
"QXgC4krdn4qJiNQjANA17yqD0PfAcW+Znrcy9bqYOzqSbCMFveMzfNciMiP5is8wajcflvhcwgeo\n" +
|
||||
"Df9b/+7qbvbho/EwNndEZEdyBeAuQtARKv4DAEje49wYV/gkMkPbC8aQfyKeabCyX6SK/Q/VqVtb\n" +
|
||||
"Dw/BXxFpNe+o0pFm93yF9l4UAPcRzwPUSijt9tLY/ldETlRZ7UuMVLqTSFdnklD7w0bKWTIL6pGx\n" +
|
||||
"/ZLFB2crVZ/aNhb6XuEYF9rDImNrIMYlk0uStOb1tV9TEVQ+NIkU7G5GN0kUVO1N00Mu6c7hpiSv\n" +
|
||||
"G5cr3XdhR0/p0HrRY6DX4BTtNd3iDLWpTUQqoSLXdZfoxhWCNwDT2N5xCwzbM/dUL3F82PI8Mz7S\n" +
|
||||
"3ycmM/YFDJlb5n+37sOJuT8YsMgUvNxGtrHkpT7haBAqL0RoyW/6SqikOgOGNNhqLWMQgdCoEUQK\n" +
|
||||
"KsrZH541i7UDzj882+T68Ow/U+/beKck6XwAAAAASUVORK5CYII=").bitmap,
|
||||
contributorName = "fankes"
|
||||
),
|
||||
IconDataBean(
|
||||
isEnabled = true,
|
||||
isEnabledAll = false,
|
||||
appName = "掌上英雄联盟",
|
||||
packageName = "com.tencent.qt.qtl",
|
||||
iconBitmap = ("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\n" +
|
||||
"PPHz6ZIflQAAAABJRU5ErkJggg==").bitmap,
|
||||
contributorName = "fankes"
|
||||
),
|
||||
IconDataBean(
|
||||
isEnabled = true,
|
||||
isEnabledAll = false,
|
||||
appName = "央视频",
|
||||
packageName = "com.cctv.yangshipin.app.androidp",
|
||||
iconBitmap = ("iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAAXNSR0IArs4c6QAAAARzQklUCAgI\n" +
|
||||
"CHwIZIgAAAM+SURBVGiB7ZlNiE1hHMZ/702SRj4GY3xMU74VFrOQKFPjo8lQFhZESFnPytoKZUlE\n" +
|
||||
"CSVEWQxhw0IKE7GhfCwm42OGZnxtxOKxOOfmmsY9zzudQ+o+dep0z9Pvf57Tve/7/98DNdVUUzWF\n" +
|
||||
"osCSlgFNwIy0Th/QH0K4VVTN3CWpS3/Wi399f5YktVYJUVZn3nVLeQOBjYZnS95FiwjSZHhm5F20\n" +
|
||||
"iCD1hue/COKoJ2/gvwrSmzewiCCzDM/ZAurmJ0nrjKX3UBG1R43gZtuAaSRPfkzFpaVAa3p+AjgP\n" +
|
||||
"NALTSXb2fuBtCOHmEN4mYC4wFvjM3+gAJN0wnvipCN7xKpxiOgBJu4wQkrTD5O0xWLl3AEjqNoMs\n" +
|
||||
"MXl3DNaDIoL0GYU/RfAGDd6gy4tZficYnkcOSFIzMNGwOh4gLshrw7M4gperYoK8NTz1kmZnmUII\n" +
|
||||
"PcBpp6ikmY4vJsgZ02f92IFLwDfD53QKfpAQwkmSjS5LVpAQwjVgLfAsw7rI4pVPJLUAc4AGkl22\n" +
|
||||
"F+gbZieeAKxIfdOA0emlSUB7yrgw5Ab/uGNLGgvMT48FFZc6gJb0/CjwIT3/XmYBt0MIXyth1XbY\n" +
|
||||
"o84TSTm7jSU1htdp8I6UzXsN856I4t/y4kkaJ+mjwTtQAjYZzG1uELxlersDSr829wzr+hLgLG8x\n" +
|
||||
"o6kzNDlzfVlOt9BURBBHeQcZX8Kbn+0eCqgzPDEzu1W7hPdVeBVRuMHwxMzsUx1TCbhs+NxdHbwg\n" +
|
||||
"Ts2ylhqe/UiaquqT33G3oqQOY6m8ISnzKUtqlHTM4HVJqqvc2dtI+ppGkp24H+gJITwcUqABWFjx\n" +
|
||||
"UUN6rASWkywen4DulFF5DDezTybZ1TeQdAcTSUaG1anlC3CX35fhPmAAGBjRbC9v8zwnaYrJ22zw\n" +
|
||||
"9kXfaEbRNUZRSdpp8pyZXZJas2lxbfxW0/fY9LVkWwBvDooKYj0ZfnWpWZpn+t45ppggzabvfQQz\n" +
|
||||
"Sx9+a9OrKPf/fkMIP3LEPXGNMUEeZlui9NLwPHVhMUGuGp7DEbw3hudSBM+XpH1VlsmLI+Cdr8I7\n" +
|
||||
"GMOKfs+u5P15+5CP74cQrseyUl4HsIqkOZwMPAeu/Ffv42uqqaa/p58x6XSczznLtgAAAABJRU5E\n" +
|
||||
"rkJggg==").bitmap,
|
||||
contributorName = "fankes"
|
||||
),
|
||||
IconDataBean(
|
||||
isEnabled = true,
|
||||
isEnabledAll = false,
|
||||
appName = "百度网盘",
|
||||
packageName = "com.baidu.netdisk",
|
||||
iconBitmap = ("iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAAXNSR0IArs4c6QAAAARzQklUCAgI\n" +
|
||||
"CHwIZIgAAAOXSURBVGiB7ZlNqFVVGIafJSH9GRGEDTKixMDIMq2BJWhhP1ISxY0gHAVZYWDQjXCi\n" +
|
||||
"g0YNLlGjaJKQE6MMGwRWKCL9wS26qHDph8TA8mJBFwu91NNgnxPH01lrr73vyltxXtiTtdb3vt+7\n" +
|
||||
"z1nf/vbaMMQQQ6QQShOq84F1wCpgIXBFZ+oH4EfgAPBxCOGX0tpFoC5SX1FPWo/T6m71prnO+yyo\n" +
|
||||
"m9WjGQb68bO6Za7zB0Dd3sJAP176P5jo4o25MvFAQRNdbG+bT6uqpV4K7ANSm/UUcASYAGaAZZ3r\n" +
|
||||
"4hr6tSGE/W3yagx1tObO7lCvGhC3WN1TE7vrnJjoJPRZIpFtGfEP1phZei5MrEskcKABz6YET+u9\n" +
|
||||
"kg2rZ8YgTKvXNeTaG+F6u2le85oGADdExidCCJMNuQ5Hxpc15GllZElkfKIF13hk/NqmRG2MxPBH\n" +
|
||||
"i5jfS4mXNNKm0hRrGs9LTaqLgI3AeuCynmsQrm+hHy0O6hRwEjgBvAnsaNz6qxeoY1btdhO81kDj\n" +
|
||||
"3obc36rb1AtzBe5QP2oo0osNmTpt8bn6SB35yCwEerEpofFCIY3He3lDj8AIULLPeZ/qOTFO1TTe\n" +
|
||||
"CKwA7iqo8VeDGQDUq4FPqN6x/0v4Arg9hPBrt/w+TdrEfuB54H5gLfAQ8HrhpH4Cdnb4FwPnA6uB\n" +
|
||||
"MeBMJGY5MAqAerN6JvFffCKmbNVAHirwfz9kouNV71GPRWJPqctRn0kIPFd3G9Wltjt4yDLRo7Mi\n" +
|
||||
"wbEV4y86B+vIe0RiHXEREz06r0Z4PkjV86znQUdggfrbP2mio7M6RpbqtbLbgRDCNFXVy8Vh4OEQ\n" +
|
||||
"wpEGMQDHYhMlm8ZctDVBCOG72FxJI387bBiA1iYA1DWxuXnAu5G59Q0EbgOuqVk2KxMdrIyMf5gq\n" +
|
||||
"v9Pqqhx29Z3SG3uAxiXqVIR/a119rk1A3dXGhLpGnVTfU59UF9ToHExorOwuitXnbiKj6pI+4g01\n" +
|
||||
"5CkTjw5Y+6l6Z9+6K9VnazR29gakfpVe7Otc32esjf6a6luJuONW7xyTmTnd3U++JTMwB3W901eF\n" +
|
||||
"dAYf5FnmM0HOvtpYQCd9GqneNwvyvXUmenRebqlxXH0sRwP1VqvNl4uj6uYs8rN1RtRvGujstk0Z\n" +
|
||||
"tyqRY+qXEeI9VhUodkSUo3G5+pRVEenHaXVcfVG9JcWT/aFHvYjqEG4GmAJOhBBm2hqIaMynelNd\n" +
|
||||
"SPWh6OvSGkMMMcQQ/w78CeKTxkSm6OrCAAAAAElFTkSuQmCC").bitmap,
|
||||
contributorName = "fankes"
|
||||
),
|
||||
IconDataBean(
|
||||
isEnabled = true,
|
||||
isEnabledAll = false,
|
||||
appName = "京东极速版",
|
||||
packageName = "com.jd.jdlite",
|
||||
iconBitmap = ("iVBORw0KGgoAAAANSUhEUgAAADkAAAAyCAYAAADm33NGAAAAAXNSR0IArs4c6QAAAARzQklUCAgI\n" +
|
||||
"CHwIZIgAAASgSURBVGiB7ZpbqFVFGMd/Y2EahbdEC7MjJZrlhcRuJPiipaGpdKILkm8hIlYa3Sws\n" +
|
||||
"CEKkrAd7yDQikgoStEyL0qyQfKgO0Y0THLUUrykkoSX8elhjZ7Xcl7X3Xvt4DvSHYfaa+eb7/v89\n" +
|
||||
"i9mzv5lAN4E6BRgWy+WxHgT0AfpmSp84bD+wL1XagR0hhB/SvkMX8C8JdSxwE3AbMJ1O4vXic2Ar\n" +
|
||||
"cAQ4nKoPdZlIdRAwC7g5ljEFuD0JPA1sDCH8XM6oqSLVW4GpMc4cYETBIeaGEDZUiD8ZWNar4KCo\n" +
|
||||
"rerr6h5gC3A4hLAEeKPoWMACdbLaEmMPUcep96mbgR1A7/OLiKSOBOYBdwJXZ7o7Yj2siFgZTI0F\n" +
|
||||
"tZzNupKt6joTrFNnlhutzlY3WBkzo+3HVeyagW3liF9ZwniTnWT7q0+ov+QMdEg9WgznmjG3nMj5\n" +
|
||||
"FQa1dxW7ArDyjKZSC09rudcTuKpCX3fCOyGEpWce/vMTok4CdnU5pWLxFTA1hPDHmYbs6lppFhvB\n" +
|
||||
"QWBIwT6PAnuAvbHsA34D2tICISVSHUB5kQeAoXWSeQZ4D7gdmAtcnCkngVOxPlni+UBKSFpUL5LN\n" +
|
||||
"RUusRwD7QwjfZwmkZ3J2HFAKQ4HlsdSDhyLBx4DTwHHgWKxPABeQ7F3L1cOBkcAk4IrIc3gmxooQ\n" +
|
||||
"wpsVWagfVFmtWkx2M980e1msA5urfs0mW6NqGBttL1FfbC7nmrBXHZ1H5As5nA3KjJmlbm8q/Xy4\n" +
|
||||
"K4/AS9WOKo62Vhi/SN3ddCml8WxVgZHkghzO5lXxcZm6srl6zsK7uQRGgh9VcfZqDb5GqovVrU0W\n" +
|
||||
"uEntXYvImXFQFl+rC3M7OtvvaPVh9dOCBX6i9quX1EB1jDpRvbBecWV8X6s+ou5qUOBOtd5NSddB\n" +
|
||||
"Ha8+pf5Yo8BvjRmAHgX1OnWF+msVgevVuhNf5ywlmYVJ0mkGyZatP7Ab+A7Yns2j/o/uDPWGc82h\n" +
|
||||
"qVCvV/+Mpc1kFe5QT6jLGvVfSEqyEaiDgbUkZxwA4zImpxqNUXhyuQ68BlxTob9ni1RXAWXzuhE9\n" +
|
||||
"V6S6CFicw7RnilTvAF7Oaf5Xo/G6XKQ6Acj9z4YkmdUQChWpZg97sv0DgFeAwTW47Xav64wq/auB\n" +
|
||||
"G2v02b1mkniMVgrq88DddfhseH9dtMhRpRrVBcCjdfrsW92kMooWedZBq8mtjtU5x68Fstm3hkUW\n" +
|
||||
"CvVL9Z74uUVdru7L+ae4NeVnTar9/nOnqAxMckO1ojXjY3aq74FzpaUiTLLs49Up6ukSotKJs1Ul\n" +
|
||||
"xvdXj8X+Bxvl05TNQAjhSAihDXgcOC82v5Uy2RvrQ8BLJcYfB7bHx2638PwLdQkwLT4upHN13Unn\n" +
|
||||
"fZ63Qwgd2bERn8X6ouYwbBBqP3VPfN3Wp9o1ycX+FD9Pr+BjQrRZ0zWsa4SdRw/t6sBUu+ot6im1\n" +
|
||||
"PYefL9T3G+XTrNf13lgvDSH8DsnBEsmlvoNAb+DDHH42UvwxfONQZ8QZey7TPtHkoHdatVc1NWaU\n" +
|
||||
"yfW1htCMmZwDbAkhPJlp/5vkZskIkssLVWcy3nxsK55ig1C3qRNLtPc1OQSar9Z796Au/APG6bvw\n" +
|
||||
"wfS6pQAAAABJRU5ErkJggg==").bitmap,
|
||||
contributorName = "fankes"
|
||||
),
|
||||
IconDataBean(
|
||||
isEnabled = true,
|
||||
isEnabledAll = false,
|
||||
appName = "爱奇艺",
|
||||
packageName = "com.qiyi.video",
|
||||
iconBitmap = ("iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAAXNSR0IArs4c6QAAAARzQklUCAgI\n" +
|
||||
"CHwIZIgAAAQJSURBVGiB7ZpNaFxVFMd/f50gtLXUorG1rYpKRS0S/Nh0oSmiVakKhei2Ow26UKg7\n" +
|
||||
"F+nKhVrrzp0IBrRRC22kLoREkIpVqR8pVds0iZZGSVtL/cBi9e/ivUlebu6beTOZZKY4Pzg87jn3\n" +
|
||||
"nndO3r33vTk30KZNm0qo1gG2O4BO4CpgFXBDRq4o6OaXjPycXs8AvwHnyldJ/xSNK5qI7RXArcAG\n" +
|
||||
"4E7gtkzwK4o6bwATwHfAEeAHYBQYlTQadpxOxPZq4EngMaBrceKsm6+BNyW9WlYIwHYX8AFwTZMC\n" +
|
||||
"q5cTktbBTCJ7gUfm4fA8cAqYAs4WHNNBsqZWptfL6rz3c5J2yXYPsDun0/ck83IqI6eC9pSkc3UG\n" +
|
||||
"MY3tpcwktRJYQzJDVgNXp3JfzvCbsL3Tcxmz/cB8g2s0th+1fSwS74vYPhAx3N/soPOw/Wwk3n7Z\n" +
|
||||
"dtB3WNKmpkRZANudwDsZlYAwh4sX2e4LdIclDWQVtp8A7gF6gKXA7yRv37IMAPslHQvGhb6R1Jen\n" +
|
||||
"rzaWZLYMR22R+TYU2N+I9MmjJzOuO2LvS23bIrZngvvujvS5JbUNhYZLIllnnXUD2wL1KDCcSsgL\n" +
|
||||
"lfxl2AucDnSbg/aDQftLSUfyHFZMBOiO6J6XtCndEMJkbq/iDwBJZ4DBQL3ZybuE9MleHtj7K/mM\n" +
|
||||
"JfJrlTiq2YuyL2h3kKxBgNiu+VYlZ6XIoJ/qi6tmBkm+bq/L6LbYHgAeCvrukzRVyVnsiaybX3zF\n" +
|
||||
"kHSeyPQieSrXB/oBqlAChgJd3kJeCAaBpzPtZcxMrzKTVFkfUH2xLyiSPgQOB+qHg/YeSf9W89XU\n" +
|
||||
"RFLC6RWyp4iTVk/koKSPijhpeiKSPgEO5pjfLeqn6YmkfJWjr7pblWmVREYiumFJ40UdtEoieVOr\n" +
|
||||
"MC2RiKTP5uujJRJpBP+bRP6K6LL13cUsn1akVMUe2zVesr2FpGgdllb3NySqOqiYiKS3bd8LPJVR\n" +
|
||||
"35hKyFFgVwNjq4kSsCPQzfqIk9Rr+zXgLpJfjF3AlSSV+SWZrv3ARtvfSppMiwSh70o8TlL1LxP+\n" +
|
||||
"8MryCvBxpn2yhvvMxfbLeQWGxaZkzynQHZJ0R5HBkrbbngC2ZtRfNCy6CLaXkZSg5hjeb5W/ahFs\n" +
|
||||
"b4zEewDb2yOGP2xvre52cbF9t+2RSLw7S8A3kTFLgPdsf05SxzqRygTJljwuqeg5SC2BdgBrSY4U\n" +
|
||||
"wuvN5JebPp3PQc8FkhdmnlyowdfyNODOGmMAeF1Sb/YMcYTZ29/FwElJayDziSJpA9ALHAL+bFJg\n" +
|
||||
"RThLsjPuKCcB+cfTlwLrSebleuBaZs/ZVQsc7GngODCWytFUxiX9GBtQ8z8MwHSia5md3PI6XP1N\n" +
|
||||
"UoItyyQw1ogzyTZt2szmP5pchE46/z11AAAAAElFTkSuQmCC").bitmap,
|
||||
contributorName = "fankes"
|
||||
),
|
||||
IconDataBean(
|
||||
isEnabled = true,
|
||||
isEnabledAll = false,
|
||||
appName = "中国建设银行",
|
||||
packageName = "com.chinamworld.main",
|
||||
iconBitmap = ("iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAAXNSR0IArs4c6QAAAARzQklUCAgI\n" +
|
||||
"CHwIZIgAAAN9SURBVGiBzZpbiE1RGMf/a0guL+LF7UF4EI0UeXWLXEo8kFKiJKUYJYbClDTKAw8j\n" +
|
||||
"5IEHHtxCruUyHkSJuWjwYB40bpPBRBSlfh6cM9Yce++z9tprn/Gv0znt/X3/7/ud75yz9tl7G1VA\n" +
|
||||
"wHxJcySNsx79JL2W9EpSq6QmY8yFSvSTWsAWoAN3XQSm9nXfkiRgOFANTAcGFLaNARYBJ4BvZWC6\n" +
|
||||
"gZq+aHwksAe4CXwpaeon8ABYb8WPBRr+m+lYAG8dmgJ4DCy38lc75HQDy/KE2JYCoFQ2zEqH+B/A\n" +
|
||||
"gtAAE4DrngBxMKsc4j8DM0NBLAwAEAfj8jF7A8zICnEsMEQUzFqH+JdAtS9EY04QRdkw6xziW4EJ\n" +
|
||||
"aSFO58vQIxtmg0P8Q2C0K0R9vr3/Ixtmo0P8HWBYOYil+fYcKxtmk0P8VWBQHMRQoDnXdpNlw2xx\n" +
|
||||
"iD8bB3IwcGNtHjk2zNaEuGvAwCiIaV6txquu4HvXI9eG2R6xvxEYGjeNkOtFXYn3ZQ8PG2antf0R\n" +
|
||||
"MCIOIuQ06mJqnPLwsmF2AU+BsZEQhaDNeUJYdY5khJmY5B9q8UuEsGodyAJTzvx9JSCsertTeEf/\n" +
|
||||
"xEaYTskIsT8NhFXXf52IMczy/TjkA2HVTjpQdIcomPl8AQGOZoGw6kf9U0wHUTC64QFxMgSE1cPi\n" +
|
||||
"TBAFk0spIc6EhLD6mASc98ntX3j+mDLviE8xB3VK6gIaXROMMbOlvyBdKQs2ACuMMc9T5pVTl6Qq\n" +
|
||||
"n8RiUtqJTJZ0FpjkUzRKwHelh+gZQFXphhQKBgN8kjTYI/VZ8YXvRIrKDAO8kZT8lzVePR/tIkiT\n" +
|
||||
"byPKAAO0S3I7iRCt3hMxxnRKepjBMDUM0CZpfIaakjUR27jWY1EsVZsLDH9OaGfVV9vT/pW4l/Hd\n" +
|
||||
"kRwmA9yXNC1ArZuxe4AXAd4piJkMcDuQP1jXXKJAdgQs1AsGuBLQ+3HirIBBQEvAgm3ALOBcQE9I\n" +
|
||||
"moYFsyZw0dC6FdW3iYG5ISnsVaIw6pY0zxjzpHRH3LFNvaRfubbkp9ooiEQRZl0JqXpvfCp3faSc\n" +
|
||||
"sv//AQ73McS+zBAWzBLgQx9AuJ2USwlTzZ+7ESqhZmBpcIgSoBr8bxZw0UHiLhfkAFO8faM9IMAx\n" +
|
||||
"IMTBpDfUEuA48M6j+VZgbwiAyJXdV8BcSXMljZQ0ynoeIqnDeryWdMkY0xKq9m+hHJ1npgOuZQAA\n" +
|
||||
"AABJRU5ErkJggg==").bitmap,
|
||||
contributorName = "fankes"
|
||||
),
|
||||
IconDataBean(
|
||||
isEnabled = true,
|
||||
isEnabledAll = false,
|
||||
appName = "虎牙直播",
|
||||
packageName = "com.duowan.kiwi",
|
||||
iconBitmap = ("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\n" +
|
||||
"YII=").bitmap,
|
||||
contributorName = "fankes"
|
||||
),
|
||||
IconDataBean(
|
||||
isEnabled = true,
|
||||
isEnabledAll = false,
|
||||
appName = "虎牙直播",
|
||||
packageName = "com.huya.kiwi",
|
||||
iconBitmap = ("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\n" +
|
||||
"YII=").bitmap,
|
||||
contributorName = "fankes"
|
||||
),
|
||||
IconDataBean(
|
||||
isEnabled = true,
|
||||
isEnabledAll = false,
|
||||
appName = "云闪付",
|
||||
packageName = "com.unionpay",
|
||||
iconBitmap = ("iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAAXNSR0IArs4c6QAAAARzQklUCAgI\n" +
|
||||
"CHwIZIgAAAOuSURBVGiB7ZrRceIwEIa/Ze497iB0EF8FcBWEVHB0cEkF4Sq4dBCo4EgFIRVgKoip\n" +
|
||||
"AKhg70GrsSCWMCQZnFz+GY0teyX2l1a7K2EhAlW9BHKgb9csJvvOWAMFMAMKEXlo1EpVc1Wda3sx\n" +
|
||||
"V9V8H4nbU2t5AG5jJEan1uwIXHv9xZsTMG9ke+3DdxEpOla5P6kqr8M9gKjqAPh7YmVei6sOzrV+\n" +
|
||||
"dOQdXJz46OiLqq44XbB7K6xFVfXUWrwFOvtFPga+iLQNn4bIt8S7BS6F3ocucG73S2AIDNgfn3rB\n" +
|
||||
"/QS4xqXr5zWyvt874KK2t0gytmpAwLcfBO2eVbXbsN3Y2oyDZ6uIPjN7P4tljyn3O2vIpWsFYIOb\n" +
|
||||
"xeeE/EJErlV1BHRFZBgQUeBGRO5ijVV1SE1umDKtYyL+wK6PwbMHnMn4/YPYdSoihapmQF9Epvb8\n" +
|
||||
"XFVDswPYmGxoxluIEVkC5QEEdn/YY+JHXFVLgpEMSDziyHoiV1ZChZ9wAzukGpAtxIj0RaQxEVW9\n" +
|
||||
"A37VkbC9TikiY7Pi3Np4ErkR8RhS7dHrF3YNYkTubYFNRKS0VD/WaQb8TJB4BEpV/SEi40BmSL1n\n" +
|
||||
"+wP8wM1AczIxL6Cqaxu1lDcZm5xH30qm7hAjbDf3/Vmf4dZ6tKPL3PrIVLXUymtFt+OpgDgVkbU6\n" +
|
||||
"L1GXHT+Z/Y9q3s1xMxG2y4G5Bu42AT+TPeCsgXwysnsXuGs2Hj0b4WnNuy715ENXvQ+59d1oixFb\n" +
|
||||
"IwsRKez+t5Va2Bpa0MyWrzjMG/qIvjfDiBE5V9VLEXkQkWRgtFnx0x9zwx5l4HZD2Ytw/QRYWZtS\n" +
|
||||
"XQyJWQdfG6u24VgiE7s+4ew4xBNpm55QrbvNkb//AscQWVAtWO9Kl1SESpyn8SQ3QQEX5HomV1h/\n" +
|
||||
"i6D9hpeDsxeppDGGgu2IPKVKKWZB/QyXegysXuCy4tKUzXD51JhqP5Jbvf6AOoFjZsSPuE/ZC1wy\n" +
|
||||
"2DUinuTInpW4k8wubpZyHMlbq3tSufV1SKx5FZEMN2q7mWiGI9Y35W+AS7bXS4GboX7Qz8AU7+HI\n" +
|
||||
"7yafjXCs+/Ujl1GZWmF1XzxKk901Sf9ubfJL3IwebFbQrjhyh1snR6FNRF6F/z4gtg6fisibpQkn\n" +
|
||||
"xKaDc4sfHUWH5gdxbcbs08yI/5+94IAzpJZhISK591rDpGi7MQRzv3bQED1gaDFugkOSCqkDsBYi\n" +
|
||||
"nZepOyEsTq1lAoXWfOYkdWSMkP/XyX941ujE7x2wYfvDs7oDQf4B8kKbzST12qUAAAAASUVORK5C\n" +
|
||||
"YII=").bitmap,
|
||||
contributorName = "fankes"
|
||||
),
|
||||
IconDataBean(
|
||||
isEnabled = true,
|
||||
isEnabledAll = false,
|
||||
appName = "中国工商银行",
|
||||
packageName = "com.icbc",
|
||||
iconBitmap = ("iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAAXNSR0IArs4c6QAAAARzQklUCAgI\n" +
|
||||
"CHwIZIgAAADbSURBVGiB7ZpLCsMwDESl4oOlJws9mdOTTTdZxkrxhwxiHmQTY9kPzKCYmCXBAWxL\n" +
|
||||
"CrsfV++XrQcAC+oe7v6+GgBQzWy6zGt2waeQCBsSYeMutS6T56/Ca+K3NteLRNzdBxadTrTXNEdL\n" +
|
||||
"ImykESnR4EjCqGnsJM3RkggbEmGjmNlnYP4+ayMnI3vpA8CGNs0uFUAN5nXHcpqjJRE2JMJGiRLm\n" +
|
||||
"AXYAXZFebEEnOoDiVyJspBEJv9ltTRP3PZ8emommm0Y2JMKGRNjQlekNujLtRSJsSISNNL85peEH\n" +
|
||||
"6cabOwaCnhcAAAAASUVORK5CYII=").bitmap,
|
||||
contributorName = "fankes"
|
||||
),
|
||||
IconDataBean(
|
||||
isEnabled = true,
|
||||
isEnabledAll = false,
|
||||
appName = "中国农业银行",
|
||||
packageName = "com.android.bankabc",
|
||||
iconBitmap = ("iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAAXNSR0IArs4c6QAAAARzQklUCAgI\n" +
|
||||
"CHwIZIgAAASESURBVGiB7ZpfiBVVHMe/v1gDczMlXwLXooL+QC9LsLpqLiu5QS/6EIQPlhblQ0WQ\n" +
|
||||
"WT21EiFlovgiFqyEPbmw+ZBYxKIW2IJuUQ9htCChLRQRIalsi3x6mLnL3Ht/Z+bMzF2S8AvDzD2/\n" +
|
||||
"f9/vnJkzc85c6SZuLNh8JQaG3YJmbvsNAaAPeBuYyLQN047hjH0ijen7b1hnAGxNCc0hYysSksUE\n" +
|
||||
"sLUOl1sqCtgEjEsakdSJM9onaQQYBzZVSVBaCHBY0pikwSoFCzAoaQw4CHSXCYwWAtwHXJD0bFl2\n" +
|
||||
"FbBd0hdAf2xAlBDgEUlTku6pSKwK+pWIeSrGuVAI8LCkH3Jcvpe0K46bi12SzgVs3ZKOxojJFZKK\n" +
|
||||
"OF5AYk1RkQisl/R+jr1QTFBIerN9pPDltNrMhs3s70KaBTCzy2b2hqQNkr4KuO0F7g/lyOuRPUqu\n" +
|
||||
"01ZMWoIz8VTjYGZfmtk6Sd845h5J74RiXSHAdiUjh1fs0SokS+J5Sb857U8DL3sBbUKAOyS9FSjw\n" +
|
||||
"YnVu8TCzHyW5hCXtSDk2weuRzZJWOO2HzezDGvxKwcxGJb3pmFYo4diELsexzUnShJltK8nllKQr\n" +
|
||||
"khalv69IOlsyxz5Jz0h6qKV9s6SD2YamHgGekD+cHoitDBwCBtKfZ5UMGnvSYwEDwMmYXGb2j6RP\n" +
|
||||
"HNOalGuQxG7njfUvYHEBee9Nt4HX0i2E3PkJ0AP86cTtzvq13iMDasenZnY5r1gBbk23SjCzi5KO\n" +
|
||||
"OKYmrnNCgCWSVjoBx6qSSHEt3ergqNO2MuUsqblHvOfDdUmf1SRxTdLVmjl+DrTPnfiskKWO49dm\n" +
|
||||
"dr0mido9Yma/S/rVMd3bOCgS0gl04tKS/F6ZE5J9jtQRckrSuoDtasYnFBuDKbUPRq6Q2ciEHroU\n" +
|
||||
"npNcSvchu/dQ9uC9e3W1Hci/BmOxSOHRbUe6/yBg3xhZY5nTNse5U0Juy7HdXiM2i1wh2Zt92nGM\n" +
|
||||
"fWVfGOlXJ/ZOp80V4vVIN7C2g2QqxQILJK12TO1CzGxG0oTjHLN+Nd89slbSAqf9dOOg9V3LW2jY\n" +
|
||||
"0CEydWK9q+JEevIltQ99x9U+L+4HHjCzn3IKfSf/edA67ns+Uzl5lS44vOKYTuTFNVbJW3EoN8jP\n" +
|
||||
"k7uIXSLPgcDrf9OKijfVHXHaXgBeLUuiLoBB+XP3/WaW25ONBOcCZ+GuEiRq9QiwEDjj5JgG7m71\n" +
|
||||
"D61rhRYZxmOJdADvSlrltO83s1+is+T0StRZrdMjwN5A7Umg3GwT6AVmchIu77QQYDHwcaDmDNAb\n" +
|
||||
"ig0umZrZt5KGAuZeSReB5/KIlQEwpOTS3RJwGUo5VS6wJXCGGhjF+aAZ2yPAgyQfRfMQEldazEsF\n" +
|
||||
"hSB5/gw3ROUJAZYCTwJHgNmCvK93RERGzOPApQhBWVFtQoBjwB8ROWap+aU3T0wPMBYppg4mgfXz\n" +
|
||||
"IqJF0Dbg/DwImAZ2UnaIrSlmGfBeB0Xsw3lix6L2f1HS4o8pmbdslLQkP6IJo5I+l3TSzC7U4dHx\n" +
|
||||
"P9WQrMQvT7eedG9KZnPZ7XR2PnET/zf8C0KLidymNeDWAAAAAElFTkSuQmCC").bitmap,
|
||||
contributorName = "fankes"
|
||||
),
|
||||
IconDataBean(
|
||||
isEnabled = true,
|
||||
isEnabledAll = false,
|
||||
appName = "墨•状态栏歌词",
|
||||
packageName = "statusbar.lyric",
|
||||
iconBitmap = ("iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAAXNSR0IArs4c6QAAAARzQklUCAgI\n" +
|
||||
"CHwIZIgAAAMoSURBVGiB7Zo7aBRBGMd/n1gpgkWiUaIIgo8IMSKCEosQEUFFBREFEaxSxFNsYiXk\n" +
|
||||
"LH0QW2MhNqKdGjSYQrRREXygBB+QQkUQQfEBEbT5W9xt2Gw22b2d2b1D/FVzO7PffL+Z3ZvZvYP/\n" +
|
||||
"NBbmO6CkdmAtsApYCLQAv4EPwE0zu++7T4DZrgEkrQe2Ad3AloTmNyPndgEbgSEze+WaSyYkrZc0\n" +
|
||||
"qNroioqE6m5I6ixSoEnS6RoF0ogEnJY0P2+JA5LeZJRIKyJJzyXtyUui5CBQq0hAf9r8Ut3sku4B\n" +
|
||||
"XYkN/VOWhJmdSmo4K6mBpGvURyKgLKmc1GhGkWqA/d5Syk5/ksy0ItXrOfU1WgD9kkrTVc40I40k\n" +
|
||||
"EdAnaUlcRayIpBPU976YjqXAibiKKSKSVgJ9eWfkQEmVbdEk4mbkGNCUfz5O9EQPTBKR1AzsKyyd\n" +
|
||||
"7PRUr5wJojOyD2guLh8ndoc/RFd2nzf4I+AhcAtYDCzwGBtgF3AmtkbSTw/7qa+SdqXJJMVeK4ll\n" +
|
||||
"QaxZ4aDAPMdRGgO2m9mQY5y0tAWF8D3S7iHwUTN77CFOWtYEBZ8it83sjmOMWmkNCmGR5Y5Bzzme\n" +
|
||||
"n4WFQSFxG9/gNIzIIl+BwiJ/HGMtznBOh2OfE4RFPjvG6s1wzsrkJjPyKyj4FOmUtDNtY0mHiGwz\n" +
|
||||
"MvA2KIRFnjkGBTgvaVNSI0nrgAse+nsdF7zVcbsQ8F3S3hkkSpLee+prQxDXIp08BBJHNCVjVN71\n" +
|
||||
"jlDZMLZQeUe81VP8YTPbEVsjqc/TSBXB4XDu0RlZBowCcz2NWl58Alab2Y/gwKQF0czeAVeKzioD\n" +
|
||||
"Q2EJiF/ZLxaUjAtTHhOmiJjZUxpb5pKZDUcPxv70JqkVuAusyDurGvkCbDazt9GK2E2jmX0ETuad\n" +
|
||||
"VQZ64yQSkXS2zl+xYQ46DYGkkXobSBpwkgjJXK2jxFkvEiGZcsECfyQd8SoRkjku6VsBEs8kdeci\n" +
|
||||
"EZLpkHQ9J4FxVWZ+Tq4SEaFuSZc9Sgyq8pxSHyS1VUdxNEPyTyQNKOb3jlrx+qcaSW1U3v61UXkG\n" +
|
||||
"aWby2/1x4AXwEnhQXXj/80/yFxO3SSfTTsqKAAAAAElFTkSuQmCC").bitmap,
|
||||
contributorName = "fankes"
|
||||
),
|
||||
IconDataBean(
|
||||
isEnabled = true,
|
||||
isEnabledAll = false,
|
||||
appName = "车来了",
|
||||
packageName = "com.ygkj.chelaile.standard",
|
||||
iconBitmap = ("iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAAXNSR0IArs4c6QAAAARzQklUCAgI\n" +
|
||||
"CHwIZIgAAASRSURBVGiBxZlfiBVVHMe/v6hADXaj7S9amlpUD2V/sOzfJposLL6Y9ocSs1Ai6iEk\n" +
|
||||
"qB52w9qKoFgQo6XQBMv2YVlNKSHaNaJe9gobthhlhujSS7qthFIPnx5mLp09O2fuzL0ze79wuXfO\n" +
|
||||
"nPP9M+fOOWfOmAoEcK+kFZIWS1oUf8+SdMb5jEmqSKqYWaVI/YYAdACfAKfIjzHgDWBJMwMsAz6t\n" +
|
||||
"w3wIg8DdMx3irQIDuPgX2ArMKTtAC7CvpBAuDgML8nizHCHul/RtDu5jkn6UNCrpKklXSlog6baM\n" +
|
||||
"7Y9KusfMJnJopgNYlPFKDgIbgbYUrrnAerL17GSRIS4BjtQQPAg8UAd3Z4ZAfxQVZEeKyDngpQI0\n" +
|
||||
"NgJH0y5UowIbUsjHgOWNhnC02oD+FL136yWeDxwPkO4FrigqhKebFuaOegi3BchOAQtLyOBqfxfQ\n" +
|
||||
"/jAvUSswHiB7riT/rv7qQnoFeCZA8kWJ/n0PHwc8vJeH5ECAZG2J3n0P7QEPh7MSXAb8k0Dwfcne\n" +
|
||||
"k7wMBcIs9utekND+PkkXJZTvdQS6E8iPAF2eiRWesW5gyDleS7Su+juu/4SnuS+QcZVfcGFCpY5A\n" +
|
||||
"49+842FJh7yybuCQmQ1LapeU9H9ulyRgpaR+SQclfS1puaTdwA1m1h3XDa3trvMLkoLcGGj8k1/g\n" +
|
||||
"CCo21yXpvFM0K8AlSQsl9ZjZa077TkmbHP4KcFLSXK9tq0+WFCQRZjbmlwGrYtI2SZfHxb87VWan\n" +
|
||||
"UJ6X9CrRxDpgZl+a2X5J+4FrzexEXO9XFRkkAe3xJ4TTSu6Rs5JkZjuBixX1wLNARVKfmfU5IUKY\n" +
|
||||
"FiTpZs+KYYshqUXS43H5hvj7FyX3yOnqj9j0nZLWKHr+6CXb7H3OL0gKciYD0RSY2aSZ7ZG0U/+P\n" +
|
||||
"KMcUCAJcQ7TjUm0/YGZPSlon5x6JkbQcmuYxcxDg5qRy5/xSSasVbfdI0glJLxIvKeLv5yUdN7Nx\n" +
|
||||
"SSuJdl+udmhuV3QBqpyXSpqXxWPSPRLqkVsck1WhIedwqaSvFA+5ZvYK0eJyBKgOx6OSNsf1+yQN\n" +
|
||||
"SBqPz7cquqmfcjhvDXiZ9vibFOTnQOPrvWN3DpmQ9L6ZTZnAzGwd0C7pQUlvS/rBzCbjc+PAQ5Ie\n" +
|
||||
"lTQ/bvKZmbn6jwS81H7QInq0TVqijAJp80LhiDV9/JmH4IPAGuflEn37Hh4LeOjPQ9IRIDlJzv2m\n" +
|
||||
"egDMJlqDJcEf1WqShXY3dpfk39XuCmiP1EPWGSADeKEE/1Xd0HNI/t5wSNP2nJ4uOENVM4T8veGQ\n" +
|
||||
"LgPOppBvKTBA6L6s4uFGBdbXENgO3NSgxqYaGsVcMGBLDaG/iF7Y+JNmGmdLHGCkBveuQkI4wm/W\n" +
|
||||
"EKziALAZuItok28O0XA6D1gCrAF2ARMZuPYUGsIJ05sxTBEod5gnvN9UJIr9O6WE+bzEEDtmJIQT\n" +
|
||||
"JrSJ1wg+mtEQTphvCgyRb4O6hDCDBYTY3tQQVRANp/ViW7P9TwHh9ylp6G2270QAPTlCZH890AyQ\n" +
|
||||
"vMHto773gTONGmHeaba/XAiE6Wm2r7rghdnabD8NIQ7zetk6/wGsJc5dvdleEwAAAABJRU5ErkJg\n" +
|
||||
"gg==").bitmap,
|
||||
contributorName = "fankes"
|
||||
),
|
||||
IconDataBean(
|
||||
isEnabled = true,
|
||||
isEnabledAll = false,
|
||||
appName = "腾讯微云",
|
||||
packageName = "com.qq.qcloud",
|
||||
iconBitmap = ("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\n" +
|
||||
"RK5CYII=").bitmap,
|
||||
contributorName = "fankes"
|
||||
),
|
||||
IconDataBean(
|
||||
isEnabled = true,
|
||||
isEnabledAll = false,
|
||||
appName = "最右",
|
||||
packageName = "cn.xiaochuangkeji.tieba",
|
||||
iconBitmap = ("iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAAXNSR0IArs4c6QAAAARzQklUCAgI\n" +
|
||||
"CHwIZIgAAAJRSURBVGiB7Zm9axRBGIefV9RC7ILgJwQUA7lSRLDRJkggEkRMkyaQ0g/sBBvTWQQr\n" +
|
||||
"sZGAFoKScBGrFCkugp+lmMJGCQS1sdI/4GeRVTZz6+3s7NztqvvANS/vvfM+Ozc3c3PQ0FAfJI1K\n" +
|
||||
"WtTgeSBpNKbEegUSv1jPktkR4HICaJV/JMG0gNNuMETkaPleSnPYDYSI1JJGpG40InWjEakbXSKS\n" +
|
||||
"xiS9SO2kC5KOBdR+BtwwMwOmgKWMnA3gZpIzDjwJGKcbSQckfc44FlxN5cx5HiXOOrUvZuTMeORk\n" +
|
||||
"Mef27s7IOeBghuNQwWfy3szW0gEzawOfUqENM3uYk+ONKzIcUiSDEUn70gFJw8CR9FhJrFeON/1a\n" +
|
||||
"7LuBS07sArDLid3yyPFiZ8ibPLkn6RrwGDjP1qnZZUbSGLAATPwhx4t+igCMAF0L0+EQ3TNTmH93\n" +
|
||||
"H/lbaUTqRiNSN/5rkXfRu4iAr8jv6xczewqs9qcdL14Cd9ygr8istt/uXQbux+iqILeBWTP70TMr\n" +
|
||||
"57fGo5gdKf/atVOkXpE1Mi3prqSgY3YGk8DbSLUKL/YrwJtk5k5J2h86sJl9ZEsm/nrL+WjFoi1p\n" +
|
||||
"T2rMvZKWM/Ku111EklYkDTljz0valPRK0niJ+RioiCStKd56q3RnPwO0JR2PUazqI8pJYFnO1VEI\n" +
|
||||
"rsiHsgUDaAEdlfxv0BV5DnwpU7AEq2VktomY2VdgGnhdtquCfE/G/Nb3kSR1cr6FFvveRA9iLfYl\n" +
|
||||
"M5uKVCuIGCKVSxRC2ZtlpR+nYBKZzeQ1X3U/DQ0D4Cdhx/r0wRQJtgAAAABJRU5ErkJggg==").bitmap,
|
||||
contributorName = "fankes"
|
||||
),
|
||||
IconDataBean(
|
||||
isEnabled = true,
|
||||
isEnabledAll = false,
|
||||
appName = "学习通",
|
||||
packageName = "com.chaoxing.mobile",
|
||||
iconBitmap = ("iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAAXNSR0IArs4c6QAAAARzQklUCAgI\n" +
|
||||
"CHwIZIgAAARYSURBVGiB7ZltiBVVHMafE4j0AuW6pr1gQlHZi0GGtomyRbAJ+yHZTCLTam2FTD9E\n" +
|
||||
"mRWx+8GIkBayIpLFdqEXKIWS0O11i8B2qSQkhIiytFDbkrQIIuLXh/lPnT17Zu7c7t2798N9vpwz\n" +
|
||||
"z/+ZM//n/uecOTNXaqCBBuoewDmVjnFKNRKpAi6pdIB6MSKgZ7JzqBhAKwnaJzuXiuAZ+bHIfAFa\n" +
|
||||
"a5FX2fCMAOzK0MwA7gWGap1fYQRGALqD2AterD6rIUWNECSfon6rIWUaiaGuq9EGvFHARP1VA1gI\n" +
|
||||
"9AI/FKxEfVUDWAG8VUby9VMNYBqwAfjUkvqMZE78VKaZrskycCrwMHDIM9BlsfOAbcDvZqpolS6u\n" +
|
||||
"tYk7gS+8BLYYPwV4DPgVeAeYZvwm4M8CRqIPy4kw0ALs8S58FLjDYrcC+4zvMe5SYIdxQ5HEn2X8\n" +
|
||||
"gvDIRJvoBE54F/wAmAfMBQY8frXplwOHjdseMbLGG/s0YCWw02JLJ8pEb5BEPzDVkv3Z41s9Eyl2\n" +
|
||||
"GecbebDE9S4AZlXbxMuBid5IsgArjO/yuK+Nu9/jtlQ1wYImtgfJPmV8d8BvNb7H40atand53NuT\n" +
|
||||
"YWJ3kOxgJFmAF43f6HF/Ae3ADR53FJhXaxPhxPzY+DUB/6bxNwf8AyTPmb0et7bWJvqDpPYBTcDl\n" +
|
||||
"wC9BbDEwC/jS44ZsHH+BOABMraWJ8N7/G7jaYq8EsXTS9wV8mxn0kbtKVdtEC8m97eMZi60K+IPA\n" +
|
||||
"uYx/z3jJ9Ds87jAwo5ZGwv3QbyQPu5nAV0FsnZ3zXMDfDlwYcH21NLGB8XjSYk8H/B9AM8muN9zh\n" +
|
||||
"NgHLAq42u1qS/dCx4OLHSJ6us60yPnbaeR0Bny7PTwR8VV6YinxpfFTS2QH3vHPue0kdks4IYoPW\n" +
|
||||
"3hLww9bOKSvDgsg1QrI5WxnQJyUNWL8jctq71l6VMeyZwXH4Q/wvlKrI3RFuwDl3ELhe0qIgtt85\n" +
|
||||
"9531Z2eM+W1wPL9EDoWQaQRYovG3hyS9au1NkVi6CZwu6fSMoQ8Exy0lciyEvIrEqnHcOfeJ9WN/\n" +
|
||||
"BRyxNqsakvS6pFHvuK0aEz5qBLhG0upIaMTrx+bAyaD10S5JzrlRJWZ8hPOwbGRV5NoMfkSSgGbF\n" +
|
||||
"V5+ZkuSc+0b/VSfFfGCB9UMjnVT4/0iWkawJeNzaKzLi/lvbcCS+TpKccx9K2hbEuqngFTbLSNY9\n" +
|
||||
"mxqZnhGf6/X3R+KrgHSR2CTp8yC+uxIzYwDMIRtLTbM2R3ORaRZmxD8CppjmxgzN+nLzjlVkQYRL\n" +
|
||||
"4axtztEsliTn3IjGLg4plkjabJr3JN0T0WwFXgMKL80xI1fm6JusPZGjWeb1BzM0G7GPEc65PkkP\n" +
|
||||
"RTTLJe0leQE7P+d6cTD29TPEfaa5LUcDsMgbbzhHt97TdQJHMnSjJJ9Yw53Ev3AhQf6X7/edc5tJ\n" +
|
||||
"JmzsV0xxyDmXfoi7TtLjpcY07WWmPStHL0n9zrmBEpoGGmjAwz/KTMTXMyluSgAAAABJRU5ErkJg\n" +
|
||||
"gg==").bitmap,
|
||||
contributorName = "fankes"
|
||||
),
|
||||
IconDataBean(
|
||||
isEnabled = true,
|
||||
isEnabledAll = false,
|
||||
appName = "波洞",
|
||||
packageName = "com.tencent.nijigen",
|
||||
iconBitmap = ("iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAAXNSR0IArs4c6QAAAARzQklUCAgI\n" +
|
||||
"CHwIZIgAAALQSURBVGiB7Zo9aBRBGIbfT7QzIsEQoolgpYUIASEgCAoSjcRGsBIEFSy0EbERBSOK\n" +
|
||||
"XTr/UBQlgohFRBAiRPwDjaawMInRwsagGBMQBMHqsdgNhJDd2/nZuxPugeE45r6fd77dvdmZkRo0\n" +
|
||||
"KAUr0znQKqlLUnvaOtLPWUkzaRuXNCnpk5n9KTMfJ4BO4ATwDDemgavAjloL6AUeOSafxRvgJLDi\n" +
|
||||
"fxWwkFFgZzVE3CxJwEL6yhKwBvhYJRGFxDg/tYAuSSPeoyB9k3Rd0of0+yZJZwva9pnZuYDYCWkl\n" +
|
||||
"QhgB2jJ8F+FxVm5LHEQ0SRry0D+fC2b2PaOvyH0wldVRWIikO5I2Ovx+McZy+l4UsH8bFB04FnhJ\n" +
|
||||
"zbE8J0ZLBdv7oSKaiPeE2pIT52iO3e0gEWmAU5FEAAzmxJnNsLkSQ0QzMBVRCCSzgF6gLW27gbGM\n" +
|
||||
"3/YHi0iF7I8swoXzLrkurdDfEzAOIZw2s4vRvJF93ZbJ8WgCUhHbaiDiiG++eZdWu69TTw6Y2YCv\n" +
|
||||
"cd4/ezWFHA4RIeUL6Qhx7MCwmd0KdVIPFfkSw4nLpLEs/sZwkickc8ocmfUxnOQJ+RojQAG6gUOh\n" +
|
||||
"TuqhIpJ0DdgT4qBehCyTdJeAxbncxQdgWlKLr3MPfkjaa2avXQ0rPbUe+OXjTauSynS6GlYS8tQv\n" +
|
||||
"nyDWKRGzIZpHYCXxX6yKMgqsLZprbkXM7Jeky8Ej4sdmJZWJc48Sd/HBhyfkrL7MUXGKYma/JV2K\n" +
|
||||
"Mip+dEsaAOJMp4ChGlYF4EZefoUXsYFVkt6r+i9c89luZs8X6yhcLjObUVLmusRnW2GrpJcl5FKJ\n" +
|
||||
"z2aWOVN2voHM7JWkZkmLlrhEzpTmGeivwk0+C+wrTcQ8MWVuht4DQrcyaipoGDjoEj/6yQeSPcYe\n" +
|
||||
"SbuUnHooyqSkQUkPzeyda9yyj3CsVjJnWniE42fapiVNSBo3s4kyc2nQwJN/DSiEAjz9qlQAAAAA\n" +
|
||||
"SUVORK5CYII=").bitmap,
|
||||
contributorName = "fankes"
|
||||
),
|
||||
IconDataBean(
|
||||
isEnabled = true,
|
||||
isEnabledAll = false,
|
||||
appName = "哔哩哔哩漫画",
|
||||
packageName = "com.bilibili.comic",
|
||||
iconBitmap = ("iVBORw0KGgoAAAANSUhEUgAAADcAAAAyCAYAAAD4FkP1AAAAAXNSR0IArs4c6QAAAARzQklUCAgI\n" +
|
||||
"CHwIZIgAAAPtSURBVGiB3ZpLUttAEIa/drElOCfA2WUX3wA4QZwLJBwgVSEnAE4AnAByAswJbG+z\n" +
|
||||
"idllBz4BcILOQiMzkntGI0t+hL/KpddI6uc/0y1DAKraU9ULVf0TGvPfQVW/qepIPWxapkbwvPSk\n" +
|
||||
"BjYt39Ioe+ktKdcB3m9aiFVhBxgDnzYtiAVV7VKU7UVEpqn37wDJg9cFVT0ERsalZ2pEmqhqD3iI\n" +
|
||||
"DhKReuI1RyjX68jSEZFH4KU1qdrDrOkDOm67daEJPDZ9wDYrN7ZOunxMQq5cYyutAG/ac60pt42e\n" +
|
||||
"Cxm8l/qADoBjzK2CiDxjs3g95RzuG0uUCLdQP1XVa1Xtq+rYW8r6hBFNF1XtquqB+/XcLz/e3fHG\n" +
|
||||
"Pkce0q+z7ElAHzhz+zMyJQ7ccdcb558PPSdfyZy77anbfvc9Z1Kv8cI2UDaUb9h+4Lx1PZpOndjF\n" +
|
||||
"VaGU4z3C4Wednxu6iitSPbcKTNy2R9FDPmEEUyUFvnKNHrQEcqvvUfSQr5zluf3UF8yVa5kwUpC/\n" +
|
||||
"r+9ofwGB8+WpYGKMAdJzLnk9VwNlY/7CFnTpKWqndDwhTr1tYgocuS0ichwYV5UuY+/n43fhqDSZ\n" +
|
||||
"+jhjQ1DVS0OefvWdi54bY3tuFWGJE/KAjN77vNL8uYjknrA8lzTvlpVbNy6xjTnhNcyqlmBD4LNx\n" +
|
||||
"6WuZUNY914Xe50dKFWOGJvJ3qWy5KpIJeWXP269SLkQ4HwvKeXG+LoSUmxNGg/l3N3lt6RqkraJB\n" +
|
||||
"5833XNAhFqGE5rqRqoZCYEoWHlNgVtPaZllTKrPuKXaekwrWOmwZm1sKU4UzwhgYAneh5ZVDqGbz\n" +
|
||||
"IyV2f/CaFZZt5F0XGAA3wJOq3kZacim9kjIjzo0Ri5J11XMDsrAeGUouo1wSLOVWWR0ckil5nRNU\n" +
|
||||
"S9WI2Xq3lEut634CVyzHdsfAg7dGtKoB38MLqVKKANOzTTzXFZETEekCX4C7xPvm9wMXNd9ZCwvK\n" +
|
||||
"VTCbCREZisgA+EDWhUr9QpNb31LOp37LM1UVe5BQUgrEBfYTkUcRORORWNPHRx7SyzSCKpdgIeVS\n" +
|
||||
"vLdnnXSN0lvi82KOIYRJJbVuCyGkXIrVF17shBmRUX8VXoAT79giFX8iL0dTlHCgmedwn5zz/WMy\n" +
|
||||
"xVKs/QIclvLbCr2qBm0UjZQDei4Mr4Fr0irkezLFytERzTtDpv3INSC8tkyl5gEZnafmxhVwFmBk\n" +
|
||||
"651+6TMA+8uqiEyt/wc0bTP8SBw3A45j9aKIjEsCzjBCtU7NGVKure7zjMxTN4njj4DHJb8X3lEM\n" +
|
||||
"47/B/3Q0+M/XjIzihxuo7Atoo/s1IcuXKTDepq+0MeV8N/s9xLxDvFGvpOAfWYvqI/JlEOsAAAAA\n" +
|
||||
"SUVORK5CYII=").bitmap,
|
||||
contributorName = "fankes"
|
||||
),
|
||||
IconDataBean(
|
||||
isEnabled = true,
|
||||
isEnabledAll = false,
|
||||
appName = "航旅纵横",
|
||||
packageName = "com.umetrip.android.msky.app",
|
||||
iconBitmap = ("iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAAXNSR0IArs4c6QAAAARzQklUCAgI\n" +
|
||||
"CHwIZIgAAAL2SURBVGiB7ZhNiBRHGIafWgVBVNwlBFQURSV/CyJ6SBBkRVEUBTUqIeTgIZhLogiC\n" +
|
||||
"iIfNKYJnEcwxIIKgBwV/UBCEgIIH0VX04CWIhl0vJuAhl8fD1MS2HXument3ZqBfKLq7qr73e9/6\n" +
|
||||
"6ekaqFGjRhFCSmfV5AQhtMyh3gJGquACGEjU1bOojfQaaiO9htpIr6Gvjai/qtfVpX3/gxg1Xe73\n" +
|
||||
"Gdkbb3f0rRF1PvB987kvjairgavAzlj1eypBMgq4bpXhUo+p/2Sqr6izWiU4ETv82WtG1Jst6j4F\n" +
|
||||
"mJkjvwjsio9nO5qm6cXG3PPKEMI4ZIy0GL05U61qEngErAshvG5WDACoV1p0Pqiumi5lCTgRQhjO\n" +
|
||||
"mgBAHSlYkxPqbuNmKrGmW+4R9UvL7ZGvP+Zu5scaIj4BLgB/qTfTBu5/0duAz4CvgGFgJTCUQPEA\n" +
|
||||
"OB1CONMu0ZoyIz3FeKP+oW6OGveptzsZtSNdlf0Ol9Sf1aXqgHpIHWs2djR/NmbmThfEX1N/VBdH\n" +
|
||||
"HQvU4+qzfMci/e99Taqzgf3ApljmdjQKneM/YCyWO8CFEMK4OgRszZSWe6jo76DCz3h1BFiSK4M0\n" +
|
||||
"DM6J17nADOA1MAG8ylxfAW+Ah8BYCOFphnsI+Bb4AVhfpGPSRqYS7ZZKKxQZaff67QjqAmARsDB3\n" +
|
||||
"XRRC2FJFjnZIMqL+RkNktgymJlXnpca0Q1eOuuom4EYVXE1062C1tmrCbhkZrpow1ci/k00YXwwb\n" +
|
||||
"SoROFDWmGnlZQkAeP9F4SaTiUVFjqpEXqdnV5Zn7EWA0lSPicVFjqpEyx9/NmfvxEvFNXJ1E7PtQ\n" +
|
||||
"l5X4KHyiDmY4zpfguFSZiYyQYyWEjGbiV6t/J8Zvr9xIFDNawszhTPxsdbzDuL1FWqowc7CEmf05\n" +
|
||||
"jqJlNjHlJjJCflFfJpo5qg5kOA6o93J9bqtrpsVERsgK9ZT6PMHMXXVPjucb9bD6nY0DXhIqPY/Y\n" +
|
||||
"+J34PJYv4nVJQcg54GQI4X6VOmrUqPEh3gK0HUzGOkCsyQAAAABJRU5ErkJggg==").bitmap,
|
||||
contributorName = "fankes"
|
||||
),
|
||||
IconDataBean(
|
||||
isEnabled = true,
|
||||
isEnabledAll = false,
|
||||
appName = "米游社",
|
||||
packageName = "com.mihoyo.hyperion",
|
||||
iconBitmap = ("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\n" +
|
||||
"zPgfrqzeQT35+oQAAAAASUVORK5CYII=").bitmap,
|
||||
contributorName = "fankes"
|
||||
),
|
||||
IconDataBean(
|
||||
isEnabled = true,
|
||||
isEnabledAll = false,
|
||||
appName = "原神",
|
||||
packageName = "com.miHoYo.Yuanshen",
|
||||
iconBitmap = ("iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAAXNSR0IArs4c6QAAAARzQklUCAgI\n" +
|
||||
"CHwIZIgAAAIQSURBVGiB7Zm9SxxBGIffCYKdnYWpxXRJkdbCMqAINtqmUbnWoIWNdin8D2zsDNiI\n" +
|
||||
"WqRNIZZJiNxB0lwhQfIfCAk8ad6D5ZhZd9/Z2b2DeWCa+Xjn9+zeHvshkslkMtOE83UCCyLyquUs\n" +
|
||||
"VfnpnHusNBM4ZnI58mUOnZHfIvLSftCS8sM592a880Vg8r/EYWJ47esMiXxLGCSWU1/nTGDyiYh8\n" +
|
||||
"T5clipuuAyTFe7GPAGgrSBWcc8G8oWtk6sgik0YWqcEvbUlpQ+STtqQ8J/I5sn5fRC609SNrlWZ5\n" +
|
||||
"TuQqYuO+iGw65wbOuYGIbEqcjD0LMAsMatxi/wXOgQ1gzlNvTsfOdW5VBsBsxEEQAfZrbDjiFtjx\n" +
|
||||
"1NrRsbrsR0no5vPAg2FzgF6hTs9Y4wGYjxbREAfGEADvtFk5aESiIGP5SQB81GbhtlEJFVk3hvmq\n" +
|
||||
"zcJ64yIqs20MZGE7iURB5rAFicOkEgWZVeAugcAdsNqKREFmBjgChg0IDLVW6B1Ca0LvjUJDXdud\n" +
|
||||
"wDjAokFksevcXoDrGhLXXecNAqzVEFnrOm8pwF4Fib2uc1YC2CqR2EqxZ6pH3T/GMTP5LUoI4K2I\n" +
|
||||
"7JZM2dU5kwewBHwA7mv8a93rmqWu8wuwApzVCB/iDFjpQmAZuGxAYJxLYLktiR7wlEBixBOFZ/2q\n" +
|
||||
"lH4fCYi08s2k7FuID8td5xfDmkxmWvkPR7KRuK0y5NAAAAAASUVORK5CYII=").bitmap,
|
||||
contributorName = "fankes"
|
||||
),
|
||||
IconDataBean(
|
||||
isEnabled = true,
|
||||
isEnabledAll = false,
|
||||
appName = "崩坏3",
|
||||
packageName = "com.miHoYo.enterprise.NGHSoD",
|
||||
iconBitmap = ("iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAAXNSR0IArs4c6QAAAARzQklUCAgI\n" +
|
||||
"CHwIZIgAAAW1SURBVGiBzVrtdetEEL37Dv8RFSAqQFQQUwGmgqiDmAoiKniigic6MBVEHUSpwKGC\n" +
|
||||
"+FVw+bF3rfFmtbJkA5lzdBztSrNz52tnRwGuIJLVNe9/GCLZ/d8yBPq09kWS9S0FuZZWAwFQAHi9\n" +
|
||||
"lSDX0iogJDf4QCCA9RapAfTwVvkQtBiIrHEH4A0fCMhiIvnEkbYzz1Yk7/R3SfKO5L8C3i15WNZ4\n" +
|
||||
"0u1XAKVz7mjm7wH8gDERDJraADjqvgBQ6vfgnPvzGgA5Ye8zcwdjjc6+Q7IT0CVrlSSb3JqriWRP\n" +
|
||||
"cpcY3/GcSl3tUgAJ3pUUcbtKQQKXFgzJguSbAdGQ3JJsbrawX6ch+XArZoWEfQuBGVljIPmY29nF\n" +
|
||||
"Y1K7JMvM3JZkex2KkdleQu90b2PjOYBIZSCByJYvsngO6G3AiBEFqIpioya5oU/D7xa7VIBcXAlo\n" +
|
||||
"nYrVxUTyVe5VGxAdyS/6+xhbRD5+UUU8F9hSVn11ApBQpM9KITaeDYhKzxUkH8xcdpM0/IuUaybA\n" +
|
||||
"tHPPzS1USrA++h00VxjrBFrk18wEveYLgbkuOxorBDfrxfyR5+k40KTmUkLPAdEzF1llrmjcAwg+\n" +
|
||||
"+ofuDwAajAXjV/2+2HIlQSmXOwHJxMIRQAcgG/hZIM65YNKQTj9jBPAC4DezwD7HSwItnnfODVBt\n" +
|
||||
"dm2s7E3mGqid38yHIJ/LQu/2FkYpeMrV5F7ZSuKbmcUreE1tAfzsnOsTC1cAvkpzOUqdKGPBpzQ+\n" +
|
||||
"QF5BsrpgrXOS9nM7cLBU1q1SKVmZ7yKLBB6yTHKfmgv20jk3ZMCE8X7Gf1MCbjCeV2J+JzJrhxhq\n" +
|
||||
"mNjx54AE4V7FNBY2LDJgwi2k9VQghwPWpTTAZ8uj+J69OwlEAoSYCC/FGvs+COWcexcDWuwVERAp\n" +
|
||||
"5AjgGFl7CjCU2o8AGudcK1DzQOAD/OT7JDdxsMMDfEHCGiRLgSswKuTE2znXaT5bCUfUAXgIVrZW\n" +
|
||||
"yQEpo7+nYoAwvq6df4tRu0V0rj9r7Dnn9mY8RUX07N8AHgUqfzKlLxhrc5/MFMpYVsg6zlDx/hFn\n" +
|
||||
"KjueyGKP9GehyoyFI8bmrLaLNreC5OcIRDVlejHsxfSgd2N+24hXOHWW9FXzE33x2eoKVfXG1HCx\n" +
|
||||
"cnr6Wq+xg62Y7WQJK8hmao/gWB0feU4Hq71Ik4W5t6dOaqwOwkmmvR2LFDRYhX9yzu0A/A6fkQoA\n" +
|
||||
"93r5AN/DmirNa3h/jfcCG1tB+xsAr1FRmdv8dvD+v3fOdUjvUw3mEkVk1jML6beWJUM7yFLI85Wu\n" +
|
||||
"M0sYXmeksVZe8UYyLodqmhjSfbBaGgzH0sMGcsWxoTbQBJruA7Ua2+a0xfGgxiA0xwKUfB8XO/E8\n" +
|
||||
"uT9NTM0BCamxFPpQ/QbXg5nvdF1UahulNPQ+H2KO9HG3i563nc1a791LriyYwSxyKtXFpMiadAVx\n" +
|
||||
"7BF00vSzmdvEwMzcbJxQwj5LQ7VMWwTz8kaNNPE8ar0tx70ipGiuVlpk5uCTp/aMFut4g2+J0ngv\n" +
|
||||
"S+x1b/sFc6fPLPM+pQnFSEirBTOZaQGInYmTnfy+F5gtL2wxTS3Qcbo06bTwqccra9W8rDNSkPxF\n" +
|
||||
"LmpTakjpFKCWF7aCJj/0yGWG1LFS2t8B6OLyXdoroA0N56V5pfEeQK9DW7Bkg7E0bzF2cNqZ7kye\n" +
|
||||
"LnEVjp8XCr4v+PY03zzkQm80aduMN+a5VgHerHXXVaQYaSTQxvj6m8ZDU8829Cy48D3Gtl2/TLn1\n" +
|
||||
"FC36hjgDqISvv+4A/ATgW039BX926MwY4Gu0F43XGM8opa7dkm5Jth20hJxzIU2WAH6Fj6Hg2y38\n" +
|
||||
"52wLpILvUlbOOXtsaKCmx61kW0Vyo5BxQgoNZXeg08eixPvtLfamm5Pi5JHj2cICetIzp3KfKz8j\n" +
|
||||
"3CxGckR1B5XZKgA/Yuwn9/Bx8h38+WPV/7j8J0AsSdtbjAerAX5PWb9XAPgHzHgdCObysAoAAAAA\n" +
|
||||
"SUVORK5CYII=").bitmap,
|
||||
contributorName = "fankes"
|
||||
),
|
||||
// TODO 可继续在这里添加更多 APP
|
||||
)
|
||||
}
|
||||
|
@@ -48,6 +48,10 @@ class ConfigureActivity : BaseActivity() {
|
||||
findViewById<View>(R.id.title_back_icon).setOnClickListener { onBackPressed() }
|
||||
/** 设置标题个数文本 */
|
||||
findViewById<TextView>(R.id.config_title_count_text).text = "已适配 ${IconPackParams.iconDatas.size} 个 APP 的通知图标"
|
||||
/** 设置搜索按钮点击事件 */
|
||||
findViewById<View>(R.id.config_title_search).setOnClickListener {
|
||||
Toast.makeText(this, "后期开放", Toast.LENGTH_SHORT).show()
|
||||
}
|
||||
/** 设置列表元素和 Adapter */
|
||||
findViewById<ListView>(R.id.config_list_view).apply {
|
||||
adapter = object : BaseAdapter() {
|
||||
|
@@ -48,6 +48,8 @@ class MainActivity : BaseActivity() {
|
||||
private const val moduleVersion = BuildConfig.VERSION_NAME
|
||||
}
|
||||
|
||||
private var isWarnDialogShowing = false // 警告对话框是否显示
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
setContentView(R.layout.activity_main)
|
||||
@@ -184,6 +186,20 @@ class MainActivity : BaseActivity() {
|
||||
}
|
||||
}
|
||||
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
/** MIUI 12 的版本特殊 - 所以给出提示 */
|
||||
if (!isWarnDialogShowing && isHooked() && miuiVersion == "12" && isMiuiNotifyStyle)
|
||||
showDialog {
|
||||
isWarnDialogShowing = true
|
||||
title = "经典通知栏样式已启用"
|
||||
msg = "在 MIUI 12 中启用了经典通知栏样式后状态栏图标将不再做原生处理,模块停止工作," +
|
||||
"这取决于系统设置,你应当在 设置>通知管理>通知显示设置 中将样式设置为“原生样式”。"
|
||||
confirmButton(text = "我知道了") { isWarnDialogShowing = false }
|
||||
noCancelable()
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断模块是否激活
|
||||
* @return [Boolean] 激活状态
|
||||
@@ -192,9 +208,9 @@ class MainActivity : BaseActivity() {
|
||||
|
||||
/** 重启系统界面 */
|
||||
private fun restartSystemUI() =
|
||||
execShellCmd(cmd = "pgrep systemui").also { pid ->
|
||||
execShellSu(cmd = "pgrep systemui").also { pid ->
|
||||
if (pid.isNotBlank())
|
||||
execShellCmd(cmd = "kill -9 $pid")
|
||||
execShellSu(cmd = "kill -9 $pid")
|
||||
else Toast.makeText(this, "ROOT 权限获取失败", Toast.LENGTH_SHORT).show()
|
||||
}
|
||||
|
||||
|
@@ -29,11 +29,11 @@ import android.content.res.Configuration
|
||||
import android.graphics.*
|
||||
import android.graphics.Bitmap.createBitmap
|
||||
import android.os.Build
|
||||
import android.provider.Settings
|
||||
import android.service.notification.StatusBarNotification
|
||||
import android.util.Base64
|
||||
import com.fankes.miui.notify.application.MNNApplication.Companion.appContext
|
||||
import java.io.DataInputStream
|
||||
import java.io.DataOutputStream
|
||||
import com.topjohnwu.superuser.Shell
|
||||
|
||||
/**
|
||||
* 系统深色模式是否开启
|
||||
@@ -54,6 +54,17 @@ inline val isNotSystemInDarkMode get() = !isSystemInDarkMode
|
||||
*/
|
||||
val Context.isSystemInDarkMode get() = (resources.configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK) == Configuration.UI_MODE_NIGHT_YES
|
||||
|
||||
/**
|
||||
* 通知栏是否为 MIUI 样式
|
||||
* @return [Boolean] 是否符合条件
|
||||
*/
|
||||
val Context.isMiuiNotifyStyle
|
||||
get() = try {
|
||||
Settings.System.getInt(contentResolver, "status_bar_notification_style") == 0
|
||||
} catch (_: Throwable) {
|
||||
false
|
||||
}
|
||||
|
||||
/**
|
||||
* 系统深色模式是否没开启
|
||||
* @return [Boolean] 是否开启
|
||||
@@ -256,28 +267,10 @@ fun findPropString(key: String, default: String = "") =
|
||||
* @param cmd 命令
|
||||
* @return [String] 执行结果
|
||||
*/
|
||||
fun execShellCmd(cmd: String): String {
|
||||
var result = ""
|
||||
var dos: DataOutputStream? = null
|
||||
var dis: DataInputStream? = null
|
||||
try {
|
||||
val p = Runtime.getRuntime().exec("su")
|
||||
dos = DataOutputStream(p.outputStream)
|
||||
dis = DataInputStream(p.inputStream)
|
||||
dos.writeBytes("$cmd\n")
|
||||
dos.flush()
|
||||
dos.writeBytes("exit\n")
|
||||
dos.flush()
|
||||
var line: String
|
||||
while (dis.readLine().also { line = it } != null) result += line
|
||||
p.waitFor()
|
||||
} catch (_: Exception) {
|
||||
} finally {
|
||||
try {
|
||||
dos?.close()
|
||||
dis?.close()
|
||||
} catch (_: Exception) {
|
||||
fun execShellSu(cmd: String) = try {
|
||||
Shell.su(cmd).exec().out.let {
|
||||
if (it.isNotEmpty()) it[0].trim() else ""
|
||||
}
|
||||
}
|
||||
return result.trim()
|
||||
} catch (_: Throwable) {
|
||||
""
|
||||
}
|
@@ -54,6 +54,14 @@
|
||||
android:textColor="@color/colorTextDark"
|
||||
android:textSize="12sp" />
|
||||
</LinearLayout>
|
||||
|
||||
<androidx.constraintlayout.utils.widget.ImageFilterView
|
||||
android:id="@+id/config_title_search"
|
||||
android:layout_width="20dp"
|
||||
android:layout_height="20dp"
|
||||
android:layout_marginEnd="10dp"
|
||||
android:src="@mipmap/icon_search"
|
||||
android:tint="@color/colorTextGray" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
@@ -81,7 +89,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:alpha="0.6"
|
||||
android:lineSpacingExtra="5dp"
|
||||
android:text="启用替换后 APP 的彩色通知图标将被替换为预设的小图标。\n启用完全替换将忽略 APP 非彩色图标,强制将全部通知图标替换为列表中预设的小图标。"
|
||||
android:text="启用替换后 APP 的彩色通知图标将被替换为预设的小图标。\n启用全部替换将忽略 APP 非彩色图标,强制将全部通知图标替换为列表中预设的小图标。"
|
||||
android:textColor="@color/colorTextGray"
|
||||
android:textSize="11sp"
|
||||
tools:ignore="SmallSp" />
|
||||
|
@@ -296,7 +296,7 @@
|
||||
android:layout_marginBottom="10dp"
|
||||
android:alpha="0.6"
|
||||
android:lineSpacingExtra="6dp"
|
||||
android:text="隐藏模块图标后界面可能会被关闭,将不会再在桌面显示,你可以在 EdXposed、LsPosed 中找到模块设置并打开。"
|
||||
android:text="隐藏模块图标后界面可能会被关闭,将不会再在桌面显示,你可以在 EdXposed、LSPosed 中找到模块设置并打开。"
|
||||
android:textColor="@color/colorTextDark"
|
||||
android:textSize="12sp" />
|
||||
</LinearLayout>
|
||||
@@ -353,7 +353,7 @@
|
||||
android:layout_marginBottom="10dp"
|
||||
android:alpha="0.8"
|
||||
android:lineSpacingExtra="6dp"
|
||||
android:text="Q.如何使用?\nA.模块仅支持 EdXposed、LsPosed,由于涉及到修改系统应用,不支持太极(阴)框架,在 LsPosed 的作用域中,只需勾选“系统界面”即可,应用设置后需要重启系统界面。"
|
||||
android:text="Q.如何使用?\nA.模块仅支持 LSPosed,EdXposed 也可以使用但随时停止支持,由于模块涉及到修改系统应用,不支持其它 Hook 框架,在 LSPosed 的作用域中,只需勾选“系统界面”(旧版本为“系统 UI”)即可,应用设置后需要重启系统界面。"
|
||||
android:textColor="@color/colorTextDark"
|
||||
android:textSize="12sp" />
|
||||
|
||||
@@ -363,7 +363,7 @@
|
||||
android:layout_marginBottom="10dp"
|
||||
android:alpha="0.8"
|
||||
android:lineSpacingExtra="6dp"
|
||||
android:text="Q.哪些是已知问题?\nA.以下是问题描述列表:\n(1) MIUI 自己的系统应用的通知图标仍然可能出现黑白块的情况,可使用通知图标优化暂时修复其图标问题,后期只能等官方修复(基本上没什么可能性)。\n(2) 动态小图标可能会在高版本系统中闪烁,这是 MIUI 的问题,后期仍在想解决办法。\n(3) 使用 Zygisk 方式运行的 Lsposed 可能会发生通知优化图标 Hook 不生效的问题(出现黑白块),仅在最新版本的 MIUI 13 开发内测版中遇到,若出现问题请使用 Ramdisk 版本的 Lsposed。"
|
||||
android:text="Q.哪些是已知问题?\nA.以下是问题描述列表:\n(1) 动态小图标可能会在高版本系统中闪烁,这是 MIUI 自身就存在的问题,后期只能等官方修复。\n(2) 请始终保持最新版本的 LSPosed,旧版本可能会出现 Hook 不生效的问题。"
|
||||
android:textColor="@color/colorTextDark"
|
||||
android:textSize="12sp" />
|
||||
|
||||
|
@@ -80,7 +80,7 @@
|
||||
android:id="@+id/adp_app_all_switch"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="30dp"
|
||||
android:text="完全替换 "
|
||||
android:text="全部替换 "
|
||||
android:textColor="@color/colorTextGray"
|
||||
android:textSize="13sp" />
|
||||
</LinearLayout>
|
||||
|
Reference in New Issue
Block a user