From 26d73c1ed215827b0008104a7d9ca733ab13542a Mon Sep 17 00:00:00 2001 From: Linfye <3158203624@qq.com> Date: Sun, 8 Sep 2024 14:42:38 +0800 Subject: [PATCH] Add descriptions to language setting items --- .../fragments/LanguageSettingsFragment.kt | 2 + .../java/be/scri/helpers/CustomAdapter.kt | 7 +++ .../main/java/be/scri/models/SwitchItem.kt | 1 + .../main/res/layout/card_view_with_switch.xml | 53 +++++++++++++------ 4 files changed, 47 insertions(+), 16 deletions(-) diff --git a/app/src/main/java/be/scri/fragments/LanguageSettingsFragment.kt b/app/src/main/java/be/scri/fragments/LanguageSettingsFragment.kt index a91a2d058..804958a76 100644 --- a/app/src/main/java/be/scri/fragments/LanguageSettingsFragment.kt +++ b/app/src/main/java/be/scri/fragments/LanguageSettingsFragment.kt @@ -109,12 +109,14 @@ class LanguageSettingsFragment : Fragment() { SwitchItem( isChecked = sharedPref.getBoolean("period_on_double_tap_$language", false), title = "Double space periods", + description = "Automatically insert a period when the space key is pressed twice.", action = { enablePeriodOnSpaceBarDoubleTap(language) }, action2 = { disablePeriodOnSpaceBarDoubleTap(language) }, ), SwitchItem( isChecked = sharedPref.getBoolean("autosuggest_emojis_$language", true), title = "Autosuggest emojis", + description = "Turn on emoji suggestions and completions for more expressive typing.", action = { enableEmojiAutosuggestions(language) }, action2 = { disableEmojiAutosuggestions(language) }, ), diff --git a/app/src/main/java/be/scri/helpers/CustomAdapter.kt b/app/src/main/java/be/scri/helpers/CustomAdapter.kt index 7865e105d..5426ac3fe 100644 --- a/app/src/main/java/be/scri/helpers/CustomAdapter.kt +++ b/app/src/main/java/be/scri/helpers/CustomAdapter.kt @@ -129,6 +129,12 @@ class CustomAdapter( holder.switchView.isChecked = item.isChecked holder.switchView.setOnCheckedChangeListener(null) holder.textView.text = item.title + if (item.description.isNullOrEmpty()) { + holder.descriptionTextView.visibility = View.GONE + } else { + holder.descriptionTextView.visibility = View.VISIBLE + holder.descriptionTextView.text = item.description + } holder.switchView.setOnCheckedChangeListener { _, isChecked -> if (isChecked) { item.isChecked = isChecked @@ -164,6 +170,7 @@ class CustomAdapter( ) : RecyclerView.ViewHolder(itemView) { val switchView: Switch = itemView.findViewById(R.id.checkbox) val textView: TextView = itemView.findViewById(R.id.tvText) + val descriptionTextView: TextView = itemView.findViewById(R.id.tvSubTitle) } class TextViewHolder( diff --git a/app/src/main/java/be/scri/models/SwitchItem.kt b/app/src/main/java/be/scri/models/SwitchItem.kt index 6ff53fc68..fc2257397 100644 --- a/app/src/main/java/be/scri/models/SwitchItem.kt +++ b/app/src/main/java/be/scri/models/SwitchItem.kt @@ -4,6 +4,7 @@ sealed class Item data class SwitchItem( val title: String, + val description: String? = null, var isChecked: Boolean, val action: (() -> Unit)? = null, val action2: (() -> Unit)? = null, diff --git a/app/src/main/res/layout/card_view_with_switch.xml b/app/src/main/res/layout/card_view_with_switch.xml index 6943a2779..87682a2a3 100644 --- a/app/src/main/res/layout/card_view_with_switch.xml +++ b/app/src/main/res/layout/card_view_with_switch.xml @@ -4,7 +4,7 @@ xmlns:tools="http://schemas.android.com/tools" android:id="@+id/cvItem" android:layout_width="match_parent" - android:layout_height="50dp" + android:layout_height="wrap_content" android:layout_marginLeft="8dp" android:layout_marginRight="8dp" app:cardCornerRadius="5dp" @@ -13,26 +13,47 @@ + android:orientation="vertical" + android:paddingTop="12dp" + android:paddingBottom="6dp" + android:paddingLeft="12dp" + android:paddingRight="12dp"> + + + + + + + - -