From 3443e48ef1a883a4652428310c0f3531c1eb73b2 Mon Sep 17 00:00:00 2001 From: yycgit1 Date: Sun, 1 Jun 2025 22:43:08 +0800 Subject: [PATCH] manager: Add alternate app icon toggle (#129) Signed-off-by: WenHao2130 Co-authored-by: MiRinChan <148533509+MiRinChan@users.noreply.github.com> --- docs/README-en.md | 2 +- docs/README-ja.md | 2 +- docs/README-tr.md | 2 +- docs/README.md | 2 +- manager/app/src/main/AndroidManifest.xml | 13 +++++++ .../sukisu/ultra/ui/screen/MoreSettings.kt | 37 ++++++++++++++++++- .../drawable/ic_launcher_foreground_alt.xml | 22 +++++++++++ .../drawable/ic_launcher_monochrome_alt.xml | 22 +++++++++++ .../res/mipmap-anydpi-v26/ic_launcher_alt.xml | 6 +++ .../ic_launcher_alt_round.xml | 6 +++ .../src/main/res/values-zh-rCN/strings.xml | 3 ++ .../src/main/res/values-zh-rHK/strings.xml | 3 ++ .../src/main/res/values-zh-rTW/strings.xml | 3 ++ manager/app/src/main/res/values/strings.xml | 3 ++ 14 files changed, 121 insertions(+), 5 deletions(-) create mode 100644 manager/app/src/main/res/drawable/ic_launcher_foreground_alt.xml create mode 100644 manager/app/src/main/res/drawable/ic_launcher_monochrome_alt.xml create mode 100644 manager/app/src/main/res/mipmap-anydpi-v26/ic_launcher_alt.xml create mode 100644 manager/app/src/main/res/mipmap-anydpi-v26/ic_launcher_alt_round.xml diff --git a/docs/README-en.md b/docs/README-en.md index bf198f02..f60bf187 100644 --- a/docs/README-en.md +++ b/docs/README-en.md @@ -114,7 +114,7 @@ Please **all** refer to https://kernelsu.org/zh_CN/guide/installation.html - The file in the “kernel” directory is under [GPL-2.0-only](https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html) license. -- The images of the files `ic_launcher*` with anime character emoticons are copyrighted by [五十根大虾仁](https://space.bilibili.com/370927), the Brand Intellectual Property in the images is owned by [明风OuO](https://space.bilibili.com/274939213), and the vectorization is done by @MiRinChan. Before using these files, in addition to complying with [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode.txt), you also need to comply with the authorization of the two authors to use these artistic contents. +- The images of the files `ic_launcher(?!.*alt.*).*` with anime character emoticons are copyrighted by [五十根大虾仁](https://space.bilibili.com/370927), the Brand Intellectual Property in the images is owned by [明风OuO](https://space.bilibili.com/274939213), and the vectorization is done by @MiRinChan. Before using these files, in addition to complying with [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode.txt), you also need to comply with the authorization of the two authors to use these artistic contents. - Except for the files or directories mentioned above, all other parts are under [GPL-3.0 or later](https://www.gnu.org/licenses/gpl-3.0.html) license. diff --git a/docs/README-ja.md b/docs/README-ja.md index 9e1bdeba..da8a385c 100644 --- a/docs/README-ja.md +++ b/docs/README-ja.md @@ -111,7 +111,7 @@ https://kernelsu.org/zh_CN/guide/installation.html をご参照ください。 ## ライセンス - `kernel` ディレクトリ以下のファイルは[GPL-2.0-only](https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html)です。 -- アニメキャラクターの絵文字を含むファイル `ic_launcher*` の画像は[五十根大虾仁](https://space.bilibili.com/370927)が著作権を所有しており、画像内のブランド知的財産権は[明风OuO](https://space.bilibili.com/274939213)が所有しています。ベクトル化は @MiRinChan が行っています。これらのファイルを使用する前に、[Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode.txt)に準拠することに加えて、これらの芸術コンテンツを使用するには、2人の著者の許可にも従う必要があります。 +- アニメキャラクターの絵文字を含むファイル `ic_launcher(?!.*alt.*).*` の画像は[五十根大虾仁](https://space.bilibili.com/370927)が著作権を所有しており、画像内のブランド知的財産権は[明风OuO](https://space.bilibili.com/274939213)が所有しています。ベクトル化は @MiRinChan が行っています。これらのファイルを使用する前に、[Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode.txt)に準拠することに加えて、これらの芸術コンテンツを使用するには、2人の著者の許可にも従う必要があります。 - 上記のファイルまたはディレクトリを除き、その他のすべての部分は[GPL-3.0以降](https://www.gnu.org/licenses/gpl-3.0.html)です。 ## スポンサーシップの一覧 diff --git a/docs/README-tr.md b/docs/README-tr.md index 02d34475..64006a3d 100644 --- a/docs/README-tr.md +++ b/docs/README-tr.md @@ -121,7 +121,7 @@ Lütfen **tümünü** https://kernelsu.org/zh_CN/guide/installation.html adresin ## Lisans - `kernel` dizinindeki dosyalar [GPL-2.0-only](https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html) lisansı altındadır. -- Anime karakter ifadeleri içeren `ic_launcher*` dosyalarının görüntüleri [五十根大虾仁](https://space.bilibili.com/370927) tarafından telif hakkıyla korunmaktadır, görüntülerdeki Marka Fikri Mülkiyeti [明风 OuO](https://space.bilibili.com/274939213)'ye aittir ve vektörleştirme @MiRinChan tarafından yapılmıştır. Bu dosyaları kullanmadan önce, [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode.txt) ile uyumlu olmanın yanı sıra, bu sanatsal içerikleri kullanmak için iki yazarın yetkilendirmesine de uymanız gerekir. +- Anime karakter ifadeleri içeren `ic_launcher(?!.*alt.*).*` dosyalarının görüntüleri [五十根大虾仁](https://space.bilibili.com/370927) tarafından telif hakkıyla korunmaktadır, görüntülerdeki Marka Fikri Mülkiyeti [明风 OuO](https://space.bilibili.com/274939213)'ye aittir ve vektörleştirme @MiRinChan tarafından yapılmıştır. Bu dosyaları kullanmadan önce, [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode.txt) ile uyumlu olmanın yanı sıra, bu sanatsal içerikleri kullanmak için iki yazarın yetkilendirmesine de uymanız gerekir. - Yukarıda belirtilen dosyalar veya dizinler hariç, diğer tüm parçalar [GPL-3.0 veya üzeri](https://www.gnu.org/licenses/gpl-3.0.html)'dir. ## Afdian Bağlantısı diff --git a/docs/README.md b/docs/README.md index 3c9f3005..44fd5e79 100644 --- a/docs/README.md +++ b/docs/README.md @@ -123,7 +123,7 @@ KPM 模板地址: https://github.com/udochina/KPM-Build-Anywhere ## 许可证 - `kernel` 目录下的文件是 [GPL-2.0-only](https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html)。 -- 有动漫人物图片表情包的这些文件 `ic_launcher*` 的图像版权为[五十根大虾仁](https://space.bilibili.com/370927)所有,图像中的 Brand Intellectual Property 由[明风OuO](https://space.bilibili.com/274939213)所有,矢量化由 @MiRinChan 完成,在使用这些文件之前,除了必须遵守 [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode.txt) 以外,还需要遵守向前两者索要使用这些艺术内容的授权。 +- 有动漫人物图片表情包的这些文件 `ic_launcher(?!.*alt.*).*` 的图像版权为[五十根大虾仁](https://space.bilibili.com/370927)所有,图像中的 Brand Intellectual Property 由[明风OuO](https://space.bilibili.com/274939213)所有,矢量化由 @MiRinChan 完成,在使用这些文件之前,除了必须遵守 [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode.txt) 以外,还需要遵守向前两者索要使用这些艺术内容的授权。 - 除了以上所述的文件或目录外,所有其他部分均为 [GPL-3.0 或更高版本](https://www.gnu.org/licenses/gpl-3.0.html)。 ## 爱发电链接 diff --git a/manager/app/src/main/AndroidManifest.xml b/manager/app/src/main/AndroidManifest.xml index b317804e..62fd0305 100644 --- a/manager/app/src/main/AndroidManifest.xml +++ b/manager/app/src/main/AndroidManifest.xml @@ -32,6 +32,19 @@ + + + + + + + @@ -341,6 +356,16 @@ fun MoreSettingsScreen() { mutableStateOf(ThemeConfig.customBackgroundUri != null) } + // Alternate icon state + var useAltIcon by remember { mutableStateOf(prefs.getBoolean("use_alt_icon", false)) } + + val onUseAltIconChange = { newValue: Boolean -> + prefs.edit { putBoolean("use_alt_icon", newValue) } + useAltIcon = newValue + toggleLauncherIcon(context, newValue) + Toast.makeText(context, context.getString(R.string.icon_switched), Toast.LENGTH_SHORT).show() + } + // 图片编辑状态 var showImageEditor by remember { mutableStateOf(false) } var selectedImageUri by remember { mutableStateOf(null) } @@ -875,6 +900,16 @@ fun MoreSettingsScreen() { SettingsCard( title = stringResource(R.string.custom_settings) ) { + // 图标切换by lshwjgpt + SwitchItem( + icon = Icons.Default.Android, + title = stringResource(R.string.icon_switch_title), + summary = stringResource(R.string.icon_switch_summary), + checked = useAltIcon + ) { + onUseAltIconChange(it) + } + // 添加简洁模式开关 SwitchItem( icon = Icons.Filled.Brush, @@ -1326,4 +1361,4 @@ private fun TopBar( windowInsets = WindowInsets.safeDrawing.only(WindowInsetsSides.Top + WindowInsetsSides.Horizontal), scrollBehavior = scrollBehavior ) -} \ No newline at end of file +} diff --git a/manager/app/src/main/res/drawable/ic_launcher_foreground_alt.xml b/manager/app/src/main/res/drawable/ic_launcher_foreground_alt.xml new file mode 100644 index 00000000..ba49844a --- /dev/null +++ b/manager/app/src/main/res/drawable/ic_launcher_foreground_alt.xml @@ -0,0 +1,22 @@ + + + + + + + + + diff --git a/manager/app/src/main/res/drawable/ic_launcher_monochrome_alt.xml b/manager/app/src/main/res/drawable/ic_launcher_monochrome_alt.xml new file mode 100644 index 00000000..9bc37fa2 --- /dev/null +++ b/manager/app/src/main/res/drawable/ic_launcher_monochrome_alt.xml @@ -0,0 +1,22 @@ + + + + + + + + + diff --git a/manager/app/src/main/res/mipmap-anydpi-v26/ic_launcher_alt.xml b/manager/app/src/main/res/mipmap-anydpi-v26/ic_launcher_alt.xml new file mode 100644 index 00000000..9924e8d2 --- /dev/null +++ b/manager/app/src/main/res/mipmap-anydpi-v26/ic_launcher_alt.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/manager/app/src/main/res/mipmap-anydpi-v26/ic_launcher_alt_round.xml b/manager/app/src/main/res/mipmap-anydpi-v26/ic_launcher_alt_round.xml new file mode 100644 index 00000000..9924e8d2 --- /dev/null +++ b/manager/app/src/main/res/mipmap-anydpi-v26/ic_launcher_alt_round.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/manager/app/src/main/res/values-zh-rCN/strings.xml b/manager/app/src/main/res/values-zh-rCN/strings.xml index c76529da..d622c0ce 100644 --- a/manager/app/src/main/res/values-zh-rCN/strings.xml +++ b/manager/app/src/main/res/values-zh-rCN/strings.xml @@ -321,6 +321,9 @@ SuSFS 已禁用 背景设置成功 已移除自定义背景 + 备选图标 + 更换为 KernelSU 图标 + 已切换图标 需要 root 权限 显示 KPM 功能 diff --git a/manager/app/src/main/res/values-zh-rHK/strings.xml b/manager/app/src/main/res/values-zh-rHK/strings.xml index b6e2e617..c58e39ca 100644 --- a/manager/app/src/main/res/values-zh-rHK/strings.xml +++ b/manager/app/src/main/res/values-zh-rHK/strings.xml @@ -323,6 +323,9 @@ SuSFS 未啟用 背景設置成功 刪除背景 + 備選圖示 + 將啟動器圖示變更為 KernelSU 圖示 + 圖示已切換 需要root權限 顯示KPM功能 diff --git a/manager/app/src/main/res/values-zh-rTW/strings.xml b/manager/app/src/main/res/values-zh-rTW/strings.xml index c7afab5a..2335be4e 100644 --- a/manager/app/src/main/res/values-zh-rTW/strings.xml +++ b/manager/app/src/main/res/values-zh-rTW/strings.xml @@ -321,6 +321,9 @@ SuSFS disabled Background set successfully Removed custom backgrounds + 備選圖示 + 將啟動器圖示變更為 KernelSU 圖示 + Icon switched Requires root privileges Display KPM Function diff --git a/manager/app/src/main/res/values/strings.xml b/manager/app/src/main/res/values/strings.xml index 536fd94c..f9bf3b86 100644 --- a/manager/app/src/main/res/values/strings.xml +++ b/manager/app/src/main/res/values/strings.xml @@ -323,6 +323,9 @@ SuSFS disabled Background set successfully Removed custom backgrounds + Alternate icon + Change the launcher icon to KernelSU\'s icon. + Icon switched Requires root privileges Display KPM Function