فهرست منبع

增加了一个白色猫猫头图标喵 #79

HapeLee 1 سال پیش
والد
کامیت
3bbd9451f0

+ 11 - 6
app/src/main/AndroidManifest.xml

@@ -34,6 +34,17 @@
         android:theme="@style/Base.AppTheme"
         android:theme="@style/Base.AppTheme"
         tools:ignore="AllowBackup,GoogleAppIndexingWarning,UnusedAttribute">
         tools:ignore="AllowBackup,GoogleAppIndexingWarning,UnusedAttribute">
         <!-- 图标0 -->
         <!-- 图标0 -->
+        <activity-alias
+            android:name=".Launcherw"
+            android:enabled="false"
+            android:exported="true"
+            android:icon="@mipmap/launcherw"
+            android:targetActivity=".ui.main.MainActivity">
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+                <category android:name="android.intent.category.LAUNCHER" />
+            </intent-filter>
+        </activity-alias>
         <activity-alias
         <activity-alias
             android:name=".Launcher0"
             android:name=".Launcher0"
             android:enabled="false"
             android:enabled="false"
@@ -54,7 +65,6 @@
             android:targetActivity=".ui.main.MainActivity">
             android:targetActivity=".ui.main.MainActivity">
             <intent-filter>
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <action android:name="android.intent.action.MAIN" />
-
                 <category android:name="android.intent.category.LAUNCHER" />
                 <category android:name="android.intent.category.LAUNCHER" />
             </intent-filter>
             </intent-filter>
         </activity-alias>
         </activity-alias>
@@ -67,7 +77,6 @@
             android:targetActivity=".ui.main.MainActivity">
             android:targetActivity=".ui.main.MainActivity">
             <intent-filter>
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <action android:name="android.intent.action.MAIN" />
-
                 <category android:name="android.intent.category.LAUNCHER" />
                 <category android:name="android.intent.category.LAUNCHER" />
             </intent-filter>
             </intent-filter>
         </activity-alias>
         </activity-alias>
@@ -80,7 +89,6 @@
             android:targetActivity=".ui.main.MainActivity">
             android:targetActivity=".ui.main.MainActivity">
             <intent-filter>
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <action android:name="android.intent.action.MAIN" />
-
                 <category android:name="android.intent.category.LAUNCHER" />
                 <category android:name="android.intent.category.LAUNCHER" />
             </intent-filter>
             </intent-filter>
         </activity-alias>
         </activity-alias>
@@ -93,7 +101,6 @@
             android:targetActivity=".ui.main.MainActivity">
             android:targetActivity=".ui.main.MainActivity">
             <intent-filter>
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <action android:name="android.intent.action.MAIN" />
-
                 <category android:name="android.intent.category.LAUNCHER" />
                 <category android:name="android.intent.category.LAUNCHER" />
             </intent-filter>
             </intent-filter>
         </activity-alias>
         </activity-alias>
@@ -106,7 +113,6 @@
             android:targetActivity=".ui.main.MainActivity">
             android:targetActivity=".ui.main.MainActivity">
             <intent-filter>
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <action android:name="android.intent.action.MAIN" />
-
                 <category android:name="android.intent.category.LAUNCHER" />
                 <category android:name="android.intent.category.LAUNCHER" />
             </intent-filter>
             </intent-filter>
         </activity-alias>
         </activity-alias>
@@ -119,7 +125,6 @@
             android:targetActivity=".ui.main.MainActivity">
             android:targetActivity=".ui.main.MainActivity">
             <intent-filter>
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <action android:name="android.intent.action.MAIN" />
-
                 <category android:name="android.intent.category.LAUNCHER" />
                 <category android:name="android.intent.category.LAUNCHER" />
             </intent-filter>
             </intent-filter>
         </activity-alias>
         </activity-alias>

+ 1 - 0
app/src/main/java/io/legato/kazusa/help/LauncherIconHelp.kt

