allow storing unstored numbers from the conversation screen too

This commit is contained in:
tibbi 2022-03-25 21:07:54 +01:00
parent 57a417f42b
commit aa495b4251
3 changed files with 22 additions and 2 deletions

View File

@ -9,7 +9,6 @@ import android.graphics.drawable.LayerDrawable
import android.media.MediaMetadataRetriever
import android.net.Uri
import android.os.Bundle
import android.os.Handler
import android.provider.ContactsContract
import android.provider.Telephony
import android.telephony.SmsMessage
@ -146,10 +145,16 @@ class ThreadActivity : SimpleActivity() {
override fun onCreateOptionsMenu(menu: Menu): Boolean {
menuInflater.inflate(R.menu.menu_thread, menu)
val firstPhoneNumber = participants.firstOrNull()?.phoneNumbers?.firstOrNull()?.value
menu.apply {
findItem(R.id.delete).isVisible = threadItems.isNotEmpty()
findItem(R.id.block_number).isVisible = isNougatPlus()
findItem(R.id.dial_number).isVisible = participants.size == 1
// allow saving number in cases when we dont have it stored yet and it is a casual readable number
findItem(R.id.add_number_to_contact).isVisible = participants.size == 1 && participants.first().name == firstPhoneNumber && firstPhoneNumber.any {
it.isDigit()
}
}
updateMenuItemColors(menu)
@ -164,6 +169,7 @@ class ThreadActivity : SimpleActivity() {
when (item.itemId) {
R.id.block_number -> blockNumber()
R.id.delete -> askConfirmDelete()
R.id.add_number_to_contact -> addNumberToContact()
R.id.dial_number -> dialNumber()
R.id.manage_people -> managePeople()
R.id.mark_as_unread -> markAsUnread()
@ -597,6 +603,16 @@ class ThreadActivity : SimpleActivity() {
}
}
private fun addNumberToContact() {
val phoneNumber = participants.firstOrNull()?.phoneNumbers?.firstOrNull()?.normalizedNumber ?: return
Intent().apply {
action = Intent.ACTION_INSERT_OR_EDIT
type = "vnd.android.cursor.item/contact"
putExtra(KEY_PHONE, phoneNumber)
launchActivityIntent(this)
}
}
@SuppressLint("MissingPermission")
private fun getThreadItems(): ArrayList<ThreadItem> {
val items = ArrayList<ThreadItem>()

View File

@ -7,10 +7,10 @@ import android.graphics.Bitmap
import android.os.Handler
import android.os.Looper
import android.provider.Telephony
import com.simplemobiletools.commons.extensions.getMyContactsCursor
import com.bumptech.glide.Glide
import com.bumptech.glide.load.engine.DiskCacheStrategy
import com.bumptech.glide.request.RequestOptions
import com.simplemobiletools.commons.extensions.getMyContactsCursor
import com.simplemobiletools.commons.extensions.isNumberBlocked
import com.simplemobiletools.commons.helpers.SimpleContactsHelper
import com.simplemobiletools.commons.helpers.ensureBackgroundThread

View File

@ -11,6 +11,10 @@
android:icon="@drawable/ic_phone_vector"
android:title="@string/dial_number"
app:showAsAction="ifRoom" />
<item
android:id="@+id/add_number_to_contact"
android:title="@string/add_number_to_contact"
app:showAsAction="ifRoom" />
<item
android:id="@+id/manage_people"
android:icon="@drawable/ic_add_person_vector"