allow storing unstored numbers from the conversation screen too
This commit is contained in:
parent
57a417f42b
commit
aa495b4251
|
@ -9,7 +9,6 @@ import android.graphics.drawable.LayerDrawable
|
||||||
import android.media.MediaMetadataRetriever
|
import android.media.MediaMetadataRetriever
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.os.Handler
|
|
||||||
import android.provider.ContactsContract
|
import android.provider.ContactsContract
|
||||||
import android.provider.Telephony
|
import android.provider.Telephony
|
||||||
import android.telephony.SmsMessage
|
import android.telephony.SmsMessage
|
||||||
|
@ -146,10 +145,16 @@ class ThreadActivity : SimpleActivity() {
|
||||||
|
|
||||||
override fun onCreateOptionsMenu(menu: Menu): Boolean {
|
override fun onCreateOptionsMenu(menu: Menu): Boolean {
|
||||||
menuInflater.inflate(R.menu.menu_thread, menu)
|
menuInflater.inflate(R.menu.menu_thread, menu)
|
||||||
|
val firstPhoneNumber = participants.firstOrNull()?.phoneNumbers?.firstOrNull()?.value
|
||||||
menu.apply {
|
menu.apply {
|
||||||
findItem(R.id.delete).isVisible = threadItems.isNotEmpty()
|
findItem(R.id.delete).isVisible = threadItems.isNotEmpty()
|
||||||
findItem(R.id.block_number).isVisible = isNougatPlus()
|
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
|
||||||
|
|
||||||
|
// 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)
|
updateMenuItemColors(menu)
|
||||||
|
@ -164,6 +169,7 @@ class ThreadActivity : SimpleActivity() {
|
||||||
when (item.itemId) {
|
when (item.itemId) {
|
||||||
R.id.block_number -> blockNumber()
|
R.id.block_number -> blockNumber()
|
||||||
R.id.delete -> askConfirmDelete()
|
R.id.delete -> askConfirmDelete()
|
||||||
|
R.id.add_number_to_contact -> addNumberToContact()
|
||||||
R.id.dial_number -> dialNumber()
|
R.id.dial_number -> dialNumber()
|
||||||
R.id.manage_people -> managePeople()
|
R.id.manage_people -> managePeople()
|
||||||
R.id.mark_as_unread -> markAsUnread()
|
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")
|
@SuppressLint("MissingPermission")
|
||||||
private fun getThreadItems(): ArrayList<ThreadItem> {
|
private fun getThreadItems(): ArrayList<ThreadItem> {
|
||||||
val items = ArrayList<ThreadItem>()
|
val items = ArrayList<ThreadItem>()
|
||||||
|
|
|
@ -7,10 +7,10 @@ import android.graphics.Bitmap
|
||||||
import android.os.Handler
|
import android.os.Handler
|
||||||
import android.os.Looper
|
import android.os.Looper
|
||||||
import android.provider.Telephony
|
import android.provider.Telephony
|
||||||
import com.simplemobiletools.commons.extensions.getMyContactsCursor
|
|
||||||
import com.bumptech.glide.Glide
|
import com.bumptech.glide.Glide
|
||||||
import com.bumptech.glide.load.engine.DiskCacheStrategy
|
import com.bumptech.glide.load.engine.DiskCacheStrategy
|
||||||
import com.bumptech.glide.request.RequestOptions
|
import com.bumptech.glide.request.RequestOptions
|
||||||
|
import com.simplemobiletools.commons.extensions.getMyContactsCursor
|
||||||
import com.simplemobiletools.commons.extensions.isNumberBlocked
|
import com.simplemobiletools.commons.extensions.isNumberBlocked
|
||||||
import com.simplemobiletools.commons.helpers.SimpleContactsHelper
|
import com.simplemobiletools.commons.helpers.SimpleContactsHelper
|
||||||
import com.simplemobiletools.commons.helpers.ensureBackgroundThread
|
import com.simplemobiletools.commons.helpers.ensureBackgroundThread
|
||||||
|
|
|
@ -11,6 +11,10 @@
|
||||||
android:icon="@drawable/ic_phone_vector"
|
android:icon="@drawable/ic_phone_vector"
|
||||||
android:title="@string/dial_number"
|
android:title="@string/dial_number"
|
||||||
app:showAsAction="ifRoom" />
|
app:showAsAction="ifRoom" />
|
||||||
|
<item
|
||||||
|
android:id="@+id/add_number_to_contact"
|
||||||
|
android:title="@string/add_number_to_contact"
|
||||||
|
app:showAsAction="ifRoom" />
|
||||||
<item
|
<item
|
||||||
android:id="@+id/manage_people"
|
android:id="@+id/manage_people"
|
||||||
android:icon="@drawable/ic_add_person_vector"
|
android:icon="@drawable/ic_add_person_vector"
|
||||||
|
|
Loading…
Reference in New Issue