MIUINativeNotifyIcon - Fix the native notification bar icon function abandoned by the MIUI development team

Overview

MIUI 原生通知图标

Eclipse Marketplace Eclipse Marketplace Eclipse Marketplace


Fix the native notification bar icon function abandoned by the MIUI development team.
修复被 MIUI 开发组丢弃的原生通知图标,支持 MIUI 12.5、13 以及最新版本。

开始使用

点击下载最新版本 Eclipse Marketplace

⚠️ 适配说明:此模块仅支持 Lsposed(作用域“系统界面”)、EdXposed(不推荐)、不支持太极无极(阴)

禁止任何商业用途

本模块完全开源免费,如果好用你可以打赏支持开发,严禁未经许可进行二改贩卖,违者必惩必究。

背景历史

这个模块诞生来源于 MIUI 的乱改和不规范,本来 MIUI 9 之后,官方给出了原生通知图标样式,后面由于用户反应通知栏经常出现黑白块。 这当然不是系统的错,而是国内 APP 极其不规范的通知图标设计,于是 MIUI 选择直接忽略这个问题把全部图标都改成了 APP 的彩色图标, 使得之前拥有自有样式的原生图标也被破坏,通知中“setSmallIcon”不再有效,这个模块就是为了修复被 MIUI 开发组忽略的图标问题, 并完美地给 MIUI 修复了黑白块图标的问题。

许可证

