diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/DSLSettingsAdapter.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/DSLSettingsAdapter.kt index af7d76e635..989594e44e 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/DSLSettingsAdapter.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/DSLSettingsAdapter.kt @@ -90,6 +90,7 @@ class ClickPreferenceViewHolder(itemView: View) : PreferenceViewHolder Unit + val onClick: (Boolean) -> Unit, + val onLongClick: () -> Boolean ) : PreferenceModel() { override fun areItemsTheSame(newItem: SubscriptionPreference): Boolean { return true @@ -214,6 +230,7 @@ class AppSettingsFragment : DSLSettingsFragment(R.string.text_secure_normal__men override fun bind(model: SubscriptionPreference) { super.bind(model) itemView.setOnClickListener { model.onClick(model.isActive) } + itemView.setOnLongClickListener { model.onLongClick() } } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/dsl.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/dsl.kt index 7c29bd3835..730398881e 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/dsl.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/dsl.kt @@ -96,9 +96,10 @@ class DSLConfiguration { summary: DSLSettingsText? = null, icon: DSLSettingsIcon? = null, isEnabled: Boolean = true, - onClick: () -> Unit + onClick: () -> Unit, + onLongClick: (() -> Boolean)? = null ) { - val preference = ClickPreference(title, summary, icon, isEnabled, onClick) + val preference = ClickPreference(title, summary, icon, isEnabled, onClick, onLongClick) children.add(preference) } @@ -269,7 +270,8 @@ class ClickPreference( override val summary: DSLSettingsText? = null, override val icon: DSLSettingsIcon? = null, override val isEnabled: Boolean = true, - val onClick: () -> Unit + val onClick: () -> Unit, + val onLongClick: (() -> Boolean)? = null ) : PreferenceModel() class LongClickPreference( diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 45364a1472..b3927e3494 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -3691,6 +3691,7 @@ Invite your friends + Copied subscriber id to clipboard Account