mirror of
https://github.com/fankes/MIUINativeNotifyIcon.git
synced 2025-09-07 03:05:51 +08:00
Compare commits
5 Commits
Author | SHA1 | Date | |
---|---|---|---|
62ec1d16ae
|
|||
7db010c9a1
|
|||
e6fa34d7fd
|
|||
d4661abb71
|
|||
744d028160
|
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
[](https://github.com/fankes/MIUINativeNotifyIcon)
|
[](https://github.com/fankes/MIUINativeNotifyIcon)
|
||||||
[](https://github.com/fankes/MIUINativeNotifyIcon/blob/master/LICENSE)
|
[](https://github.com/fankes/MIUINativeNotifyIcon/blob/master/LICENSE)
|
||||||
[](https://github.com/fankes/MIUINativeNotifyIcon/releases)
|
[](https://github.com/fankes/MIUINativeNotifyIcon/releases)
|
||||||
[](https://github.com/fankes/MIUINativeNotifyIcon/releases)
|
[](https://github.com/fankes/MIUINativeNotifyIcon/releases)
|
||||||
[](https://github.com/Xposed-Modules-Repo/com.fankes.miui.notify/releases)
|
[](https://github.com/Xposed-Modules-Repo/com.fankes.miui.notify/releases)
|
||||||
[](https://t.me/XiaofangInternet)
|
[](https://t.me/XiaofangInternet)
|
||||||
|
@@ -72,8 +72,8 @@ android {
|
|||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
compileOnly 'de.robv.android.xposed:api:82'
|
compileOnly 'de.robv.android.xposed:api:82'
|
||||||
implementation 'com.highcapable.yukihookapi:api:1.1.10'
|
implementation 'com.highcapable.yukihookapi:api:1.1.11'
|
||||||
ksp 'com.highcapable.yukihookapi:ksp-xposed:1.1.10'
|
ksp 'com.highcapable.yukihookapi:ksp-xposed:1.1.11'
|
||||||
implementation 'com.github.duanhong169:drawabletoolbox:1.0.7'
|
implementation 'com.github.duanhong169:drawabletoolbox:1.0.7'
|
||||||
implementation "com.github.topjohnwu.libsu:core:5.0.4"
|
implementation "com.github.topjohnwu.libsu:core:5.0.4"
|
||||||
implementation 'androidx.annotation:annotation:1.6.0'
|
implementation 'androidx.annotation:annotation:1.6.0'
|
||||||
|
@@ -26,7 +26,6 @@ package com.fankes.miui.notify.data
|
|||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import com.fankes.miui.notify.const.IconRuleSourceSyncType
|
import com.fankes.miui.notify.const.IconRuleSourceSyncType
|
||||||
import com.highcapable.yukihookapi.YukiHookAPI
|
|
||||||
import com.highcapable.yukihookapi.hook.factory.prefs
|
import com.highcapable.yukihookapi.hook.factory.prefs
|
||||||
import com.highcapable.yukihookapi.hook.log.loggerW
|
import com.highcapable.yukihookapi.hook.log.loggerW
|
||||||
import com.highcapable.yukihookapi.hook.param.PackageParam
|
import com.highcapable.yukihookapi.hook.param.PackageParam
|
||||||
@@ -40,9 +39,6 @@ object ConfigData {
|
|||||||
/** 启用模块 */
|
/** 启用模块 */
|
||||||
val ENABLE_MODULE = PrefsData("_enable_module", true)
|
val ENABLE_MODULE = PrefsData("_enable_module", true)
|
||||||
|
|
||||||
/** 启用数据缓存 */
|
|
||||||
val ENABLE_PREFS_CACHE = PrefsData("_enable_prefs_cache", true)
|
|
||||||
|
|
||||||
/** 启用模块日志 */
|
/** 启用模块日志 */
|
||||||
val ENABLE_MODULE_LOG = PrefsData("_enable_module_log", false)
|
val ENABLE_MODULE_LOG = PrefsData("_enable_module_log", false)
|
||||||
|
|
||||||
@@ -110,8 +106,6 @@ object ConfigData {
|
|||||||
is Context, is PackageParam -> this.instance = instance
|
is Context, is PackageParam -> this.instance = instance
|
||||||
else -> error("Unknown type for init ConfigData")
|
else -> error("Unknown type for init ConfigData")
|
||||||
}
|
}
|
||||||
/** 设置是否启用数据缓存 */
|
|
||||||
YukiHookAPI.Configs.isEnablePrefsBridgeCache = isEnablePrefsCache
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -196,16 +190,6 @@ object ConfigData {
|
|||||||
putBoolean(ENABLE_MODULE, value)
|
putBoolean(ENABLE_MODULE, value)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 是否启用数据缓存
|
|
||||||
* @return [Boolean]
|
|
||||||
*/
|
|
||||||
var isEnablePrefsCache
|
|
||||||
get() = getBoolean(ENABLE_PREFS_CACHE)
|
|
||||||
set(value) {
|
|
||||||
putBoolean(ENABLE_PREFS_CACHE, value)
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 是否启用模块日志
|
* 是否启用模块日志
|
||||||
* @return [Boolean]
|
* @return [Boolean]
|
||||||
|
@@ -735,7 +735,6 @@ object SystemUIHooker : YukiBaseHooker() {
|
|||||||
/** 获取可读写状态 */
|
/** 获取可读写状态 */
|
||||||
return prefs.isPreferencesAvailable.also {
|
return prefs.isPreferencesAvailable.also {
|
||||||
isUsingCachingMethod = true
|
isUsingCachingMethod = true
|
||||||
prefs.clearCache()
|
|
||||||
cachingIconDatas()
|
cachingIconDatas()
|
||||||
if (isRefreshCacheOnly) return@also
|
if (isRefreshCacheOnly) return@also
|
||||||
refreshStatusBarIcons()
|
refreshStatusBarIcons()
|
||||||
|
@@ -47,7 +47,7 @@ class IconPackParams(private val context: Context? = null, private val param: Pa
|
|||||||
* 已存储的 JSON 数据
|
* 已存储的 JSON 数据
|
||||||
* @return [String]
|
* @return [String]
|
||||||
*/
|
*/
|
||||||
internal val storageDataJson get() = (context?.prefs() ?: param?.prefs)?.direct()?.get(ConfigData.NOTIFY_ICONS_DATA)
|
internal val storageDataJson get() = (context?.prefs() ?: param?.prefs)?.get(ConfigData.NOTIFY_ICONS_DATA)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取图标数据
|
* 获取图标数据
|
||||||
|
@@ -163,11 +163,7 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
|
|||||||
binding.notifyIconAutoSyncText.text = ConfigData.notifyIconFixAutoTime
|
binding.notifyIconAutoSyncText.text = ConfigData.notifyIconFixAutoTime
|
||||||
binding.moduleEnableSwitch.bind(ConfigData.ENABLE_MODULE) {
|
binding.moduleEnableSwitch.bind(ConfigData.ENABLE_MODULE) {
|
||||||
onInitialize {
|
onInitialize {
|
||||||
binding.moduleEnableLogSwitch.isVisible = it
|
binding.moduleEnableLogItem.isVisible = it
|
||||||
binding.moduleEnableLogText.isVisible = it
|
|
||||||
binding.modulePrefsCacheEnableSwitch.isVisible = it
|
|
||||||
binding.modulePrefsCacheEnableText.isVisible = it
|
|
||||||
binding.expAllDebugLogButton.isVisible = it && ConfigData.isEnableModuleLog
|
|
||||||
binding.colorIconHookItem.isVisible = it
|
binding.colorIconHookItem.isVisible = it
|
||||||
binding.statusIconCountItem.isVisible = isLowerAndroidR.not() && it
|
binding.statusIconCountItem.isVisible = isLowerAndroidR.not() && it
|
||||||
binding.notifyStyleConfigItem.isVisible = it
|
binding.notifyStyleConfigItem.isVisible = it
|
||||||
@@ -179,11 +175,8 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
|
|||||||
SystemUITool.showNeedRestartSnake(context = this@MainActivity)
|
SystemUITool.showNeedRestartSnake(context = this@MainActivity)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
binding.modulePrefsCacheEnableSwitch.bind(ConfigData.ENABLE_PREFS_CACHE) {
|
|
||||||
onChanged { SystemUITool.showNeedRestartSnake(context = this@MainActivity) }
|
|
||||||
}
|
|
||||||
binding.moduleEnableLogSwitch.bind(ConfigData.ENABLE_MODULE_LOG) {
|
binding.moduleEnableLogSwitch.bind(ConfigData.ENABLE_MODULE_LOG) {
|
||||||
onInitialize { binding.expAllDebugLogButton.isVisible = it && ConfigData.isEnableModule }
|
onInitialize { binding.expAllDebugLogButton.isVisible = it }
|
||||||
onChanged {
|
onChanged {
|
||||||
reinitialize()
|
reinitialize()
|
||||||
SystemUITool.refreshSystemUI(context = this@MainActivity, isRefreshCacheOnly = true)
|
SystemUITool.refreshSystemUI(context = this@MainActivity, isRefreshCacheOnly = true)
|
||||||
|
@@ -270,68 +270,50 @@
|
|||||||
android:textColor="@color/colorTextDark"
|
android:textColor="@color/colorTextDark"
|
||||||
android:textSize="12sp" />
|
android:textSize="12sp" />
|
||||||
|
|
||||||
<com.fankes.miui.notify.ui.widget.MaterialSwitch
|
<LinearLayout
|
||||||
android:id="@+id/module_prefs_cache_enable_switch"
|
android:id="@+id/module_enable_log_item"
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="30dp"
|
|
||||||
android:layout_marginLeft="15dp"
|
|
||||||
android:layout_marginRight="15dp"
|
|
||||||
android:layout_marginBottom="10dp"
|
|
||||||
android:text="启用数据缓存"
|
|
||||||
android:textColor="@color/colorTextGray"
|
|
||||||
android:textSize="15sp" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/module_prefs_cache_enable_text"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginLeft="15dp"
|
|
||||||
android:layout_marginRight="15dp"
|
|
||||||
android:layout_marginBottom="5dp"
|
|
||||||
android:alpha="0.6"
|
|
||||||
android:lineSpacingExtra="6dp"
|
|
||||||
android:text="此选项默认开启,默认情况下模块会将数据缓存在内存中,防止每次重复读取数据造成卡顿,如果开启此选项后一段时间导致系统界面 (系统 UI) 崩溃 (内存溢出),你可以尝试关闭此选项,但是这有可能会造成在通知较多时下拉通知栏出现卡顿。"
|
|
||||||
android:textColor="@color/colorTextDark"
|
|
||||||
android:textSize="12sp" />
|
|
||||||
|
|
||||||
<com.fankes.miui.notify.ui.widget.MaterialSwitch
|
|
||||||
android:id="@+id/module_enable_log_switch"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="35dp"
|
|
||||||
android:layout_marginLeft="15dp"
|
|
||||||
android:layout_marginRight="15dp"
|
|
||||||
android:layout_marginBottom="5dp"
|
|
||||||
android:text="启用调试日志"
|
|
||||||
android:textColor="@color/colorTextGray"
|
|
||||||
android:textSize="15sp" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/exp_all_debug_log_button"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginLeft="13dp"
|
|
||||||
android:layout_marginRight="13dp"
|
|
||||||
android:layout_marginBottom="10dp"
|
android:layout_marginBottom="10dp"
|
||||||
android:background="@drawable/bg_button_round"
|
android:orientation="vertical">
|
||||||
android:gravity="center"
|
|
||||||
android:padding="10dp"
|
|
||||||
android:singleLine="true"
|
|
||||||
android:text="导出全部调试日志"
|
|
||||||
android:textColor="@color/colorTextGray"
|
|
||||||
android:textSize="15sp" />
|
|
||||||
|
|
||||||
<TextView
|
<com.fankes.miui.notify.ui.widget.MaterialSwitch
|
||||||
android:id="@+id/module_enable_log_text"
|
android:id="@+id/module_enable_log_switch"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="30dp"
|
||||||
android:layout_marginLeft="15dp"
|
android:layout_marginLeft="15dp"
|
||||||
android:layout_marginRight="15dp"
|
android:layout_marginRight="15dp"
|
||||||
android:layout_marginBottom="10dp"
|
android:layout_marginBottom="10dp"
|
||||||
android:alpha="0.6"
|
android:text="启用调试日志"
|
||||||
android:lineSpacingExtra="6dp"
|
android:textColor="@color/colorTextGray"
|
||||||
android:text="默认情况下不建议开启此选项,仅在模块故障时开启,此时你可以发送调试日志给开发者帮助我们快速定位问题。"
|
android:textSize="15sp" />
|
||||||
android:textColor="@color/colorTextDark"
|
|
||||||
android:textSize="12sp" />
|
<TextView
|
||||||
|
android:id="@+id/exp_all_debug_log_button"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginLeft="13dp"
|
||||||
|
android:layout_marginRight="13dp"
|
||||||
|
android:layout_marginBottom="10dp"
|
||||||
|
android:background="@drawable/bg_button_round"
|
||||||
|
android:gravity="center"
|
||||||
|
android:padding="10dp"
|
||||||
|
android:singleLine="true"
|
||||||
|
android:text="导出全部调试日志"
|
||||||
|
android:textColor="@color/colorTextGray"
|
||||||
|
android:textSize="15sp" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginLeft="15dp"
|
||||||
|
android:layout_marginRight="15dp"
|
||||||
|
android:alpha="0.6"
|
||||||
|
android:lineSpacingExtra="6dp"
|
||||||
|
android:text="默认情况下不建议开启此选项,仅在模块故障时开启,此时你可以发送调试日志给开发者帮助我们快速定位问题。"
|
||||||
|
android:textColor="@color/colorTextDark"
|
||||||
|
android:textSize="12sp" />
|
||||||
|
</LinearLayout>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
|
@@ -12,8 +12,8 @@ ext {
|
|||||||
targetSdk : 33
|
targetSdk : 33
|
||||||
]
|
]
|
||||||
app = [
|
app = [
|
||||||
versionName : '2.98',
|
versionName : '2.100',
|
||||||
versionCode : 38,
|
versionCode : 40,
|
||||||
signingConfigs: [
|
signingConfigs: [
|
||||||
secretConfigsDirPath : "${projectDir.getAbsolutePath()}/.secret",
|
secretConfigsDirPath : "${projectDir.getAbsolutePath()}/.secret",
|
||||||
secretConfigsFileName: "key_store_secret.json"
|
secretConfigsFileName: "key_store_secret.json"
|
||||||
|
Reference in New Issue
Block a user