mirror of
https://github.com/fankes/ColorOSNotifyIcon.git
synced 2025-09-05 18:25:28 +08:00
style: optimize code
This commit is contained in:
@@ -47,13 +47,15 @@ data class IconDataBean(
|
|||||||
) : Serializable {
|
) : Serializable {
|
||||||
fun toEnabledName() = ("$appName$packageName").base64 + "_enable"
|
fun toEnabledName() = ("$appName$packageName").base64 + "_enable"
|
||||||
fun toEnabledAllName() = ("$appName$packageName").base64 + "_enable_all"
|
fun toEnabledAllName() = ("$appName$packageName").base64 + "_enable_all"
|
||||||
override fun toString() = "{\n" +
|
override fun toString() = """
|
||||||
" \"appName\": \"$appName\",\n" +
|
{
|
||||||
" \"packageName\": \"$packageName\",\n" +
|
"appName": "$appName",
|
||||||
" \"iconBitmap\": \"${iconBitmap.base64}\",\n" +
|
"packageName": "$packageName",
|
||||||
" \"iconColor\": \"#${Integer.toHexString(iconColor)}\",\n" +
|
"iconBitmap": "${iconBitmap.base64}",
|
||||||
" \"contributorName\": \"$contributorName\",\n" +
|
"iconColor": "#${Integer.toHexString(iconColor)}",
|
||||||
" \"isEnabled\": $isEnabled,\n" +
|
"contributorName": "$contributorName",
|
||||||
" \"isEnabledAll\": $isEnabledAll\n" +
|
"isEnabled": $isEnabled,
|
||||||
" }"
|
"isEnabledAll": $isEnabledAll
|
||||||
|
}
|
||||||
|
""".trimIndent()
|
||||||
}
|
}
|
@@ -20,7 +20,7 @@
|
|||||||
*
|
*
|
||||||
* This file is Created by fankes on 2022/3/25.
|
* This file is Created by fankes on 2022/3/25.
|
||||||
*/
|
*/
|
||||||
@file:Suppress("StaticFieldLeak")
|
@file:Suppress("StaticFieldLeak", "ConstPropertyName")
|
||||||
|
|
||||||
package com.fankes.coloros.notify.hook.entity
|
package com.fankes.coloros.notify.hook.entity
|
||||||
|
|
||||||
@@ -51,18 +51,39 @@ import com.fankes.coloros.notify.data.ConfigData
|
|||||||
import com.fankes.coloros.notify.param.IconPackParams
|
import com.fankes.coloros.notify.param.IconPackParams
|
||||||
import com.fankes.coloros.notify.param.factory.isAppNotifyHookAllOf
|
import com.fankes.coloros.notify.param.factory.isAppNotifyHookAllOf
|
||||||
import com.fankes.coloros.notify.param.factory.isAppNotifyHookOf
|
import com.fankes.coloros.notify.param.factory.isAppNotifyHookOf
|
||||||
import com.fankes.coloros.notify.utils.factory.*
|
import com.fankes.coloros.notify.utils.factory.appIconOf
|
||||||
|
import com.fankes.coloros.notify.utils.factory.appNameOf
|
||||||
|
import com.fankes.coloros.notify.utils.factory.colorAlphaOf
|
||||||
|
import com.fankes.coloros.notify.utils.factory.delayedRun
|
||||||
|
import com.fankes.coloros.notify.utils.factory.dp
|
||||||
|
import com.fankes.coloros.notify.utils.factory.dpFloat
|
||||||
|
import com.fankes.coloros.notify.utils.factory.drawableOf
|
||||||
|
import com.fankes.coloros.notify.utils.factory.isSystemInDarkMode
|
||||||
|
import com.fankes.coloros.notify.utils.factory.isUpperOfAndroidS
|
||||||
|
import com.fankes.coloros.notify.utils.factory.runInSafe
|
||||||
|
import com.fankes.coloros.notify.utils.factory.safeOf
|
||||||
|
import com.fankes.coloros.notify.utils.factory.safeOfFalse
|
||||||
|
import com.fankes.coloros.notify.utils.factory.systemAccentColor
|
||||||
import com.fankes.coloros.notify.utils.tool.ActivationPromptTool
|
import com.fankes.coloros.notify.utils.tool.ActivationPromptTool
|
||||||
import com.fankes.coloros.notify.utils.tool.BitmapCompatTool
|
import com.fankes.coloros.notify.utils.tool.BitmapCompatTool
|
||||||
import com.fankes.coloros.notify.utils.tool.IconAdaptationTool
|
import com.fankes.coloros.notify.utils.tool.IconAdaptationTool
|
||||||
import com.fankes.coloros.notify.utils.tool.SystemUITool
|
import com.fankes.coloros.notify.utils.tool.SystemUITool
|
||||||
import com.highcapable.yukihookapi.hook.bean.VariousClass
|
import com.highcapable.yukihookapi.hook.bean.VariousClass
|
||||||
import com.highcapable.yukihookapi.hook.entity.YukiBaseHooker
|
import com.highcapable.yukihookapi.hook.entity.YukiBaseHooker
|
||||||
import com.highcapable.yukihookapi.hook.factory.*
|
import com.highcapable.yukihookapi.hook.factory.MembersType
|
||||||
|
import com.highcapable.yukihookapi.hook.factory.current
|
||||||
|
import com.highcapable.yukihookapi.hook.factory.field
|
||||||
|
import com.highcapable.yukihookapi.hook.factory.hasMethod
|
||||||
|
import com.highcapable.yukihookapi.hook.factory.injectModuleAppResources
|
||||||
|
import com.highcapable.yukihookapi.hook.factory.method
|
||||||
import com.highcapable.yukihookapi.hook.log.loggerD
|
import com.highcapable.yukihookapi.hook.log.loggerD
|
||||||
import com.highcapable.yukihookapi.hook.log.loggerE
|
import com.highcapable.yukihookapi.hook.log.loggerE
|
||||||
import com.highcapable.yukihookapi.hook.log.loggerW
|
import com.highcapable.yukihookapi.hook.log.loggerW
|
||||||
import com.highcapable.yukihookapi.hook.type.android.*
|
import com.highcapable.yukihookapi.hook.type.android.ContextClass
|
||||||
|
import com.highcapable.yukihookapi.hook.type.android.DrawableClass
|
||||||
|
import com.highcapable.yukihookapi.hook.type.android.IconClass
|
||||||
|
import com.highcapable.yukihookapi.hook.type.android.ImageViewClass
|
||||||
|
import com.highcapable.yukihookapi.hook.type.android.StatusBarNotificationClass
|
||||||
import com.highcapable.yukihookapi.hook.type.java.BooleanType
|
import com.highcapable.yukihookapi.hook.type.java.BooleanType
|
||||||
import com.highcapable.yukihookapi.hook.type.java.FloatType
|
import com.highcapable.yukihookapi.hook.type.java.FloatType
|
||||||
import com.highcapable.yukihookapi.hook.type.java.IntType
|
import com.highcapable.yukihookapi.hook.type.java.IntType
|
||||||
|
@@ -28,7 +28,11 @@ import android.content.Context
|
|||||||
import android.graphics.Color
|
import android.graphics.Color
|
||||||
import com.fankes.coloros.notify.bean.IconDataBean
|
import com.fankes.coloros.notify.bean.IconDataBean
|
||||||
import com.fankes.coloros.notify.data.ConfigData
|
import com.fankes.coloros.notify.data.ConfigData
|
||||||
import com.fankes.coloros.notify.utils.factory.*
|
import com.fankes.coloros.notify.utils.factory.bitmap
|
||||||
|
import com.fankes.coloros.notify.utils.factory.safeOf
|
||||||
|
import com.fankes.coloros.notify.utils.factory.safeOfNan
|
||||||
|
import com.fankes.coloros.notify.utils.factory.safeOfNull
|
||||||
|
import com.fankes.coloros.notify.utils.factory.snake
|
||||||
import com.highcapable.yukihookapi.hook.factory.prefs
|
import com.highcapable.yukihookapi.hook.factory.prefs
|
||||||
import com.highcapable.yukihookapi.hook.param.PackageParam
|
import com.highcapable.yukihookapi.hook.param.PackageParam
|
||||||
import org.json.JSONArray
|
import org.json.JSONArray
|
||||||
|
@@ -37,7 +37,16 @@ import com.fankes.coloros.notify.param.factory.isAppNotifyHookOf
|
|||||||
import com.fankes.coloros.notify.param.factory.putAppNotifyHookAllOf
|
import com.fankes.coloros.notify.param.factory.putAppNotifyHookAllOf
|
||||||
import com.fankes.coloros.notify.param.factory.putAppNotifyHookOf
|
import com.fankes.coloros.notify.param.factory.putAppNotifyHookOf
|
||||||
import com.fankes.coloros.notify.ui.activity.base.BaseActivity
|
import com.fankes.coloros.notify.ui.activity.base.BaseActivity
|
||||||
import com.fankes.coloros.notify.utils.factory.*
|
import com.fankes.coloros.notify.utils.factory.addOnBackPressedEvent
|
||||||
|
import com.fankes.coloros.notify.utils.factory.bindAdapter
|
||||||
|
import com.fankes.coloros.notify.utils.factory.callOnBackPressed
|
||||||
|
import com.fankes.coloros.notify.utils.factory.colorOf
|
||||||
|
import com.fankes.coloros.notify.utils.factory.copyToClipboard
|
||||||
|
import com.fankes.coloros.notify.utils.factory.navigate
|
||||||
|
import com.fankes.coloros.notify.utils.factory.openBrowser
|
||||||
|
import com.fankes.coloros.notify.utils.factory.showDialog
|
||||||
|
import com.fankes.coloros.notify.utils.factory.snake
|
||||||
|
import com.fankes.coloros.notify.utils.factory.toast
|
||||||
import com.fankes.coloros.notify.utils.tool.IconRuleManagerTool
|
import com.fankes.coloros.notify.utils.tool.IconRuleManagerTool
|
||||||
import com.fankes.coloros.notify.utils.tool.SystemUITool
|
import com.fankes.coloros.notify.utils.tool.SystemUITool
|
||||||
import com.highcapable.yukihookapi.YukiHookAPI
|
import com.highcapable.yukihookapi.YukiHookAPI
|
||||||
@@ -250,7 +259,7 @@ class ConfigureActivity : BaseActivity<ActivityConfigBinding>() {
|
|||||||
onChanged?.invoke()
|
onChanged?.invoke()
|
||||||
binding.configTitleCountText.text =
|
binding.configTitleCountText.text =
|
||||||
if (filterText.isBlank()) "已适配 ${iconDatas.size} 个 APP 的通知图标"
|
if (filterText.isBlank()) "已适配 ${iconDatas.size} 个 APP 的通知图标"
|
||||||
else "“${filterText}” 匹配到 ${iconDatas.size} 个结果"
|
else "“$filterText” 匹配到 ${iconDatas.size} 个结果"
|
||||||
binding.configListNoDataView.apply {
|
binding.configListNoDataView.apply {
|
||||||
text = if (iconAllDatas.isEmpty()) "噫,竟然什么都没有~\n请点击右上角同步按钮获取云端数据" else "噫,竟然什么都没找到~"
|
text = if (iconAllDatas.isEmpty()) "噫,竟然什么都没有~\n请点击右上角同步按钮获取云端数据" else "噫,竟然什么都没找到~"
|
||||||
isVisible = iconDatas.isEmpty()
|
isVisible = iconDatas.isEmpty()
|
||||||
|
@@ -22,7 +22,11 @@
|
|||||||
*/
|
*/
|
||||||
package com.fankes.coloros.notify.utils.tool
|
package com.fankes.coloros.notify.utils.tool
|
||||||
|
|
||||||
import android.graphics.*
|
import android.graphics.Bitmap
|
||||||
|
import android.graphics.Canvas
|
||||||
|
import android.graphics.Matrix
|
||||||
|
import android.graphics.Paint
|
||||||
|
import android.graphics.PorterDuff
|
||||||
import android.graphics.drawable.AnimationDrawable
|
import android.graphics.drawable.AnimationDrawable
|
||||||
import android.graphics.drawable.BitmapDrawable
|
import android.graphics.drawable.BitmapDrawable
|
||||||
import android.graphics.drawable.Drawable
|
import android.graphics.drawable.Drawable
|
||||||
|
@@ -27,12 +27,20 @@ import android.content.Context
|
|||||||
import android.icu.text.SimpleDateFormat
|
import android.icu.text.SimpleDateFormat
|
||||||
import android.icu.util.Calendar
|
import android.icu.util.Calendar
|
||||||
import android.icu.util.TimeZone
|
import android.icu.util.TimeZone
|
||||||
import com.fankes.coloros.notify.utils.factory.*
|
import com.fankes.coloros.notify.utils.factory.isNetWorkSuccess
|
||||||
import okhttp3.*
|
import com.fankes.coloros.notify.utils.factory.openBrowser
|
||||||
|
import com.fankes.coloros.notify.utils.factory.openSelfSetting
|
||||||
|
import com.fankes.coloros.notify.utils.factory.runInSafe
|
||||||
|
import com.fankes.coloros.notify.utils.factory.showDialog
|
||||||
|
import okhttp3.Call
|
||||||
|
import okhttp3.Callback
|
||||||
|
import okhttp3.OkHttpClient
|
||||||
|
import okhttp3.Request
|
||||||
|
import okhttp3.Response
|
||||||
import org.json.JSONObject
|
import org.json.JSONObject
|
||||||
import java.io.IOException
|
import java.io.IOException
|
||||||
import java.io.Serializable
|
import java.io.Serializable
|
||||||
import java.util.*
|
import java.util.Locale
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取 GitHub Release 最新版本工具类
|
* 获取 GitHub Release 最新版本工具类
|
||||||
|
@@ -26,7 +26,7 @@ import android.content.Context
|
|||||||
import com.fankes.coloros.notify.utils.factory.showDialog
|
import com.fankes.coloros.notify.utils.factory.showDialog
|
||||||
import com.highcapable.yukihookapi.hook.factory.prefs
|
import com.highcapable.yukihookapi.hook.factory.prefs
|
||||||
import com.highcapable.yukihookapi.hook.xposed.prefs.data.PrefsData
|
import com.highcapable.yukihookapi.hook.xposed.prefs.data.PrefsData
|
||||||
import java.util.*
|
import java.util.Locale
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* I18n 适配警告提示工具类
|
* I18n 适配警告提示工具类
|
||||||
|
@@ -20,7 +20,7 @@
|
|||||||
*
|
*
|
||||||
* This file is Created by fankes on 2022/2/25.
|
* This file is Created by fankes on 2022/2/25.
|
||||||
*/
|
*/
|
||||||
@file:Suppress("TrustAllX509TrustManager", "CustomX509TrustManager", "DEPRECATION", "IMPLICIT_CAST_TO_ANY")
|
@file:Suppress("TrustAllX509TrustManager", "CustomX509TrustManager", "IMPLICIT_CAST_TO_ANY")
|
||||||
|
|
||||||
package com.fankes.coloros.notify.utils.tool
|
package com.fankes.coloros.notify.utils.tool
|
||||||
|
|
||||||
@@ -45,13 +45,25 @@ import com.fankes.coloros.notify.databinding.DiaSourceFromBinding
|
|||||||
import com.fankes.coloros.notify.databinding.DiaSourceFromStringBinding
|
import com.fankes.coloros.notify.databinding.DiaSourceFromStringBinding
|
||||||
import com.fankes.coloros.notify.param.IconPackParams
|
import com.fankes.coloros.notify.param.IconPackParams
|
||||||
import com.fankes.coloros.notify.ui.activity.ConfigureActivity
|
import com.fankes.coloros.notify.ui.activity.ConfigureActivity
|
||||||
import com.fankes.coloros.notify.utils.factory.*
|
import com.fankes.coloros.notify.utils.factory.delayedRun
|
||||||
|
import com.fankes.coloros.notify.utils.factory.openBrowser
|
||||||
|
import com.fankes.coloros.notify.utils.factory.safeOfNull
|
||||||
|
import com.fankes.coloros.notify.utils.factory.showDialog
|
||||||
|
import com.fankes.coloros.notify.utils.factory.snake
|
||||||
import com.highcapable.yukihookapi.hook.log.loggerD
|
import com.highcapable.yukihookapi.hook.log.loggerD
|
||||||
import okhttp3.*
|
import okhttp3.Call
|
||||||
|
import okhttp3.Callback
|
||||||
|
import okhttp3.OkHttpClient
|
||||||
|
import okhttp3.Request
|
||||||
|
import okhttp3.Response
|
||||||
import java.io.IOException
|
import java.io.IOException
|
||||||
import java.security.SecureRandom
|
import java.security.SecureRandom
|
||||||
import java.security.cert.X509Certificate
|
import java.security.cert.X509Certificate
|
||||||
import javax.net.ssl.*
|
import javax.net.ssl.HostnameVerifier
|
||||||
|
import javax.net.ssl.SSLContext
|
||||||
|
import javax.net.ssl.SSLSocketFactory
|
||||||
|
import javax.net.ssl.TrustManager
|
||||||
|
import javax.net.ssl.X509TrustManager
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 通知图标在线规则管理类
|
* 通知图标在线规则管理类
|
||||||
|
@@ -30,7 +30,11 @@ import androidx.appcompat.app.AppCompatActivity
|
|||||||
import com.fankes.coloros.notify.const.PackageName
|
import com.fankes.coloros.notify.const.PackageName
|
||||||
import com.fankes.coloros.notify.data.ConfigData
|
import com.fankes.coloros.notify.data.ConfigData
|
||||||
import com.fankes.coloros.notify.ui.activity.MainActivity
|
import com.fankes.coloros.notify.ui.activity.MainActivity
|
||||||
import com.fankes.coloros.notify.utils.factory.*
|
import com.fankes.coloros.notify.utils.factory.colorOSFullVersion
|
||||||
|
import com.fankes.coloros.notify.utils.factory.delayedRun
|
||||||
|
import com.fankes.coloros.notify.utils.factory.execShell
|
||||||
|
import com.fankes.coloros.notify.utils.factory.showDialog
|
||||||
|
import com.fankes.coloros.notify.utils.factory.snake
|
||||||
import com.google.android.material.snackbar.Snackbar
|
import com.google.android.material.snackbar.Snackbar
|
||||||
import com.highcapable.yukihookapi.YukiHookAPI
|
import com.highcapable.yukihookapi.YukiHookAPI
|
||||||
import com.highcapable.yukihookapi.hook.factory.dataChannel
|
import com.highcapable.yukihookapi.hook.factory.dataChannel
|
||||||
@@ -38,7 +42,7 @@ import com.highcapable.yukihookapi.hook.log.YukiHookLogger
|
|||||||
import com.highcapable.yukihookapi.hook.log.YukiLoggerData
|
import com.highcapable.yukihookapi.hook.log.YukiLoggerData
|
||||||
import com.highcapable.yukihookapi.hook.param.PackageParam
|
import com.highcapable.yukihookapi.hook.param.PackageParam
|
||||||
import com.highcapable.yukihookapi.hook.xposed.channel.data.ChannelData
|
import com.highcapable.yukihookapi.hook.xposed.channel.data.ChannelData
|
||||||
import java.util.*
|
import java.util.Locale
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 系统界面工具
|
* 系统界面工具
|
||||||
|
Reference in New Issue
Block a user