Copyright (C) 2020-2022  Fankes Studio([email protected])

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.
Comments
  • 适配 Android 10 版本的 MIUI 12/12.5

    适配 Android 10 版本的 MIUI 12/12.5

    MIUI 版本(必填)

    • 12.5

    MIUI 版本类型(请保留一个)

    • 稳定版

    Android 版本(必填)

    • 10

    模块版本(必填)

    • 2.6(其实2.5也有这个问题)

    使用的 Xposed 框架名称与框架版本(必填)

    • LSPosed Zygisk 1.8.3(6552)

    同时使用的带有系统界面作用域的 Xposed 模块(选填)

    问题的具体描述

    • 收到通知(比如插电弹通知),然后log内出现大量报错。状态栏能正常替换图标,但是下拉通知走mipush的(比如小黑盒)会变成方块,其他渠道是否正常替换不太清楚(我觉得是没有的,因为通知样式选择经典样式能出来一部分图标,改成原生样式就出现大量方块了)

    提供模块问题 Log 或必要 Log

    • (LSPosed 可在日志管理中查看并筛选包含 MIUINativeNotifyIcon 的日志)
    展开查看
    
    

    [ 2022-05-30T10:40:49.789 1000: 2807: 16545 I/LSPosed-Bridge ] [MIUINativeNotifyIcon][E]--> NoSuchField happend in [class com.android.systemui.statusbar.notification.NotificationViewWrapper] Try to get field instance failed [FinderMode] [ 2022-05-30T10:40:49.789 1000: 2807: 16545 E/LSPosed-Bridge ] java.lang.IllegalArgumentException: Expected receiver of type com.android.systemui.statusbar.notification.NotificationViewWrapper, but got com.android.systemui.statusbar.ExpandableNotificationRow at java.lang.reflect.Field.get(Native Method) at a3.b$a.a(P:1) at m1.b.U(P:19) at m1.b.x(Unknown Source:0) at m1.b$l.c(P:7) at m1.b$l.a(Unknown Source:2) at z2.b$b$c.b(P:3) at r3.a$b$d.afterHookedMethod(Unknown Source:13) at de.robv.android.xposed.XposedBridge$AdditionalHookInfo.callback(Unknown Source:147) at LSPHooker_.handleHeaderViews(Unknown Source:8) at com.android.systemui.statusbar.notification.NotificationHeaderViewWrapper.(NotificationHeaderViewWrapper.java:115) at com.android.systemui.statusbar.notification.NotificationTemplateViewWrapper.(NotificationTemplateViewWrapper.java:69) at com.android.systemui.statusbar.notification.NotificationViewWrapper.wrap(NotificationViewWrapper.java:70) at com.android.systemui.statusbar.notification.NotificationViewWrapper.wrap(NotificationViewWrapper.java:52) at com.android.systemui.statusbar.NotificationContentView.setContractedChild(NotificationContentView.java:447) at com.android.systemui.statusbar.notification.NotificationInflater.finishIfDone(NotificationInflater.java:364) at com.android.systemui.statusbar.notification.NotificationInflater.apply(NotificationInflater.java:333) at com.android.systemui.statusbar.notification.NotificationInflater$AsyncInflationTask.onPostExecute(NotificationInflater.java:666) at com.android.systemui.statusbar.notification.NotificationInflater$AsyncInflationTask.onPostExecute(NotificationInflater.java:569) at android.os.AsyncTask.finish(AsyncTask.java:755) at android.os.AsyncTask.access$900(AsyncTask.java:192) at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:772) at android.os.Handler.dispatchMessage(Handler.java:107) at android.os.Looper.loop(Looper.java:224) at android.app.ActivityThread.main(ActivityThread.java:7562) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950) [ 2022-05-30T10:40:49.790 1000: 2807: 2807 I/LSPosed-Bridge ] [MIUINativeNotifyIcon][E]--> [com.android.systemui] Try to hook class com.android.systemui.statusbar.notification.NotificationHeaderViewWrapper[private void com.android.systemui.statusbar.notification.NotificationHeaderViewWrapper.handleHeaderViews()] got an Exception [Default] [ 2022-05-30T10:40:49.790 1000: 2807: 2807 E/LSPosed-Bridge ] java.lang.NullPointerException: null receiver at java.lang.reflect.Method.invoke(Native Method) at a3.c$b$a.a(P:3) at a3.c$b$a.d(Unknown Source:5) at m1.b.U(P:20) at m1.b.x(Unknown Source:0) at m1.b$l.c(P:7) at m1.b$l.a(Unknown Source:2) at z2.b$b$c.b(P:3) at r3.a$b$d.afterHookedMethod(Unknown Source:13) at de.robv.android.xposed.XposedBridge$AdditionalHookInfo.callback(Unknown Source:147) at LSPHooker_.handleHeaderViews(Unknown Source:8) at com.android.systemui.statusbar.notification.NotificationHeaderViewWrapper.(NotificationHeaderViewWrapper.java:115) at com.android.systemui.statusbar.notification.NotificationTemplateViewWrapper.(NotificationTemplateViewWrapper.java:69) at com.android.systemui.statusbar.notification.NotificationViewWrapper.wrap(NotificationViewWrapper.java:70) at com.android.systemui.statusbar.notification.NotificationViewWrapper.wrap(NotificationViewWrapper.java:52) at com.android.systemui.statusbar.NotificationContentView.setContractedChild(NotificationContentView.java:447) at com.android.systemui.statusbar.notification.NotificationInflater.finishIfDone(NotificationInflater.java:364) at com.android.systemui.statusbar.notification.NotificationInflater.apply(NotificationInflater.java:333) at com.android.systemui.statusbar.notification.NotificationInflater$AsyncInflationTask.onPostExecute(NotificationInflater.java:666) at com.android.systemui.statusbar.notification.NotificationInflater$AsyncInflationTask.onPostExecute(NotificationInflater.java:569) at android.os.AsyncTask.finish(AsyncTask.java:755) at android.os.AsyncTask.access$900(AsyncTask.java:192) at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:772) at android.os.Handler.dispatchMessage(Handler.java:107) at android.os.Looper.loop(Looper.java:224) at android.app.ActivityThread.main(ActivityThread.java:7562) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950) [ 2022-05-30T10:40:49.790 1000: 2807: 16544 I/LSPosed-Bridge ] [MIUINativeNotifyIcon][E]--> NoSuchMethod happend in [class com.android.systemui.statusbar.NotificationData$Entry] [FinderMode] [ 2022-05-30T10:40:49.790 1000: 2807: 16544 E/LSPosed-Bridge ] java.lang.NoSuchMethodError: Can't find this Method --> name:[getSbn] paramCount:[unspecified] paramTypes:[()] returnType:[unspecified] modifiers:[] in Class [class com.android.systemui.statusbar.NotificationData$Entry] by YukiHookAPI#ReflectionTool at d3.a.c(P:65) at a3.c.E(P:5) at a3.c.B(P:4) at a3.c.c(Unknown Source:0) at b3.c.d(Unknown Source:7) at m1.b.U(P:9) at m1.b.x(Unknown Source:0) at m1.b$l.c(P:7) at m1.b$l.a(Unknown Source:2) at z2.b$b$c.b(P:3) at r3.a$b$d.afterHookedMethod(Unknown Source:13) at de.robv.android.xposed.XposedBridge$AdditionalHookInfo.callback(Unknown Source:147) at LSPHooker_.handleHeaderViews(Unknown Source:8) at com.android.systemui.statusbar.notification.NotificationHeaderViewWrapper.(NotificationHeaderViewWrapper.java:115) at com.android.systemui.statusbar.notification.NotificationTemplateViewWrapper.(NotificationTemplateViewWrapper.java:69) at com.android.systemui.statusbar.notification.NotificationViewWrapper.wrap(NotificationViewWrapper.java:70) at com.android.systemui.statusbar.notification.NotificationViewWrapper.wrap(NotificationViewWrapper.java:52) at com.android.systemui.statusbar.NotificationContentView.setContractedChild(NotificationContentView.java:447) at com.android.systemui.statusbar.notification.NotificationInflater.finishIfDone(NotificationInflater.java:364) at com.android.systemui.statusbar.notification.NotificationInflater.apply(NotificationInflater.java:333) at com.android.systemui.statusbar.notification.NotificationInflater$AsyncInflationTask.onPostExecute(NotificationInflater.java:666) at com.android.systemui.statusbar.notification.NotificationInflater$AsyncInflationTask.onPostExecute(NotificationInflater.java:569) at android.os.AsyncTask.finish(AsyncTask.java:755) at android.os.AsyncTask.access$900(AsyncTask.java:192) at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:772) at android.os.Handler.dispatchMessage(Handler.java:107) at android.os.Looper.loop(Looper.java:224) at android.app.ActivityThread.main(ActivityThread.java:7562) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950) [ 2022-05-30T10:40:49.803 1000: 2807: 2807 I/LSPosed-Bridge ] [MIUINativeNotifyIcon][E]--> [com.android.systemui] Try to hook class com.android.systemui.statusbar.notification.NotificationHeaderViewWrapper[private void com.android.systemui.statusbar.notification.NotificationHeaderViewWrapper.handleHeaderViews()] got an Exception [Default] [ 2022-05-30T10:40:49.803 1000: 2807: 2807 E/LSPosed-Bridge ] java.lang.NullPointerException: null receiver at java.lang.reflect.Method.invoke(Native Method) at a3.c$b$a.a(P:3) at a3.c$b$a.d(Unknown Source:5) at m1.b.U(P:20) at m1.b.x(Unknown Source:0) at m1.b$l.c(P:7) at m1.b$l.a(Unknown Source:2) at z2.b$b$c.b(P:3) at r3.a$b$d.afterHookedMethod(Unknown Source:13) at de.robv.android.xposed.XposedBridge$AdditionalHookInfo.callback(Unknown Source:147) at LSPHooker_.handleHeaderViews(Unknown Source:8) at com.android.systemui.statusbar.notification.NotificationHeaderViewWrapper.onContentUpdated(NotificationHeaderViewWrapper.java:204) at com.android.systemui.statusbar.notification.NotificationTemplateViewWrapper.onContentUpdated(NotificationTemplateViewWrapper.java:355) at com.android.systemui.statusbar.NotificationContentView.onNotificationUpdated(NotificationContentView.java:1243) at com.android.systemui.statusbar.ExpandableNotificationRow.onNotificationUpdated(ExpandableNotificationRow.java:375) at com.android.systemui.statusbar.notification.NotificationInflater$AsyncInflationTask.onAsyncInflationFinished(NotificationInflater.java:707) at com.android.systemui.statusbar.notification.NotificationInflater.finishIfDone(NotificationInflater.java:413) at com.android.systemui.statusbar.notification.NotificationInflater.apply(NotificationInflater.java:333) at com.android.systemui.statusbar.notification.NotificationInflater$AsyncInflationTask.onPostExecute(NotificationInflater.java:666) at com.android.systemui.statusbar.notification.NotificationInflater$AsyncInflationTask.onPostExecute(NotificationInflater.java:569) at android.os.AsyncTask.finish(AsyncTask.java:755) at android.os.AsyncTask.access$900(AsyncTask.java:192) at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:772) at android.os.Handler.dispatchMessage(Handler.java:107) at android.os.Looper.loop(Looper.java:224) at android.app.ActivityThread.main(ActivityThread.java:7562) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950) [ 2022-05-30T10:40:49.803 1000: 2807: 16547 I/LSPosed-Bridge ] [MIUINativeNotifyIcon][E]--> NoSuchMethod happend in [class com.android.systemui.statusbar.NotificationData$Entry] [FinderMode] [ 2022-05-30T10:40:49.804 1000: 2807: 16547 E/LSPosed-Bridge ] java.lang.NoSuchMethodError: Can't find this Method --> name:[getSbn] paramCount:[unspecified] paramTypes:[()] returnType:[unspecified] modifiers:[] in Class [class com.android.systemui.statusbar.NotificationData$Entry] by YukiHookAPI#ReflectionTool at d3.a.c(P:65) at a3.c.E(P:5) at a3.c.B(P:4) at a3.c.c(Unknown Source:0) at b3.c.d(Unknown Source:7) at m1.b.U(P:9) at m1.b.x(Unknown Source:0) at m1.b$l.c(P:7) at m1.b$l.a(Unknown Source:2) at z2.b$b$c.b(P:3) at r3.a$b$d.afterHookedMethod(Unknown Source:13) at de.robv.android.xposed.XposedBridge$AdditionalHookInfo.callback(Unknown Source:147) at LSPHooker_.handleHeaderViews(Unknown Source:8) at com.android.systemui.statusbar.notification.NotificationHeaderViewWrapper.onContentUpdated(NotificationHeaderViewWrapper.java:204) at com.android.systemui.statusbar.notification.NotificationTemplateViewWrapper.onContentUpdated(NotificationTemplateViewWrapper.java:355) at com.android.systemui.statusbar.NotificationContentView.onNotificationUpdated(NotificationContentView.java:1243) at com.android.systemui.statusbar.ExpandableNotificationRow.onNotificationUpdated(ExpandableNotificationRow.java:375) at com.android.systemui.statusbar.notification.NotificationInflater$AsyncInflationTask.onAsyncInflationFinished(NotificationInflater.java:707) at com.android.systemui.statusbar.notification.NotificationInflater.finishIfDone(NotificationInflater.java:413) at com.android.systemui.statusbar.notification.NotificationInflater.apply(NotificationInflater.java:333) at com.android.systemui.statusbar.notification.NotificationInflater$AsyncInflationTask.onPostExecute(NotificationInflater.java:666) at com.android.systemui.statusbar.notification.NotificationInflater$AsyncInflationTask.onPostExecute(NotificationInflater.java:569) at android.os.AsyncTask.finish(AsyncTask.java:755) at android.os.AsyncTask.access$900(AsyncTask.java:192) at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:772) at android.os.Handler.dispatchMessage(Handler.java:107) at android.os.Looper.loop(Looper.java:224) at android.app.ActivityThread.main(ActivityThread.java:7562) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950) [ 2022-05-30T10:40:49.806 1000: 2807: 16548 I/LSPosed-Bridge ] [MIUINativeNotifyIcon][E]--> NoSuchField happend in [class com.android.systemui.statusbar.notification.NotificationViewWrapper] Try to get field instance failed [FinderMode] [ 2022-05-30T10:40:49.806 1000: 2807: 16548 E/LSPosed-Bridge ] java.lang.IllegalArgumentException: Expected receiver of type com.android.systemui.statusbar.notification.NotificationViewWrapper, but got com.android.systemui.statusbar.ExpandableNotificationRow at java.lang.reflect.Field.get(Native Method) at a3.b$a.a(P:1) at m1.b.U(P:19) at m1.b.x(Unknown Source:0) at m1.b$l.c(P:7) at m1.b$l.a(Unknown Source:2) at z2.b$b$c.b(P:3) at r3.a$b$d.afterHookedMethod(Unknown Source:13) at de.robv.android.xposed.XposedBridge$AdditionalHookInfo.callback(Unknown Source:147) at LSPHooker_.handleHeaderViews(Unknown Source:8) at com.android.systemui.statusbar.notification.NotificationHeaderViewWrapper.onContentUpdated(NotificationHeaderViewWrapper.java:204) at com.android.systemui.statusbar.notification.NotificationTemplateViewWrapper.onContentUpdated(NotificationTemplateViewWrapper.java:355) at com.android.systemui.statusbar.NotificationContentView.onNotificationUpdated(NotificationContentView.java:1243) at com.android.systemui.statusbar.ExpandableNotificationRow.onNotificationUpdated(ExpandableNotificationRow.java:375) at com.android.systemui.statusbar.notification.NotificationInflater$AsyncInflationTask.onAsyncInflationFinished(NotificationInflater.java:707) at com.android.systemui.statusbar.notification.NotificationInflater.finishIfDone(NotificationInflater.java:413) at com.android.systemui.statusbar.notification.NotificationInflater.apply(NotificationInflater.java:333) at com.android.systemui.statusbar.notification.NotificationInflater$AsyncInflationTask.onPostExecute(NotificationInflater.java:666) at com.android.systemui.statusbar.notification.NotificationInflater$AsyncInflationTask.onPostExecute(NotificationInflater.java:569) at android.os.AsyncTask.finish(AsyncTask.java:755) at android.os.AsyncTask.access$900(AsyncTask.java:192) at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:772) at android.os.Handler.dispatchMessage(Handler.java:107) at android.os.Looper.loop(Looper.java:224) at android.app.ActivityThread.main(ActivityThread.java:7562) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950) [ 2022-05-30T10:40:49.847 1000: 2807: 16552 I/LSPosed-Bridge ] [MIUINativeNotifyIcon][E]--> NoSuchMethod happend in [class com.android.systemui.statusbar.NotificationData$Entry] [FinderMode] [ 2022-05-30T10:40:49.847 1000: 2807: 16552 E/LSPosed-Bridge ] java.lang.NoSuchMethodError: Can't find this Method --> name:[getSbn] paramCount:[unspecified] paramTypes:[()] returnType:[unspecified] modifiers:[] in Class [class com.android.systemui.statusbar.NotificationData$Entry] by YukiHookAPI#ReflectionTool at d3.a.c(P:65) at a3.c.E(P:5) at a3.c.B(P:4) at a3.c.c(Unknown Source:0) at b3.c.d(Unknown Source:7) at m1.b.U(P:9) at m1.b.x(Unknown Source:0) at m1.b$l.c(P:7) at m1.b$l.a(Unknown Source:2) at z2.b$b$c.b(P:3) at r3.a$b$d.afterHookedMethod(Unknown Source:13) at de.robv.android.xposed.XposedBridge$AdditionalHookInfo.callback(Unknown Source:147) at LSPHooker_.handleHeaderViews(Unknown Source:8) at com.android.systemui.statusbar.notification.NotificationHeaderViewWrapper.(NotificationHeaderViewWrapper.java:115) at com.android.systemui.statusbar.notification.NotificationTemplateViewWrapper.(NotificationTemplateViewWrapper.java:69) at com.android.systemui.statusbar.notification.NotificationViewWrapper.wrap(NotificationViewWrapper.java:70) at com.android.systemui.statusbar.notification.NotificationViewWrapper.wrap(NotificationViewWrapper.java:52) at com.android.systemui.statusbar.NotificationContentView.setContractedChild(NotificationContentView.java:447) at com.android.systemui.statusbar.notification.NotificationInflater.finishIfDone(NotificationInflater.java:364) at com.android.systemui.statusbar.notification.NotificationInflater.apply(NotificationInflater.java:333) at com.android.systemui.statusbar.notification.NotificationInflater$AsyncInflationTask.onPostExecute(NotificationInflater.java:666) at com.android.systemui.statusbar.notification.NotificationInflater$AsyncInflationTask.onPostExecute(NotificationInflater.java:569) at android.os.AsyncTask.finish(AsyncTask.java:755) at android.os.AsyncTask.access$900(AsyncTask.java:192) at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:772) at android.os.Handler.dispatchMessage(Handler.java:107) at android.os.Looper.loop(Looper.java:224) at android.app.ActivityThread.main(ActivityThread.java:7562) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950) [ 2022-05-30T10:40:49.847 1000: 2807: 2807 I/LSPosed-Bridge ] [MIUINativeNotifyIcon][E]--> [com.android.systemui] Try to hook class com.android.systemui.statusbar.notification.NotificationHeaderViewWrapper[private void com.android.systemui.statusbar.notification.NotificationHeaderViewWrapper.handleHeaderViews()] got an Exception [Default] [ 2022-05-30T10:40:49.847 1000: 2807: 2807 E/LSPosed-Bridge ] java.lang.NullPointerException: null receiver at java.lang.reflect.Method.invoke(Native Method) at a3.c$b$a.a(P:3) at a3.c$b$a.d(Unknown Source:5) at m1.b.U(P:20) at m1.b.x(Unknown Source:0) at m1.b$l.c(P:7) at m1.b$l.a(Unknown Source:2) at z2.b$b$c.b(P:3) at r3.a$b$d.afterHookedMethod(Unknown Source:13) at de.robv.android.xposed.XposedBridge$AdditionalHookInfo.callback(Unknown Source:147) at LSPHooker_.handleHeaderViews(Unknown Source:8) at com.android.systemui.statusbar.notification.NotificationHeaderViewWrapper.(NotificationHeaderViewWrapper.java:115) at com.android.systemui.statusbar.notification.NotificationTemplateViewWrapper.(NotificationTemplateViewWrapper.java:69) at com.android.systemui.statusbar.notification.NotificationViewWrapper.wrap(NotificationViewWrapper.java:70) at com.android.systemui.statusbar.notification.NotificationViewWrapper.wrap(NotificationViewWrapper.java:52) at com.android.systemui.statusbar.NotificationContentView.setContractedChild(NotificationContentView.java:447) at com.android.systemui.statusbar.notification.NotificationInflater.finishIfDone(NotificationInflater.java:364) at com.android.systemui.statusbar.notification.NotificationInflater.apply(NotificationInflater.java:333) at com.android.systemui.statusbar.notification.NotificationInflater$AsyncInflationTask.onPostExecute(NotificationInflater.java:666) at com.android.systemui.statusbar.notification.NotificationInflater$AsyncInflationTask.onPostExecute(NotificationInflater.java:569) at android.os.AsyncTask.finish(AsyncTask.java:755) at android.os.AsyncTask.access$900(AsyncTask.java:192) at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:772) at android.os.Handler.dispatchMessage(Handler.java:107) at android.os.Looper.loop(Looper.java:224) at android.app.ActivityThread.main(ActivityThread.java:7562) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950) [ 2022-05-30T10:40:49.849 1000: 2807: 16553 I/LSPosed-Bridge ] [MIUINativeNotifyIcon][E]--> NoSuchField happend in [class com.android.systemui.statusbar.notification.NotificationViewWrapper] Try to get field instance failed [FinderMode] [ 2022-05-30T10:40:49.849 1000: 2807: 16553 E/LSPosed-Bridge ] java.lang.IllegalArgumentException: Expected receiver of type com.android.systemui.statusbar.notification.NotificationViewWrapper, but got com.android.systemui.statusbar.ExpandableNotificationRow at java.lang.reflect.Field.get(Native Method) at a3.b$a.a(P:1) at m1.b.U(P:19) at m1.b.x(Unknown Source:0) at m1.b$l.c(P:7) at m1.b$l.a(Unknown Source:2) at z2.b$b$c.b(P:3) at r3.a$b$d.afterHookedMethod(Unknown Source:13) at de.robv.android.xposed.XposedBridge$AdditionalHookInfo.callback(Unknown Source:147) at LSPHooker_.handleHeaderViews(Unknown Source:8) at com.android.systemui.statusbar.notification.NotificationHeaderViewWrapper.(NotificationHeaderViewWrapper.java:115) at com.android.systemui.statusbar.notification.NotificationTemplateViewWrapper.(NotificationTemplateViewWrapper.java:69) at com.android.systemui.statusbar.notification.NotificationViewWrapper.wrap(NotificationViewWrapper.java:70) at com.android.systemui.statusbar.notification.NotificationViewWrapper.wrap(NotificationViewWrapper.java:52) at com.android.systemui.statusbar.NotificationContentView.setContractedChild(NotificationContentView.java:447) at com.android.systemui.statusbar.notification.NotificationInflater.finishIfDone(NotificationInflater.java:364) at com.android.systemui.statusbar.notification.NotificationInflater.apply(NotificationInflater.java:333) at com.android.systemui.statusbar.notification.NotificationInflater$AsyncInflationTask.onPostExecute(NotificationInflater.java:666) at com.android.systemui.statusbar.notification.NotificationInflater$AsyncInflationTask.onPostExecute(NotificationInflater.java:569) at android.os.AsyncTask.finish(AsyncTask.java:755) at android.os.AsyncTask.access$900(AsyncTask.java:192) at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:772) at android.os.Handler.dispatchMessage(Handler.java:107) at android.os.Looper.loop(Looper.java:224) at android.app.ActivityThread.main(ActivityThread.java:7562) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950) [ 2022-05-30T10:40:49.854 1000: 2807: 16554 I/LSPosed-Bridge ] [MIUINativeNotifyIcon][E]--> NoSuchMethod happend in [class com.android.systemui.statusbar.NotificationData$Entry] [FinderMode] [ 2022-05-30T10:40:49.854 1000: 2807: 16554 E/LSPosed-Bridge ] java.lang.NoSuchMethodError: Can't find this Method --> name:[getSbn] paramCount:[unspecified] paramTypes:[()] returnType:[unspecified] modifiers:[] in Class [class com.android.systemui.statusbar.NotificationData$Entry] by YukiHookAPI#ReflectionTool at d3.a.c(P:65) at a3.c.E(P:5) at a3.c.B(P:4) at a3.c.c(Unknown Source:0) at b3.c.d(Unknown Source:7) at m1.b.U(P:9) at m1.b.x(Unknown Source:0) at m1.b$l.c(P:7) at m1.b$l.a(Unknown Source:2) at z2.b$b$c.b(P:3) at r3.a$b$d.afterHookedMethod(Unknown Source:13) at de.robv.android.xposed.XposedBridge$AdditionalHookInfo.callback(Unknown Source:147) at LSPHooker_.handleHeaderViews(Unknown Source:8) at com.android.systemui.statusbar.notification.NotificationHeaderViewWrapper.onContentUpdated(NotificationHeaderViewWrapper.java:204) at com.android.systemui.statusbar.notification.NotificationTemplateViewWrapper.onContentUpdated(NotificationTemplateViewWrapper.java:355) at com.android.systemui.statusbar.NotificationContentView.onNotificationUpdated(NotificationContentView.java:1243) at com.android.systemui.statusbar.ExpandableNotificationRow.onNotificationUpdated(ExpandableNotificationRow.java:375) at com.android.systemui.statusbar.notification.NotificationInflater$AsyncInflationTask.onAsyncInflationFinished(NotificationInflater.java:707) at com.android.systemui.statusbar.notification.NotificationInflater.finishIfDone(NotificationInflater.java:413) at com.android.systemui.statusbar.notification.NotificationInflater.apply(NotificationInflater.java:333) at com.android.systemui.statusbar.notification.NotificationInflater$AsyncInflationTask.onPostExecute(NotificationInflater.java:666) at com.android.systemui.statusbar.notification.NotificationInflater$AsyncInflationTask.onPostExecute(NotificationInflater.java:569) at android.os.AsyncTask.finish(AsyncTask.java:755) at android.os.AsyncTask.access$900(AsyncTask.java:192) at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:772) at android.os.Handler.dispatchMessage(Handler.java:107) at android.os.Looper.loop(Looper.java:224) at android.app.ActivityThread.main(ActivityThread.java:7562) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950) [ 2022-05-30T10:40:49.854 1000: 2807: 2807 I/LSPosed-Bridge ] [MIUINativeNotifyIcon][E]--> [com.android.systemui] Try to hook class com.android.systemui.statusbar.notification.NotificationHeaderViewWrapper[private void com.android.systemui.statusbar.notification.NotificationHeaderViewWrapper.handleHeaderViews()] got an Exception [Default] [ 2022-05-30T10:40:49.854 1000: 2807: 2807 E/LSPosed-Bridge ] java.lang.NullPointerException: null receiver at java.lang.reflect.Method.invoke(Native Method) at a3.c$b$a.a(P:3) at a3.c$b$a.d(Unknown Source:5) at m1.b.U(P:20) at m1.b.x(Unknown Source:0) at m1.b$l.c(P:7) at m1.b$l.a(Unknown Source:2) at z2.b$b$c.b(P:3) at r3.a$b$d.afterHookedMethod(Unknown Source:13) at de.robv.android.xposed.XposedBridge$AdditionalHookInfo.callback(Unknown Source:147) at LSPHooker_.handleHeaderViews(Unknown Source:8) at com.android.systemui.statusbar.notification.NotificationHeaderViewWrapper.onContentUpdated(NotificationHeaderViewWrapper.java:204) at com.android.systemui.statusbar.notification.NotificationTemplateViewWrapper.onContentUpdated(NotificationTemplateViewWrapper.java:355) at com.android.systemui.statusbar.NotificationContentView.onNotificationUpdated(NotificationContentView.java:1243) at com.android.systemui.statusbar.ExpandableNotificationRow.onNotificationUpdated(ExpandableNotificationRow.java:375) at com.android.systemui.statusbar.notification.NotificationInflater$AsyncInflationTask.onAsyncInflationFinished(NotificationInflater.java:707) at com.android.systemui.statusbar.notification.NotificationInflater.finishIfDone(NotificationInflater.java:413) at com.android.systemui.statusbar.notification.NotificationInflater.apply(NotificationInflater.java:333) at com.android.systemui.statusbar.notification.NotificationInflater$AsyncInflationTask.onPostExecute(NotificationInflater.java:666) at com.android.systemui.statusbar.notification.NotificationInflater$AsyncInflationTask.onPostExecute(NotificationInflater.java:569) at android.os.AsyncTask.finish(AsyncTask.java:755) at android.os.AsyncTask.access$900(AsyncTask.java:192) at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:772) at android.os.Handler.dispatchMessage(Handler.java:107) at android.os.Looper.loop(Looper.java:224) at android.app.ActivityThread.main(ActivityThread.java:7562) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950) [ 2022-05-30T10:40:49.855 1000: 2807: 16555 I/LSPosed-Bridge ] [MIUINativeNotifyIcon][E]--> NoSuchField happend in [class com.android.systemui.statusbar.notification.NotificationViewWrapper] Try to get field instance failed [FinderMode] [ 2022-05-30T10:40:49.855 1000: 2807: 16555 E/LSPosed-Bridge ] java.lang.IllegalArgumentException: Expected receiver of type com.android.systemui.statusbar.notification.NotificationViewWrapper, but got com.android.systemui.statusbar.ExpandableNotificationRow at java.lang.reflect.Field.get(Native Method) at a3.b$a.a(P:1) at m1.b.U(P:19) at m1.b.x(Unknown Source:0) at m1.b$l.c(P:7) at m1.b$l.a(Unknown Source:2) at z2.b$b$c.b(P:3) at r3.a$b$d.afterHookedMethod(Unknown Source:13) at de.robv.android.xposed.XposedBridge$AdditionalHookInfo.callback(Unknown Source:147) at LSPHooker_.handleHeaderViews(Unknown Source:8) at com.android.systemui.statusbar.notification.NotificationHeaderViewWrapper.onContentUpdated(NotificationHeaderViewWrapper.java:204) at com.android.systemui.statusbar.notification.NotificationTemplateViewWrapper.onContentUpdated(NotificationTemplateViewWrapper.java:355) at com.android.systemui.statusbar.NotificationContentView.onNotificationUpdated(NotificationContentView.java:1243) at com.android.systemui.statusbar.ExpandableNotificationRow.onNotificationUpdated(ExpandableNotificationRow.java:375) at com.android.systemui.statusbar.notification.NotificationInflater$AsyncInflationTask.onAsyncInflationFinished(NotificationInflater.java:707) at com.android.systemui.statusbar.notification.NotificationInflater.finishIfDone(NotificationInflater.java:413) at com.android.systemui.statusbar.notification.NotificationInflater.apply(NotificationInflater.java:333) at com.android.systemui.statusbar.notification.NotificationInflater$AsyncInflationTask.onPostExecute(NotificationInflater.java:666) at com.android.systemui.statusbar.notification.NotificationInflater$AsyncInflationTask.onPostExecute(NotificationInflater.java:569) at android.os.AsyncTask.finish(AsyncTask.java:755) at android.os.AsyncTask.access$900(AsyncTask.java:192) at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:772) at android.os.Handler.dispatchMessage(Handler.java:107) at android.os.Looper.loop(Looper.java:224) at android.app.ActivityThread.main(ActivityThread.java:7562) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)

    bug fixed 
    opened by DogTorrent 9
  • [通知图标优化适配反馈]

    [通知图标优化适配反馈]

    需要适配的 APP 名称/包名/通知图标颜色 (必填)

    • 浩克下载/com.sausage.download/#000000

    提供相关 APP 的下载渠道截图以及简要说明用途 (必填)

    • 一个下载工具,支持多协议下载,类似于idm

    提供相关 APP 的通知单色图标适配素材 大小 50x50 (选填)

    • (下载链接:https://wwn.lanzoub.com/tp/ir40L0cjx8le)

    • (若直接在附件提交这里可不填)

    wontfix 
    opened by ezrell 8
  • [通知图标优化适配反馈]

    [通知图标优化适配反馈]

    需要适配的 APP 名称/包名/通知图标颜色 (必填)

    • (示例:小米音乐/com.miui.player/#fff16033)

    • bilibili/com.bilibili.app.in/#fff16033

    提供相关 APP 的下载渠道截图以及简要说明用途 (必填)

    • https://play.google.com/store/apps/details?id=com.bilibili.app.in

    提供相关 APP 的通知单色图标适配素材 大小 50x50 (选填)

    • (可填写资源下载地址或直接添加附件提交,不接受百度网盘、天翼云盘以及各种快传、私有云盘)

    • (若直接在附件提交这里可不填)

    opened by joeing086 6
  • [问题与 BUG 反馈] 模块会破坏MIUI的图标动态显示个数机制

    [问题与 BUG 反馈] 模块会破坏MIUI的图标动态显示个数机制

    MIUI 版本

    • MIUI13 22.3.21

    MIUI 版本类型

    • 内测版

    Android 版本(必填)

    • Android 12

    模块版本(必填)

    • 2.16

    使用的 Xposed 框架名称与框架版本(必填)

    • LSPosed Zygisk 1.7.2 (6379)

    问题的具体描述

    • 先前模块修复了开发版只能显示一个通知图标的问题,而这个问题在22.3.21上已修复
    • 但是模块似乎依然在生效,这带来了一些问题:
    • 见下方对比,在右侧图标太长时,MIUI会动态地减少通知图标的显示个数,使其不会与右侧重叠,而模块破坏了这种行为
    • 建议在22.3.21及以上版本禁用模块的workaround

    https://user-images.githubusercontent.com/46473171/159520056-0ff18f99-bc03-4961-b565-85ae7e01079e.mp4

    https://user-images.githubusercontent.com/46473171/159520097-c70f35d5-4f1c-4b4f-98c3-58f77c7e353d.mp4

    提供模块问题 Log 或必要 Log

    • 不需要log
    bug fixed 
    opened by scrpr 5
  • [问题与 BUG 反馈] 深色模式下图标明暗程度不同,且有图标会闪烁

    [问题与 BUG 反馈] 深色模式下图标明暗程度不同,且有图标会闪烁

    MIUI 版本(必填)

    • MIUI13 V13.0.4.1.18.DEV 开发版

    MIUI 版本类型(请保留一个)

    • 公测版

    Android 版本(必填)

    • 安卓12

    模块版本(必填)

    • 2.2

    使用的 Xposed 框架名称与框架版本(必填)

    • LSPosed Zygisk 1.8.0(6482)

    同时使用的带有系统界面作用域的 Xposed 模块(选填)

    • 墨状态栏歌词、Simplicity Tools

    问题的具体描述

    • 深色模式图标明暗不同,如图mipay的图标是正常能看清的,建行和clash就很暗看不太清楚,且clash偶尔会闪烁

    提供模块问题 Log 或必要 Log

    • (LSPosed 可在日志管理中查看并筛选包含 MIUINativeNotifyIcon 的日志)
    展开查看
    
    

    Screenshot_2022-03-28-22-56-13-168_com tencent mm

    bug duplicate fixed 
    opened by lzx23333 4
  • [通知优化图标适配反馈]

    [通知优化图标适配反馈]

    需要适配的 APP 名称/包名/通知图标颜色 (必填)

    • 阿里巴巴/com.alibaba.wireless/#FFFF7300

    提供相关 APP 的下载渠道截图以及简要说明用途 (必填)

    • Screenshot_2022-02-21-11-46-54-452_com.coolapk.market.jpg

    购物APP

    提供相关 APP 的通知单色图标适配素材 大小 50x50 (选填) 安装包路径下有个类似的图标 res/drawable-xhdpi-v4/v5_bar_icon_home_sel.webp

    opened by moonbai 4
  • [通知图标优化适配反馈]

    [通知图标优化适配反馈]

    需要适配的 APP 名称/包名/通知图标颜色 (必填)

    • (示例:Haylou Fun/com.yingsheng.hayloufun/#fff16033)

    提供相关 APP 的下载渠道截图以及简要说明用途 (Screenshot_2022-09-21-19-03-24-771_com.android.vending.jpg哈喽智能手表搭配使用)

    提供相关 APP 的通知单色图标适配素材 大小 50x50 (选填)

    • (可填写资源下载地址或直接添加附件提交,不接受百度网盘、天翼云盘以及各种快传、私有云盘)

    • (若直接在附件提交这里可不填)

    opened by Sunwukong2 3
  • [通知图标优化适配反馈]

    [通知图标优化适配反馈]

    **需要适配的 APP 名称/包名/通知图标颜色 **

    • 央视新闻/cn.cntvnews/#ff071F69

    **提供相关 APP 的下载渠道截图以及简要说明用途 **

    *酷安央视新闻APP下载页面 Screenshot_2022-08-23-19-03-52-332_com.coolapk.market.jpg

    **提供相关 APP 的通知单色图标适配素材 大小 50x50 **

    • https://www.coolapk.com/apk/cn.cntvnews

    opened by li0625 3
  • [通知图标优化适配反馈]

    [通知图标优化适配反馈]

    需要适配的 APP 名称/包名/通知图标颜色 (必填)

    • 魔戒/com.pluto.mojie/#FFF8C50A

    提供相关 APP 的下载渠道截图以及简要说明用途 (必填)

    • 是VPN软件,下载链接https://down.mojie.xyz/Android_MoJie_1.0.4.04.apk
    wontfix 
    opened by 347488418 3
  • 图标适配反馈

    图标适配反馈

    opened by scrpr 3
  • [通知图标优化适配反馈]

    [通知图标优化适配反馈]

    需要适配的 APP 名称/包名/通知图标颜色 (必填)

    • blued极速版/com.danlan.xiaolan/#209bff

    提供相关 APP 的下载渠道截图以及简要说明用途 (必填)

    • bluedjushu极速版和blued用途相同,交友软件,blued各种功能收费后只能用极速版了,两个软件包名不一样,请求大佬适配极速版,和blued没啥区别,感谢 222

    提供相关 APP 的通知单色图标适配素材 大小 50x50 (选填)

    • (下载链接 http://57d7.zhanyu66.com/com.danlan.xiaolan.apk)

    • (若直接在附件提交这里可不填)

    To be adapted 
    opened by ezrell 2
  • [通知图标优化适配反馈]

    [通知图标优化适配反馈]

    APP 名称

    民萌

    APP 包名

    com.PhantomSix.animedb

    通知图标颜色 (HEX)

    No response

    下载渠道、来源地址链接

    酷安

    简单描述适配的通知图标使用场景

    状态栏是彩

    通知单色图标适配素材 (大小 50x50~72x72)

    No response

    确认一下你提交的信息

    • [X] 我确保上述信息准确无误
    To be adapted 
    opened by skyerddr 1
  • [通知图标优化适配反馈]

    [通知图标优化适配反馈]

    APP 名称

    灵缇游戏加速器

    APP 包名

    com.lingti.android.ns

    通知图标颜色 (HEX)

    No response

    下载渠道、来源地址链接

    小米应用商城

    简单描述适配的通知图标使用场景

    小米推送

    通知单色图标适配素材 (大小 50x50~72x72)

    No response

    确认一下你提交的信息

    • [X] 我确保上述信息准确无误
    To be adapted 
    opened by hxh34 1
  • 【图标适配反馈】

    【图标适配反馈】

    APP 名称

    转转

    APP 包名

    com.wuba.zhuanzhuan

    通知图标颜色 (HEX)

    No response

    下载渠道、来源地址链接

    https://app.xiaomi.com/details?id=com.wuba.zhuanzhuan

    简单描述适配的通知图标使用场景

    小米推送

    通知单色图标适配素材 (大小 50x50~72x72)

    com wuba zhuanzhuan

    确认一下你提交的信息

    • [X] 我确保上述信息准确无误
    To be adapted 
    opened by Danehy 1
  • [通知图标优化适配反馈]

    [通知图标优化适配反馈]

    APP 名称

    猫眼

    APP 包名

    com.sankuai.movie

    通知图标颜色 (HEX)

    No response

    下载渠道、来源地址链接

    官网下载地址https://v.meituan.net/mobile/app/Android/movie-9038001_0-google__.apk/google__

    简单描述适配的通知图标使用场景

    小米推送

    通知单色图标适配素材 (大小 50x50~72x72)

    No response

    确认一下你提交的信息

    • [X] 我确保上述信息准确无误
    To be adapted 
    opened by fffrrh 1
  • [通知图标优化适配反馈]

    [通知图标优化适配反馈]

    APP 名称

    一条通知

    APP 包名

    cn.skyrin.ntfh

    通知图标颜色 (HEX)

    No response

    下载渠道、来源地址链接

    https://www.coolapk.com/apk/cn.skyrin.ntfh

    简单描述适配的通知图标使用场景

    本身就是彩色图标

    通知单色图标适配素材 (大小 50x50~72x72)

    image

    确认一下你提交的信息

    • [X] 我确保上述信息准确无误
    To be adapted 
    opened by nmtx-2022 1
Releases(2.8)
  • 2.8(Jun 26, 2022)

    1.修复 Android 10 系统上通知栏图标黑白块问题 2.修复 Android 10 系统上通知图标规则无法自动更新问题 3.修复 Android 10 系统模块界面通知栏可能全白的问题 4.修复其它已知问题,屏蔽低版本系统不能使用的功能 5.更新底层 Hook 框架,提升模块稳定性

    Source code(tar.gz)
    Source code(zip)
    app-release.apk(3.75 MB)
  • 2.75(Jun 3, 2022)

  • 2.7(May 30, 2022)

    1.修复上一个版本低于 Android 12 的系统反复提示重启系统界面的问题 2.优化模块安装包体积 3.加入低于 Android 11 设备的警告提示 4.修复 MIPUSH 图标在开启强制显示 APP 图标后异常 5.新增可调整通知栏图标圆角边框大小功能,仅支持 Android 12 风格以及 MIUI 经典风格

    Source code(tar.gz)
    Source code(zip)
    app-release.apk(3.70 MB)
  • 2.6(May 29, 2022)

    1.修复在线规则自动更新在部分 MIUI 系统会闪退的问题 2.完全重构底层 Hook 以及模块通讯 API 3.新增图标规则开启“全部替换”时的提示 4.优化部分 UI 5.新增通知栏的通知图标可强制使用 APP 图标的功能(参考了部分用户的建议)

    Source code(tar.gz)
    Source code(zip)
    app-release.apk(3.72 MB)
  • 2.5(Apr 13, 2022)

  • 2.35(Apr 4, 2022)

  • 2.3(Mar 29, 2022)

    1.修复 Hook 方法未做缓存造成的系统 GC 系统界面停止运行问题 2.优化 Hook 性能,提升通知栏图标动态刷新响应速度 3.尝试修复部分系统可能会出现模块无法获取激活状态的问题 4.修复经典通知样式情况下的图标折叠时通知图标未被替换的问题 5.加入 Android 12 以下设备使用经典通知栏时通知图标默认颜色跟随桌面壁纸 6.优化 Android 12 风格通知栏在系统深色模式下的通知图标颜色,防止过暗的问题

    Source code(tar.gz)
    Source code(zip)
    app-release.apk(3.88 MB)
  • 2.2(Mar 28, 2022)

    1.加入模块自动检查更新功能 2.加入通知图标优化名单在线规则自动更新功能(不支持 MIUI 12) 3.加入动态刷新系统界面功能,不需要再次重启系统界面 4.优化模块 UI 风格 5.修复后期的开发版本系统状态栏图标依然显示半个的问题 6.加入模块激活有效性检查 7.优化 MIUI 经典通知样式为原生图标并不再限制经典模式下停用模块(不支持 MIUI 12) 8.增加通知栏磁贴快捷打开通知图标在线规则同步列表 9.重构模块大量代码,提升 Hook 效率和稳定性

    Source code(tar.gz)
    Source code(zip)
    app-release.apk(3.88 MB)
  • 2.16(Mar 17, 2022)

  • 2.15(Mar 17, 2022)

  • 2.1(Mar 17, 2022)

  • 2.0(Mar 16, 2022)

    1.增加解除状态栏通知图标个数限制功能 2.为金凡的 MIUI 最新开发版修复状态栏只能显示一个通知图标的 BUG 3.修复状态栏图标反色情况下不是纯黑的 #44 4.模块整体 UI 优化与功能优化 5.修复历史累计的 Hook 不生效问题

    Source code(tar.gz)
    Source code(zip)
    app-release.apk(4.57 MB)
  • 1.95(Mar 5, 2022)

    1.尝试修复部分 MIUI 系统状态栏图标反色失败的问题 2.通知图标优化名单自定义规则加入可导入数组和非数组 JSON 选择合并和覆盖功能 3.修复 CI 版本 LSPosed 在开启了“只有模块classloader可以使用Xposed API“后功能失效的问题

    Source code(tar.gz)
    Source code(zip)
    app-release.apk(4.56 MB)
  • 1.9(Mar 4, 2022)

  • 1.87(Mar 1, 2022)

  • 1.86(Feb 28, 2022)

  • 1.85(Feb 26, 2022)

  • 1.8(Feb 24, 2022)

  • 1.71(Feb 20, 2022)

  • 1.7(Feb 20, 2022)

  • 1.67(Feb 19, 2022)

  • 1.66(Feb 19, 2022)

  • 1.65(Feb 18, 2022)

  • 1.6(Feb 16, 2022)

    1.新增通知优化图标 #23 #20 #24 #22 2.彻底解决 MIUI 12 MIPUSH 通知不能被识别的问题 3.使用新的方案识别 MIPUSH 推送的应用,防止无法匹配 4.优化UI相关功能 5.通知图标优化列表UI加入快速回顶部和到底部功能 6.适配 MIUI 主题图标包和第三方图标包优化的 APP 图标(MIPUSH)

    Source code(tar.gz)
    Source code(zip)
    app-release.apk(4.50 MB)
  • 1.51(Feb 15, 2022)

  • 1.5(Feb 15, 2022)

  • 1.36(Feb 8, 2022)

    1.重新修改“原神”、“崩坏3”、“最右”通知优化图标,增加“小米云服务”、“小米运动”、“钉钉”、“剪映”、“贝壳找房”通知优化图标 2.增加重启系统界面的提示 3.移除 MIUI 12 对 MIPUSH 图标的优化,系统原因无法修复,恢复默认 4.优化修改调整UI 5.优化部分 Hook 逻辑

    Source code(tar.gz)
    Source code(zip)
    app-release.apk(2.62 MB)
  • 1.35(Feb 7, 2022)

    1.更正相关文案和帮助说明 2.增加“虎牙直播”、“虎牙直播 Play版”、“云闪付”、“中国工商银行”、“中国农业银行”、“墨•状态栏歌词”、“车来了”、“腾讯微云”、“最右”、“学习通”、“波洞”、“哔哩哔哩漫画”、“航旅纵横”、“米游社”、“原神”、“崩坏3”通知优化图标 3.预增加通知优化图标搜索功能 4.尝试修复 MIUI 12 上 MIPUSH 图标不生效的问题 5.尝试修复 MIPUSH 图标偶发性失效的问题 6.修复失误造成的上一个版本的一个严重问题 7.为 LSPosed 的模块状态添加通知栏小图标适配

    Source code(tar.gz)
    Source code(zip)
    app-release-new.apk(2.61 MB)
  • 1.3(Feb 6, 2022)

    1.彻底修复 MIUI 12 模块不生效的问题 2.增加“京东”、“小爱同学”、“小米SIM卡激活服务”、“拼多多”、“京喜”、“掌上英雄联盟”、“央视频”、“百度网盘”、“京东极速版”、“爱奇艺”、“中国建设银行”通知优化图标 3.优化代码设计逻辑和方案以及部分 UI

    Source code(tar.gz)
    Source code(zip)
    app-release.apk(2.58 MB)
  • 1.25(Feb 5, 2022)

    1.增加“下载管理程序”、“MIUI天气”、“米家”、“和平精英”、“起点读书”、“高德地图”、“百度地图”、“招商银行”、“人民日报”、“即刻”通知优化图标 2.修复 MIUI12 版本失效的问题,改善 Hook 相关代码 3.优化部分 UI

    Source code(tar.gz)
    Source code(zip)
    app-release.apk(2.57 MB)
Owner
Fankesyooni
Salted Fish
Fankesyooni
Floating Notification for Android app - Facebook ChatHeads Notification system

FloatingView (Application Demo on Play Store) DEPRECATED SEE FloatingView Floating View for Android app - Facebook ChatHeads Notification system This

Fernandez Anthony 530 Nov 17, 2022
SmileyRating is a simple rating bar for android. It displays animated smileys as rating icon.

Smiley Rating SmileyRating is a simple rating bar for android. It displays animated smileys as rating icon. Drawn completely using android canvas Insp

Sujith Niraikulathan 1.1k Nov 22, 2022
🪄 It's a library that helps you customize your notification bar

NotificationBarCustom ?? It's a library that helps you customize your notification bar Demo Contrast(white) Contrast(black) Transparent Setup Add it i

박상선 8 Sep 7, 2022
SystemUiController - Android Ui color controller (status bar, navigation bar)

SystemUiController Android system ui color controller (status bar, navigation bar) Download implementation "land.sungbin:systemuicontroller:${version}

Ji Sungbin 8 Aug 17, 2022
Reach plc. Apps Team Exercise (Junior)

Reach plc. Apps Team Exercise (Junior) Description One of our magazines is looki

Paul Vickers 0 Dec 20, 2021
An Android library supports badge notification like iOS in Samsung, LG, Sony and HTC launchers.

ShortcutBadger: The ShortcutBadger makes your Android App show the count of unread messages as a badge on your App shortcut! Supported launchers: Sony

Leo Lin 7.2k Nov 25, 2022
Android integration of multiple icon providers such as FontAwesome, Entypo, Typicons,...

Note: Due to lack of time, Iconify is no longer maintained and icon packs are outdated. I'd be very happy to welcome a new contributor, please reach m

Joan Zapata 3.9k Nov 21, 2022
This library offers a simple method to add a small badge icon to your ActionBar-MenuItem

Android-ActionItemBadge ActionItemBadge is a library which offers a simple and easy to use method to add a badge to your action item! Screenshots Incl

Mike Penz 1.3k Nov 10, 2022
A material Switch with icon animations and color transitions

Material Animated Switch A material Switch with icon animations and color transitions Sample video: Youtube Material Animated Switch video Sample app:

Adrián Lomas 1.2k Nov 22, 2022
Displays your screen time in a permanent notification.

Screen Time Displays your screen time in a permanent notification. By making screen time more prominent, you can get a better sense of how much of the

Markus Fisch 23 Nov 17, 2022
A util for setting status bar style on Android App.

StatusBarUtil A util for setting status bar style on Android App. It can work above API 19(KitKat 4.4). 中文版点我 Sample Download StatusBarUtil-Demo Chang

Jaeger 8.8k Nov 21, 2022
A swipe button for Android with a circular progress bar for async operations

ProSwipeButton A swipe button for Android with a circular progress bar for async operations Gradle dependencies { ... compile 'in.shadowfax:pr

Shadowfax Technologies 340 Nov 13, 2022
An Index Side Bar With Wave Effect

WaveSideBar You can use WaveSideBar in the contacts page of your application. Refer to AlexLiuSheng/AnimSideBar. Screenshot Include the WaveSideBar to

郭佳哲 1.3k Nov 9, 2022
:bread: Make your native android Toasts Tasty

TastyToast Make your native android toast look beautiful. Preview About Refer Here Wiki Grab the above demo app from here : Dependency Add dependency

Rahul Yadav 2k Nov 23, 2022
Make your native android Toasts Fancy. A library that takes the standard Android toast to the next level with a variety of styling options. Style your toast from code.

FancyToast-Android Prerequisites Add this in your root build.gradle file (not your module build.gradle file): allprojects { repositories { ... ma

Shashank Singhal 1.2k Nov 17, 2022
Make your native android Dialog Fancy. A library that takes the standard Android Dialog to the next level with a variety of styling options. Style your dialog from code.

FancyAlertDialog-Android Prerequisites Add this in your root build.gradle file (not your module build.gradle file): allprojects { repositories { ..

Shashank Singhal 349 Nov 24, 2022
Display code with syntax highlighting :sparkles: in native way.

CodeView (Android) CodeView helps to show code content with syntax highlighting in native way. Description CodeView contains 3 core parts to implement

Kirill Biakov 824 Nov 25, 2022
Kotlin/Native interop to libui: a portable GUI library

kotlin-libui Kotlin/Native bindings to the libui C library. libui is a C lightweight multi-platform UI library using native widgets on Linux (Gtk3), m

Mike Sinkovsky 606 Nov 15, 2022
Rn-scratch-card - React Native Scratch Card which temporarily hides content from user

rn-scratch-card React Native Scratch Card which temporarily hides content from a

Sweatcoin 52 Oct 26, 2022