Add message details menu button

Adds a "Properties" menu button in conversation, when one message
is selected, which displays details about the message:
- Type (SMS or MMS)
- Sender phone number (or receiver if it is a sent message)
- Used SIM
- Date sent at
- Date received at (if it is an incoming message)

This closes #19
This commit is contained in:
Ensar Sarajčić
2023-07-10 16:43:07 +02:00
parent 9942fb788a
commit bdd506c96e
56 changed files with 530 additions and 29 deletions

View File

@@ -1602,6 +1602,7 @@ class ThreadActivity : SimpleActivity() {
status = STATUS_NONE,
participants = participants,
date = (scheduledDateTime.millis / 1000).toInt(),
dateSent = (scheduledDateTime.millis / 1000).toInt(),
read = false,
threadId = threadId,
isMMS = isMmsMessage(text),

View File

@@ -33,6 +33,7 @@ import com.simplemobiletools.smsmessenger.activities.NewConversationActivity
import com.simplemobiletools.smsmessenger.activities.SimpleActivity
import com.simplemobiletools.smsmessenger.activities.ThreadActivity
import com.simplemobiletools.smsmessenger.activities.VCardViewerActivity
import com.simplemobiletools.smsmessenger.dialogs.MessageDetailsDialog
import com.simplemobiletools.smsmessenger.dialogs.SelectTextDialog
import com.simplemobiletools.smsmessenger.extensions.*
import com.simplemobiletools.smsmessenger.helpers.*
@@ -82,6 +83,7 @@ class ThreadAdapter(
findItem(R.id.cab_share).isVisible = isOneItemSelected && hasText
findItem(R.id.cab_forward_message).isVisible = isOneItemSelected
findItem(R.id.cab_select_text).isVisible = isOneItemSelected && hasText
findItem(R.id.cab_properties).isVisible = isOneItemSelected
}
}
@@ -98,6 +100,7 @@ class ThreadAdapter(
R.id.cab_select_text -> selectText()
R.id.cab_delete -> askConfirmDelete()
R.id.cab_select_all -> selectAll()
R.id.cab_properties -> showMessageDetails()
}
}
@@ -184,6 +187,12 @@ class ThreadAdapter(
}
}
private fun showMessageDetails() {
val message = getSelectedItems().firstOrNull() as? Message ?: return
MessageDetailsDialog(activity, message)
}
private fun askConfirmDelete() {
val itemsCnt = selectedKeys.size

View File

@@ -17,7 +17,7 @@ import com.simplemobiletools.smsmessenger.models.Conversation
import com.simplemobiletools.smsmessenger.models.Message
import com.simplemobiletools.smsmessenger.models.MessageAttachment
@Database(entities = [Conversation::class, Attachment::class, MessageAttachment::class, Message::class], version = 7)
@Database(entities = [Conversation::class, Attachment::class, MessageAttachment::class, Message::class], version = 8)
@TypeConverters(Converters::class)
abstract class MessagesDatabase : RoomDatabase() {
@@ -44,6 +44,7 @@ abstract class MessagesDatabase : RoomDatabase() {
.addMigrations(MIGRATION_4_5)
.addMigrations(MIGRATION_5_6)
.addMigrations(MIGRATION_6_7)
.addMigrations(MIGRATION_7_8)
.build()
}
}
@@ -115,5 +116,14 @@ abstract class MessagesDatabase : RoomDatabase() {
}
}
}
private val MIGRATION_7_8 = object : Migration(7, 8) {
override fun migrate(database: SupportSQLiteDatabase) {
database.apply {
execSQL("ALTER TABLE messages ADD COLUMN date_sent INTEGER NOT NULL DEFAULT 0")
execSQL("UPDATE messages SET date_sent = date")
}
}
}
}
}

View File

@@ -0,0 +1,72 @@
package com.simplemobiletools.smsmessenger.dialogs
import android.annotation.SuppressLint
import android.telephony.SubscriptionInfo
import com.simplemobiletools.commons.activities.BaseSimpleActivity
import com.simplemobiletools.commons.extensions.getAlertDialogBuilder
import com.simplemobiletools.commons.extensions.getTimeFormat
import com.simplemobiletools.commons.extensions.setupDialogStuff
import com.simplemobiletools.smsmessenger.R
import com.simplemobiletools.smsmessenger.extensions.config
import com.simplemobiletools.smsmessenger.extensions.subscriptionManagerCompat
import com.simplemobiletools.smsmessenger.models.Message
import kotlinx.android.synthetic.main.dialog_message_details.view.dialog_message_details_text_value
import org.joda.time.DateTime
class MessageDetailsDialog(val activity: BaseSimpleActivity, val message: Message) {
init {
@SuppressLint("MissingPermission")
val availableSIMs = activity.subscriptionManagerCompat().activeSubscriptionInfoList
@SuppressLint("SetTextI18n")
val view = activity.layoutInflater.inflate(R.layout.dialog_message_details, null).apply {
dialog_message_details_text_value.text = """
${activity.getString(R.string.message_details_type)}: ${message.getMessageType()}
${message.getReceiverOrSenderLabel()}: ${message.getReceiverOrSenderPhoneNumbers()}
SIM: ${message.getSIM(availableSIMs)}
${activity.getString(R.string.message_details_sent_at)}: ${message.getSentAt()}
${message.getReceivedAtLine()}
""".trimIndent().trimEnd()
}
activity.getAlertDialogBuilder()
.setPositiveButton(R.string.ok) { _, _ -> }
.apply {
activity.setupDialogStuff(view, this, R.string.message_details)
}
}
private fun Message.getMessageType(): String = if (isMMS) "MMS" else "SMS"
private fun Message.getReceiverOrSenderLabel(): String {
return if (isReceivedMessage()) {
activity.getString(R.string.message_details_sender)
} else {
activity.getString(R.string.message_details_receiver)
}
}
private fun Message.getReceiverOrSenderPhoneNumbers(): String {
return participants.joinToString(", ") { it.phoneNumbers.first().value }
}
private fun Message.getSIM(availableSIMs: List<SubscriptionInfo>): String {
return availableSIMs.firstOrNull { it.subscriptionId == subscriptionId }?.displayName?.toString() ?: activity.getString(R.string.unknown)
}
private fun Message.getSentAt(): String {
return DateTime(dateSent * 1000L).toString(activity.config.dateFormat + " " + activity.getTimeFormat())
}
private fun Message.getReceivedAtLine(): String {
return if (isReceivedMessage()) {
"${activity.getString(R.string.message_details_received_at)}: ${getReceivedAt()}"
} else {
""
}
}
private fun Message.getReceivedAt(): String {
return DateTime(date * 1000L).toString(activity.config.dateFormat + " " + activity.getTimeFormat())
}
}

