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