@@ -13,6 +13,7 @@ import splitties.init.appCtx
 object LauncherIconHelp {
 object LauncherIconHelp {
     private val packageManager: PackageManager = appCtx.packageManager
     private val packageManager: PackageManager = appCtx.packageManager
     private val componentNames = arrayListOf(
     private val componentNames = arrayListOf(
+        ComponentName(appCtx.packageName, "${appCtx.packageName}.Launcherw"),
         ComponentName(appCtx.packageName, "${appCtx.packageName}.Launcher0"),
         ComponentName(appCtx.packageName, "${appCtx.packageName}.Launcher0"),
         ComponentName(appCtx.packageName, "${appCtx.packageName}.Launcher1"),
         ComponentName(appCtx.packageName, "${appCtx.packageName}.Launcher1"),
         ComponentName(appCtx.packageName, "${appCtx.packageName}.Launcher2"),
         ComponentName(appCtx.packageName, "${appCtx.packageName}.Launcher2"),

+ 16 - 18
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.fragment.app.FragmentActivity
 import androidx.preference.ListPreference
 import androidx.preference.ListPreference
 import androidx.preference.PreferenceViewHolder
 import androidx.preference.PreferenceViewHolder
-import androidx.recyclerview.widget.LinearLayoutManager
+import androidx.recyclerview.widget.GridLayoutManager
 import io.legato.kazusa.R
 import io.legato.kazusa.R
 import io.legato.kazusa.base.BaseBottomSheetDialogFragment
 import io.legato.kazusa.base.BaseBottomSheetDialogFragment
 import io.legato.kazusa.base.adapter.ItemViewHolder
 import io.legato.kazusa.base.adapter.ItemViewHolder
 import io.legato.kazusa.base.adapter.RecyclerAdapter
 import io.legato.kazusa.base.adapter.RecyclerAdapter
 import io.legato.kazusa.databinding.DialogRecyclerViewBinding
 import io.legato.kazusa.databinding.DialogRecyclerViewBinding
 import io.legato.kazusa.databinding.ItemIconPreferenceBinding
 import io.legato.kazusa.databinding.ItemIconPreferenceBinding
-//import io.legado.app.lib.theme.primaryColor
 import io.legato.kazusa.utils.getCompatDrawable
 import io.legato.kazusa.utils.getCompatDrawable
+import io.legato.kazusa.utils.themeColor
 import io.legato.kazusa.utils.viewbindingdelegate.viewBinding
 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?) {
         override fun onFragmentCreated(view: View, savedInstanceState: Bundle?) {
             //binding.toolBar.setBackgroundColor(primaryColor)
             //binding.toolBar.setBackgroundColor(primaryColor)
             binding.toolBar.setTitle(R.string.change_icon)
             binding.toolBar.setTitle(R.string.change_icon)
-            binding.recyclerView.layoutManager = LinearLayoutManager(requireContext())
+            binding.recyclerView.layoutManager = GridLayoutManager(requireContext(), 3)
             val adapter = Adapter(requireContext())
             val adapter = Adapter(requireContext())
             binding.recyclerView.adapter = adapter
             binding.recyclerView.adapter = adapter
             arguments?.let {
             arguments?.let {
@@ -164,23 +164,21 @@ class IconListPreference(context: Context, attrs: AttributeSet) : ListPreference
             ) {
             ) {
                 binding.run {
                 binding.run {
                     val index = findIndexOfValue(item.toString())
                     val index = findIndexOfValue(item.toString())
-                    dialogEntries?.let {
-                        label.text = it[index]
-                    }
                     dialogIconNames?.let {
                     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())
                         onChanged?.invoke(item.toString())
                         this@IconDialog.dismissAllowingStateLoss()
                         this@IconDialog.dismissAllowingStateLoss()
                     }
                     }

+ 1 - 0
app/src/main/res/layout/dialog_recycler_view.xml

@@ -21,6 +21,7 @@
             android:id="@+id/recycler_view"
             android:id="@+id/recycler_view"
             android:layout_width="match_parent"
             android:layout_width="match_parent"
             android:layout_height="match_parent"
             android:layout_height="match_parent"
+            android:layout_marginHorizontal="8dp"
             android:scrollbars="none"
             android:scrollbars="none"
             tools:ignore="SpeakableTextPresentCheck" />
             tools:ignore="SpeakableTextPresentCheck" />
 
 

+ 29 - 28
app/src/main/res/layout/item_icon_preference.xml

@@ -1,34 +1,35 @@
 <?xml version="1.0" encoding="utf-8"?>
 <?xml version="1.0" encoding="utf-8"?>
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<androidx.constraintlayout.widget.ConstraintLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:tools="http://schemas.android.com/tools"
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:background="?attr/selectableItemBackground"
-    android:padding="16dp">
+    android:layout_height="wrap_content">
 
 
-    <ImageView
-        android:id="@+id/icon"
-        android:layout_width="48dp"
-        android:layout_height="48dp"
-        android:adjustViewBounds="true"
-        android:contentDescription="ICON"
-        tools:ignore="HardcodedText" />
+        <com.google.android.material.card.MaterialCardView
+            android:id="@+id/card"
+            android:layout_width="0dp"
+            android:layout_height="0dp"
+            app:cardCornerRadius="16dp"
+            app:layout_constraintDimensionRatio="1:1"
+            app:layout_constraintTop_toTopOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:cardBackgroundColor="?attr/colorSurfaceContainerHighest"
+            app:strokeWidth="0dp"
+            android:layout_marginBottom="20dp"
+            android:layout_marginHorizontal="10dp">
 
 
-    <CheckedTextView
-        android:id="@+id/label"
-        android:layout_width="wrap_content"
-        android:layout_height="48dp"
-        android:paddingStart="8dp"
-        android:layout_alignParentEnd="true"
-        android:layout_toRightOf="@+id/icon"
-        android:checkMark="?android:attr/listChoiceIndicatorSingle"
-        android:ellipsize="marquee"
-        android:gravity="center_vertical"
-        android:minHeight="?android:attr/listPreferredItemHeight"
-        android:singleLine="true"
-        android:textAppearance="?android:attr/textAppearanceMedium"
-        android:textColor="?android:attr/textColorAlertDialogListItem"
-        android:textIsSelectable="false"
-        tools:ignore="RtlHardcoded,RtlSymmetry" />
+                <ImageView
+                    android:id="@+id/icon"
+                    android:layout_width="match_parent"
+                    android:layout_height="match_parent"
+                    android:layout_margin="20dp"
+                    android:scaleType="centerCrop"
+                    android:contentDescription="ICON"
+                    tools:ignore="HardcodedText" />
 
 
-</RelativeLayout>
+        </com.google.android.material.card.MaterialCardView>
+
+</androidx.constraintlayout.widget.ConstraintLayout>

+ 6 - 0
app/src/main/res/mipmap-anydpi-v26/launcherw.xml

@@ -0,0 +1,6 @@
+<?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_w" />
+    <foreground android:drawable="@drawable/ic_launcher_foreground" />
+    <monochrome android:drawable="@drawable/ic_launcher4" />
+</adaptive-icon>

+ 1 - 0
app/src/main/res/values-zh-rTW/arrays.xml

@@ -62,6 +62,7 @@
 
 
     <string-array name="icon_names">
     <string-array name="icon_names">
         <item>iconMain</item>
         <item>iconMain</item>
+        <item>iconWhite</item>
         <item>icon0</item>
         <item>icon0</item>
         <item>icon1</item>
         <item>icon1</item>
         <item>icon2</item>
         <item>icon2</item>

+ 1 - 0
app/src/main/res/values-zh/arrays.xml

@@ -49,6 +49,7 @@
 
 
     <string-array name="icon_names">
     <string-array name="icon_names">
         <item>iconMain</item>
         <item>iconMain</item>
+        <item>iconWhite</item>
         <item>icon0</item>
         <item>icon0</item>
         <item>icon1</item>
         <item>icon1</item>
         <item>icon2</item>
         <item>icon2</item>

+ 1 - 0
app/src/main/res/values/array_values.xml

@@ -3,6 +3,7 @@
 
 
     <string-array name="icons">
     <string-array name="icons">
         <item>ic_launcher</item>
         <item>ic_launcher</item>
+        <item>launcherw</item>
         <item>launcher0</item>
         <item>launcher0</item>
         <item>launcher1</item>
         <item>launcher1</item>
         <item>launcher2</item>
         <item>launcher2</item>

+ 1 - 0
app/src/main/res/values/arrays.xml

@@ -107,6 +107,7 @@
 
 
 	<string-array name="icon_names" tools:ignore="Typos">
 	<string-array name="icon_names" tools:ignore="Typos">
 		<item>iconMain</item>
 		<item>iconMain</item>
+		<item>iconWhite</item>
         <item>icon0</item>
         <item>icon0</item>
 		<item>icon1</item>
 		<item>icon1</item>
 		<item>icon2</item>
 		<item>icon2</item>

+ 3 - 0
app/src/main/res/values/colors.xml

@@ -1,5 +1,8 @@
 <?xml version="1.0" encoding="utf-8"?>
 <?xml version="1.0" encoding="utf-8"?>
 <resources>
 <resources>
+    <color name="ic_launcher_background">#2E2D3D</color>
+    <color name="ic_launcher_background_w">#F2F1F6</color>
+
     <!--    GR Theme-->
     <!--    GR Theme-->
     <color name="gr_theme_primary">#4C662B</color>
     <color name="gr_theme_primary">#4C662B</color>
     <color name="gr_theme_onPrimary">#FFFFFF</color>
     <color name="gr_theme_onPrimary">#FFFFFF</color>

+ 0 - 4
app/src/main/res/values/ic_launcher_background.xml

@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<resources>
-    <color name="ic_launcher_background">#2E2D3D</color>
-</resources>