View File

@@ -70,6 +70,7 @@ fun Context.getMessages(
Sms.TYPE,
Sms.ADDRESS,
Sms.DATE,
Sms.DATE_SENT,
Sms.READ,
Sms.THREAD_ID,
Sms.SUBSCRIPTION_ID,
@@ -106,6 +107,7 @@ fun Context.getMessages(
val senderName = namePhoto.name
val photoUri = namePhoto.photoUri ?: ""
val date = (cursor.getLongValue(Sms.DATE) / 1000).toInt()
val dateSent = (cursor.getLongValue(Sms.DATE_SENT) / 1000).toInt()
val read = cursor.getIntValue(Sms.READ) == 1
val thread = cursor.getLongValue(Sms.THREAD_ID)
val subscriptionId = cursor.getIntValue(Sms.SUBSCRIPTION_ID)
@@ -117,7 +119,23 @@ fun Context.getMessages(
}
val isMMS = false
val message =
Message(id, body, type, status, ArrayList(participants), date, read, thread, isMMS, null, senderNumber, senderName, photoUri, subscriptionId)
Message(
id,
body,
type,
status,
ArrayList(participants),
date,
dateSent,
read,
thread,
isMMS,
null,
senderNumber,
senderName,
photoUri,
subscriptionId
)
messages.add(message)
}
@@ -148,6 +166,7 @@ fun Context.getMMS(threadId: Long? = null, getImageResolutions: Boolean = false,
val projection = arrayOf(
Mms._ID,
Mms.DATE,
Mms.DATE_SENT,
Mms.READ,
Mms.MESSAGE_BOX,
Mms.THREAD_ID,
@@ -175,6 +194,7 @@ fun Context.getMMS(threadId: Long? = null, getImageResolutions: Boolean = false,
val mmsId = cursor.getLongValue(Mms._ID)
val type = cursor.getIntValue(Mms.MESSAGE_BOX)
val date = cursor.getLongValue(Mms.DATE).toInt()
val dateSent = cursor.getLongValue(Mms.DATE_SENT).toInt()
val read = cursor.getIntValue(Mms.READ) == 1
val threadId = cursor.getLongValue(Mms.THREAD_ID)
val subscriptionId = cursor.getIntValue(Mms.SUBSCRIPTION_ID)
@@ -202,7 +222,23 @@ fun Context.getMMS(threadId: Long? = null, getImageResolutions: Boolean = false,
}
val message =
Message(mmsId, body, type, status, participants, date, read, threadId, isMMS, attachment, senderNumber, senderName, senderPhotoUri, subscriptionId)
Message(
mmsId,
body,
type,
status,
participants,
date,
dateSent,
read,
threadId,
isMMS,
attachment,
senderNumber,
senderName,
senderPhotoUri,
subscriptionId
)
messages.add(message)
participants.forEach {
@@ -560,13 +596,24 @@ fun Context.getNameAndPhotoFromPhoneNumber(number: String): NamePhoto {
return NamePhoto(number, null)
}
fun Context.insertNewSMS(address: String, subject: String, body: String, date: Long, read: Int, threadId: Long, type: Int, subscriptionId: Int): Long {
fun Context.insertNewSMS(
address: String,
subject: String,
body: String,
date: Long,
dateSent: Long,
read: Int,
threadId: Long,
type: Int,
subscriptionId: Int
): Long {
val uri = Sms.CONTENT_URI
val contentValues = ContentValues().apply {
put(Sms.ADDRESS, address)
put(Sms.SUBJECT, subject)
put(Sms.BODY, body)
put(Sms.DATE, date)
put(Sms.DATE_SENT, dateSent)
put(Sms.READ, read)
put(Sms.THREAD_ID, threadId)
put(Sms.TYPE, type)

View File

@@ -14,6 +14,7 @@ data class Message(
@ColumnInfo(name = "status") val status: Int,
@ColumnInfo(name = "participants") val participants: ArrayList<SimpleContact>,
@ColumnInfo(name = "date") val date: Int,
@ColumnInfo(name = "date_sent") val dateSent: Int,
@ColumnInfo(name = "read") val read: Boolean,
@ColumnInfo(name = "thread_id") val threadId: Long,
@ColumnInfo(name = "is_mms") val isMMS: Boolean,
@@ -58,6 +59,7 @@ data class Message(
return old.body == new.body &&
old.threadId == new.threadId &&
old.date == new.date &&
old.dateSent == new.dateSent &&
old.isMMS == new.isMMS &&
old.attachment == new.attachment &&
old.senderPhoneNumber == new.senderPhoneNumber &&

View File

@@ -24,6 +24,7 @@ class SmsReceiver : BroadcastReceiver() {
var body = ""
var subject = ""
var date = 0L
var dateSent = 0L
var threadId = 0L
var status = Telephony.Sms.STATUS_NONE
val type = Telephony.Sms.MESSAGE_TYPE_INBOX
@@ -38,6 +39,7 @@ class SmsReceiver : BroadcastReceiver() {
status = it.status
body += it.messageBody
date = System.currentTimeMillis()
dateSent = it.timestampMillis
threadId = context.getThreadId(address)
}
@@ -45,17 +47,27 @@ class SmsReceiver : BroadcastReceiver() {
val simpleContactsHelper = SimpleContactsHelper(context)
simpleContactsHelper.exists(address, privateCursor) { exists ->
if (exists) {
handleMessage(context, address, subject, body, date, read, threadId, type, subscriptionId, status)
handleMessage(context, address, subject, body, date, dateSent, read, threadId, type, subscriptionId, status)
}
}
} else {
handleMessage(context, address, subject, body, date, read, threadId, type, subscriptionId, status)
handleMessage(context, address, subject, body, date, dateSent, read, threadId, type, subscriptionId, status)
}
}
}
private fun handleMessage(
context: Context, address: String, subject: String, body: String, date: Long, read: Int, threadId: Long, type: Int, subscriptionId: Int, status: Int
context: Context,
address: String,
subject: String,
body: String,
date: Long,
dateSent: Long,
read: Int,
threadId: Long,
type: Int,
subscriptionId: Int,
status: Int
) {
val photoUri = SimpleContactsHelper(context).getPhotoUriFromPhoneNumber(address)
val bitmap = context.getNotificationBitmap(photoUri)
@@ -63,7 +75,7 @@ class SmsReceiver : BroadcastReceiver() {
if (!context.isNumberBlocked(address)) {
val privateCursor = context.getMyContactsCursor(favoritesOnly = false, withPhoneNumbersOnly = true)
ensureBackgroundThread {
val newMessageId = context.insertNewSMS(address, subject, body, date, read, threadId, type, subscriptionId)
val newMessageId = context.insertNewSMS(address, subject, body, date, dateSent, read, threadId, type, subscriptionId)
val conversation = context.getConversations(threadId).firstOrNull() ?: return@ensureBackgroundThread
try {
@@ -81,6 +93,7 @@ class SmsReceiver : BroadcastReceiver() {
val participant = SimpleContact(0, 0, senderName, photoUri, arrayListOf(phoneNumber), ArrayList(), ArrayList())
val participants = arrayListOf(participant)
val messageDate = (date / 1000).toInt()
val messageSentDate = (dateSent / 1000).toInt()
val message =
Message(
@@ -90,6 +103,7 @@ class SmsReceiver : BroadcastReceiver() {
status,
participants,
messageDate,
messageSentDate,
false,
threadId,
false,

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<com.simplemobiletools.commons.views.MyTextView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/dialog_message_details_text_value"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingStart="@dimen/big_margin"
android:paddingTop="@dimen/big_margin"
android:paddingEnd="@dimen/big_margin"
android:textIsSelectable="true"
android:textSize="@dimen/big_text_size"
tools:text="My sample text" />

View File

@@ -26,6 +26,11 @@
android:icon="@drawable/ic_save_vector"
android:title="@string/save_as"
app:showAsAction="ifRoom" />
<item
android:id="@+id/cab_properties"
android:icon="@drawable/ic_info_vector"
android:title="@string/properties"
app:showAsAction="ifRoom" />
<item
android:id="@+id/cab_forward_message"
android:showAsAction="never"

View File

@@ -50,6 +50,13 @@
<string name="schedule_send_warning">استمر في تشغيل الهاتف وتأكد من عدم وجود شيء يقتل التطبيق أثناء وجوده في الخلفية.</string>
<string name="update_message">Update message</string>
<string name="send_now">ارسل الان</string>
<!-- Message details -->
<string name="message_details">Message details</string>
<string name="message_details_sender">Sender</string>
<string name="message_details_receiver">Receiver</string>
<string name="message_details_type">Type</string>
<string name="message_details_sent_at">Sent at</string>
<string name="message_details_received_at">Received at</string>
<!-- Notifications -->
<string name="channel_received_sms">تم تلقي الرسائل القصيرة</string>
<string name="new_message">رسالة جديدة</string>

View File

@@ -46,6 +46,13 @@
<string name="schedule_send_warning">Keep the phone on and make sure there is nothing killing the app while in background.</string>
<string name="update_message">Update message</string>
<string name="send_now">Send now</string>
<!-- Message details -->
<string name="message_details">Message details</string>
<string name="message_details_sender">Sender</string>
<string name="message_details_receiver">Receiver</string>
<string name="message_details_type">Type</string>
<string name="message_details_sent_at">Sent at</string>
<string name="message_details_received_at">Received at</string>
<!-- Notifications -->
<string name="channel_received_sms">Received SMS</string>
<string name="new_message">New message</string>

View File

@@ -48,6 +48,13 @@
<string name="schedule_send_warning">Keep the phone on and make sure there is nothing killing the app while in background.</string>
<string name="update_message">Update message</string>
<string name="send_now">Send now</string>
<!-- Message details -->
<string name="message_details">Message details</string>
<string name="message_details_sender">Sender</string>
<string name="message_details_receiver">Receiver</string>
<string name="message_details_type">Type</string>
<string name="message_details_sent_at">Sent at</string>
<string name="message_details_received_at">Received at</string>
<!-- Notifications -->
<string name="channel_received_sms">Атрымана паведамленне</string>
<string name="new_message">Новае паведамленне</string>

View File

@@ -46,6 +46,13 @@
<string name="schedule_send_warning">Keep the phone on and make sure there is nothing killing the app while in background.</string>
<string name="update_message">Update message</string>
<string name="send_now">Send now</string>
<!-- Message details -->
<string name="message_details">Message details</string>
<string name="message_details_sender">Sender</string>
<string name="message_details_receiver">Receiver</string>
<string name="message_details_type">Type</string>
<string name="message_details_sent_at">Sent at</string>
<string name="message_details_received_at">Received at</string>
<!-- Notifications -->
<string name="channel_received_sms">Получено съобщение</string>
<string name="new_message">Ново съобщение</string>

View File

@@ -46,6 +46,13 @@
<string name="schedule_send_warning">Mantingueu el telèfon engegat i assegureu-vos que no hi hagi res que mati les aplicacions en segon pla.</string>
<string name="update_message">Update message</string>
<string name="send_now">Envia ara</string>
<!-- Message details -->
<string name="message_details">Message details</string>
<string name="message_details_sender">Sender</string>
<string name="message_details_receiver">Receiver</string>
<string name="message_details_type">Type</string>
<string name="message_details_sent_at">Sent at</string>
<string name="message_details_received_at">Received at</string>
<!-- Notifications -->
<string name="channel_received_sms">SMS rebut</string>
<string name="new_message">Missatge nou</string>

View File

@@ -46,6 +46,13 @@
<string name="schedule_send_warning">Keep the phone on and make sure there is nothing killing the app while in background.</string>
<string name="update_message">Update message</string>
<string name="send_now">Send now</string>
<!-- Message details -->
<string name="message_details">Message details</string>
<string name="message_details_sender">Sender</string>
<string name="message_details_receiver">Receiver</string>
<string name="message_details_type">Type</string>
<string name="message_details_sent_at">Sent at</string>
<string name="message_details_received_at">Received at</string>
<!-- Notifications -->
<string name="channel_received_sms">Received SMS</string>
<string name="new_message">New message</string>

View File

@@ -47,6 +47,13 @@
<string name="schedule_send_warning">Ponechte telefon zapnutý a ujistěte se, že nic nezabije aplikaci běžící na pozadí.</string>
<string name="update_message">Update message</string>
<string name="send_now">Odeslat nyní</string>
<!-- Message details -->
<string name="message_details">Message details</string>
<string name="message_details_sender">Sender</string>
<string name="message_details_receiver">Receiver</string>
<string name="message_details_type">Type</string>
<string name="message_details_sent_at">Sent at</string>
<string name="message_details_received_at">Received at</string>
<!-- Notifications -->
<string name="channel_received_sms">Přijaté SMS</string>
<string name="new_message">Nová zpráva</string>

View File

@@ -46,6 +46,13 @@
<string name="schedule_send_warning">Keep the phone on and make sure there is nothing killing the app while in background.</string>
<string name="update_message">Update message</string>
<string name="send_now">Send now</string>
<!-- Message details -->
<string name="message_details">Message details</string>
<string name="message_details_sender">Sender</string>
<string name="message_details_receiver">Receiver</string>
<string name="message_details_type">Type</string>
<string name="message_details_sent_at">Sent at</string>
<string name="message_details_received_at">Received at</string>
<!-- Notifications -->
<string name="channel_received_sms">Modtag SMS</string>
<string name="new_message">Ny Besked</string>

View File

@@ -46,6 +46,13 @@
<string name="schedule_send_warning">Lassen Sie das Telefon eingeschaltet und vergewissern Sie sich, dass die Anwendung im Hintergrund nicht abgeschaltet wird.</string>
<string name="update_message">Nachricht aktualisieren</string>
<string name="send_now">Jetzt senden</string>
<!-- Message details -->
<string name="message_details">Message details</string>
<string name="message_details_sender">Sender</string>
<string name="message_details_receiver">Receiver</string>
<string name="message_details_type">Type</string>
<string name="message_details_sent_at">Sent at</string>
<string name="message_details_received_at">Received at</string>
<!-- Notifications -->
<string name="channel_received_sms">Empfangene SMS</string>
<string name="new_message">Neue Nachricht</string>

View File

@@ -46,6 +46,13 @@
<string name="schedule_send_warning">Κρατήστε το τηλέφωνο ανοιχτό και βεβαιωθείτε ότι δεν υπάρχει τίποτα που να κλείνει την εφαρμογή ενώ βρίσκεται στο παρασκήνιο.</string>
<string name="update_message">Ενημέρωση μηνύματος</string>
<string name="send_now">Αποστολή τώρα</string>
<!-- Message details -->
<string name="message_details">Message details</string>
<string name="message_details_sender">Sender</string>
<string name="message_details_receiver">Receiver</string>
<string name="message_details_type">Type</string>
<string name="message_details_sent_at">Sent at</string>
<string name="message_details_received_at">Received at</string>
<!-- Notifications -->
<string name="channel_received_sms">Ελήφθη SMS</string>
<string name="new_message">Νέο μήνυμα</string>

View File

@@ -46,6 +46,13 @@
<string name="schedule_send_warning">Keep the phone on and make sure there is nothing killing the app while in background.</string>
<string name="update_message">Update message</string>
<string name="send_now">Send now</string>
<!-- Message details -->
<string name="message_details">Message details</string>
<string name="message_details_sender">Sender</string>
<string name="message_details_receiver">Receiver</string>
<string name="message_details_type">Type</string>
<string name="message_details_sent_at">Sent at</string>
<string name="message_details_received_at">Received at</string>
<!-- Notifications -->
<string name="channel_received_sms">Received SMS</string>
<string name="new_message">Nova mesaĝo</string>

View File

@@ -47,6 +47,13 @@
<string name="schedule_send_warning">Mantenga el teléfono encendido y asegúrese de que no hay nada que mate la aplicación en segundo plano.</string>
<string name="update_message">Actualizar mensaje</string>
<string name="send_now">Enviar ahora</string>
<!-- Message details -->
<string name="message_details">Message details</string>
<string name="message_details_sender">Sender</string>
<string name="message_details_receiver">Receiver</string>
<string name="message_details_type">Type</string>
<string name="message_details_sent_at">Sent at</string>
<string name="message_details_received_at">Received at</string>
<!-- Notifications -->
<string name="channel_received_sms">Mensaje recibido</string>
<string name="new_message">Nuevo mensaje</string>

View File

@@ -46,6 +46,13 @@
<string name="schedule_send_warning">Vaata, et telefon oleks sisse lülitatud ja mitte miski ei katkestaks selle rakenduse tööd taustal.</string>
<string name="update_message">Update message</string>
<string name="send_now">Saada kohe</string>
<!-- Message details -->
<string name="message_details">Message details</string>
<string name="message_details_sender">Sender</string>
<string name="message_details_receiver">Receiver</string>
<string name="message_details_type">Type</string>
<string name="message_details_sent_at">Sent at</string>
<string name="message_details_received_at">Received at</string>
<!-- Notifications -->
<string name="channel_received_sms">Vastuvõetud SMS</string>
<string name="new_message">Uus sõnum</string>

View File

@@ -46,6 +46,13 @@
<string name="schedule_send_warning">Pidä puhelin päällä ja varmista, ettei sovellusta lopeteta taustalla.</string>
<string name="update_message">Päivitä viesti</string>
<string name="send_now">Lähetä nyt</string>
<!-- Message details -->
<string name="message_details">Message details</string>
<string name="message_details_sender">Sender</string>
<string name="message_details_receiver">Receiver</string>
<string name="message_details_type">Type</string>
<string name="message_details_sent_at">Sent at</string>
<string name="message_details_received_at">Received at</string>
<!-- Notifications -->
<string name="channel_received_sms">Vastaanotettu tekstiviesti</string>
<string name="new_message">Uusi viesti</string>

View File

@@ -47,6 +47,13 @@
<string name="schedule_send_warning">Gardez le téléphone allumé et assurez-vous que l\'application ne soit pas fermée en arrière-plan.</string>
<string name="update_message">Mettre à jour le message</string>
<string name="send_now">Envoyer maintenant</string>
<!-- Message details -->
<string name="message_details">Message details</string>
<string name="message_details_sender">Sender</string>
<string name="message_details_receiver">Receiver</string>
<string name="message_details_type">Type</string>
<string name="message_details_sent_at">Sent at</string>
<string name="message_details_received_at">Received at</string>
<!-- Notifications -->
<string name="channel_received_sms">SMS reçu</string>
<string name="new_message">Nouveau message</string>

View File

@@ -46,6 +46,13 @@
<string name="schedule_send_warning">Mantén o teléfono acendido e asegúrate de que non hai nada que mate a aplicación en segundo plano.</string>
<string name="update_message">Update message</string>
<string name="send_now">Enviar agora</string>
<!-- Message details -->
<string name="message_details">Message details</string>
<string name="message_details_sender">Sender</string>
<string name="message_details_receiver">Receiver</string>
<string name="message_details_type">Type</string>
<string name="message_details_sent_at">Sent at</string>
<string name="message_details_received_at">Received at</string>
<!-- Notifications -->
<string name="channel_received_sms">SMS recibida</string>
<string name="new_message">Nova mensaxe</string>

View File

@@ -46,6 +46,13 @@
<string name="schedule_send_warning">Keep the phone on and make sure there is nothing killing the app while in background.</string>
<string name="update_message">Update message</string>
<string name="send_now">Send now</string>
<!-- Message details -->
<string name="message_details">Message details</string>
<string name="message_details_sender">Sender</string>
<string name="message_details_receiver">Receiver</string>
<string name="message_details_type">Type</string>
<string name="message_details_sent_at">Sent at</string>
<string name="message_details_received_at">Received at</string>
<!-- Notifications -->
<string name="channel_received_sms">Received SMS</string>
<string name="new_message">New message</string>

View File

@@ -47,6 +47,13 @@
<string name="schedule_send_warning">Ostavi telefon uključen i provjeri da ništa ne prekida rad aplikacije kada je u pozadini.</string>
<string name="update_message">Ažuriraj poruku</string>
<string name="send_now">Pošalji sada</string>
<!-- Message details -->
<string name="message_details">Pojedinosti poruke</string>
<string name="message_details_sender">Šalje</string>
<string name="message_details_receiver">Prima</string>
<string name="message_details_type">Vrsta</string>
<string name="message_details_sent_at">Poslano</string>
<string name="message_details_received_at">Primljeno</string>
<!-- Notifications -->
<string name="channel_received_sms">Primljene SMS poruke</string>
<string name="new_message">Nova poruka</string>

View File

@@ -46,6 +46,13 @@
<string name="schedule_send_warning">Tartsa bekapcsolva a telefont, és győződjön meg róla, hogy semmi sem lövi ki az alkalmazást a háttérben.</string>
<string name="update_message">Üzenet frissítése</string>
<string name="send_now">Küldés most</string>
<!-- Message details -->
<string name="message_details">Message details</string>
<string name="message_details_sender">Sender</string>
<string name="message_details_receiver">Receiver</string>
<string name="message_details_type">Type</string>
<string name="message_details_sent_at">Sent at</string>
<string name="message_details_received_at">Received at</string>
<!-- Notifications -->
<string name="channel_received_sms">SMS fogadva</string>
<string name="new_message">Új üzenet</string>

View File

@@ -45,6 +45,13 @@
<string name="schedule_send_warning">Tetap nyalakan ponsel dan pastikan tidak ada apa pun yang menutup aplikasi selagi di latar belakang.</string>
<string name="update_message">Update message</string>
<string name="send_now">Kirim sekarang</string>
<!-- Message details -->
<string name="message_details">Message details</string>
<string name="message_details_sender">Sender</string>
<string name="message_details_receiver">Receiver</string>
<string name="message_details_type">Type</string>
<string name="message_details_sent_at">Sent at</string>
<string name="message_details_received_at">Received at</string>
<!-- Notifications -->
<string name="channel_received_sms">Menerima SMS</string>
<string name="new_message">Pesan baru</string>

View File

@@ -46,6 +46,13 @@
<string name="schedule_send_warning">Keep the phone on and make sure there is nothing killing the app while in background.</string>
<string name="update_message">Update message</string>
<string name="send_now">Send now</string>
<!-- Message details -->
<string name="message_details">Message details</string>
<string name="message_details_sender">Sender</string>
<string name="message_details_receiver">Receiver</string>
<string name="message_details_type">Type</string>
<string name="message_details_sent_at">Sent at</string>
<string name="message_details_received_at">Received at</string>
<!-- Notifications -->
<string name="channel_received_sms">Received SMS</string>
<string name="new_message">New message</string>

View File

@@ -47,6 +47,13 @@
<string name="schedule_send_warning">Tieni il telefono acceso e assicurati che non ci sia nulla che chiuda l\'app in background.</string>
<string name="update_message">Update message</string>
<string name="send_now">Invia ora</string>
<!-- Message details -->
<string name="message_details">Message details</string>
<string name="message_details_sender">Sender</string>
<string name="message_details_receiver">Receiver</string>
<string name="message_details_type">Type</string>
<string name="message_details_sent_at">Sent at</string>
<string name="message_details_received_at">Received at</string>
<!-- Notifications -->
<string name="channel_received_sms">SMS ricevuto</string>
<string name="new_message">Nuovo messaggio</string>

View File

@@ -48,6 +48,13 @@
<string name="schedule_send_warning">Keep the phone on and make sure there is nothing killing the app while in background.</string>
<string name="update_message">Update message</string>
<string name="send_now">Send now</string>
<!-- Message details -->
<string name="message_details">Message details</string>
<string name="message_details_sender">Sender</string>
<string name="message_details_receiver">Receiver</string>
<string name="message_details_type">Type</string>
<string name="message_details_sent_at">Sent at</string>
<string name="message_details_received_at">Received at</string>
<!-- Notifications -->
<string name="channel_received_sms">קבלת סמס</string>
<string name="new_message">הודעה חדשה</string>

View File

@@ -45,6 +45,13 @@
<string name="schedule_send_warning">端末の電源を入れたままにしつつ、アプリがバックグラウンドで強制終了されないようにしてください(バッテリー節約設定からこのアプリを除外してください)。</string>
<string name="update_message">メッセージを更新</string>
<string name="send_now">今すぐ送信</string>
<!-- Message details -->
<string name="message_details">Message details</string>
<string name="message_details_sender">Sender</string>
<string name="message_details_receiver">Receiver</string>
<string name="message_details_type">Type</string>
<string name="message_details_sent_at">Sent at</string>
<string name="message_details_received_at">Received at</string>
<!-- Notifications -->
<string name="channel_received_sms">受信した SMS</string>
<string name="new_message">新しいメッセージ</string>

View File

@@ -47,6 +47,13 @@
<string name="update_message">Update message</string>
<string name="send_now">Send now</string>
<string name="me"></string>
<!-- Message details -->
<string name="message_details">Message details</string>
<string name="message_details_sender">Sender</string>
<string name="message_details_receiver">Receiver</string>
<string name="message_details_type">Type</string>
<string name="message_details_sent_at">Sent at</string>
<string name="message_details_received_at">Received at</string>
<!-- Notifications -->
<string name="channel_received_sms">Gautos žinutės</string>
<string name="new_message">Nauja žinutė</string>

View File

@@ -47,6 +47,13 @@
<string name="schedule_send_warning">Keep the phone on and make sure there is nothing killing the app while in background.</string>
<string name="update_message">Update message</string>
<string name="send_now">Send now</string>
<!-- Message details -->
<string name="message_details">Message details</string>
<string name="message_details_sender">Sender</string>
<string name="message_details_receiver">Receiver</string>
<string name="message_details_type">Type</string>
<string name="message_details_sent_at">Sent at</string>
<string name="message_details_received_at">Received at</string>
<!-- Notifications -->
<string name="channel_received_sms">Received SMS</string>
<string name="new_message">New message</string>

View File

@@ -46,6 +46,13 @@
<string name="schedule_send_warning">Keep the phone on and make sure there is nothing killing the app while in background.</string>
<string name="update_message">Update message</string>
<string name="send_now">Send now</string>
<!-- Message details -->
<string name="message_details">Message details</string>
<string name="message_details_sender">Sender</string>
<string name="message_details_receiver">Receiver</string>
<string name="message_details_type">Type</string>
<string name="message_details_sent_at">Sent at</string>
<string name="message_details_received_at">Received at</string>
<!-- Notifications -->
<string name="channel_received_sms">Received SMS</string>
<string name="new_message">New message</string>

View File

@@ -46,6 +46,13 @@
<string name="schedule_send_warning">ഫോൺ ഓണാക്കി ബാക്ക്ഗ്രൗണ്ടിൽ ആയിരിക്കുമ്പോൾ ആപ്പിനെ നശിപ്പിക്കുന്ന ഒന്നും ഇല്ലെന്ന് ഉറപ്പാക്കുക.</string>
<string name="update_message">Update message</string>
<string name="send_now">ഇപ്പോൾ അയയ്ക്കുക</string>
<!-- Message details -->
<string name="message_details">Message details</string>
<string name="message_details_sender">Sender</string>
<string name="message_details_receiver">Receiver</string>
<string name="message_details_type">Type</string>
<string name="message_details_sent_at">Sent at</string>
<string name="message_details_received_at">Received at</string>
<!-- Notifications -->
<string name="channel_received_sms">SMS ലഭിച്ചു</string>
<string name="new_message">പുതിയ മെസ്സേജ്</string>

View File

@@ -46,6 +46,13 @@
<string name="schedule_send_warning">Ha telefonen påslått og forsikre deg at appen ikke blir terminert mens den er i bakgrunnen.</string>
<string name="update_message">Oppdater melding</string>
<string name="send_now">Send nå</string>
<!-- Message details -->
<string name="message_details">Message details</string>
<string name="message_details_sender">Sender</string>
<string name="message_details_receiver">Receiver</string>
<string name="message_details_type">Type</string>
<string name="message_details_sent_at">Sent at</string>
<string name="message_details_received_at">Received at</string>
<!-- Notifications -->
<string name="channel_received_sms">Mottatt SMS</string>
<string name="new_message">Ny melding</string>

View File

@@ -46,6 +46,13 @@
<string name="schedule_send_warning">Zorg ervoor dat het toestel blijft ingeschakeld en dat de app niet op de achtergrond wordt afgesloten.</string>
<string name="update_message">Bericht aanpassen</string>
<string name="send_now">Nu versturen</string>
<!-- Message details -->
<string name="message_details">Message details</string>
<string name="message_details_sender">Sender</string>
<string name="message_details_receiver">Receiver</string>
<string name="message_details_type">Type</string>
<string name="message_details_sent_at">Sent at</string>
<string name="message_details_received_at">Received at</string>
<!-- Notifications -->
<string name="channel_received_sms">Ontvangen berichten</string>
<string name="new_message">Nieuw bericht</string>

View File

@@ -46,6 +46,13 @@
<string name="schedule_send_warning">Keep the phone on and make sure there is nothing killing the app while in background.</string>
<string name="update_message">سنیہا بدلو</string>
<string name="send_now">ہݨے بھیجو</string>
<!-- Message details -->
<string name="message_details">Message details</string>
<string name="message_details_sender">Sender</string>
<string name="message_details_receiver">Receiver</string>
<string name="message_details_type">Type</string>
<string name="message_details_sent_at">Sent at</string>
<string name="message_details_received_at">Received at</string>
<!-- Notifications -->
<string name="channel_received_sms">سنیہا لیا گیا</string>
<string name="new_message">نواں سنیہا</string>

View File

@@ -48,6 +48,13 @@
<string name="schedule_send_warning">Pozostaw telefon włączony i upewnij się, że nic nie wyłącza aplikacji w tle.</string>
<string name="update_message">Zaktualizuj wiadomość</string>
<string name="send_now">Wyślij teraz</string>
<!-- Message details -->
<string name="message_details">Message details</string>
<string name="message_details_sender">Sender</string>
<string name="message_details_receiver">Receiver</string>
<string name="message_details_type">Type</string>
<string name="message_details_sent_at">Sent at</string>
<string name="message_details_received_at">Received at</string>
<!-- Notifications -->
<string name="channel_received_sms">Otrzymany SMS</string>
<string name="new_message">Nowa wiadomość</string>

View File

@@ -47,6 +47,13 @@
<string name="schedule_send_warning">Mantenha o telefone ligado e certifique-se de que não haja nada matando o aplicativo enquanto estiver em segundo plano.</string>
<string name="update_message">Update message</string>
<string name="send_now">Enviar agora</string>
<!-- Message details -->
<string name="message_details">Message details</string>
<string name="message_details_sender">Sender</string>
<string name="message_details_receiver">Receiver</string>
<string name="message_details_type">Type</string>
<string name="message_details_sent_at">Sent at</string>
<string name="message_details_received_at">Received at</string>
<!-- Notifications -->
<string name="channel_received_sms">SMS recebido</string>
<string name="new_message">Nova mensagem</string>

View File

@@ -47,6 +47,13 @@
<string name="schedule_send_warning">Mantenha o telefone ligado e verifique se não há nada que esteja a bloquear a aplicação em segundo plano.</string>
<string name="update_message">Atualizar mensagem</string>
<string name="send_now">Enviar agora</string>
<!-- Message details -->
<string name="message_details">Message details</string>
<string name="message_details_sender">Sender</string>
<string name="message_details_receiver">Receiver</string>
<string name="message_details_type">Type</string>
<string name="message_details_sent_at">Sent at</string>
<string name="message_details_received_at">Received at</string>
<!-- Notifications -->
<string name="channel_received_sms">SMS recebida</string>
<string name="new_message">Nova mensagem</string>

View File

@@ -47,6 +47,13 @@
<string name="schedule_send_warning">Keep the phone on and make sure there is nothing killing the app while in background.</string>
<string name="update_message">Update message</string>
<string name="send_now">Send now</string>
<!-- Message details -->
<string name="message_details">Message details</string>
<string name="message_details_sender">Sender</string>
<string name="message_details_receiver">Receiver</string>
<string name="message_details_type">Type</string>
<string name="message_details_sent_at">Sent at</string>
<string name="message_details_received_at">Received at</string>
<!-- Notifications -->
<string name="channel_received_sms">SMS-uri primite</string>
<string name="new_message">Mesaj nou</string>

View File

@@ -48,6 +48,13 @@
<string name="schedule_send_warning">Держите устройство включённым и убедитесь, что ничто не завершает принудительно приложение в фоновом режиме.</string>
<string name="update_message">Обновить сообщение</string>
<string name="send_now">Отправить сейчас</string>
<!-- Message details -->
<string name="message_details">Message details</string>
<string name="message_details_sender">Sender</string>
<string name="message_details_receiver">Receiver</string>
<string name="message_details_type">Type</string>
<string name="message_details_sent_at">Sent at</string>
<string name="message_details_received_at">Received at</string>
<!-- Notifications -->
<string name="channel_received_sms">Получено сообщение</string>
<string name="new_message">Новое сообщение</string>

View File

@@ -47,6 +47,13 @@
<string name="schedule_send_warning">Majte zapnuté zariadenie a uistite sa, že apku na pozadí nič nevypne.</string>
<string name="update_message">Upraviť správu</string>
<string name="send_now">Odoslať teraz</string>
<!-- Message details -->
<string name="message_details">Message details</string>
<string name="message_details_sender">Sender</string>
<string name="message_details_receiver">Receiver</string>
<string name="message_details_type">Type</string>
<string name="message_details_sent_at">Sent at</string>
<string name="message_details_received_at">Received at</string>
<!-- Notifications -->
<string name="channel_received_sms">Prijatá SMS</string>
<string name="new_message">Nová správa</string>

View File

@@ -48,6 +48,13 @@
<string name="schedule_send_warning">Telefon vklopite in poskrbite, da bo aplikacija v ozadju delovala.</string>
<string name="update_message">Update message</string>
<string name="send_now">Sedaj pošlji</string>
<!-- Message details -->
<string name="message_details">Message details</string>
<string name="message_details_sender">Sender</string>
<string name="message_details_receiver">Receiver</string>
<string name="message_details_type">Type</string>
<string name="message_details_sent_at">Sent at</string>
<string name="message_details_received_at">Received at</string>
<!-- Notifications -->
<string name="channel_received_sms">Prejeto SMS sporočilo</string>
<string name="new_message">Novo sporočilo</string>

View File

@@ -47,6 +47,13 @@
<string name="schedule_send_warning">Држите телефон укључен и уверите се да ништа не убија апликацију док је у позадини.</string>
<string name="update_message">Ажурирајте поруку</string>
<string name="send_now">Пошаљи одмах</string>
<!-- Message details -->
<string name="message_details">Детаљи о поруци</string>
<string name="message_details_sender">Шалје</string>
<string name="message_details_receiver">Прима</string>
<string name="message_details_type">Врста</string>
<string name="message_details_sent_at">Послано</string>
<string name="message_details_received_at">Примлјено</string>
<!-- Notifications -->
<string name="channel_received_sms">Примите СМС</string>
<string name="new_message">Нова порука</string>

View File

@@ -46,6 +46,13 @@
<string name="schedule_send_warning">Ha telefonen påslagen och kontrollera att inget avslutar appen i bakgrunden.</string>
<string name="update_message">Uppdatera meddelande</string>
<string name="send_now">Skicka nu</string>
<!-- Message details -->
<string name="message_details">Message details</string>
<string name="message_details_sender">Sender</string>
<string name="message_details_receiver">Receiver</string>
<string name="message_details_type">Type</string>
<string name="message_details_sent_at">Sent at</string>
<string name="message_details_received_at">Received at</string>
<!-- Notifications -->
<string name="channel_received_sms">Tog emot sms</string>
<string name="new_message">Nytt meddelande</string>

View File

@@ -46,6 +46,13 @@
<string name="schedule_send_warning">Keep the phone on and make sure there is nothing killing the app while in background.</string>
<string name="update_message">Update message</string>
<string name="send_now">Send now</string>
<!-- Message details -->
<string name="message_details">Message details</string>
<string name="message_details_sender">Sender</string>
<string name="message_details_receiver">Receiver</string>
<string name="message_details_type">Type</string>
<string name="message_details_sent_at">Sent at</string>
<string name="message_details_received_at">Received at</string>
<!-- Notifications -->
<string name="channel_received_sms">SMS கிடைத்தது</string>
<string name="new_message">புதிய செய்தி</string>

View File

@@ -45,6 +45,13 @@
<string name="schedule_send_warning">Keep the phone on and make sure there is nothing killing the app while in background.</string>
<string name="update_message">Update message</string>
<string name="send_now">Send now</string>
<!-- Message details -->
<string name="message_details">Message details</string>
<string name="message_details_sender">Sender</string>
<string name="message_details_receiver">Receiver</string>
<string name="message_details_type">Type</string>
<string name="message_details_sent_at">Sent at</string>
<string name="message_details_received_at">Received at</string>
<!-- Notifications -->
<string name="channel_received_sms">Received SMS</string>
<string name="new_message">New message</string>

View File

@@ -46,6 +46,13 @@
<string name="schedule_send_warning">Telefonu açık tutun ve arka planda uygulamayı sonlandıran hiçbir şey olmadığından emin olun.</string>
<string name="update_message">İletiyi güncelle</string>
<string name="send_now">Şimdi gönder</string>
<!-- Message details -->
<string name="message_details">Message details</string>
<string name="message_details_sender">Sender</string>
<string name="message_details_receiver">Receiver</string>
<string name="message_details_type">Type</string>
<string name="message_details_sent_at">Sent at</string>
<string name="message_details_received_at">Received at</string>
<!-- Notifications -->
<string name="channel_received_sms">SMS alındı</string>
<string name="new_message">Yeni ileti</string>

View File

@@ -48,6 +48,13 @@
<string name="schedule_send_warning">Тримайте телефон увімкненим і переконайтеся, що ніщо не завершує застосунок у фоновому режимі.</string>
<string name="update_message">Update message</string>
<string name="send_now">Надіслати зараз</string>
<!-- Message details -->
<string name="message_details">Message details</string>
<string name="message_details_sender">Sender</string>
<string name="message_details_receiver">Receiver</string>
<string name="message_details_type">Type</string>
<string name="message_details_sent_at">Sent at</string>
<string name="message_details_received_at">Received at</string>
<!-- Notifications -->
<string name="channel_received_sms">Отримано повідомлення</string>
<string name="new_message">Нове повідомлення</string>

View File

@@ -45,6 +45,13 @@
<string name="schedule_send_warning">保持手机开机,并确保应用后台不被终止.</string>
<string name="update_message">更新消息</string>
<string name="send_now">立即发送</string>
<!-- Message details -->
<string name="message_details">Message details</string>
<string name="message_details_sender">Sender</string>
<string name="message_details_receiver">Receiver</string>
<string name="message_details_type">Type</string>
<string name="message_details_sent_at">Sent at</string>
<string name="message_details_received_at">Received at</string>
<!-- Notifications -->
<string name="channel_received_sms">接收到的短信</string>
<string name="new_message">新消息</string>

View File

@@ -45,6 +45,13 @@
<string name="schedule_send_warning">Keep the phone on and make sure there is nothing killing the app while in background.</string>
<string name="update_message">Update message</string>
<string name="send_now">Send now</string>
<!-- Message details -->
<string name="message_details">Message details</string>
<string name="message_details_sender">Sender</string>
<string name="message_details_receiver">Receiver</string>
<string name="message_details_type">Type</string>
<string name="message_details_sent_at">Sent at</string>
<string name="message_details_received_at">Received at</string>
<!-- Notifications -->
<string name="channel_received_sms">收到的簡訊</string>
<string name="new_message">新訊息</string>

View File

@@ -46,6 +46,13 @@
<string name="schedule_send_warning">Keep the phone on and make sure there is nothing killing the app while in background.</string>
<string name="update_message">Update message</string>
<string name="send_now">Send now</string>
<!-- Message details -->
<string name="message_details">Message details</string>
<string name="message_details_sender">Sender</string>
<string name="message_details_receiver">Receiver</string>
<string name="message_details_type">Type</string>
<string name="message_details_sent_at">Sent at</string>
<string name="message_details_received_at">Received at</string>
<!-- Notifications -->
<string name="channel_received_sms">Received SMS</string>
<string name="new_message">New message</string>