Fix custom notifications toggle and enable copy phone number on long press.

fork-5.53.8
Alex Hart 2021-06-29 11:19:51 -03:00
rodzic 031d1551e7
commit 6e7022ab70
3 zmienionych plików z 27 dodań i 3 usunięć

Wyświetl plik

@ -1,14 +1,17 @@
package org.thoughtcrime.securesms.components.settings.conversation.preferences
import android.content.ClipData
import android.content.Context
import android.view.View
import android.widget.TextView
import android.widget.Toast
import org.thoughtcrime.securesms.R
import org.thoughtcrime.securesms.components.settings.PreferenceModel
import org.thoughtcrime.securesms.phonenumbers.PhoneNumberFormatter
import org.thoughtcrime.securesms.recipients.Recipient
import org.thoughtcrime.securesms.util.MappingAdapter
import org.thoughtcrime.securesms.util.MappingViewHolder
import org.thoughtcrime.securesms.util.ServiceUtil
/**
* Renders name, description, about, etc. for a given group or recipient.
@ -70,7 +73,7 @@ object BioTextPreference {
private val headline: TextView = itemView.findViewById(R.id.bio_preference_headline)
private val subhead1: TextView = itemView.findViewById(R.id.bio_preference_subhead_1)
private val subhead2: TextView = itemView.findViewById(R.id.bio_preference_subhead_2)
protected val subhead2: TextView = itemView.findViewById(R.id.bio_preference_subhead_2)
override fun bind(model: T) {
headline.text = model.getHeadlineText(context)
@ -87,6 +90,23 @@ object BioTextPreference {
}
}
private class RecipientViewHolder(itemView: View) : BioTextViewHolder<RecipientModel>(itemView)
private class RecipientViewHolder(itemView: View) : BioTextViewHolder<RecipientModel>(itemView) {
override fun bind(model: RecipientModel) {
super.bind(model)
val phoneNumber = model.getSubhead2Text()
if (!phoneNumber.isNullOrEmpty()) {
subhead2.setOnLongClickListener {
val clipboardManager = ServiceUtil.getClipboardManager(context)
clipboardManager.setPrimaryClip(ClipData.newPlainText(context.getString(R.string.ConversationSettingsFragment__phone_number), subhead2.text.toString()))
Toast.makeText(context, R.string.ConversationSettingsFragment__copied_phone_number_to_clipboard, Toast.LENGTH_SHORT).show()
true
}
} else {
subhead2.setOnLongClickListener(null)
}
}
}
private class GroupViewHolder(itemView: View) : BioTextViewHolder<GroupModel>(itemView)
}

Wyświetl plik

@ -4,6 +4,7 @@ import androidx.lifecycle.LiveData
import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
import org.thoughtcrime.securesms.database.RecipientDatabase
import org.thoughtcrime.securesms.notifications.NotificationChannels
import org.thoughtcrime.securesms.recipients.Recipient
import org.thoughtcrime.securesms.recipients.RecipientId
import org.thoughtcrime.securesms.util.livedata.Store
@ -23,7 +24,8 @@ class SoundsAndNotificationsSettingsViewModel(
recipientId = recipientId,
muteUntil = recipient.muteUntil,
mentionSetting = recipient.mentionSetting,
hasMentionsSupport = recipient.isPushV2Group
hasMentionsSupport = recipient.isPushV2Group,
hasCustomNotificationSettings = recipient.notificationChannel != null || !NotificationChannels.supported()
)
}
}

Wyświetl plik

@ -3570,6 +3570,8 @@
<string name="ConversationSettingsFragment__unmute">Unmute</string>
<string name="ConversationSettingsFragment__conversation_muted_until_s">Conversation muted until %1$s</string>
<string name="ConversationSettingsFragment__conversation_muted_forever">Conversation muted forever</string>
<string name="ConversationSettingsFragment__copied_phone_number_to_clipboard">Copied phone number to clipboard.</string>
<string name="ConversationSettingsFragment__phone_number">Phone number</string>
<!-- PermissionsSettingsFragment -->
<string name="PermissionsSettingsFragment__add_members">Add members</string>