Disable replying to non-numeric short codes
Also, break down large thread layout file
This commit is contained in:
parent
7665415b87
commit
f0c3333a72
7 changed files with 340 additions and 212 deletions
|
|
@ -51,19 +51,19 @@ import com.simplemobiletools.smsmessenger.R
|
|||
import com.simplemobiletools.smsmessenger.adapters.AttachmentsAdapter
|
||||
import com.simplemobiletools.smsmessenger.adapters.AutoCompleteTextViewAdapter
|
||||
import com.simplemobiletools.smsmessenger.adapters.ThreadAdapter
|
||||
import com.simplemobiletools.smsmessenger.dialogs.InvalidNumberDialog
|
||||
import com.simplemobiletools.smsmessenger.dialogs.RenameConversationDialog
|
||||
import com.simplemobiletools.smsmessenger.dialogs.ScheduleMessageDialog
|
||||
import com.simplemobiletools.smsmessenger.extensions.*
|
||||
import com.simplemobiletools.smsmessenger.helpers.*
|
||||
import com.simplemobiletools.smsmessenger.messaging.cancelScheduleSendPendingIntent
|
||||
import com.simplemobiletools.smsmessenger.messaging.isLongMmsMessage
|
||||
import com.simplemobiletools.smsmessenger.messaging.scheduleMessage
|
||||
import com.simplemobiletools.smsmessenger.messaging.sendMessageCompat
|
||||
import com.simplemobiletools.smsmessenger.messaging.*
|
||||
import com.simplemobiletools.smsmessenger.models.*
|
||||
import com.simplemobiletools.smsmessenger.models.ThreadItem.*
|
||||
import kotlinx.android.synthetic.main.activity_thread.*
|
||||
import kotlinx.android.synthetic.main.item_selected_contact.view.*
|
||||
import kotlinx.android.synthetic.main.layout_attachment_picker.*
|
||||
import kotlinx.android.synthetic.main.layout_invalid_short_code_info.*
|
||||
import kotlinx.android.synthetic.main.layout_thread_send_message_holder.*
|
||||
import org.greenrobot.eventbus.EventBus
|
||||
import org.greenrobot.eventbus.Subscribe
|
||||
import org.greenrobot.eventbus.ThreadMode
|
||||
|
|
@ -180,6 +180,7 @@ class ThreadActivity : SimpleActivity() {
|
|||
}
|
||||
|
||||
thread_send_message_holder.setBackgroundColor(bottomBarColor)
|
||||
reply_disabled_info_holder.setBackgroundColor(bottomBarColor)
|
||||
updateNavigationBarColor(bottomBarColor)
|
||||
}
|
||||
|
||||
|
|
@ -218,7 +219,8 @@ class ThreadActivity : SimpleActivity() {
|
|||
findItem(R.id.conversation_details).isVisible = participants.size > 1 && conversation != null
|
||||
findItem(R.id.block_number).title = addLockedLabelIfNeeded(R.string.block_number)
|
||||
findItem(R.id.block_number).isVisible = isNougatPlus()
|
||||
findItem(R.id.dial_number).isVisible = participants.size == 1
|
||||
findItem(R.id.dial_number).isVisible = participants.size == 1 && !isSpecialNumber()
|
||||
findItem(R.id.manage_people).isVisible = !isSpecialNumber()
|
||||
findItem(R.id.mark_as_unread).isVisible = threadItems.isNotEmpty()
|
||||
|
||||
// allow saving number in cases when we dont have it stored yet and it is a casual readable number
|
||||
|
|
@ -674,6 +676,33 @@ class ThreadActivity : SimpleActivity() {
|
|||
} else {
|
||||
messages.first().participants
|
||||
}
|
||||
maybeDisableShortCodeReply()
|
||||
}
|
||||
}
|
||||
|
||||
private fun isSpecialNumber(): Boolean {
|
||||
val addresses = participants.getAddresses()
|
||||
return addresses.any { isShortCodeWithLetters(it) }
|
||||
}
|
||||
|
||||
private fun maybeDisableShortCodeReply() {
|
||||
if (isSpecialNumber()) {
|
||||
thread_send_message_holder.beGone()
|
||||
reply_disabled_info_holder.beVisible()
|
||||
val textColor = getProperTextColor()
|
||||
reply_disabled_text.setTextColor(textColor)
|
||||
reply_disabled_info.apply {
|
||||
applyColorFilter(textColor)
|
||||
setOnClickListener {
|
||||
InvalidNumberDialog(
|
||||
activity = this@ThreadActivity,
|
||||
text = getString(R.string.invalid_short_code_desc)
|
||||
)
|
||||
}
|
||||
if (isOreoPlus()) {
|
||||
tooltipText = getString(R.string.more_info)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue