mirror of
https://github.com/SimpleMobileTools/Simple-SMS-Messenger.git
synced 2025-06-05 21:49:22 +02:00
Merge pull request #231 from Aga-C/dial-contact-from-thread
Added calling contact in conversation (#230)
This commit is contained in:
@ -143,6 +143,7 @@ class ThreadActivity : SimpleActivity() {
|
|||||||
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
|
||||||
}
|
}
|
||||||
|
|
||||||
updateMenuItemColors(menu)
|
updateMenuItemColors(menu)
|
||||||
@ -157,6 +158,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.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()
|
||||||
else -> return super.onOptionsItemSelected(item)
|
else -> return super.onOptionsItemSelected(item)
|
||||||
@ -488,6 +490,11 @@ class ThreadActivity : SimpleActivity() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun dialNumber() {
|
||||||
|
val phoneNumber = participants.first().phoneNumbers.first()
|
||||||
|
dialNumber(phoneNumber)
|
||||||
|
}
|
||||||
|
|
||||||
private fun managePeople() {
|
private fun managePeople() {
|
||||||
if (thread_add_contacts.isVisible()) {
|
if (thread_add_contacts.isVisible()) {
|
||||||
hideKeyboard()
|
hideKeyboard()
|
||||||
|
@ -1,9 +1,7 @@
|
|||||||
package com.simplemobiletools.smsmessenger.adapters
|
package com.simplemobiletools.smsmessenger.adapters
|
||||||
|
|
||||||
import android.content.ActivityNotFoundException
|
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.graphics.Typeface
|
import android.graphics.Typeface
|
||||||
import android.net.Uri
|
|
||||||
import android.text.TextUtils
|
import android.text.TextUtils
|
||||||
import android.util.TypedValue
|
import android.util.TypedValue
|
||||||
import android.view.Menu
|
import android.view.Menu
|
||||||
@ -129,17 +127,8 @@ class ConversationsAdapter(
|
|||||||
|
|
||||||
private fun dialNumber() {
|
private fun dialNumber() {
|
||||||
val conversation = getSelectedItems().firstOrNull() ?: return
|
val conversation = getSelectedItems().firstOrNull() ?: return
|
||||||
Intent(Intent.ACTION_DIAL).apply {
|
activity.dialNumber(conversation.phoneNumber) {
|
||||||
data = Uri.fromParts("tel", conversation.phoneNumber, null)
|
|
||||||
|
|
||||||
try {
|
|
||||||
activity.startActivity(this)
|
|
||||||
finishActMode()
|
finishActMode()
|
||||||
} catch (e: ActivityNotFoundException) {
|
|
||||||
activity.toast(R.string.no_app_found)
|
|
||||||
} catch (e: Exception) {
|
|
||||||
activity.showErrorToast(e)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5,10 +5,7 @@ import android.app.Notification
|
|||||||
import android.app.NotificationChannel
|
import android.app.NotificationChannel
|
||||||
import android.app.NotificationManager
|
import android.app.NotificationManager
|
||||||
import android.app.PendingIntent
|
import android.app.PendingIntent
|
||||||
import android.content.ContentResolver
|
import android.content.*
|
||||||
import android.content.ContentValues
|
|
||||||
import android.content.Context
|
|
||||||
import android.content.Intent
|
|
||||||
import android.database.Cursor
|
import android.database.Cursor
|
||||||
import android.graphics.Bitmap
|
import android.graphics.Bitmap
|
||||||
import android.media.AudioAttributes
|
import android.media.AudioAttributes
|
||||||
@ -37,11 +34,10 @@ import com.simplemobiletools.smsmessenger.interfaces.MessagesDao
|
|||||||
import com.simplemobiletools.smsmessenger.models.*
|
import com.simplemobiletools.smsmessenger.models.*
|
||||||
import com.simplemobiletools.smsmessenger.receivers.DirectReplyReceiver
|
import com.simplemobiletools.smsmessenger.receivers.DirectReplyReceiver
|
||||||
import com.simplemobiletools.smsmessenger.receivers.MarkAsReadReceiver
|
import com.simplemobiletools.smsmessenger.receivers.MarkAsReadReceiver
|
||||||
|
import me.leolin.shortcutbadger.ShortcutBadger
|
||||||
import java.io.FileNotFoundException
|
import java.io.FileNotFoundException
|
||||||
import java.util.*
|
import java.util.*
|
||||||
import kotlin.collections.ArrayList
|
import kotlin.collections.ArrayList
|
||||||
import java.text.Normalizer
|
|
||||||
import me.leolin.shortcutbadger.ShortcutBadger
|
|
||||||
|
|
||||||
val Context.config: Config get() = Config.newInstance(applicationContext)
|
val Context.config: Config get() = Config.newInstance(applicationContext)
|
||||||
|
|
||||||
@ -897,3 +893,18 @@ fun Context.getFileSizeFromUri(uri: Uri): Long {
|
|||||||
return FILE_SIZE_NONE
|
return FILE_SIZE_NONE
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun Context.dialNumber(phoneNumber: String, callback: (() -> Unit)? = null) {
|
||||||
|
Intent(Intent.ACTION_DIAL).apply {
|
||||||
|
data = Uri.fromParts("tel", phoneNumber, null)
|
||||||
|
|
||||||
|
try {
|
||||||
|
startActivity(this)
|
||||||
|
callback?.invoke()
|
||||||
|
} catch (e: ActivityNotFoundException) {
|
||||||
|
toast(R.string.no_app_found)
|
||||||
|
} catch (e: Exception) {
|
||||||
|
showErrorToast(e)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -11,6 +11,11 @@
|
|||||||
android:icon="@drawable/ic_add_person_vector"
|
android:icon="@drawable/ic_add_person_vector"
|
||||||
android:title="@string/add_person"
|
android:title="@string/add_person"
|
||||||
app:showAsAction="ifRoom" />
|
app:showAsAction="ifRoom" />
|
||||||
|
<item
|
||||||
|
android:id="@+id/dial_number"
|
||||||
|
android:icon="@drawable/ic_phone_vector"
|
||||||
|
android:title="@string/dial_number"
|
||||||
|
app:showAsAction="ifRoom" />
|
||||||
<item
|
<item
|
||||||
android:id="@+id/block_number"
|
android:id="@+id/block_number"
|
||||||
android:title="@string/block_number"
|
android:title="@string/block_number"
|
||||||
|
Reference in New Issue
Block a user