From 3bbd9451f06eca0ad230d8e6fea6ddbebeda0352 Mon Sep 17 00:00:00 2001 From: HapeLee <1321903405@qq.com> Date: Sun, 12 Oct 2025 15:03:53 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BA=86=E4=B8=80=E4=B8=AA?= =?UTF-8?q?=E7=99=BD=E8=89=B2=E7=8C=AB=E7=8C=AB=E5=A4=B4=E5=9B=BE=E6=A0=87?= =?UTF-8?q?=E5=96=B5=20#79?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/AndroidManifest.xml | 17 ++++-- .../io/legato/kazusa/help/LauncherIconHelp.kt | 1 + .../kazusa/lib/prefs/IconListPreference.kt | 34 ++++++----- .../main/res/layout/dialog_recycler_view.xml | 1 + .../main/res/layout/item_icon_preference.xml | 57 ++++++++++--------- .../main/res/mipmap-anydpi-v26/launcherw.xml | 6 ++ app/src/main/res/values-zh-rTW/arrays.xml | 1 + app/src/main/res/values-zh/arrays.xml | 1 + app/src/main/res/values/array_values.xml | 1 + app/src/main/res/values/arrays.xml | 1 + app/src/main/res/values/colors.xml | 3 + .../res/values/ic_launcher_background.xml | 4 -- 12 files changed, 71 insertions(+), 56 deletions(-) create mode 100644 app/src/main/res/mipmap-anydpi-v26/launcherw.xml delete mode 100644 app/src/main/res/values/ic_launcher_background.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 0236a8ffc..43cb4f628 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -34,6 +34,17 @@ android:theme="@style/Base.AppTheme" tools:ignore="AllowBackup,GoogleAppIndexingWarning,UnusedAttribute"> + + + + + + - @@ -67,7 +77,6 @@ android:targetActivity=".ui.main.MainActivity"> - @@ -80,7 +89,6 @@ android:targetActivity=".ui.main.MainActivity"> - @@ -93,7 +101,6 @@ android:targetActivity=".ui.main.MainActivity"> - @@ -106,7 +113,6 @@ android:targetActivity=".ui.main.MainActivity"> - @@ -119,7 +125,6 @@ android:targetActivity=".ui.main.MainActivity"> - diff --git a/app/src/main/java/io/legato/kazusa/help/LauncherIconHelp.kt b/app/src/main/java/io/legato/kazusa/help/LauncherIconHelp.kt index f5e78da43..bcf361e47 100644 --- a/app/src/main/java/io/legato/kazusa/help/LauncherIconHelp.kt +++ b/app/src/main/java/io/legato/kazusa/help/LauncherIconHelp.kt @@ -13,6 +13,7 @@ import splitties.init.appCtx object LauncherIconHelp { private val packageManager: PackageManager = appCtx.packageManager private val componentNames = arrayListOf( + ComponentName(appCtx.packageName, "${appCtx.packageName}.Launcherw"), ComponentName(appCtx.packageName, "${appCtx.packageName}.Launcher0"), ComponentName(appCtx.packageName, "${appCtx.packageName}.Launcher1"), ComponentName(appCtx.packageName, "${appCtx.packageName}.Launcher2"), diff --git a/app/src/main/java/io/legato/kazusa/lib/prefs/IconListPreference.kt b/app/src/main/java/io/legato/kazusa/lib/prefs/IconListPreference.kt index 8d4406728..0b61b0867 100644 --- a/app/src/main/java/io/legato/kazusa/lib/prefs/IconListPreference.kt +++ b/app/src/main/java/io/legato/kazusa/lib/prefs/IconListPreference.kt @@ -11,15 +11,15 @@ import android.widget.ImageView import androidx.fragment.app.FragmentActivity import androidx.preference.ListPreference import androidx.preference.PreferenceViewHolder -import androidx.recyclerview.widget.LinearLayoutManager +import androidx.recyclerview.widget.GridLayoutManager import io.legato.kazusa.R import io.legato.kazusa.base.BaseBottomSheetDialogFragment import io.legato.kazusa.base.adapter.ItemViewHolder import io.legato.kazusa.base.adapter.RecyclerAdapter import io.legato.kazusa.databinding.DialogRecyclerViewBinding import io.legato.kazusa.databinding.ItemIconPreferenceBinding -//import io.legado.app.lib.theme.primaryColor import io.legato.kazusa.utils.getCompatDrawable +import io.legato.kazusa.utils.themeColor import io.legato.kazusa.utils.viewbindingdelegate.viewBinding @@ -134,7 +134,7 @@ class IconListPreference(context: Context, attrs: AttributeSet) : ListPreference override fun onFragmentCreated(view: View, savedInstanceState: Bundle?) { //binding.toolBar.setBackgroundColor(primaryColor) binding.toolBar.setTitle(R.string.change_icon) - binding.recyclerView.layoutManager = LinearLayoutManager(requireContext()) + binding.recyclerView.layoutManager = GridLayoutManager(requireContext(), 3) val adapter = Adapter(requireContext()) binding.recyclerView.adapter = adapter arguments?.let { @@ -164,23 +164,21 @@ class IconListPreference(context: Context, attrs: AttributeSet) : ListPreference ) { binding.run { val index = findIndexOfValue(item.toString()) - dialogEntries?.let { - label.text = it[index] - } dialogIconNames?.let { - val resId = context.resources - .getIdentifier(it[index].toString(), "mipmap", context.packageName) - val d = try { - context.getCompatDrawable(resId) - } catch (e: Exception) { - null - } - d?.let { - icon.setImageDrawable(d) - } + val resId = context.resources.getIdentifier(it[index].toString(), "mipmap", context.packageName) + val d = context.getCompatDrawable(resId) + d?.let { icon.setImageDrawable(it) } } - label.isChecked = item.toString() == dialogValue - root.setOnClickListener { + + val isSelected = item.toString() == dialogValue + + if (isSelected) { + card.setCardBackgroundColor(context.themeColor(com.google.android.material.R.attr.colorSecondaryContainer)) + } else { + card.setCardBackgroundColor(context.themeColor(com.google.android.material.R.attr.colorSurfaceContainer)) + } + + card.setOnClickListener { onChanged?.invoke(item.toString()) this@IconDialog.dismissAllowingStateLoss() } diff --git a/app/src/main/res/layout/dialog_recycler_view.xml b/app/src/main/res/layout/dialog_recycler_view.xml index 94c74f2a2..a718cd1f4 100644 --- a/app/src/main/res/layout/dialog_recycler_view.xml +++ b/app/src/main/res/layout/dialog_recycler_view.xml @@ -21,6 +21,7 @@ android:id="@+id/recycler_view" android:layout_width="match_parent" android:layout_height="match_parent" + android:layout_marginHorizontal="8dp" android:scrollbars="none" tools:ignore="SpeakableTextPresentCheck" /> diff --git a/app/src/main/res/layout/item_icon_preference.xml b/app/src/main/res/layout/item_icon_preference.xml index ad25271b4..ec86ad605 100644 --- a/app/src/main/res/layout/item_icon_preference.xml +++ b/app/src/main/res/layout/item_icon_preference.xml @@ -1,34 +1,35 @@ - + android:layout_height="wrap_content"> - + - + - \ No newline at end of file + + + diff --git a/app/src/main/res/mipmap-anydpi-v26/launcherw.xml b/app/src/main/res/mipmap-anydpi-v26/launcherw.xml new file mode 100644 index 000000000..005f2962c --- /dev/null +++ b/app/src/main/res/mipmap-anydpi-v26/launcherw.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values-zh-rTW/arrays.xml b/app/src/main/res/values-zh-rTW/arrays.xml index b488e8618..3daf623ae 100644 --- a/app/src/main/res/values-zh-rTW/arrays.xml +++ b/app/src/main/res/values-zh-rTW/arrays.xml @@ -62,6 +62,7 @@ iconMain + iconWhite icon0 icon1 icon2 diff --git a/app/src/main/res/values-zh/arrays.xml b/app/src/main/res/values-zh/arrays.xml index 21d1ce031..6a88f5078 100644 --- a/app/src/main/res/values-zh/arrays.xml +++ b/app/src/main/res/values-zh/arrays.xml @@ -49,6 +49,7 @@ iconMain + iconWhite icon0 icon1 icon2 diff --git a/app/src/main/res/values/array_values.xml b/app/src/main/res/values/array_values.xml index 689f10f67..6a20dfa0c 100644 --- a/app/src/main/res/values/array_values.xml +++ b/app/src/main/res/values/array_values.xml @@ -3,6 +3,7 @@ ic_launcher + launcherw launcher0 launcher1 launcher2 diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml index 2a48cb534..0fb1d174c 100644 --- a/app/src/main/res/values/arrays.xml +++ b/app/src/main/res/values/arrays.xml @@ -107,6 +107,7 @@ iconMain + iconWhite icon0 icon1 icon2 diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 6e4425866..6a401e06e 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -1,5 +1,8 @@ + #2E2D3D + #F2F1F6 + #4C662B #FFFFFF diff --git a/app/src/main/res/values/ic_launcher_background.xml b/app/src/main/res/values/ic_launcher_background.xml deleted file mode 100644 index 63755c4c8..000000000 --- a/app/src/main/res/values/ic_launcher_background.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - #2E2D3D - \ No newline at end of file