380 Commits

Author SHA1 Message Date
570e5a23ba chore: update target sdk to 36 2025-08-19 17:02:41 +08:00
90aec5b9fa chore: update jdk to 21 2025-08-19 17:02:33 +08:00
7f3cdba757 chore: bump gradle to 8.14.3 2025-08-19 17:02:22 +08:00
9536b42c2b chore: bump dependencies 2025-08-19 17:02:00 +08:00
a7582de004 refactor: update KavaRef usage to 1.0.1 2025-07-06 21:37:37 +08:00
29b14a811e refactor: migrate and update to YukiHookAPI 1.3.0 2025-06-25 23:22:49 +08:00
9b9eda8a39 docs: update README 2025-06-24 14:11:25 +08:00
cfa065b57e docs: update README 2025-06-20 12:52:18 +08:00
YuSaki丶Kanade
492d0dad67 fix: block coloros 15 fixSmallIcon method (#78)
* fix: block coloros 15 fixSmallIcon method

* fix: hook error

* feat: complete ColorOS 15 support

* docs: update README

---------

Co-authored-by: fankesyooni <qzmmcn@163.com>
2025-05-29 22:12:27 +08:00
YuSaki丶Kanade
d26f68c1a7 fix: DND and updateIconsForLayout hook (#79) 2025-05-28 22:50:39 +08:00
d9520cb484 chore: disable type auto conversion for sweet-property 2025-05-09 23:20:08 +08:00
884aa87617 chore: update project files 2025-05-09 23:20:06 +08:00
YuSaki丶Kanade
51e52f3eba fix: block coloros 15 useAppIconForSmallIcon method (#77) 2025-04-22 02:15:08 +08:00
YuSaki丶Kanade
9aae48c785 fix: coloros 15 removed updateIconsForLayout method (#76) 2025-04-21 22:40:21 +08:00
ee77842fbb chore: bump dependencies 2025-03-16 23:29:32 +08:00
3794035789 chore: bump gradle to 8.13 2025-03-16 23:29:26 +08:00
a8c1ba3166 chore: bump ci to v4 2025-02-22 01:10:00 +08:00
4d39eb4b9d chore: update .gitignore 2025-02-22 01:09:50 +08:00
2ffd36cc21 docs: update license 2025-01-13 11:17:22 +08:00
d95e53f6e4 refactor: support Android 15 edge-to-edge system bars 2024-11-25 18:50:23 +08:00
115ccf0822 chore: update target sdk to 35 2024-11-10 21:36:17 +08:00
982f73444a chore: some tweaks in build.gradle.kts 2024-11-10 21:35:12 +08:00
93fdd307a2 chore: update project files 2024-11-10 21:35:09 +08:00
75789c0286 chore: bump dependencies 2024-11-10 21:35:02 +08:00
b1ca7be6ed chore: bump gradle to 8.10.2 2024-11-10 21:06:44 +08:00
c4087db1e6 docs: add Android 15 option 2024-10-10 09:09:42 +08:00
hamjin
bf69aed1b4 feat: Replace ghproxy.com with ghp.ci (#69) 2024-10-03 15:48:55 +08:00
a0c001b7e4 Revert "feat: Custom GitHub Proxy (#68)"
This reverts commit 1b0fcdfce6.
2024-10-03 01:27:38 +08:00
hamjin
1b0fcdfce6 feat: Custom GitHub Proxy (#68)
* feat: Custom GitHub Proxy

Signed-off-by: hamjin <jinham@qq.com>

* refactor: organize text layout

---------

Signed-off-by: hamjin <jinham@qq.com>
Co-authored-by: Fankesyooni <37344460+fankes@users.noreply.github.com>
2024-10-03 00:29:03 +08:00
8d42d47ab4 chore: update .editorconfig 2024-06-21 10:11:02 +08:00
a7c43149e3 chore: update project files 2024-06-21 10:10:54 +08:00
053c8b837c refactor: support Kotlin 2.0.0 2024-06-20 11:26:22 +08:00
1fdaf81560 chore: bump dependencies 2024-06-20 11:25:22 +08:00
67937edd0f chore: bump gradle to 8.7 2024-06-20 11:25:13 +08:00
bb9e965cca chore: update .editorconfig 2024-06-20 11:25:08 +08:00
d7e487c4ce chore: bump dependencies 2024-02-20 11:39:43 +08:00
11480f6d4a chore: bump gradle to 8.6 2024-02-20 11:39:39 +08:00
a09d039b48 chore: update .editorconfig 2024-01-13 21:25:46 +08:00
95b49168cb docs: update copyright date to 2024 for all existing files 2024-01-01 01:23:24 +08:00
49b942efda style: merge to new ktlint version & rules 2023-12-29 21:39:05 +08:00
025183d8f0 chore: update project files 2023-12-29 21:39:00 +08:00
78205b2c6c chore: bump dependencies 2023-12-28 23:55:23 +08:00
c3ac4d4be1 chore: bump gradle to 8.5 2023-12-28 23:53:40 +08:00
a22d36c79d chore: update .gitignore 2023-12-28 23:53:29 +08:00
8889d6fa5f docs: use relative link 2023-12-11 02:39:42 +08:00
8662637e6a chore: update project files 2023-12-11 02:39:39 +08:00
b88b7b6907 chore: bump dependency versions 2023-12-11 00:27:21 +08:00
ae0f163d57 docs: update piracy statement 2023-12-11 00:27:18 +08:00
757313ee14 style: optimize code 2023-12-11 00:26:17 +08:00
Fankesyooni
0ee83ff83a Merge pull request #65 from hamjin/master
Fix: ColorOS 14 new hook points
2023-12-03 12:35:12 +08:00
hamjin
29c3a839f4 Bugfix for ColorOS 14
Tested On OnePlus PHK110 14.0.0.200 with com.android.systemui 14.99.09

Signed-off-by: hamjin <jinham@qq.com>
2023-12-03 11:49:12 +08:00
faf443960c docs: update promotion 2023-11-18 18:16:50 +08:00
41cf6a209a chore: bump "com.highcapable.sweetdependency" version to 1.0.4 2023-11-14 01:02:38 +08:00
71a37d8bf3 chore: bump "com.highcapable.sweetproperty" version to 1.0.5 2023-11-08 15:20:21 +08:00
4afddae4e1 chore: updaye project files 2023-11-08 15:17:45 +08:00
3714c3f06d chore: bump dependencies 2023-11-04 03:52:02 +08:00
6d624b3992 chore: bump plugin versions
- bump "com.highcapable.sweetdependency" version to 1.0.3
- bump "com.highcapable.sweetproperty" version to 1.0.4
2023-11-04 03:48:54 +08:00
b3a3e0993c docs: replace download links 2023-11-03 13:56:46 +08:00
c34f121145 docs: update release channel 2023-10-26 21:30:06 +08:00
b2a65a4f3c fix: catch toast when no looper 2023-10-22 22:38:16 +08:00
799d758671 chore: update target sdk to 34 2023-10-21 01:22:33 +08:00
9f323f466a feat(docs): update YukiHookAPI owner link 2023-10-21 01:22:13 +08:00
713d5bc008 refactor: remove DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION 2023-10-21 01:21:31 +08:00
e0f50984b0 refactor: migrate to YukiHookAPI new usage 2023-10-07 21:07:40 +08:00
1e0efe8f86 chore: bump dependency versions 2023-10-07 21:07:32 +08:00
358fc16b0e chore: bump plugin versions
- bump "com.highcapable.sweetdependency" version to 1.0.2
- bump "com.highcapable.sweetproperty" version to 1.0.3
2023-09-26 09:08:58 +08:00
fc69d7b544 refactor: add new R8 rules to fix possible problems 2023-09-19 08:18:46 +08:00
5e37c1b7dc ci: fix artifacts name 2023-09-19 01:52:17 +08:00
147a33d8ee feat: simple support Android 14 display name 2023-09-18 00:21:14 +08:00
75ec1317fa docs: optimize comments 2023-09-18 00:19:06 +08:00
62d4e727ff feat: lots of changes
- add BuildConfigWrapper
- merge to new project promote
- add ci version tag support
- Fix system api compat issues
2023-09-18 00:17:25 +08:00
c4573d221b docs: update README 2023-09-18 00:16:01 +08:00
b74adce241 style: optimize code 2023-09-18 00:15:13 +08:00
bd57f76232 docs: move images to img-src 2023-09-18 00:13:19 +08:00
e67110fd65 refactor: use new payment code 2023-09-18 00:12:18 +08:00
2c48401d21 fix: class not found when R8 since android gradle plugin 8+ 2023-09-18 00:11:32 +08:00
bcac9a3752 ci: optimize and add artifacts post to Telegram 2023-09-18 00:11:07 +08:00
656fc0446c chore: add Android 14 option 2023-09-18 00:10:37 +08:00
b4f0b65264 chore: migrate build script from groovy to kts
- using SweetDependency, SweetProperty
- merge singing key file configs to properties
- update gradle and dependencies
2023-09-18 00:10:08 +08:00
a577c49e56 chore: clean up build step files 2023-09-18 00:08:23 +08:00
1431457e37 [Change Commit Specification] Use the new commit spec from here on
child commits:
chore: add .editorconfig
2023-09-18 00:05:38 +08:00
4edf7a2df2 Modify support ColorOS 13.1 notify panel alpha in MainActivity 2023-07-15 13:55:05 +08:00
171bbae16b Update version to 1.100 2023-04-25 06:40:35 +08:00
c1d6a85927 Modify merge to YukiHookAPI new usage 2023-04-25 06:23:59 +08:00
ea77b3631f Update YukiHookAPI 2023-04-25 06:22:05 +08:00
8b906032f2 Update version to 1.99 2023-04-22 22:37:13 +08:00
6cd9cb79ac Modify remove prefs cache function and disable prefs cache 2023-04-22 22:32:35 +08:00
8bdff8d558 Update version to 1.98 2023-04-21 02:22:05 +08:00
3ccde65af6 Added enable or disable prefs cache function 2023-04-21 02:15:11 +08:00
7503a64efd Update YukiHookAPI 2023-04-21 01:29:55 +08:00
0d564258c9 Update version to 1.97 2023-04-18 01:51:35 +08:00
f172b6b1b9 Fix notification panel background tint list color not set problem in SystemUIHooker 2023-04-18 01:46:17 +08:00
ecf7ed8653 Modify change some descriptions in activity_main 2023-04-18 01:07:05 +08:00
1efb18f4e1 Fix notification panel icon reset by system problem in SystemUIHooker 2023-04-18 01:05:35 +08:00
fa99a57027 Added new GitHub proxy url 2023-04-18 00:32:05 +08:00
4d3106f5bc Added new module version update notification function 2023-04-17 23:46:55 +08:00
8f735ab23d Fix default notification panel background tint color changed on some custom ColorOS in SystemUIHooker 2023-04-17 23:07:05 +08:00
3503cf35b1 Added notification icon force system color function 2023-04-17 22:42:55 +08:00
1d5759313b Modify merge to YukiHookAPI new usage 2023-04-17 06:13:35 +08:00
7dcd6de33e Update YukiHookAPI 2023-04-17 06:09:35 +08:00
ff941171f9 Modify merge contents of build.gradle into constant definitions 2023-04-15 23:16:55 +08:00
eeb7966448 Update Gradle & Kotlin
- Update Kotlin version to 1.8.20
- Update Gradle version to 8.0.2
- Update Gradle dependencies
2023-04-08 00:09:56 +08:00
a1214f0f38 Modify support monet launcher icon in ic_launcher 2023-02-25 21:25:15 +08:00
855f88127d Update version to 1.95 2023-02-07 06:37:15 +08:00
d589ef2cd0 Modify change wallpaperColor function's return value that cannot obtain return default color in FunctionFactory 2023-02-07 06:23:35 +08:00
c95c36c76a Modify optimize code in SystemUIHooker 2023-02-07 06:19:55 +08:00
2eec2022d1 Fix "GitHub" spelling in all files 2023-02-07 05:25:55 +08:00
4b00d84d8b Modify replace to new placeholder notification icon in SystemUIHooker 2023-02-07 05:21:15 +08:00
89767143bd Fix possible grayscale notification icons color judgment problem in SystemUIHooker 2023-02-07 03:55:55 +08:00
e119fd0bf7 Fix VariousClass's names misspelling problem in SystemUIHooker 2023-02-07 03:39:05 +08:00
bd08b2ce1d Fix notification panel maybe freeze problem in SystemUIHooker
- Remove replacement notification icon views function
- Use a new way to fix notification icons color
2023-02-07 03:27:23 +08:00
a334bf9a8c Modify hide notification panel alpha function when ColorOS version without 12, 12.1, 13 in MainActivity, ConfigData, activity_main 2023-02-07 02:23:27 +08:00
bad773cc2c Fix some class not found problem on ColorOS 11 in SystemUIHooker 2023-02-07 02:20:15 +08:00
e5a2edb614 Update version to 1.9 2023-02-06 04:09:35 +08:00
b9a8b6195b Update Gradle & PlatformSDK
- Update Android Gradle Plugin version to 7.4.1
2023-02-06 03:57:55 +08:00
0cc499e690 Modify merge to new readme documentation 2023-02-06 03:00:55 +08:00
df4694bb56 Added automatic build workflows for Github Actions 2023-02-06 02:59:35 +08:00
c0dbf565e9 Update copyright date to 2023 for all existing files 2023-02-06 02:29:15 +08:00
2f0766cc9f Modify change some descriptions in activity_main 2023-02-06 02:23:35 +08:00
896322361e Modify merge to new notification icon rules urls in IconRuleManagerTool, ConfigureActivity, dia_source_from 2023-02-06 02:17:35 +08:00
9e53e0ddba Fix the custom url sync result callback maybe not canceled the dialog problem in IconRuleManagerTool 2023-02-06 01:59:35 +08:00
41b9127c15 Modify remove extra text in notifyRefresh function in IconRuleManagerTool 2023-02-06 01:51:55 +08:00
24a028629d Modify swap variable name places in IconRuleManagerTool 2023-02-06 01:19:15 +08:00
70c2f9aa8f Modify change module debug logs record method and optimize some code in HookEntry, SystemUIHooker, SystemUITool, MainActivity, activity_main 2023-02-05 04:51:35 +08:00
4ad7acb56c Added color notification icons placeholder icon function in SystemUIHooker, ConfigData, MainActivity, activity_main 2023-02-05 02:32:35 +08:00
bae57c87d8 Modify optimize code in SystemUIHooker 2023-02-04 23:30:15 +08:00
7938477bb3 Modify change when module is disabled turn off some functions in ConfigureActivity, SystemUITool 2023-02-04 22:42:35 +08:00
1253b8c371 Modify merge seek bar changed event to SeekBarFactory 2023-02-04 02:43:39 +08:00
dea19c72ab Added retry notification function when notification icon rule sync failed in ConfigureActivity, IconRuleManagerTool 2023-02-03 23:59:15 +08:00
fbce4f9f7a Modify change ProgressBar to CircularProgressIndicator in DialogBuilderFactory 2023-02-03 23:20:55 +08:00
3697a9ad18 Added I18nWarnTool in MainActivity 2023-02-03 05:37:15 +08:00
aaca48bb8e Added Android version code name in system version content in MainActivity 2023-02-03 05:13:55 +08:00
28e579ad0e Added androidVersionCodeName function in FunctionFactory 2023-02-03 05:11:55 +08:00
b8973fa15a Added dynamic refreshing option in restart system ui dialog in SystemUITool 2023-02-03 04:50:35 +08:00
3fa8a3c7e9 Modify merge all store methods to ConfigData and fix module activation status problem 2023-02-03 04:19:15 +08:00
cc2e2df37e Modify merge issues url to AndroidNotifyIconAdapt in ConfigureActivity 2023-02-02 22:03:15 +08:00
6725bf14a5 Modify merge notification icon panel functions and remove from notification icon fix panel in SystemUIHooker, MainActivity, activity_main 2023-02-02 05:59:35 +08:00
a896806fa5 Modify change Android 12 notification icon style contents to Material 3 in DataConst, SystemUIHooker, MainActivity, activity_main 2023-02-02 05:05:55 +08:00
5e56c1bc57 Fix some system's notification icons maybe reset by the system cause wrong icon color in SystemUIHooker 2023-02-02 00:09:15 +08:00
3c96c30a74 Modify change sleep millisecond cause some system not refresh caching problem in SystemUIHooker 2023-02-01 06:27:15 +08:00
ca4a594114 Fix auto update notify icon rules problem in IconAdaptationTool, IconRuleManagerTool, SystemUITool, NotifyIconRuleUpdateActivity 2023-02-01 06:25:05 +08:00
77ff08f6d7 Modify merge to YukiHookAPI new usage 2023-02-01 05:02:15 +08:00
4fd017fed1 Update YukiHookAPI 2023-02-01 04:50:50 +08:00
91b1500ebd Update .gitignore 2023-02-01 04:50:06 +08:00
601ceee89f Modify change BuildConfig.APPLICATION_ID to MODULE_PACKAGE_NAME in IconAdaptationTool 2023-01-29 02:11:50 +08:00
e33c51a320 Modify inject module resources to system ui in SystemUIHooker
- Merge app support notification icon type to vector
- Remove all android adb hardcode base64 icon data
- Merge android default icon to "com.android.internal.R.drawable.stat_sys_adb"
2023-01-29 02:05:15 +08:00
9c8df9f173 Modify change package id in build.gradle 2023-01-29 00:56:57 +08:00
1e98c0d431 Modify move new app support functions to a new way to implement and shielded some apps that shouldn't appear in SystemUIHooker 2023-01-29 00:45:35 +08:00
8ef9e206a6 Added isSystemApp function in FunctionFactory 2023-01-29 00:25:40 +08:00
ca5da08bc2 Modify change isAppDebuggable function name to isDebugApp in FunctionFactory 2023-01-29 00:25:17 +08:00
56da358999 Update README.md 2023-01-28 01:57:06 +08:00
53e5292f2e Added notify icon color compat functions and fix fatal error when some bitmap calculations are abnormal 2023-01-28 01:53:55 +08:00
1b4be321ec Modify add friendly root permission access fail tips in SystemUITool 2023-01-28 00:16:32 +08:00
ddcc475ea1 Modify merge all png elements to svg elements 2023-01-27 15:55:35 +08:00
65142c3af7 Modify replace sync url FastGit to 7ED Services in IconRuleManagerTool, dia_source_from 2023-01-27 02:55:25 +08:00
118104c11c Modify change unsupported note in MainActivity 2023-01-27 02:45:23 +08:00
1fd9cc6ab0 Added Android 13 icon in IconPackParams, SystemUIHooker 2023-01-27 01:59:20 +08:00
889092dd3d Modify remove some method's param name statement 2023-01-27 01:03:09 +08:00
9d695c61f0 Modify merge to YukiHookAPI new usage 2023-01-27 00:59:50 +08:00
81a6ada0ee Modify rename ui/view to ui/widget 2023-01-27 00:09:15 +08:00
5fb4e0ac39 Modify change debug log tag "ColorOSNotify" to "ColorOSNotifyIcon" in HookEntry 2023-01-27 00:01:25 +08:00
62a7d87502 Modify optimize code format in MainActivity 2023-01-26 23:59:17 +08:00
95a9e3253b Update Gradle & PlatformSDK
- Update Android Gradle Plugin version to 7.4.0
- Update Kotlin version to 1.7.22
- Update Gradle dependencies
2023-01-26 23:55:11 +08:00
bff047aa48 Update YukiHookAPI 2023-01-26 23:51:22 +08:00
975ebe7e49 Modify change image url to raw in README 2023-01-26 23:49:49 +08:00
eb9c93a2f5 Fix the central color problem of views such as CheckBox 2023-01-16 22:43:43 +08:00
ff43641d63 Modify remove localTime function time second format and change description text in GithubReleaseTool 2023-01-14 00:21:22 +08:00
22f5ebc625 Modify change promote message in YukiPromoteTool 2023-01-14 00:20:55 +08:00
2f302a3c10 Update Gradle & PlatformSDK
- Update Android Gradle Plugin version to 7.3.1
- Update Kotlin version to 1.7.20
2022-10-20 00:16:42 +08:00
fa2aa675d0 Modify change hideOrShowLauncherIcon in a hard-code way 2022-10-06 03:28:07 +08:00
eb090b11de Modify merge to new DialogBuilderFactory 2022-10-06 03:21:02 +08:00
97161f8692 Modify merge YukiHookAPI new usage and compatible with API 33 2022-10-06 03:19:09 +08:00
6159308cbb Added POST_NOTIFICATIONS permission in AndroidManifest 2022-10-06 01:37:55 +08:00
be6447342f Added Project icon 2022-10-06 01:36:48 +08:00
c0e9ed4673 Update Gradle & PlatformSDK 2022-10-06 01:06:08 +08:00
45328bd1a1 Update YukiHookAPI 2022-10-06 01:05:00 +08:00
Fankesyooni
27fdcfbae7 Added new bug report issues template 2022-10-06 00:54:35 +08:00
Fankesyooni
c021b986f5 Delete ----bug---.md 2022-10-06 00:54:00 +08:00
Fankesyooni
2b5f3e5f88 Added new notify icon adaption issues template 2022-10-06 00:44:56 +08:00
Fankesyooni
30bdb0582f Delete ----------.md 2022-10-06 00:44:23 +08:00
e4b006afc0 Update Gradle & Kotlin & PlatformSDK
- Update Kotlin version to 1.7.10
- Update Gradle version
2022-07-20 23:17:53 +08:00
a21b1382a4 Merge dependencies 2022-07-20 02:12:32 +08:00
3e3127adcf Update Gradle & Kotlin & PlatformSDK
- Update Kotlin version to 1.7.0
- Update Gradle dependencies
- Merge legacy code
2022-06-10 17:25:08 +08:00
6aea7ca11f Merge code 2022-06-08 19:11:05 +08:00
6b9e9b5843 Make UI to Primary Theme 2022-06-08 15:14:22 +08:00
5747fa91ca Merge DialogBuilderFactory with new code style 2022-06-07 16:56:24 +08:00
1a73613cd1 Fix GithubReleaseTool to LocalTime 2022-06-04 02:59:05 +08:00
4ee61adb07 Added BuildConfig.VERSION_NAME changed 2022-06-03 23:54:53 +08:00
80b402ee40 Merge ListView's adapter to BaseAdapterFactory 2022-06-03 01:56:11 +08:00
c02bc2314a Update version to 1.85 2022-05-31 04:06:23 +08:00
d177620784 Added notify icon custom corner function 2022-05-31 03:43:46 +08:00
354d0e1961 Update misc 2022-05-31 03:43:42 +08:00
bc1f379650 Update YukiHookAPI 2022-05-31 02:13:53 +08:00
63512254da Update version to 1.8 2022-05-30 03:58:50 +08:00
69c5003af1 Changed contributing way 2022-05-30 03:46:30 +08:00
ac17f3ae55 Added notify icon in notify panel used app icon function 2022-05-30 03:24:40 +08:00
d469adc667 Added warn dialog when enable replace all notify icon 2022-05-30 02:34:39 +08:00
2bb2218145 Merge code 2022-05-30 02:09:45 +08:00
aae8a27fcc Merge to new way support receiver callback 2022-05-30 01:58:28 +08:00
3b31e2c255 Merge systemBar support with native 2022-05-30 00:52:03 +08:00
f111e7d53c Added YukiPromoteTool 2022-05-30 00:38:08 +08:00
327f2139b8 Update YukiHookAPI 2022-05-29 04:08:16 +08:00
adb1f174ad Update YukiHookAPI 2022-05-27 03:36:28 +08:00
373d5c6cb8 Merge code 2022-05-25 04:38:40 +08:00
aba5e3c23c Update YukiHookAPI 2022-05-25 04:27:01 +08:00
8a2f0aca83 Changed FunctionFactory.kt 2022-05-12 01:10:22 +08:00
a0a4d08612 Changed Xposed Scope 2022-05-11 21:52:55 +08:00
25747b2041 Update YukiHookAPI 2022-05-10 01:53:17 +08:00
8de1abf679 Update version to 1.77 2022-05-09 16:08:08 +08:00
b97de07843 Update misc 2022-05-09 16:01:41 +08:00
b497189549 修复媒体通知面板不能被透明的问题,新增媒体通知自动展开功能 2022-05-09 16:01:35 +08:00
1ca659dd6a Merge code 2022-05-09 15:00:08 +08:00
117b37b5cf Update version to 1.76 2022-05-09 01:20:51 +08:00
967186bd00 Update misc 2022-05-09 01:16:53 +08:00
eea7b6d897 更新文案 2022-05-09 01:16:46 +08:00
dd75a13970 尝试修复通知面板透明功能在 ColorOS 12 不生效的问题 2022-05-09 01:11:09 +08:00
66ed43f5ad Fix Activity destroy non-null unregister bug 2022-05-09 00:57:37 +08:00
399cfafd29 Make SystemUIHooker singleton 2022-05-08 15:08:05 +08:00
6ae1d3e726 Update YukiHookAPI 2022-05-06 15:09:25 +08:00
384e6b657e Update version to 1.75 2022-05-05 15:17:04 +08:00
08b7feeede 优化通知面板背景透明度功能设置界面,添加实验性文案说明 2022-05-05 15:11:23 +08:00
e7fc0bbcd0 默认关闭通知面板背景透明度功能 2022-05-05 15:10:58 +08:00
1f8022fd7c 修复通知面板折叠通知背景异常问题,优化二级通知的背景 2022-05-05 15:10:46 +08:00
Fankesyooni
b404543f47 Merge pull request #16 from NextAlone/master
fix: notification summary background
2022-05-05 12:34:40 +08:00
NextAlone
ad195d93ea fix: notification summary background 2022-05-05 05:19:49 +08:00
15e7490808 Update YukiHookAPI 2022-05-04 14:03:55 +08:00
7c906cd2a0 Update YukiHookAPI 2022-05-04 10:15:55 +08:00
0da5875d64 Update YukiHookAPI 2022-05-04 09:32:30 +08:00
947ec809e7 Update version to 1.7 2022-05-04 06:49:38 +08:00
c07f3e99a1 新增通知面板背景透明度调节功能 2022-05-04 06:06:10 +08:00
ebba4d2345 Update YukiHookAPI 2022-05-04 05:22:56 +08:00
e60fc6ae7c Update YukiHookAPI 2022-05-01 12:08:02 +08:00
7688dbb5ca Update README.md/PRIVACY.md 2022-04-26 00:41:55 +08:00
e703237a6d Merge code 2022-04-25 02:47:34 +08:00
01494e8467 Update YukiHookAPI 2022-04-18 03:14:39 +08:00
e08081ae42 Update YukiHookAPI 2022-04-15 15:26:52 +08:00
758f80d1c1 Update YukiHookAPI 2022-04-15 05:22:20 +08:00
b06ecaa5e0 Update version to 1.6 2022-04-14 03:20:22 +08:00
df5090faac 更换通知刷新方案,彻底解决系统界面卡死问题 2022-04-14 03:03:27 +08:00
ffb706864a Update YukiHookAPI 2022-04-13 05:03:30 +08:00
70eadb83e8 Merge code 2022-04-11 23:08:21 +08:00
6d7d7290e2 Update YukiHookAPI 2022-04-10 03:05:13 +08:00
1191c77986 Update YukiHookAPI 2022-04-09 02:35:08 +08:00
2f4539d8f6 Update README.md 2022-04-09 01:53:45 +08:00
030a1590ae Update README.md 2022-04-05 22:45:54 +08:00
52820c0b07 加入新安装应用的通知图标优化适配通知忽略 DEBUG 版本的 APP 2022-04-05 22:03:09 +08:00
1f2b1d5046 Update version to 1.53 2022-04-04 23:22:10 +08:00
7896e4836c Update YukiHookAPI 2022-04-04 23:13:24 +08:00
d2ff1fe3ec 修复 ColorOS 11 Android 11 上的问题 2022-04-04 23:12:58 +08:00
f5722e3e5c Update version to 1.52 2022-04-04 14:49:03 +08:00
44e99cb3da 修复缓存图标过大造成系统界面停止运行的问题 2022-04-04 14:45:56 +08:00
1386833c91 Merge code 2022-04-04 12:03:58 +08:00
69af0172eb Update YukiHookAPI 2022-04-04 03:19:41 +08:00
81e66d2da2 Update README.md 2022-03-30 20:56:21 +08:00
73a9142e71 Merge code 2022-03-30 14:14:23 +08:00
5af6ffb614 Merge code 2022-03-29 23:04:16 +08:00
230b3b4e38 Merge code 2022-03-29 21:45:19 +08:00
66f309dc91 Update version to 1.51 2022-03-29 21:21:02 +08:00
d4f004894e Update YukiHookAPI 2022-03-29 21:17:09 +08:00
f2e27c2702 Update version to 1.5 2022-03-28 14:50:57 +08:00
ab7418931b Update version to 1.5 2022-03-28 14:29:21 +08:00
cfb0c06a6a Merge code 2022-03-28 13:57:32 +08:00
efabb726ba Merge code 2022-03-28 13:49:44 +08:00
40a05dd093 Merge code 2022-03-28 13:43:07 +08:00
3a1a8e3726 Merge code 2022-03-28 13:42:57 +08:00
8ad21a6d3b Merge code 2022-03-28 11:57:07 +08:00
9c6d61c685 Merge code 2022-03-28 01:25:38 +08:00
8f8c34e532 增加允许建立非 HTTPS 的连接 2022-03-28 01:25:20 +08:00
5281464e4e Update YukiHookAPI 2022-03-28 01:21:56 +08:00
d6f5695711 增加通知栏快捷磁贴打开在线规则列表功能 2022-03-26 12:41:54 +08:00
857eec5b6a Merge code 2022-03-26 02:33:25 +08:00
f85ccd92f3 Merge code 2022-03-25 23:42:31 +08:00
0c26c0a8cd Merge code 2022-03-25 21:30:36 +08:00
2619f924f3 Merge code 2022-03-25 15:44:32 +08:00
6a4e96923e 调整状态栏通知栏未适配的彩色推送图标为 APP 主题图标 2022-03-25 15:09:04 +08:00
44dee2ff30 Merge code 2022-03-25 14:53:34 +08:00
05e083f8e6 Merge code 2022-03-25 14:37:41 +08:00
618fd8af0e Merge code 2022-03-25 14:30:51 +08:00
287afae3cc Merge code 2022-03-25 14:30:33 +08:00
81c582ca5c Merge code 2022-03-25 14:27:45 +08:00
08eb981cc2 Merge code 2022-03-25 12:06:52 +08:00
9dbd0bc7a8 Merge code 2022-03-25 11:38:45 +08:00
cefe9b6f11 Merge code 2022-03-25 03:20:22 +08:00
836b4abaf1 Merge code 2022-03-25 01:57:43 +08:00
fad7a6f4cd Update YukiHookAPI 2022-03-25 01:51:10 +08:00
06fb6243ba Update YukiHookAPI 2022-03-25 01:02:33 +08:00
e962ac2ecf Merge code 2022-03-24 15:09:02 +08:00
a174aa3928 Merge code 2022-03-24 13:47:21 +08:00
513e17ba6b 增加模块激活状态判断以及模块更新提醒 2022-03-24 13:36:30 +08:00
e1cb703196 增加模块激活状态判断以及模块更新提醒 2022-03-24 04:03:07 +08:00
890923d9bb Merge code 2022-03-24 01:51:59 +08:00
0307c7c6fd Merge code 2022-03-24 01:39:13 +08:00
a61ed0cd2a Merge code 2022-03-24 01:33:19 +08:00
2dca9cd9fd Merge code 2022-03-23 15:19:20 +08:00
e7ff1b2b2d 适配系统壁纸主题色着色通知图标,加入通知图标动态刷新 2022-03-23 14:58:57 +08:00
3ae5ce1058 Merge code 2022-03-23 05:27:46 +08:00
d3ddbfd3ea Merge code 2022-03-23 03:23:49 +08:00
d0b2ea5f48 Merge code 2022-03-23 02:47:53 +08:00
fd6ac454cf 修复状态栏动态小图标被破坏的问题 2022-03-22 23:55:56 +08:00
1795addbf3 Merge code 2022-03-22 23:43:46 +08:00
3ecbe6159b Merge code 2022-03-22 21:10:14 +08:00
edcd81c9e8 Merge code 2022-03-22 21:08:06 +08:00
55e7256dbb Merge code 2022-03-22 21:07:35 +08:00
c3c249a37d Merge code 2022-03-22 20:34:04 +08:00
803e09b26c Merge code 2022-03-22 20:27:57 +08:00
090d8e5f2b Merge code 2022-03-22 20:27:11 +08:00
751610edaa Merge code 2022-03-22 20:23:47 +08:00
c436615d1b Merge code 2022-03-22 02:59:01 +08:00
c06abdf514 Merge code 2022-03-22 02:46:20 +08:00
5a501b9846 Merge code 2022-03-22 00:24:35 +08:00
cdeb8735d6 Merge code 2022-03-21 23:19:16 +08:00
a5f7701870 Merge code 2022-03-21 15:22:56 +08:00
b893b201d2 更新模块 UI 2022-03-21 15:13:19 +08:00
a1ca97f1b0 Merge code 2022-03-21 14:03:08 +08:00
9cc75490d4 Merge code 2022-03-21 13:52:16 +08:00
11ce9eeede Merge code 2022-03-21 11:38:42 +08:00
6bd3a5a78a 添加新应用安装后自动提醒适配通知图标功能 2022-03-21 03:33:07 +08:00
ee4da89104 增加 RealmeUI 的判断 2022-03-20 22:51:02 +08:00
f15e48d4a3 Update README.md 2022-03-20 22:33:11 +08:00
360c293c18 Update README.md 2022-03-20 22:24:12 +08:00
0e1f615abd Update README.md 2022-03-20 22:23:30 +08:00
65bd3ee58e Update README.md 2022-03-20 22:20:07 +08:00
7779f5dbe6 增加模块自动检查更新功能 2022-03-20 14:05:43 +08:00
a0fdf942e6 增加模块自动检查更新功能 2022-03-20 14:01:39 +08:00
8bc07e7dfb Merge code 2022-03-20 12:09:03 +08:00
48a18a1069 Merge code 2022-03-20 11:02:26 +08:00
6eb7569b76 Update YukiHookAPI 2022-03-20 03:29:18 +08:00
1834803a5c Merge code 2022-03-20 01:11:41 +08:00
d3053a725b Merge code 2022-03-19 01:39:28 +08:00
89945962c2 Update YukiHookAPI 2022-03-18 23:54:30 +08:00
7988fa2535 Update YukiHookAPI 2022-03-18 14:50:31 +08:00
fda47d7b53 Merge code 2022-03-18 14:47:43 +08:00
1def8ef6f2 Update YukiHookAPI 2022-03-18 14:14:31 +08:00
0ed7c5655b Update YukiHookAPI 2022-03-18 05:56:40 +08:00
7300f8e7ee 增加提醒在线规则更新功能 2022-03-18 00:30:02 +08:00
f09d422e59 Update README.md 2022-03-17 23:57:38 +08:00
490a70e8ec Update README.md 2022-03-17 23:55:30 +08:00
953c726110 Merge code 2022-03-17 05:42:47 +08:00
a90278c1bc PreBuild version 2022-03-17 04:47:51 +08:00
a0bf7b2ac7 Fix a bug 2022-03-17 04:36:28 +08:00
321273cc77 调整了一个按钮样式 2022-03-17 04:10:14 +08:00
3c1a4798d0 Update version to 1.36,fix more bugs. 2022-03-13 02:06:36 +08:00
9faab60aa8 加入多版本适配支持 2022-03-13 02:02:09 +08:00
74eb55ab39 增加移除免打扰通知功能 2022-03-13 01:59:47 +08:00
f7e75931ed Merge code 2022-03-13 00:30:25 +08:00
856c1c5cab Merge code 2022-03-13 00:30:00 +08:00
fcbf3b0565 Merge code 2022-03-13 00:28:30 +08:00
fa3cddd75f Merge code 2022-03-13 00:23:09 +08:00
d11dfe5167 Merge remote-tracking branch 'origin/master' 2022-03-13 00:22:13 +08:00
b3be2789a9 Merge code 2022-03-13 00:21:55 +08:00
ea962e1520 Update version to 1.35,fix more bugs. 2022-03-06 03:24:21 +08:00
3e2b8247c8 支持导入数组和非数组格式的 JSON 自定义规则,并加入支持合并非全部覆盖的功能 2022-03-06 03:02:37 +08:00
e529e75bc2 Update YukiHookAPI 2022-03-06 01:15:29 +08:00
cd5f9806a3 Update YukiHookAPI 2022-03-06 01:05:09 +08:00
4d7891f769 Update version to 1.3,fix more bugs. 2022-03-05 00:59:20 +08:00
cd4b9794c4 更换系统版本识别方案 2022-03-05 00:52:10 +08:00
efbd919482 更新新的在线规则地址、加入自定义功能、更换系统版本识别方案 2022-03-05 00:08:34 +08:00
Fankesyooni
e297dc0b96 Merge pull request #5 from pzcn/patch-1
Use CDN
2022-03-04 15:14:55 +08:00
pzcn
42c817c90e Update ConfigureActivity.kt 2022-03-04 14:59:07 +08:00
fe31b79d4d Update README.md 2022-03-03 03:44:27 +08:00
c8b13ce602 Update version to 1.2,fix more bugs. 2022-03-02 03:25:24 +08:00
9e7b92fdaa Update version to 1.2,fix more bugs. 2022-03-02 03:25:14 +08:00
dd293a7e33 更新 YukiHookAPI 2022-03-02 03:24:03 +08:00
ddda41ab13 优化代码,加入保姆级别网络问题解答 2022-03-02 01:07:50 +08:00
Fankesyooni
0c5c2daf74 Update issue templates 2022-03-01 21:34:02 +08:00
2b2da7bdb5 去除圆角修复后的强制设置图标 2022-03-01 21:02:49 +08:00
3c07fb40d5 Update version to 1.1,fix more bugs. 2022-03-01 00:35:04 +08:00
21ff3938e3 Merge code 2022-03-01 00:27:20 +08:00
5fe1598546 替换系统的彩色图标为 Android 原生样式 2022-03-01 00:26:27 +08:00
018c137d85 优化深色模式的 Android 12 通知图标颜色 2022-02-28 22:07:34 +08:00
f066382d4c 尝试修复部分系统的问题,适配 ColorOS 11 2022-02-28 20:31:30 +08:00
c4f79452d0 修正文案 2022-02-28 20:02:31 +08:00
4bdb454d3c 修正文案 2022-02-28 20:02:12 +08:00
e77f9bf494 修复 ColorOS 11 无法识别版本号的问题 2022-02-28 20:01:40 +08:00
86700888ff Merge code 2022-02-28 00:08:25 +08:00
ea10f87a12 Merge code 2022-02-28 00:07:10 +08:00
Fankesyooni
cefeaea56b Create ----bug---.md 2022-02-27 23:58:10 +08:00
Fankesyooni
ffd5bdf84a Create ----------.md 2022-02-27 23:56:20 +08:00
dc9daa1712 Update README.md 2022-02-27 23:44:21 +08:00
Fankesyooni
34ec01743e Create LICENSE 2022-02-27 23:43:45 +08:00
18 changed files with 245 additions and 315 deletions

View File

@@ -1,3 +1,4 @@
# noinspection EditorConfigKeyCorrectness
[{*.kt,*.kts}]
ktlint_standard_annotation = disabled
ktlint_standard_filename = disabled
@@ -24,10 +25,7 @@ ktlint_standard_function-naming = disabled
ktlint_standard_chain-method-continuation = disabled
ktlint_standard_class-signature = disabled
ktlint_standard_condition-wrapping = disabled
ktlint_standard_blank-line-between-when-conditions = disabled
ktlint_standard_no-trailing-spaces = disabled
ktlint_standard_multiline-loop = disabled
ktlint_standard_when-entry-bracing = disabled
ktlint_standard_class-signature = disabled
ij_continuation_indent_size = 2
indent_size = 4
indent_style = space

10
.gitignore vendored
View File

@@ -45,11 +45,9 @@
# Kotlin
.kotlin
.idea/kotlinc.xml
# Misc
.idea/misc.xml
.idea/markdown.xml
# CMake
cmake-build-*/
@@ -93,8 +91,6 @@ fabric.properties
.idea/androidTestResultsUserPreferences.xml
# Android projects
.idea/AndroidProjectSystem.xml
.idea/deviceManager.xml
**/local.properties
/captures
.externalNativeBuild
@@ -110,11 +106,5 @@ site
*.bak
.idea/appInsightsSettings.xml
# Discord plugin for IntelliJ
.idea/discord.xml
# Copilot for IntelliJ
.idea/copilot**
# Mac OS
.DS_Store

6
.idea/AndroidProjectSystem.xml generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="AndroidProjectSystem">
<option name="providerId" value="com.android.tools.idea.GradleProjectSystem" />
</component>
</project>

View File

@@ -2,7 +2,11 @@
<profile version="1.0">
<option name="myName" value="Project Default" />
<inspection_tool class="CheckImageSize" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UnstableApiUsage" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="SpellCheckingInspection" enabled="false" level="TYPO" enabled_by_default="false">
<option name="processCode" value="true" />
<option name="processLiterals" value="true" />
<option name="processComments" value="true" />
</inspection_tool>
<inspection_tool class="YAMLSchemaValidation" enabled="false" level="WARNING" enabled_by_default="false" />
</profile>
</component>

6
.idea/kotlinc.xml generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="KotlinJpsPluginSettings">
<option name="version" value="2.1.10" />
</component>
</project>

View File

@@ -68,6 +68,9 @@ This project will not be adapted i18n, please stay tuned for my new projects in
| <img src="https://avatars.githubusercontent.com/u/78217009?s=200&v=4?raw=true" width = "30" height = "30" alt="LOGO"/> | [Xposed-Modules-Repo](https://github.com/Xposed-Modules-Repo/com.fankes.coloros.notify/releases) | 正式版 (稳定版) |
|------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------|-----------|
| <img src="https://github.com/fankes/fankes/assets/37344460/82113d3c-aa7b-4dd1-95c7-cda650065c12" width = "30" height = "30" alt="LOGO"/> | [123 云盘 **(密码al5u)**](https://www.123pan.com/s/5SlUVv-C8DBh.html) | 正式版 (稳定版) |
|------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------|-----------|
本模块发布地址仅限于上述所列出的地址,从其他非正规渠道下载到的版本或对您造成任何影响均与我们无关。
## 注意事项

View File

@@ -1,29 +1,29 @@
plugins {
alias(libs.plugins.android.application)
alias(libs.plugins.kotlin.android)
alias(libs.plugins.kotlin.ksp)
autowire(libs.plugins.android.application)
autowire(libs.plugins.kotlin.android)
autowire(libs.plugins.kotlin.ksp)
}
android {
namespace = gropify.project.app.packageName
compileSdk = gropify.project.android.compileSdk
namespace = property.project.app.packageName
compileSdk = property.project.android.compileSdk
signingConfigs {
create("universal") {
keyAlias = gropify.project.app.signing.keyAlias
keyPassword = gropify.project.app.signing.keyPassword
storeFile = rootProject.file(gropify.project.app.signing.storeFilePath)
storePassword = gropify.project.app.signing.storePassword
keyAlias = property.project.app.signing.keyAlias
keyPassword = property.project.app.signing.keyPassword
storeFile = rootProject.file(property.project.app.signing.storeFilePath)
storePassword = property.project.app.signing.storePassword
enableV1Signing = true
enableV2Signing = true
}
}
defaultConfig {
applicationId = gropify.project.app.packageName
minSdk = gropify.project.android.minSdk
targetSdk = gropify.project.android.targetSdk
versionName = gropify.project.app.versionName
versionCode = gropify.project.app.versionCode
applicationId = property.project.app.packageName
minSdk = property.project.android.minSdk
targetSdk = property.project.android.targetSdk
versionName = property.project.app.versionName
versionCode = property.project.app.versionCode
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
@@ -50,32 +50,40 @@ androidComponents {
onVariants(selector().all()) {
it.outputs.forEach { output ->
val currentType = it.buildType
val currentSuffix = gropify.github.ci.commit.id.let { suffix ->
if (suffix.isNotBlank()) "-$suffix" else ""
// Workaround for GitHub Actions.
// Why? I don't know, but it works.
// Unresolved reference. None of the following candidates is applicable because of receiver type mismatch:
// public inline fun CharSequence.isNotBlank(): Boolean defined in kotlin.text.
@Suppress("UNNECESSARY_SAFE_CALL", "RemoveRedundantCallsOfConversionMethods")
val currentSuffix = property.github.ci.commit.id?.let { suffix ->
// Workaround for GitHub Actions.
// Strongly transfer type to [String].
val sSuffix = suffix.toString()
if (sSuffix.isNotBlank()) "-$sSuffix" else ""
}
val currentVersion = "${output.versionName.get()}$currentSuffix(${output.versionCode.get()})"
if (output is com.android.build.api.variant.impl.VariantOutputImpl)
output.outputFileName.set("${gropify.project.name}-v$currentVersion-$currentType.apk")
output.outputFileName.set("${property.project.name}-v$currentVersion-$currentType.apk")
}
}
}
dependencies {
compileOnly(libs.rovo89.xposed.api)
implementation(libs.yukihookapi)
ksp(libs.yukihookapi.ksp.xposed)
implementation(libs.kavaref.core)
implementation(libs.kavaref.extension)
implementation(libs.betterandroid.ui.extension)
implementation(libs.project.promote)
implementation(libs.libsu)
implementation(libs.drawabletoolbox)
implementation(libs.okhttp)
implementation(libs.androidx.core.ktx)
implementation(libs.androidx.appcompat)
implementation(libs.material)
implementation(libs.androidx.constraintlayout)
testImplementation(libs.junit)
androidTestImplementation(libs.androidx.test.ext.junit)
androidTestImplementation(libs.androidx.test.espresso.core)
compileOnly(de.robv.android.xposed.api)
implementation(com.highcapable.yukihookapi.api)
ksp(com.highcapable.yukihookapi.ksp.xposed)
implementation(com.highcapable.kavaref.kavaref.core)
implementation(com.highcapable.kavaref.kavaref.extension)
implementation(com.fankes.projectpromote.project.promote)
implementation(com.github.topjohnwu.libsu.core)
implementation(com.github.duanhong169.drawabletoolbox)
implementation(com.squareup.okhttp3.okhttp)
implementation(androidx.core.core.ktx)
implementation(androidx.appcompat.appcompat)
implementation(com.google.android.material.material)
implementation(androidx.constraintlayout.constraintlayout)
testImplementation(junit.junit)
androidTestImplementation(androidx.test.ext.junit)
androidTestImplementation(androidx.test.espresso.espresso.core)
}

View File

@@ -44,7 +44,6 @@ import android.widget.ImageView
import androidx.core.graphics.drawable.toBitmap
import androidx.core.graphics.drawable.toDrawable
import androidx.core.view.children
import androidx.core.view.setPadding
import com.fankes.coloros.notify.R
import com.fankes.coloros.notify.bean.IconDataBean
import com.fankes.coloros.notify.const.PackageName
@@ -115,9 +114,6 @@ object SystemUIHooker : YukiBaseHooker() {
/** 原生存在的类 */
private val MediaDataClass by lazyClassOrNull("${PackageName.SYSTEMUI}.media.MediaData")
/** 原生存在的类 */
private val ViewConfigCoordinatorClass by lazyClassOrNull("${PackageName.SYSTEMUI}.statusbar.notification.collection.coordinator.ViewConfigCoordinator")
/** 原生存在的类 - 旧版本不存在 */
private val LegacyNotificationIconAreaControllerImpl by lazyClassOrNull("${PackageName.SYSTEMUI}.statusbar.phone.LegacyNotificationIconAreaControllerImpl")
@@ -140,12 +136,6 @@ object SystemUIHooker : YukiBaseHooker() {
/** ColorOS 存在的类 - 旧版本不存在 */
private val OplusNotificationSmallIconUtilClass by lazyClassOrNull("com.oplus.systemui.statusbar.notification.util.OplusNotificationSmallIconUtil")
/** ColorOS 存在的类 - 旧版本不存在 */
private val OplusNotificationHeaderViewWrapperExImpClass by lazyClassOrNull("com.oplus.systemui.statusbar.notification.row.wrapper.OplusNotificationHeaderViewWrapperExImp")
/** ColorOS 存在的类 - 旧版本不存在 */
private val OplusNotificationGroupTemplateWrapperClass by lazyClassOrNull("com.oplus.systemui.notification.row.oplusgroup.OplusNotificationGroupTemplateWrapper")
/** 根据多个版本存在不同的包名相同的类 */
private val OplusNotificationIconAreaControllerClass by lazyClass(
VariousClass(
@@ -286,24 +276,6 @@ object SystemUIHooker : YukiBaseHooker() {
parameterCount = 2
} != null
/**
* 判断通知是否为新版本
* @return [Boolean]
*/
private val isNewNotification
get() = OplusNotificationHeaderViewWrapperExImpClass?.resolve()?.optional(silent = true)
?.firstMethodOrNull {
name = "proxyOnContentUpdated"
parameterCount = 1
} != null
private val isNotificationPresenter
get() = StatusBarNotificationPresenterClass.resolve().optional(silent = true)
.firstMethodOrNull {
name = "updateNotificationsOnDensityOrFontScaleChanged"
emptyParameters()
} != null
/**
* 打印日志
* @param tag 标识
@@ -342,7 +314,6 @@ object SystemUIHooker : YukiBaseHooker() {
/** 刷新状态栏小图标 */
private fun refreshStatusBarIcons() = runInSafe {
if (isNewNotification) return@runInSafe
val nfField = StatusBarIconViewClass.resolve().optional().firstFieldOrNull { name = "mNotification" }
val sRadiusField = StatusBarIconViewClass.resolve().optional(silent = true).firstFieldOrNull {
name = "sIconRadiusFraction"
@@ -562,11 +533,11 @@ object SystemUIHooker : YukiBaseHooker() {
.solidColor(newApplyColor)
.build()
setColorFilter(newStyle)
setPadding(2.dp(context))
setPadding(2.dp(context), 2.dp(context), 2.dp(context), 2.dp(context))
} else {
background = null
setColorFilter(oldApplyColor)
setPadding(0)
setPadding(0, 0, 0, 0)
}
}
else -> iconView.apply {
@@ -628,7 +599,7 @@ object SystemUIHooker : YukiBaseHooker() {
}
}
/** 清除图标间距 */
setPadding(0)
setPadding(0, 0, 0, 0)
/** 清除背景 */
background = null
/** 清除着色 */
@@ -795,10 +766,47 @@ object SystemUIHooker : YukiBaseHooker() {
if (args().first().any() != null) instance<ImageView>().also { registerWallpaperColorChanged(it) }
}
/** 注入通知控制器实例 */
if (isNotificationPresenter)
StatusBarNotificationPresenterClass.resolve().optional().constructor {}.hookAll().after { notificationPresenter = instance }
else
ViewConfigCoordinatorClass?.resolve()?.optional()?.constructor {}?.hookAll()?.after { notificationPresenter = instance }
StatusBarNotificationPresenterClass.resolve().optional().constructor {}.hookAll().after { notificationPresenter = instance }
/** 注入状态栏通知图标容器实例 */
OplusNotificationIconAreaControllerClass.resolve().optional().apply {
var way = 0
(firstMethodOrNull {
name = "updateIconsForLayout"
parameterCount = 10
} ?: firstMethodOrNull {
/** ColorOS 14 */
name = "updateIconsForLayout"
parameterCount = 5
} ?: firstMethodOrNull {
name = "updateIconsForLayout"
parameterCount = 1
}?.apply { way = 1 }
?: firstMethodOrNull {
name = "updateIconsForLayout"
}?.apply { way = 2 })?.hook()?.after {
when (way) {
2 -> notificationIconContainer = OplusNotificationIconAreaControllerClass.resolve().optional()
.firstMethodOrNull { name = "getNotificationIcons" }
?.of(instance)?.invoke<ViewGroup>()
1 -> {
notificationIconInstances.clear()
firstFieldOrNull { name = "mLastToShow" }?.of(instance)?.get<List<View>>()
?.takeIf { it.isNotEmpty() }?.forEach { notificationIconInstances.add(it) }
}
else -> notificationIconContainer = args(index = 1).cast()
}
}
}
/** 注入状态栏通知图标容器实例 */
(LegacyNotificationIconAreaControllerImpl ?: NotificationIconAreaControllerClass)
.resolve().optional().apply {
firstMethodOrNull {
name = "updateIconsForLayout"
parameterCount = 8
}?.hook()?.after {
notificationIconContainer = args(index = 1).cast()
}
}
/** 替换通知面板背景 - 新版本 */
if (!isOldNotificationBackground)
OplusNotificationBackgroundViewClass?.resolve()?.optional()?.apply {
@@ -868,34 +876,25 @@ object SystemUIHooker : YukiBaseHooker() {
}?.of(holder)?.invokeQuietly<View>()?.performClick()
}
}
if (isNewNotification) {
/** 替换通知图标和样式 */
OplusNotificationHeaderViewWrapperExImpClass?.resolve()?.optional()?.apply {
firstMethodOrNull {
name = "proxyOnContentUpdated"
parameterCount = 1
}?.hook()?.after {
val mBase = instance.asResolver().optional().firstMethodOrNull {
name = "getBase"
emptyParameters()
superclass()
}?.invokeQuietly()
val imageView = mBase?.asResolver()?.optional()?.firstFieldOrNull {
name = "mIcon"
type = ImageView::class
superclass()
}?.getQuietly<ImageView>()
imageView?.apply {
ExpandableNotificationRowClass.resolve().optional()
.firstMethodOrNull { name = "getEntry" }
?.of(args[0])?.invokeQuietly()?.let {
it.asResolver().optional().firstMethodOrNull {
name = "getSbn"
}?.invoke<StatusBarNotification>()
}.also { nf ->
nf?.notification?.also {
it.smallIcon.loadDrawable(context)?.also { iconDrawable ->
/** 替换通知图标和样式 */
NotificationHeaderViewWrapperClass.resolve().optional().apply {
method {
name { it == "resolveHeaderViews" || it == "onContentUpdated" }
}.hookAll().after {
firstFieldOrNull { name = "mIcon" }?.of(instance)?.get<ImageView>()?.apply {
ExpandableNotificationRowClass.resolve().optional()
.firstMethodOrNull { name = "getEntry" }
?.of(NotificationViewWrapperClass.resolve().optional().firstFieldOrNull {
name = "mRow"
}?.of(instance)?.get())?.invokeQuietly()?.let {
it.asResolver().optional().firstMethodOrNull {
name = "getSbn"
}?.invoke<StatusBarNotification>()
}.also { nf ->
nf?.notification?.also {
it.smallIcon.loadDrawable(context)?.also { iconDrawable ->
/** 执行替换 */
fun doParse() {
compatNotifyIcon(
context = context,
nf = nf,
@@ -906,134 +905,14 @@ object SystemUIHooker : YukiBaseHooker() {
iconView = this
)
}
doParse()
/** 延迟重新设置防止部分机型的系统重新设置图标出现图标着色后黑白块问题 */
delayedRun(ms = 1500) { doParse() }
}
}
}
}
}
OplusNotificationGroupTemplateWrapperClass?.resolve()?.optional()?.apply {
firstMethodOrNull {
name = "initIcon"
}?.hook()?.before {
val instanceContext = firstFieldOrNull {
name = "context"
}?.of(instance)?.get() as Context?
if (instanceContext == null)
return@before
resultNull()
NotificationHeaderViewWrapperClass.resolve().optional().firstFieldOrNull { name = "mIcon" }?.of(instance)?.get<ImageView>()?.apply {
ExpandableNotificationRowClass.resolve().optional()
.firstMethodOrNull { name = "getEntry" }
?.of(NotificationViewWrapperClass.resolve().optional().firstFieldOrNull {
name = "mRow"
}?.of(instance)?.get())?.invokeQuietly()?.let {
it.asResolver().optional().firstMethodOrNull {
name = "getSbn"
}?.invoke<StatusBarNotification>()
}.also { nf ->
val context = StatusBarNotification::class.resolve().firstMethod {
name = "getPackageContext"
}.of(nf).invoke<Context>(instanceContext)
if (context == null) return@also
nf?.notification?.also {
it.smallIcon.loadDrawable(context)?.also { iconDrawable ->
compatNotifyIcon(
context = context,
nf = nf,
isGrayscaleIcon = isGrayscaleIcon(context, iconDrawable),
packageName = context.packageName,
drawable = iconDrawable,
iconColor = it.color,
iconView = this
)
}
}
}
}
}
}
} else {
/** 注入状态栏通知图标容器实例 */
OplusNotificationIconAreaControllerClass.resolve().optional().apply {
var way = 0
(firstMethodOrNull {
name = "updateIconsForLayout"
parameterCount = 10
} ?: firstMethodOrNull {
/** ColorOS 14 */
name = "updateIconsForLayout"
parameterCount = 5
} ?: firstMethodOrNull {
name = "updateIconsForLayout"
parameterCount = 1
}?.apply { way = 1 }
?: firstMethodOrNull {
name = "updateIconsForLayout"
}?.apply { way = 2 })?.hook()?.after {
when (way) {
2 -> notificationIconContainer = OplusNotificationIconAreaControllerClass.resolve().optional()
.firstMethodOrNull { name = "getNotificationIcons" }
?.of(instance)?.invoke<ViewGroup>()
1 -> {
notificationIconInstances.clear()
firstFieldOrNull { name = "mLastToShow" }?.of(instance)?.get<List<View>>()
?.takeIf { it.isNotEmpty() }?.forEach { notificationIconInstances.add(it) }
}
else -> notificationIconContainer = args(index = 1).cast()
}
}
}
/** 注入状态栏通知图标容器实例 */
(LegacyNotificationIconAreaControllerImpl ?: NotificationIconAreaControllerClass)
.resolve().optional().apply {
firstMethodOrNull {
name = "updateIconsForLayout"
parameterCount = 8
}?.hook()?.after {
notificationIconContainer = args(index = 1).cast()
}
}
/** 替换通知图标和样式 */
NotificationHeaderViewWrapperClass.resolve().optional().apply {
method {
name { it == "resolveHeaderViews" || it == "onContentUpdated" }
}.hookAll().after {
firstFieldOrNull { name = "mIcon" }?.of(instance)?.get<ImageView>()?.apply {
ExpandableNotificationRowClass.resolve().optional()
.firstMethodOrNull { name = "getEntry" }
?.of(NotificationViewWrapperClass.resolve().optional().firstFieldOrNull {
name = "mRow"
}?.of(instance)?.get())?.invokeQuietly()?.let {
it.asResolver().optional().firstMethodOrNull {
name = "getSbn"
}?.invoke<StatusBarNotification>()
}.also { nf ->
nf?.notification?.also {
it.smallIcon.loadDrawable(context)?.also { iconDrawable ->
/** 执行替换 */
fun doParse() {
compatNotifyIcon(
context = context,
nf = nf,
isGrayscaleIcon = isGrayscaleIcon(context, iconDrawable),
packageName = context.packageName,
drawable = iconDrawable,
iconColor = it.color,
iconView = this
)
}
doParse()
/** 延迟重新设置防止部分机型的系统重新设置图标出现图标着色后黑白块问题 */
delayedRun(ms = 1500) { doParse() }
}
}
}
}
}
}
}
}
}
}

View File

@@ -48,7 +48,6 @@ import com.fankes.coloros.notify.utils.tool.GithubReleaseTool
import com.fankes.coloros.notify.utils.tool.I18nWarnTool
import com.fankes.coloros.notify.utils.tool.SystemUITool
import com.fankes.projectpromote.ProjectPromote
import com.highcapable.betterandroid.ui.extension.view.isUnderline
import com.highcapable.yukihookapi.YukiHookAPI
class MainActivity : BaseActivity<ActivityMainBinding>() {
@@ -340,7 +339,6 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
/** 项目地址按钮点击事件 */
binding.titleGithubIcon.setOnClickListener { openBrowser(url = "https://github.com/fankes/ColorOSNotifyIcon") }
/** 恰饭! */
binding.linkWithFollowMe.isUnderline = true
binding.linkWithFollowMe.setOnClickListener {
openBrowser(url = "https://www.coolapk.com/u/876977", packageName = "com.coolapk.market")
}

View File

@@ -150,8 +150,6 @@ val isRealmeUI
*/
val androidVersionCodeName
get() = when (Build.VERSION.SDK_INT) {
36 -> "B"
35 -> "V"
34 -> "U"
33 -> "T"
32 -> "S_V2"

View File

@@ -1249,10 +1249,24 @@
android:layout_marginBottom="10dp"
android:gravity="center"
android:lineSpacingExtra="6dp"
android:text="点击这里前往酷安关注我,获取我的更多应用"
android:text="恰饭时间\n点击前往酷安关注我,获取我的更多应用"
android:textColor="@color/colorTextGray"
android:textSize="16sp" />
<androidx.cardview.widget.CardView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
app:cardCornerRadius="15dp"
app:cardElevation="0dp">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:src="@mipmap/bg_payment_code" />
</androidx.cardview.widget.CardView>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"

View File

@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/ic_launcher_background" />
<foreground android:drawable="@mipmap/ic_launcher_foreground" />
<monochrome android:drawable="@mipmap/ic_launcher_foreground" />
<background android:drawable="@color/ic_launcher_background"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
</adaptive-icon>

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 KiB

View File

@@ -2,9 +2,9 @@ import org.jetbrains.kotlin.gradle.dsl.JvmTarget
import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile
plugins {
alias(libs.plugins.android.application) apply false
alias(libs.plugins.kotlin.android) apply false
alias(libs.plugins.kotlin.ksp) apply false
autowire(libs.plugins.android.application) apply false
autowire(libs.plugins.kotlin.android) apply false
autowire(libs.plugins.kotlin.ksp) apply false
}
allprojects {

View File

@@ -1,44 +0,0 @@
[versions]
agp = "8.13.2"
kotlin = "2.2.21"
ksp = "2.2.21-2.0.4"
project-promote = "1.0.1"
rovo89-xposed-api = "82"
yukihookapi = "1.3.1"
kavaref-core = "1.0.2"
kavaref-extension = "1.0.2"
betterandroid-ui-extension = "1.0.9"
libsu = "5.2.2"
drawabletoolbox = "1.0.7"
okhttp = "5.3.2"
androidx-core-ktx = "1.17.0"
androidx-appcompat = "1.7.1"
material = "1.13.0"
androidx-constraintlayout = "2.2.1"
junit = "4.13.2"
androidx-test-junit = "1.3.0"
androidx-test-espresso-core = "3.7.0"
[plugins]
android-application = { id = "com.android.application", version.ref = "agp" }
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
kotlin-ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }
[libraries]
project-promote = { group = "com.fankes.projectpromote", name = "project-promote", version.ref = "project-promote" }
rovo89-xposed-api = { group = "de.robv.android.xposed", name = "api", version.ref = "rovo89-xposed-api" }
yukihookapi = { group = "com.highcapable.yukihookapi", name = "api", version.ref = "yukihookapi" }
yukihookapi-ksp-xposed = { group = "com.highcapable.yukihookapi", name = "ksp-xposed", version.ref = "yukihookapi" }
kavaref-core = { group = "com.highcapable.kavaref", name = "kavaref-core", version.ref = "kavaref-core" }
kavaref-extension = { group = "com.highcapable.kavaref", name = "kavaref-extension", version.ref = "kavaref-extension" }
betterandroid-ui-extension = { group = "com.highcapable.betterandroid", name = "ui-extension", version.ref = "betterandroid-ui-extension" }
libsu = { group = "com.github.topjohnwu.libsu", name = "core", version.ref = "libsu" }
drawabletoolbox = { group = "com.github.duanhong169", name = "drawabletoolbox", version.ref = "drawabletoolbox" }
okhttp = { group = "com.squareup.okhttp3", name = "okhttp", version.ref = "okhttp" }
androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "androidx-core-ktx" }
androidx-appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "androidx-appcompat" }
material = { group = "com.google.android.material", name = "material", version.ref = "material" }
androidx-constraintlayout = { group = "androidx.constraintlayout", name = "constraintlayout", version.ref = "androidx-constraintlayout" }
junit = { group = "junit", name = "junit", version.ref = "junit" }
androidx-test-ext-junit = { group = "androidx.test.ext", name = "junit", version.ref = "androidx-test-junit" }
androidx-test-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "androidx-test-espresso-core" }

View File

@@ -0,0 +1,84 @@
preferences:
autowire-on-sync-mode: UPDATE_OPTIONAL_DEPENDENCIES
repositories-mode: FAIL_ON_PROJECT_REPOS
repositories:
gradle-plugin-portal:
scope: PLUGINS
google:
maven-central:
jit-pack:
sonatype-oss-releases:
rovo89-xposed-api:
scope: LIBRARIES
url: https://api.xposed.info/
content:
include:
group:
de.robv.android.xposed
fankes-maven-releases:
url: https://raw.githubusercontent.com/fankes/maven-repository/main/repository/releases
plugins:
com.android.application:
alias: android-application
version: 8.12.1
org.jetbrains.kotlin.android:
alias: kotlin-android
version: 2.2.10
com.google.devtools.ksp:
alias: kotlin-ksp
version: 2.2.10-2.0.2
libraries:
com.fankes.projectpromote:
project-promote:
version: 1.0.0
repositories:
fankes-maven-releases
de.robv.android.xposed:
api:
version: 82
repositories:
rovo89-xposed-api
com.highcapable.yukihookapi:
api:
version: 1.3.0
ksp-xposed:
version-ref: <this>::api
com.highcapable.kavaref:
kavaref-core:
version: 1.0.1
kavaref-extension:
version: 1.0.1
com.github.topjohnwu.libsu:
core:
version: 5.2.2
auto-update: false
com.github.duanhong169:
drawabletoolbox:
version: 1.0.7
com.squareup.okhttp3:
okhttp:
version: 5.1.0
androidx.core:
core-ktx:
version: 1.17.0
androidx.appcompat:
appcompat:
version: 1.7.1
com.google.android.material:
material:
version: 1.12.0
androidx.constraintlayout:
constraintlayout:
version: 2.2.1
androidx.test.ext:
junit:
version: 1.3.0
androidx.test.espresso:
espresso-core:
version: 3.7.0
junit:
junit:
version: 4.13.2

View File

@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.0-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-bin.zip
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME

View File

@@ -5,36 +5,23 @@ pluginManagement {
mavenCentral()
}
}
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
maven("https://jitpack.io")
maven("https://api.xposed.info/")
maven("https://raw.githubusercontent.com/fankes/maven-repository/main/repository/releases")
}
}
plugins {
id("com.highcapable.gropify") version "1.0.1"
id("com.highcapable.sweetdependency") version "1.0.4"
id("com.highcapable.sweetproperty") version "1.0.8"
}
gropify {
sweetProperty {
global {
common {
includeKeys(
"GITHUB_CI_COMMIT_ID",
"^project\\..*\$".toRegex()
)
all {
permanentKeyValues("GITHUB_CI_COMMIT_ID" to "")
locations(GropifyLocation.RootProject, GropifyLocation.SystemEnv)
generateFrom(ROOT_PROJECT, SYSTEM_ENV)
}
android {
sourcesCode {
includeKeys("GITHUB_CI_COMMIT_ID")
// 手动指定类型,防止一些特殊 "COMMIT ID" 被生成为数值
keyValuesRules("GITHUB_CI_COMMIT_ID" to ValueRule(String::class))
// 关闭类型自动转换功能,防止一些特殊 "COMMIT ID" 被生成为数值
isEnableTypeAutoConversion = false
}
}
rootProject { common { isEnabled = false } }
rootProject { all { isEnable = false } }
}
rootProject.name = "ColorOSNotifyIcon"
include(":app")