diff --git a/app/build.gradle b/app/build.gradle
index 19659240..9fc60274 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -66,10 +66,10 @@ android {
}
dependencies {
- implementation 'com.github.SimpleMobileTools:Simple-Commons:4c83ec8740'
+ implementation 'com.github.SimpleMobileTools:Simple-Commons:b4cc381943'
implementation 'org.greenrobot:eventbus:3.3.1'
implementation 'com.github.tibbi:IndicatorFastScroll:4524cd0b61'
- implementation 'com.github.tibbi:android-smsmms:33fcaf94d9'
+ implementation 'com.github.tibbi:android-smsmms:5657799572'
implementation "me.leolin:ShortcutBadger:1.1.22"
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
implementation 'com.googlecode.ez-vcard:ez-vcard:0.11.3'
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 3820008d..aa49b1c0 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -128,6 +128,13 @@
android:label="@string/blocked_numbers"
android:parentActivityName=".activities.SettingsActivity" />
+
+
+ when (menuItem.itemId) {
+ R.id.add_blocked_keyword -> {
+ addOrEditBlockedKeyword()
+ true
+ }
+
+ else -> false
+ }
+ }
+ }
+
+ override fun refreshItems() {
+ updateBlockedKeywords()
+ }
+
+ private fun updateBlockedKeywords() {
+ ensureBackgroundThread {
+ val blockedKeywords = config.blockedKeywords
+ runOnUiThread {
+ ManageBlockedKeywordsAdapter(this, blockedKeywords.toArrayList(), this, manage_blocked_keywords_list) {
+ addOrEditBlockedKeyword(it as String)
+ }.apply {
+ manage_blocked_keywords_list.adapter = this
+ }
+
+ manage_blocked_keywords_placeholder.beVisibleIf(blockedKeywords.isEmpty())
+ manage_blocked_keywords_placeholder_2.beVisibleIf(blockedKeywords.isEmpty())
+ }
+ }
+ }
+
+ private fun addOrEditBlockedKeyword(keyword: String? = null) {
+ AddBlockedKeywordDialog(this, keyword) {
+ updateBlockedKeywords()
+ }
+ }
+}
diff --git a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/SettingsActivity.kt b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/SettingsActivity.kt
index cb697ece..310c81f9 100644
--- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/SettingsActivity.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/SettingsActivity.kt
@@ -48,6 +48,7 @@ class SettingsActivity : SimpleActivity() {
setupUseEnglish()
setupLanguage()
setupManageBlockedNumbers()
+ setupManageBlockedKeywords()
setupChangeDateTimeFormat()
setupFontSize()
setupShowCharacterCounter()
@@ -212,6 +213,20 @@ class SettingsActivity : SimpleActivity() {
}
}
+ private fun setupManageBlockedKeywords() {
+ settings_manage_blocked_keywords.text = addLockedLabelIfNeeded(R.string.manage_blocked_keywords)
+
+ settings_manage_blocked_keywords_holder.setOnClickListener {
+ if (isOrWasThankYouInstalled()) {
+ Intent(this, ManageBlockedKeywordsActivity::class.java).apply {
+ startActivity(this)
+ }
+ } else {
+ FeatureLockedDialog(this) { }
+ }
+ }
+ }
+
private fun setupChangeDateTimeFormat() {
settings_change_date_time_format_holder.setOnClickListener {
ChangeDateTimeFormatDialog(this) {
diff --git a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/ThreadActivity.kt b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/ThreadActivity.kt
index 08f251ac..62e03a05 100644
--- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/ThreadActivity.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/ThreadActivity.kt
@@ -1606,6 +1606,7 @@ class ThreadActivity : SimpleActivity() {
threadId = threadId,
isMMS = isMmsMessage(text),
attachment = MessageAttachment(messageId, text, buildMessageAttachments(messageId)),
+ senderPhoneNumber = "",
senderName = "",
senderPhotoUri = "",
subscriptionId = subscriptionId,
diff --git a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/ThreadAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/ThreadAdapter.kt
index 95007916..82da0e28 100644
--- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/ThreadAdapter.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/ThreadAdapter.kt
@@ -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,11 @@ class ThreadAdapter(
}
}
+ private fun showMessageDetails() {
+ val message = getSelectedItems().firstOrNull() as? Message ?: return
+ MessageDetailsDialog(activity, message)
+ }
+
private fun askConfirmDelete() {
val itemsCnt = selectedKeys.size
@@ -283,7 +291,7 @@ class ThreadAdapter(
view.apply {
thread_message_sender_photo.beVisible()
thread_message_sender_photo.setOnClickListener {
- val contact = message.participants.first()
+ val contact = message.getSender()!!
context.getContactFromAddress(contact.phoneNumbers.first().normalizedNumber) {
if (it != null) {
activity.startContactDetailsIntent(it)
diff --git a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/databases/MessagesDatabase.kt b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/databases/MessagesDatabase.kt
index 030d6be6..fca0754b 100644
--- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/databases/MessagesDatabase.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/databases/MessagesDatabase.kt
@@ -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 = 6)
+@Database(entities = [Conversation::class, Attachment::class, MessageAttachment::class, Message::class], version = 7)
@TypeConverters(Converters::class)
abstract class MessagesDatabase : RoomDatabase() {
@@ -43,6 +43,7 @@ abstract class MessagesDatabase : RoomDatabase() {
.addMigrations(MIGRATION_3_4)
.addMigrations(MIGRATION_4_5)
.addMigrations(MIGRATION_5_6)
+ .addMigrations(MIGRATION_6_7)
.build()
}
}
@@ -106,5 +107,13 @@ abstract class MessagesDatabase : RoomDatabase() {
}
}
}
+
+ private val MIGRATION_6_7 = object : Migration(6, 7) {
+ override fun migrate(database: SupportSQLiteDatabase) {
+ database.apply {
+ execSQL("ALTER TABLE messages ADD COLUMN sender_phone_number TEXT NOT NULL DEFAULT ''")
+ }
+ }
+ }
}
}
diff --git a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/dialogs/AddBlockedKeywordDialog.kt b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/dialogs/AddBlockedKeywordDialog.kt
new file mode 100644
index 00000000..2f55e791
--- /dev/null
+++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/dialogs/AddBlockedKeywordDialog.kt
@@ -0,0 +1,43 @@
+package com.simplemobiletools.smsmessenger.dialogs
+
+import androidx.appcompat.app.AlertDialog
+import com.simplemobiletools.commons.activities.BaseSimpleActivity
+import com.simplemobiletools.commons.extensions.getAlertDialogBuilder
+import com.simplemobiletools.commons.extensions.setupDialogStuff
+import com.simplemobiletools.commons.extensions.showKeyboard
+import com.simplemobiletools.commons.extensions.value
+import com.simplemobiletools.smsmessenger.R
+import com.simplemobiletools.smsmessenger.extensions.config
+import kotlinx.android.synthetic.main.dialog_add_blocked_keyword.view.add_blocked_keyword_edittext
+
+class AddBlockedKeywordDialog(val activity: BaseSimpleActivity, private val originalKeyword: String? = null, val callback: () -> Unit) {
+ init {
+ val view = activity.layoutInflater.inflate(R.layout.dialog_add_blocked_keyword, null).apply {
+ if (originalKeyword != null) {
+ add_blocked_keyword_edittext.setText(originalKeyword)
+ }
+ }
+
+ activity.getAlertDialogBuilder()
+ .setPositiveButton(R.string.ok, null)
+ .setNegativeButton(R.string.cancel, null)
+ .apply {
+ activity.setupDialogStuff(view, this) { alertDialog ->
+ alertDialog.showKeyboard(view.add_blocked_keyword_edittext)
+ alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener {
+ val newBlockedKeyword = view.add_blocked_keyword_edittext.value
+ if (originalKeyword != null && newBlockedKeyword != originalKeyword) {
+ activity.config.removeBlockedKeyword(originalKeyword)
+ }
+
+ if (newBlockedKeyword.isNotEmpty()) {
+ activity.config.addBlockedKeyword(newBlockedKeyword)
+ }
+
+ callback()
+ alertDialog.dismiss()
+ }
+ }
+ }
+ }
+}
diff --git a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/dialogs/ExportMessagesDialog.kt b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/dialogs/ExportMessagesDialog.kt
index 48bb8d5f..c3f5818f 100644
--- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/dialogs/ExportMessagesDialog.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/dialogs/ExportMessagesDialog.kt
@@ -15,6 +15,7 @@ import kotlinx.android.synthetic.main.dialog_export_messages.view.export_message
import kotlinx.android.synthetic.main.dialog_export_messages.view.export_mms_checkbox
import kotlinx.android.synthetic.main.dialog_export_messages.view.export_sms_checkbox
+
class ExportMessagesDialog(
private val activity: SimpleActivity,
private val callback: (fileName: String) -> Unit,
@@ -39,6 +40,7 @@ class ExportMessagesDialog(
filename.isAValidFilename() -> {
callback(filename)
alertDialog.dismiss()
+
}
else -> activity.toast(R.string.invalid_name)
diff --git a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/dialogs/ManageBlockedKeywordsAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/dialogs/ManageBlockedKeywordsAdapter.kt
new file mode 100644
index 00000000..51c7a855
--- /dev/null
+++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/dialogs/ManageBlockedKeywordsAdapter.kt
@@ -0,0 +1,148 @@
+package com.simplemobiletools.smsmessenger.dialogs
+
+import android.view.*
+import android.widget.PopupMenu
+import com.simplemobiletools.commons.activities.BaseSimpleActivity
+import com.simplemobiletools.commons.adapters.MyRecyclerViewAdapter
+import com.simplemobiletools.commons.extensions.copyToClipboard
+import com.simplemobiletools.commons.extensions.getPopupMenuTheme
+import com.simplemobiletools.commons.extensions.getProperTextColor
+import com.simplemobiletools.commons.extensions.setupViewBackground
+import com.simplemobiletools.commons.interfaces.RefreshRecyclerViewListener
+import com.simplemobiletools.commons.views.MyRecyclerView
+import com.simplemobiletools.smsmessenger.R
+import com.simplemobiletools.smsmessenger.extensions.config
+import kotlinx.android.synthetic.main.item_manage_blocked_keyword.view.manage_blocked_keyword_holder
+import kotlinx.android.synthetic.main.item_manage_blocked_keyword.view.manage_blocked_keyword_title
+import kotlinx.android.synthetic.main.item_manage_blocked_keyword.view.overflow_menu_anchor
+import kotlinx.android.synthetic.main.item_manage_blocked_keyword.view.overflow_menu_icon
+
+class ManageBlockedKeywordsAdapter(
+ activity: BaseSimpleActivity, var blockedKeywords: ArrayList, val listener: RefreshRecyclerViewListener?,
+ recyclerView: MyRecyclerView, itemClick: (Any) -> Unit
+) : MyRecyclerViewAdapter(activity, recyclerView, itemClick) {
+ init {
+ setupDragListener(true)
+ }
+
+ override fun getActionMenuId() = R.menu.cab_blocked_keywords
+
+ override fun prepareActionMode(menu: Menu) {
+ menu.apply {
+ findItem(R.id.cab_copy_keyword).isVisible = isOneItemSelected()
+ }
+ }
+
+ override fun actionItemPressed(id: Int) {
+ if (selectedKeys.isEmpty()) {
+ return
+ }
+
+ when (id) {
+ R.id.cab_copy_keyword -> copyKeywordToClipboard()
+ R.id.cab_delete -> deleteSelection()
+ }
+ }
+
+ override fun getSelectableItemCount() = blockedKeywords.size
+
+ override fun getIsItemSelectable(position: Int) = true
+
+ override fun getItemSelectionKey(position: Int) = blockedKeywords.getOrNull(position)?.hashCode()
+
+ override fun getItemKeyPosition(key: Int) = blockedKeywords.indexOfFirst { it.hashCode() == key }
+
+ override fun onActionModeCreated() {}
+
+ override fun onActionModeDestroyed() {}
+
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = createViewHolder(R.layout.item_manage_blocked_keyword, parent)
+
+ override fun onBindViewHolder(holder: ViewHolder, position: Int) {
+ val blockedKeyword = blockedKeywords[position]
+ holder.bindView(blockedKeyword, true, true) { itemView, _ ->
+ setupView(itemView, blockedKeyword)
+ }
+ bindViewHolder(holder)
+ }
+
+ override fun getItemCount() = blockedKeywords.size
+
+ private fun getSelectedItems() = blockedKeywords.filter { selectedKeys.contains(it.hashCode()) }
+
+ private fun setupView(view: View, blockedKeyword: String) {
+ view.apply {
+ setupViewBackground(activity)
+ manage_blocked_keyword_holder?.isSelected = selectedKeys.contains(blockedKeyword.hashCode())
+ manage_blocked_keyword_title.apply {
+ text = blockedKeyword
+ setTextColor(textColor)
+ }
+
+ overflow_menu_icon.drawable.apply {
+ mutate()
+ setTint(activity.getProperTextColor())
+ }
+
+ overflow_menu_icon.setOnClickListener {
+ showPopupMenu(overflow_menu_anchor, blockedKeyword)
+ }
+ }
+ }
+
+ private fun showPopupMenu(view: View, blockedKeyword: String) {
+ finishActMode()
+ val theme = activity.getPopupMenuTheme()
+ val contextTheme = ContextThemeWrapper(activity, theme)
+
+ PopupMenu(contextTheme, view, Gravity.END).apply {
+ inflate(getActionMenuId())
+ setOnMenuItemClickListener { item ->
+ val blockedKeywordId = blockedKeyword.hashCode()
+ when (item.itemId) {
+ R.id.cab_copy_keyword -> {
+ executeItemMenuOperation(blockedKeywordId) {
+ copyKeywordToClipboard()
+ }
+ }
+
+ R.id.cab_delete -> {
+ executeItemMenuOperation(blockedKeywordId) {
+ deleteSelection()
+ }
+ }
+ }
+ true
+ }
+ show()
+ }
+ }
+
+ private fun executeItemMenuOperation(blockedKeywordId: Int, callback: () -> Unit) {
+ selectedKeys.add(blockedKeywordId)
+ callback()
+ selectedKeys.remove(blockedKeywordId)
+ }
+
+ private fun copyKeywordToClipboard() {
+ val selectedKeyword = getSelectedItems().firstOrNull() ?: return
+ activity.copyToClipboard(selectedKeyword)
+ finishActMode()
+ }
+
+ private fun deleteSelection() {
+ val deleteBlockedKeywords = HashSet(selectedKeys.size)
+ val positions = getSelectedItemPositions()
+
+ getSelectedItems().forEach {
+ deleteBlockedKeywords.add(it)
+ activity.config.removeBlockedKeyword(it)
+ }
+
+ blockedKeywords.removeAll(deleteBlockedKeywords)
+ removeSelectedItems(positions)
+ if (blockedKeywords.isEmpty()) {
+ listener?.refreshItems()
+ }
+ }
+}
diff --git a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/dialogs/MessageDetailsDialog.kt b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/dialogs/MessageDetailsDialog.kt
new file mode 100644
index 00000000..3088cbd8
--- /dev/null
+++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/dialogs/MessageDetailsDialog.kt
@@ -0,0 +1,73 @@
+package com.simplemobiletools.smsmessenger.dialogs
+
+import android.annotation.SuppressLint
+import android.telephony.SubscriptionInfo
+import com.simplemobiletools.commons.activities.BaseSimpleActivity
+import com.simplemobiletools.commons.dialogs.BasePropertiesDialog
+import com.simplemobiletools.commons.extensions.*
+import com.simplemobiletools.smsmessenger.R
+import com.simplemobiletools.smsmessenger.extensions.config
+import com.simplemobiletools.smsmessenger.extensions.subscriptionManagerCompat
+import com.simplemobiletools.smsmessenger.models.Message
+import org.joda.time.DateTime
+
+class MessageDetailsDialog(val activity: BaseSimpleActivity, val message: Message) : BasePropertiesDialog(activity) {
+ init {
+ @SuppressLint("MissingPermission")
+ val availableSIMs = activity.subscriptionManagerCompat().activeSubscriptionInfoList
+
+ addProperty(message.getSenderOrReceiverLabel(), message.getSenderOrReceiverPhoneNumbers())
+ if (availableSIMs.count() > 1) {
+ addProperty(R.string.message_details_sim, message.getSIM(availableSIMs))
+ }
+ addProperty(message.getSentOrReceivedAtLabel(), message.getSentOrReceivedAt())
+
+ activity.getAlertDialogBuilder()
+ .setPositiveButton(R.string.ok) { _, _ -> }
+ .apply {
+ activity.setupDialogStuff(mDialogView, this, R.string.message_details)
+ }
+ }
+
+ private fun Message.getSenderOrReceiverLabel(): Int {
+ return if (isReceivedMessage()) {
+ R.string.message_details_sender
+ } else {
+ R.string.message_details_receiver
+ }
+ }
+
+ private fun Message.getSenderOrReceiverPhoneNumbers(): String {
+ return if (isReceivedMessage()) {
+ formatContactInfo(senderName, senderPhoneNumber)
+ } else {
+ participants.joinToString(", ") {
+ formatContactInfo(it.name, it.phoneNumbers.first().value)
+ }
+ }
+ }
+
+ private fun formatContactInfo(name: String, phoneNumber: String): String {
+ return if (name != phoneNumber) {
+ "$name ($phoneNumber)"
+ } else {
+ phoneNumber
+ }
+ }
+
+ private fun Message.getSIM(availableSIMs: List): String {
+ return availableSIMs.firstOrNull { it.subscriptionId == subscriptionId }?.displayName?.toString() ?: activity.getString(R.string.unknown)
+ }
+
+ private fun Message.getSentOrReceivedAtLabel(): Int {
+ return if (isReceivedMessage()) {
+ R.string.message_details_received_at
+ } else {
+ R.string.message_details_sent_at
+ }
+ }
+
+ private fun Message.getSentOrReceivedAt(): String {
+ return DateTime(date * 1000L).toString("${activity.config.dateFormat} ${activity.getTimeFormat()}")
+ }
+}
diff --git a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/extensions/Context.kt b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/extensions/Context.kt
index f0faebb5..d07b3c8d 100644
--- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/extensions/Context.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/extensions/Context.kt
@@ -116,7 +116,23 @@ fun Context.getMessages(
SimpleContact(0, 0, participantPhoto.name, photoUri, arrayListOf(phoneNumber), ArrayList(), ArrayList())
}
val isMMS = false
- val message = Message(id, body, type, status, ArrayList(participants), date, read, thread, isMMS, null, senderName, photoUri, subscriptionId)
+ val message =
+ Message(
+ id,
+ body,
+ type,
+ status,
+ ArrayList(participants),
+ date,
+ read,
+ thread,
+ isMMS,
+ null,
+ senderNumber,
+ senderName,
+ photoUri,
+ subscriptionId
+ )
messages.add(message)
}
@@ -189,17 +205,34 @@ fun Context.getMMS(threadId: Long? = null, getImageResolutions: Boolean = false,
val isMMS = true
val attachment = getMmsAttachment(mmsId, getImageResolutions)
val body = attachment.text
+ var senderNumber = ""
var senderName = ""
var senderPhotoUri = ""
if (type != Mms.MESSAGE_BOX_SENT && type != Mms.MESSAGE_BOX_FAILED) {
- val number = getMMSSender(mmsId)
- val namePhoto = getNameAndPhotoFromPhoneNumber(number)
+ senderNumber = getMMSSender(mmsId)
+ val namePhoto = getNameAndPhotoFromPhoneNumber(senderNumber)
senderName = namePhoto.name
senderPhotoUri = namePhoto.photoUri ?: ""
}
- val message = Message(mmsId, body, type, status, participants, date, read, threadId, isMMS, attachment, senderName, senderPhotoUri, subscriptionId)
+ val message =
+ Message(
+ mmsId,
+ body,
+ type,
+ status,
+ participants,
+ date,
+ read,
+ threadId,
+ isMMS,
+ attachment,
+ senderNumber,
+ senderName,
+ senderPhotoUri,
+ subscriptionId
+ )
messages.add(message)
participants.forEach {
@@ -557,7 +590,16 @@ 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,
+ read: Int,
+ threadId: Long,
+ type: Int,
+ subscriptionId: Int
+): Long {
val uri = Sms.CONTENT_URI
val contentValues = ContentValues().apply {
put(Sms.ADDRESS, address)
diff --git a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/helpers/Config.kt b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/helpers/Config.kt
index b9b5c85b..18859f76 100644
--- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/helpers/Config.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/helpers/Config.kt
@@ -68,6 +68,18 @@ class Config(context: Context) : BaseConfig(context) {
pinnedConversations = pinnedConversations.minus(conversations.map { it.threadId.toString() })
}
+ var blockedKeywords: Set
+ get() = prefs.getStringSet(BLOCKED_KEYWORDS, HashSet())!!
+ set(blockedKeywords) = prefs.edit().putStringSet(BLOCKED_KEYWORDS, blockedKeywords).apply()
+
+ fun addBlockedKeyword(keyword: String) {
+ blockedKeywords = blockedKeywords.plus(keyword)
+ }
+
+ fun removeBlockedKeyword(keyword: String) {
+ blockedKeywords = blockedKeywords.minus(keyword)
+ }
+
var exportSms: Boolean
get() = prefs.getBoolean(EXPORT_SMS, true)
set(exportSms) = prefs.edit().putBoolean(EXPORT_SMS, exportSms).apply()
diff --git a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/helpers/Constants.kt b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/helpers/Constants.kt
index 4db9a2ad..3bade2ac 100644
--- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/helpers/Constants.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/helpers/Constants.kt
@@ -25,10 +25,13 @@ const val SEND_LONG_MESSAGE_MMS = "send_long_message_mms"
const val SEND_GROUP_MESSAGE_MMS = "send_group_message_mms"
const val MMS_FILE_SIZE_LIMIT = "mms_file_size_limit"
const val PINNED_CONVERSATIONS = "pinned_conversations"
+const val BLOCKED_KEYWORDS = "blocked_keywords"
const val EXPORT_SMS = "export_sms"
const val EXPORT_MMS = "export_mms"
-const val EXPORT_MIME_TYPE = "application/json"
-const val EXPORT_FILE_EXT = ".json"
+const val JSON_FILE_EXTENSION = ".json"
+const val JSON_MIME_TYPE = "application/json"
+const val XML_MIME_TYPE = "text/xml"
+const val TXT_MIME_TYPE = "text/plain"
const val IMPORT_SMS = "import_sms"
const val IMPORT_MMS = "import_mms"
const val WAS_DB_CLEARED = "was_db_cleared_2"
diff --git a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/helpers/MessagesImporter.kt b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/helpers/MessagesImporter.kt
index c5020e31..149c9489 100644
--- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/helpers/MessagesImporter.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/helpers/MessagesImporter.kt
@@ -6,6 +6,7 @@ import com.simplemobiletools.commons.helpers.ensureBackgroundThread
import com.simplemobiletools.smsmessenger.extensions.config
import com.simplemobiletools.smsmessenger.models.*
+
class MessagesImporter(private val context: Context) {
private val messageWriter = MessagesWriter(context)
diff --git a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/helpers/MessagesReader.kt b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/helpers/MessagesReader.kt
index fbf164c5..809e3325 100644
--- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/helpers/MessagesReader.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/helpers/MessagesReader.kt
@@ -58,7 +58,6 @@ class MessagesReader(private val context: Context) {
smsList.add(SmsBackup(subscriptionId, address, body, date, dateSent, locked, protocol, read, status, type, serviceCenter))
}
}
-
return smsList
}
diff --git a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/models/Message.kt b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/models/Message.kt
index 8816d2d8..d4f6de58 100644
--- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/models/Message.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/models/Message.kt
@@ -18,6 +18,7 @@ data class Message(
@ColumnInfo(name = "thread_id") val threadId: Long,
@ColumnInfo(name = "is_mms") val isMMS: Boolean,
@ColumnInfo(name = "attachment") val attachment: MessageAttachment?,
+ @ColumnInfo(name = "sender_phone_number") val senderPhoneNumber: String,
@ColumnInfo(name = "sender_name") var senderName: String,
@ColumnInfo(name = "sender_photo_uri") val senderPhotoUri: String,
@ColumnInfo(name = "subscription_id") var subscriptionId: Int,
@@ -28,6 +29,11 @@ data class Message(
fun millis() = date * 1000L
+ fun getSender(): SimpleContact? =
+ participants.firstOrNull { it.doesHavePhoneNumber(senderPhoneNumber) }
+ ?: participants.firstOrNull { it.name == senderName }
+ ?: participants.firstOrNull()
+
companion object {
fun getStableId(message: Message): Long {
@@ -37,6 +43,7 @@ data class Message(
result = 31 * result + message.threadId.hashCode()
result = 31 * result + message.isMMS.hashCode()
result = 31 * result + (message.attachment?.hashCode() ?: 0)
+ result = 31 * result + message.senderPhoneNumber.hashCode()
result = 31 * result + message.senderName.hashCode()
result = 31 * result + message.senderPhotoUri.hashCode()
result = 31 * result + message.isScheduled.hashCode()
@@ -53,6 +60,7 @@ data class Message(
old.date == new.date &&
old.isMMS == new.isMMS &&
old.attachment == new.attachment &&
+ old.senderPhoneNumber == new.senderPhoneNumber &&
old.senderName == new.senderName &&
old.senderPhotoUri == new.senderPhotoUri &&
old.isScheduled == new.isScheduled
diff --git a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/receivers/DirectReplyReceiver.kt b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/receivers/DirectReplyReceiver.kt
index d38c4161..d04aaee1 100644
--- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/receivers/DirectReplyReceiver.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/receivers/DirectReplyReceiver.kt
@@ -37,13 +37,15 @@ class DirectReplyReceiver : BroadcastReceiver() {
}
ensureBackgroundThread {
- var messageId: Long = 0L
+ var messageId = 0L
try {
context.sendMessageCompat(body, listOf(address), subscriptionId, emptyList())
val message = context.getMessages(threadId, getImageResolutions = false, includeScheduledMessages = false, limit = 1).lastOrNull()
if (message != null) {
context.messagesDB.insertOrUpdate(message)
messageId = message.id
+
+ context.updateLastConversationMessage(threadId)
}
} catch (e: Exception) {
context.showErrorToast(e)
diff --git a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/receivers/MmsReceiver.kt b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/receivers/MmsReceiver.kt
index 13c28e59..8fdab1ae 100644
--- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/receivers/MmsReceiver.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/receivers/MmsReceiver.kt
@@ -5,6 +5,7 @@ import android.net.Uri
import android.os.Handler
import android.os.Looper
import com.bumptech.glide.Glide
+import com.klinker.android.send_message.MmsReceivedReceiver
import com.simplemobiletools.commons.extensions.isNumberBlocked
import com.simplemobiletools.commons.extensions.normalizePhoneNumber
import com.simplemobiletools.commons.helpers.ensureBackgroundThread
@@ -13,7 +14,7 @@ import com.simplemobiletools.smsmessenger.extensions.*
import com.simplemobiletools.smsmessenger.helpers.refreshMessages
// more info at https://github.com/klinker41/android-smsmms
-class MmsReceiver : com.klinker.android.send_message.MmsReceivedReceiver() {
+class MmsReceiver : MmsReceivedReceiver() {
override fun isAddressBlocked(context: Context, address: String): Boolean {
val normalizedAddress = address.normalizePhoneNumber()
@@ -22,7 +23,7 @@ class MmsReceiver : com.klinker.android.send_message.MmsReceivedReceiver() {
override fun onMessageReceived(context: Context, messageUri: Uri) {
val mms = context.getLatestMMS() ?: return
- val address = mms.participants.firstOrNull()?.phoneNumbers?.first()?.normalizedNumber ?: ""
+ val address = mms.getSender()?.phoneNumbers?.first()?.normalizedNumber ?: ""
val size = context.resources.getDimension(R.dimen.notification_large_icon_size).toInt()
ensureBackgroundThread {
diff --git a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/receivers/SmsReceiver.kt b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/receivers/SmsReceiver.kt
index 9b29db93..418a5cda 100644
--- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/receivers/SmsReceiver.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/receivers/SmsReceiver.kt
@@ -55,8 +55,21 @@ class SmsReceiver : BroadcastReceiver() {
}
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,
+ read: Int,
+ threadId: Long,
+ type: Int,
+ subscriptionId: Int,
+ status: Int
) {
+ if (isMessageFilteredOut(context, body)) {
+ return
+ }
+
val photoUri = SimpleContactsHelper(context).getPhotoUriFromPhoneNumber(address)
val bitmap = context.getNotificationBitmap(photoUri)
Handler(Looper.getMainLooper()).post {
@@ -83,7 +96,22 @@ class SmsReceiver : BroadcastReceiver() {
val messageDate = (date / 1000).toInt()
val message =
- Message(newMessageId, body, type, status, participants, messageDate, false, threadId, false, null, senderName, photoUri, subscriptionId)
+ Message(
+ newMessageId,
+ body,
+ type,
+ status,
+ participants,
+ messageDate,
+ false,
+ threadId,
+ false,
+ null,
+ address,
+ senderName,
+ photoUri,
+ subscriptionId
+ )
context.messagesDB.insertOrUpdate(message)
refreshMessages()
context.showReceivedMessageNotification(newMessageId, address, body, threadId, bitmap)
@@ -91,4 +119,14 @@ class SmsReceiver : BroadcastReceiver() {
}
}
}
+
+ private fun isMessageFilteredOut(context: Context, body: String): Boolean {
+ for (blockedKeyword in context.config.blockedKeywords) {
+ if (body.contains(blockedKeyword, ignoreCase = true)) {
+ return true
+ }
+ }
+
+ return false
+ }
}
diff --git a/app/src/main/res/layout/activity_manage_blocked_keywords.xml b/app/src/main/res/layout/activity_manage_blocked_keywords.xml
new file mode 100644
index 00000000..c5ca8a11
--- /dev/null
+++ b/app/src/main/res/layout/activity_manage_blocked_keywords.xml
@@ -0,0 +1,67 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml
index 154f95f9..8d733d2c 100644
--- a/app/src/main/res/layout/activity_settings.xml
+++ b/app/src/main/res/layout/activity_settings.xml
@@ -146,6 +146,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/dialog_message_details.xml b/app/src/main/res/layout/dialog_message_details.xml
new file mode 100644
index 00000000..13b68aaf
--- /dev/null
+++ b/app/src/main/res/layout/dialog_message_details.xml
@@ -0,0 +1,12 @@
+
+
diff --git a/app/src/main/res/layout/item_manage_blocked_keyword.xml b/app/src/main/res/layout/item_manage_blocked_keyword.xml
new file mode 100644
index 00000000..269a6c79
--- /dev/null
+++ b/app/src/main/res/layout/item_manage_blocked_keyword.xml
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/menu/cab_blocked_keywords.xml b/app/src/main/res/menu/cab_blocked_keywords.xml
new file mode 100644
index 00000000..6b366308
--- /dev/null
+++ b/app/src/main/res/menu/cab_blocked_keywords.xml
@@ -0,0 +1,14 @@
+
+
diff --git a/app/src/main/res/menu/cab_thread.xml b/app/src/main/res/menu/cab_thread.xml
index 2d4351e9..a1150743 100644
--- a/app/src/main/res/menu/cab_thread.xml
+++ b/app/src/main/res/menu/cab_thread.xml
@@ -26,6 +26,11 @@
android:icon="@drawable/ic_save_vector"
android:title="@string/save_as"
app:showAsAction="ifRoom" />
+
-
+
diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml
index 9c2555fc..cbe994ba 100644
--- a/app/src/main/res/values-ar/strings.xml
+++ b/app/src/main/res/values-ar/strings.xml
@@ -50,6 +50,12 @@
استمر في تشغيل الهاتف وتأكد من عدم وجود شيء يقتل التطبيق أثناء وجوده في الخلفية.
Update message
ارسل الان
+
+ Message details
+ المرسل
+ المتلقي
+ أرسلت في
+ تلقيت في
تم تلقي الرسائل القصيرة
رسالة جديدة
@@ -77,6 +83,11 @@
- %d رسائل
+ الكلمة الرئيسية
+ الكلمات الرئيسية المحظورة
+ إدارة الكلمات الرئيسية المحظورة
+ أنت لا تحظر أي كلمات رئيسية. يمكنك إضافة كلمات رئيسية هنا لمنع جميع الرسائل التي تحتوي عليها.
+ أضف كلمة أساسية محظورة
رؤية اشعارات شاشة القفل
المرسل والرسالة
المرسل فقط
diff --git a/app/src/main/res/values-az/strings.xml b/app/src/main/res/values-az/strings.xml
index 669639ec..46520b7e 100644
--- a/app/src/main/res/values-az/strings.xml
+++ b/app/src/main/res/values-az/strings.xml
@@ -46,6 +46,12 @@
Keep the phone on and make sure there is nothing killing the app while in background.
Update message
Send now
+
+ Message details
+ Sender
+ Receiver
+ Sent at
+ Received at
Received SMS
New message
@@ -65,6 +71,11 @@
- %d messages
+ Keyword
+ Blocked keywords
+ Manage blocked keywords
+ You are not blocking any keywords. You may add keywords here to block all messages containing them.
+ Add a blocked keyword
Lock screen notification visibility
Sender and message
Sender only
diff --git a/app/src/main/res/values-be/strings.xml b/app/src/main/res/values-be/strings.xml
index 80dabae2..f5817d89 100644
--- a/app/src/main/res/values-be/strings.xml
+++ b/app/src/main/res/values-be/strings.xml
@@ -48,6 +48,12 @@
Keep the phone on and make sure there is nothing killing the app while in background.
Update message
Send now
+
+ Message details
+ Sender
+ Receiver
+ Sent at
+ Received at
Атрымана паведамленне
Новае паведамленне
@@ -71,6 +77,11 @@
- %d паведамленняў
+ Keyword
+ Blocked keywords
+ Manage blocked keywords
+ You are not blocking any keywords. You may add keywords here to block all messages containing them.
+ Add a blocked keyword
Паказ апавяшчэнняў на экране блакавання
Адпраўнік і паведамленне
Толькі адпраўнік
diff --git a/app/src/main/res/values-bg/strings.xml b/app/src/main/res/values-bg/strings.xml
index 50d6c913..74c3f518 100644
--- a/app/src/main/res/values-bg/strings.xml
+++ b/app/src/main/res/values-bg/strings.xml
@@ -21,31 +21,37 @@
Препращане
Невъзможно е да се компресира изображението до избрания размер
- Duplicate item was not included
+ Дублиращият се елемент не беше включен
- - and %d other
- - and %d others
+ - и %d друг
+ - и %d други
Нов разговор
Добавете контакт или номер…
Предложения
- Members
- Conversation name
- Conversation details
- Rename conversation
- Only you can see this conversation name
+ Членове
+ Име на разговора
+ Подробности за разговора
+ Преименуване на разговора
+ Само вие можете да видите името на този разговор
- Scheduled message
- Schedule message
- Schedule send
- Cancel schedule send
- You must pick a time in the future
- Keep the phone on and make sure there is nothing killing the app while in background.
+ Насрочено съобщение
+ Насрочи съобщение по график
+ Планирайте изпращане
+ Отмяна на насрочено изпращане
+ Трябва да изберете време в бъдещето
+ Дръжте телефона включен и се уверете, че нищо не убива приложението, докато е във фонов режим.
Update message
- Send now
+ Изпрати Сега
+
+ Message details
+ Подател
+ Получател
+ Изпратено на
+ Получено на
Получено съобщение
Ново съобщение
@@ -65,12 +71,17 @@
- %d съобщения
+ Ключова дума
+ Блокирани ключови думи
+ Управление на блокираните ключови думи
+ Не са блокирани ключови думи. Можете да добавите ключови думи тук, за да блокирате всички съобщения, които ги съдържат.
+ Добавяне на блокирана ключова дума
Видимост на известие за съобщение при заключен екран
Изпращач и съобщение
Само изпращач
Включи отчети за доставка
Премахни ударенията и диактричните знаци при изпращане на съобщение
- Send message on pressing Enter
+ Изпратете съобщение при натискане на Enter
Промяна на размера на изпратените MMS изображения
Без ограничения
Изходящи съобщения
@@ -86,25 +97,25 @@
Импортиране на MMS
Трябва да изберете поне един елемент
- Can\'t send message to an empty number
- Unable to save message to the telephony database
- Couldn\'t send message, service unavailable
- Couldn\'t send message, radio turned off
- Couldn\'t send message, carrier error
- Couldn\'t send message, error code: %1$d
- Can\'t reply to short codes like this
- You can only reply to short codes with numbers like \"503501\" but not to codes containing letters and numbers like \"AB-CD0\".
- Attachment size exceeds max MMS limit
- SIM card not available
+ Не може да се изпрати съобщение до празен номер
+ Неуспешен запис на съобщението в телефонната база данни
+ Неуспешно изпращане на съобщението, услугата на оператора е недостъпна
+ Неуспешно изпращане на съобщението, радиото е изключено
+ Неуспешно изпращане на съобщението, грешка на оператора
+ Неуспешно изпращане на съобщението, код на грешката: %d
+ Невъзможен отговор на кратки кодове като този
+ Можете да отговаряте само на кратки кодове с цифри като \"503501\", но не и на кодове, съдържащи букви и цифри като \"AB-CD0\".
+ Размерът на прикачения файл надвишава максималното ограничение за MMS
+ SIM картата не е налична
Защо приложението изисква достъп до интернет\?
За съжаление това е нужно за изпращане на прикачени MMS. Да не може да се праща MMS би било наистина голям недостатък в сравнение с други приложения, така че решихме да тръгнем по този път. Въпреки това, както обикновено, няма реклами, следене или каквито и да е други анализаторски програми, интернетът се ползва само за изпращане на MMS.
От другата страна не получават моя MMS, мога ли да направя нещо\?
Размерът на MMS е ограничен от оператора, може да се опитате да зададете по-малък лимит в настройките на приложението.
- Does the app support scheduled messages?
- Yes, you can schedule messages to be sent in the future by long pressing the Send button and picking the desired date and time.
+ Приложението поддържа ли планирани съобщения\?
+ Да, можете да планирате изпращане на съобщения в бъдеще, като натиснете продължително бутона Изпрати и изберете желаната дата и час.
-
+
\ No newline at end of file
diff --git a/app/src/main/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml
index 18e938e5..a7cdf863 100644
--- a/app/src/main/res/values-ca/strings.xml
+++ b/app/src/main/res/values-ca/strings.xml
@@ -46,6 +46,12 @@
Mantingueu el telèfon engegat i assegureu-vos que no hi hagi res que mati les aplicacions en segon pla.
Update message
Envia ara
+
+ Message details
+ Remitent
+ Receptor
+ Enviat a
+ Rebut a
SMS rebut
Missatge nou
@@ -65,6 +71,11 @@
- %d missatges
+ Paraula clau
+ Paraules clau blocades
+ Gestiona les paraules clau blocades
+ No heu blocat cap paraula clau. Aquí podeu afegir paraules clau per a bolcar tots els missatges que les continguin.
+ Afegeix una paraula clau blocada
Visibilitat de notificacions a la pantalla de bloqueig
Remitent i missatge
Només el remitent
diff --git a/app/src/main/res/values-cr/strings.xml b/app/src/main/res/values-cr/strings.xml
index 669639ec..46520b7e 100644
--- a/app/src/main/res/values-cr/strings.xml
+++ b/app/src/main/res/values-cr/strings.xml
@@ -46,6 +46,12 @@
Keep the phone on and make sure there is nothing killing the app while in background.
Update message
Send now
+
+ Message details
+ Sender
+ Receiver
+ Sent at
+ Received at
Received SMS
New message
@@ -65,6 +71,11 @@
- %d messages
+ Keyword
+ Blocked keywords
+ Manage blocked keywords
+ You are not blocking any keywords. You may add keywords here to block all messages containing them.
+ Add a blocked keyword
Lock screen notification visibility
Sender and message
Sender only
diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml
index 56ee7077..36b3c2aa 100644
--- a/app/src/main/res/values-cs/strings.xml
+++ b/app/src/main/res/values-cs/strings.xml
@@ -47,6 +47,12 @@
Ponechte telefon zapnutý a ujistěte se, že nic nezabije aplikaci běžící na pozadí.
Update message
Odeslat nyní
+
+ Message details
+ Sender
+ Receiver
+ Sent at
+ Received at
Přijaté SMS
Nová zpráva
@@ -68,6 +74,11 @@
- %d zpráv
+ Keyword
+ Blocked keywords
+ Manage blocked keywords
+ You are not blocking any keywords. You may add keywords here to block all messages containing them.
+ Add a blocked keyword
Viditelnost upozornění na uzamčené obrazovce
Odesílatel a zpráva
Pouze odesílatel
@@ -110,4 +121,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
-
\ No newline at end of file
+
diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml
index a7b1a837..b6c51698 100644
--- a/app/src/main/res/values-da/strings.xml
+++ b/app/src/main/res/values-da/strings.xml
@@ -46,6 +46,12 @@
Keep the phone on and make sure there is nothing killing the app while in background.
Update message
Send now
+
+ Message details
+ Sender
+ Receiver
+ Sent at
+ Received at
Modtag SMS
Ny Besked
@@ -65,6 +71,11 @@
- %d beskeder
+ Keyword
+ Blocked keywords
+ Manage blocked keywords
+ You are not blocking any keywords. You may add keywords here to block all messages containing them.
+ Add a blocked keyword
Synlighed af meddelelse på låseskærmen
Afsender og meddelelse
Kun afsender
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index dd571c63..aca584c8 100644
--- a/app/src/main/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -46,6 +46,12 @@
Lassen Sie das Telefon eingeschaltet und vergewissern Sie sich, dass die Anwendung im Hintergrund nicht abgeschaltet wird.
Nachricht aktualisieren
Jetzt senden
+
+ Message details
+ Sender
+ Receiver
+ Sent at
+ Received at
Empfangene SMS
Neue Nachricht
@@ -65,6 +71,11 @@
- %d Nachrichten
+ Keyword
+ Blocked keywords
+ Manage blocked keywords
+ You are not blocking any keywords. You may add keywords here to block all messages containing them.
+ Add a blocked keyword
Sichtbarkeit von Benachrichtigungen auf dem Sperrbildschirm
Absender und Nachricht
Nur Absender
@@ -107,4 +118,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
-
\ No newline at end of file
+
diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml
index 5e613921..8ce3943e 100644
--- a/app/src/main/res/values-el/strings.xml
+++ b/app/src/main/res/values-el/strings.xml
@@ -46,6 +46,12 @@
Κρατήστε το τηλέφωνο ανοιχτό και βεβαιωθείτε ότι δεν υπάρχει τίποτα που να κλείνει την εφαρμογή ενώ βρίσκεται στο παρασκήνιο.
Ενημέρωση μηνύματος
Αποστολή τώρα
+
+ Λεπτομέρειες μηνύματος
+ Αποστολέας
+ Παραλήπτης
+ Εστάλη στις
+ Ελήφθη στις
Ελήφθη SMS
Νέο μήνυμα
@@ -65,6 +71,11 @@
- %d μηνύματα
+ Λέξη-κλειδί
+ Αποκλεισμένες λέξεις-κλειδιά
+ Διαχείριση αποκλεισμένων λέξεων-κλειδιών
+ Δεν αποκλείετε καμία λέξη-κλειδί. Μπορείτε να προσθέσετε λέξεις-κλειδιά εδώ για να αποκλείσετε όλα τα μηνύματα που τα περιέχουν.
+ Προσθέστε μια αποκλεισμένη λέξη-κλειδί
Εμφάνιση ειδοπ/σεων σε Κλειδωμένη οθόνη
Αποστολέας και μήνυμα
Αποστολέας μόνο
diff --git a/app/src/main/res/values-eo/strings.xml b/app/src/main/res/values-eo/strings.xml
index 1f3ce244..50f84e7f 100644
--- a/app/src/main/res/values-eo/strings.xml
+++ b/app/src/main/res/values-eo/strings.xml
@@ -46,6 +46,12 @@
Keep the phone on and make sure there is nothing killing the app while in background.
Update message
Send now
+
+ Message details
+ Sender
+ Receiver
+ Sent at
+ Received at
Received SMS
Nova mesaĝo
@@ -65,6 +71,11 @@
- %d mesaĝoj
+ Keyword
+ Blocked keywords
+ Manage blocked keywords
+ You are not blocking any keywords. You may add keywords here to block all messages containing them.
+ Add a blocked keyword
Lock screen notification visibility
Sendinto kaj mesaĝo
Nur sendinto
diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml
index f4b25568..54447449 100644
--- a/app/src/main/res/values-es/strings.xml
+++ b/app/src/main/res/values-es/strings.xml
@@ -47,6 +47,12 @@
Mantenga el teléfono encendido y asegúrese de que no hay nada que mate la aplicación en segundo plano.
Actualizar mensaje
Enviar ahora
+
+ Message details
+ Sender
+ Receiver
+ Sent at
+ Received at
Mensaje recibido
Nuevo mensaje
@@ -68,6 +74,11 @@
- %d mensajes
+ Keyword
+ Blocked keywords
+ Manage blocked keywords
+ You are not blocking any keywords. You may add keywords here to block all messages containing them.
+ Add a blocked keyword
Visibilidad de las notificaciones en la pantalla de bloqueo
Remitente y mensaje
Solamente el remitente
@@ -110,4 +121,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
-
\ No newline at end of file
+
diff --git a/app/src/main/res/values-et/strings.xml b/app/src/main/res/values-et/strings.xml
index d23562ae..82de861e 100644
--- a/app/src/main/res/values-et/strings.xml
+++ b/app/src/main/res/values-et/strings.xml
@@ -46,6 +46,12 @@
Vaata, et telefon oleks sisse lülitatud ja mitte miski ei katkestaks selle rakenduse tööd taustal.
Update message
Saada kohe
+
+ Message details
+ Sender
+ Receiver
+ Sent at
+ Received at
Vastuvõetud SMS
Uus sõnum
@@ -65,6 +71,11 @@
- %d sõnumeid
+ Keyword
+ Blocked keywords
+ Manage blocked keywords
+ You are not blocking any keywords. You may add keywords here to block all messages containing them.
+ Add a blocked keyword
Teavituse nähtavus lukustusvaates
Saatja ja sõnum
Ainult saatja
@@ -107,4 +118,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
-
\ No newline at end of file
+
diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml
index 5912ef49..b25da433 100644
--- a/app/src/main/res/values-fi/strings.xml
+++ b/app/src/main/res/values-fi/strings.xml
@@ -46,6 +46,12 @@
Pidä puhelin päällä ja varmista, ettei sovellusta lopeteta taustalla.
Päivitä viesti
Lähetä nyt
+
+ Message details
+ Sender
+ Receiver
+ Sent at
+ Received at
Vastaanotettu tekstiviesti
Uusi viesti
@@ -65,6 +71,11 @@
- %d viestiä
+ Keyword
+ Blocked keywords
+ Manage blocked keywords
+ You are not blocking any keywords. You may add keywords here to block all messages containing them.
+ Add a blocked keyword
Lukitusnäytön ilmoitusten näkyvyys
Lähettäjä ja viesti
Vain lähettäjä
@@ -107,4 +118,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
-
\ No newline at end of file
+
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
index 361ffcd5..38204415 100644
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -47,6 +47,12 @@
Gardez le téléphone allumé et assurez-vous que l\'application ne soit pas fermée en arrière-plan.
Mettre à jour le message
Envoyer maintenant
+
+ Message details
+ Sender
+ Receiver
+ Sent at
+ Received at
SMS reçu
Nouveau message
@@ -68,6 +74,11 @@
- %d messages
+ Keyword
+ Blocked keywords
+ Manage blocked keywords
+ You are not blocking any keywords. You may add keywords here to block all messages containing them.
+ Add a blocked keyword
Visibilité des notifications sur l\'écran de verrouillage
Expéditeur et message
Expéditeur uniquement
@@ -110,4 +121,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
-
\ No newline at end of file
+
diff --git a/app/src/main/res/values-gl/strings.xml b/app/src/main/res/values-gl/strings.xml
index 135b326d..070c72c8 100644
--- a/app/src/main/res/values-gl/strings.xml
+++ b/app/src/main/res/values-gl/strings.xml
@@ -46,6 +46,12 @@
Mantén o teléfono acendido e asegúrate de que non hai nada que mate a aplicación en segundo plano.
Update message
Enviar agora
+
+ Message details
+ Sender
+ Receiver
+ Sent at
+ Received at
SMS recibida
Nova mensaxe
@@ -65,6 +71,11 @@
- %d mensaxes
+ Keyword
+ Blocked keywords
+ Manage blocked keywords
+ You are not blocking any keywords. You may add keywords here to block all messages containing them.
+ Add a blocked keyword
Visibilidade das notificacións na pantalla de bloqueo
Remitente e mensaxe
Só remitente
@@ -107,4 +118,4 @@
Non atopaches algunhas cadeas? Hai máis en
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
-
\ No newline at end of file
+
diff --git a/app/src/main/res/values-hi/strings.xml b/app/src/main/res/values-hi/strings.xml
index 669639ec..46520b7e 100644
--- a/app/src/main/res/values-hi/strings.xml
+++ b/app/src/main/res/values-hi/strings.xml
@@ -46,6 +46,12 @@
Keep the phone on and make sure there is nothing killing the app while in background.
Update message
Send now
+
+ Message details
+ Sender
+ Receiver
+ Sent at
+ Received at
Received SMS
New message
@@ -65,6 +71,11 @@
- %d messages
+ Keyword
+ Blocked keywords
+ Manage blocked keywords
+ You are not blocking any keywords. You may add keywords here to block all messages containing them.
+ Add a blocked keyword
Lock screen notification visibility
Sender and message
Sender only
diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml
index 4adf51bd..476f985c 100644
--- a/app/src/main/res/values-hr/strings.xml
+++ b/app/src/main/res/values-hr/strings.xml
@@ -47,6 +47,12 @@
Ostavi telefon uključen i provjeri da ništa ne prekida rad aplikacije kada je u pozadini.
Ažuriraj poruku
Pošalji sada
+
+ Pojedinosti poruke
+ Šalje
+ Prima
+ Poslano
+ Primljeno
Primljene SMS poruke
Nova poruka
@@ -68,6 +74,11 @@
- %d poruka
+ Riječ
+ Blokirane riječi
+ Upravljanje blokiranim riječima
+ Ne blokirate niti jednu riječ. Ovdje možete dodati riječi kako biste blokirali poruke koje ih sadrže.
+ Dodaj blokiranu riječ
Zaključaj vidljivost ekranskih obavijesti
Pošiljatelj u poruka
Samo pošiljatelj
@@ -110,4 +121,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
-
\ No newline at end of file
+
diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml
index 5d03b980..0b4a7b4d 100644
--- a/app/src/main/res/values-hu/strings.xml
+++ b/app/src/main/res/values-hu/strings.xml
@@ -46,6 +46,12 @@
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.
Üzenet frissítése
Küldés most
+
+ Message details
+ Sender
+ Receiver
+ Sent at
+ Received at
SMS fogadva
Új üzenet
@@ -65,6 +71,11 @@
- %d üzeneteket
+ Keyword
+ Blocked keywords
+ Manage blocked keywords
+ You are not blocking any keywords. You may add keywords here to block all messages containing them.
+ Add a blocked keyword
Értesítés láthatósága zárolt képernyőnél
Feladó és üzenet
Csak a feladó
diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml
index dd1e2656..9b1fa5c7 100644
--- a/app/src/main/res/values-in/strings.xml
+++ b/app/src/main/res/values-in/strings.xml
@@ -45,6 +45,12 @@
Tetap nyalakan ponsel dan pastikan tidak ada apa pun yang menutup aplikasi selagi di latar belakang.
Update message
Kirim sekarang
+
+ Message details
+ Sender
+ Receiver
+ Sent at
+ Received at
Menerima SMS
Pesan baru
@@ -62,6 +68,11 @@
- %d pesan
+ Keyword
+ Blocked keywords
+ Manage blocked keywords
+ You are not blocking any keywords. You may add keywords here to block all messages containing them.
+ Add a blocked keyword
Keterlihatan notifikasi layar kunci
Pengirim dan pesan
Hanya pengirim
diff --git a/app/src/main/res/values-is/strings.xml b/app/src/main/res/values-is/strings.xml
index 5b0d3463..650816de 100644
--- a/app/src/main/res/values-is/strings.xml
+++ b/app/src/main/res/values-is/strings.xml
@@ -46,6 +46,12 @@
Keep the phone on and make sure there is nothing killing the app while in background.
Update message
Send now
+
+ Message details
+ Sender
+ Receiver
+ Sent at
+ Received at
Received SMS
New message
@@ -65,6 +71,11 @@
- %d messages
+ Keyword
+ Blocked keywords
+ Manage blocked keywords
+ You are not blocking any keywords. You may add keywords here to block all messages containing them.
+ Add a blocked keyword
Lock screen notification visibility
Sender and message
Sender only
diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml
index f7e8ea3a..59d5c284 100644
--- a/app/src/main/res/values-it/strings.xml
+++ b/app/src/main/res/values-it/strings.xml
@@ -47,6 +47,12 @@
Tieni il telefono acceso e assicurati che non ci sia nulla che chiuda l\'app in background.
Update message
Invia ora
+
+ Message details
+ Sender
+ Receiver
+ Sent at
+ Received at
SMS ricevuto
Nuovo messaggio
@@ -68,6 +74,11 @@
- %d messaggi
+ Keyword
+ Blocked keywords
+ Manage blocked keywords
+ You are not blocking any keywords. You may add keywords here to block all messages containing them.
+ Add a blocked keyword
Visibilità schermata di blocco
Mittente e messaggio
Solo mittente
@@ -110,4 +121,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
-
\ No newline at end of file
+
diff --git a/app/src/main/res/values-iw/strings.xml b/app/src/main/res/values-iw/strings.xml
index 895a9030..5c4dd745 100644
--- a/app/src/main/res/values-iw/strings.xml
+++ b/app/src/main/res/values-iw/strings.xml
@@ -48,6 +48,12 @@
Keep the phone on and make sure there is nothing killing the app while in background.
Update message
Send now
+
+ Message details
+ Sender
+ Receiver
+ Sent at
+ Received at
קבלת סמס
הודעה חדשה
@@ -71,6 +77,11 @@
- %d הודעות
+ Keyword
+ Blocked keywords
+ Manage blocked keywords
+ You are not blocking any keywords. You may add keywords here to block all messages containing them.
+ Add a blocked keyword
נראות התראות מסך נעילה
שולח והודעה
השולח בלבד
diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml
index b9a84b7b..3e23d7be 100644
--- a/app/src/main/res/values-ja/strings.xml
+++ b/app/src/main/res/values-ja/strings.xml
@@ -45,6 +45,12 @@
端末の電源を入れたままにしつつ、アプリがバックグラウンドで強制終了されないようにしてください(バッテリー節約設定からこのアプリを除外してください)。
メッセージを更新
今すぐ送信
+
+ Message details
+ Sender
+ Receiver
+ Sent at
+ Received at
受信した SMS
新しいメッセージ
@@ -62,6 +68,11 @@
- %d 件のメッセージ
+ Keyword
+ Blocked keywords
+ Manage blocked keywords
+ You are not blocking any keywords. You may add keywords here to block all messages containing them.
+ Add a blocked keyword
ロック画面の通知表示
差出人とメッセージ
差出人のみ
diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml
index 3d01d8c4..bb43c6e9 100644
--- a/app/src/main/res/values-lt/strings.xml
+++ b/app/src/main/res/values-lt/strings.xml
@@ -47,6 +47,12 @@
Update message
Send now
Aš
+
+ Message details
+ Sender
+ Receiver
+ Sent at
+ Received at
Gautos žinutės
Nauja žinutė
@@ -67,6 +73,11 @@
- %d žinutės
+ Keyword
+ Blocked keywords
+ Manage blocked keywords
+ You are not blocking any keywords. You may add keywords here to block all messages containing them.
+ Add a blocked keyword
Užrakinto ekrano pranešimų matomumas
Siuntėjas ir pranešimas
Tik siuntėjas
diff --git a/app/src/main/res/values-lv/strings.xml b/app/src/main/res/values-lv/strings.xml
index 76c5d375..e3eb6292 100644
--- a/app/src/main/res/values-lv/strings.xml
+++ b/app/src/main/res/values-lv/strings.xml
@@ -47,6 +47,12 @@
Keep the phone on and make sure there is nothing killing the app while in background.
Update message
Send now
+
+ Message details
+ Sender
+ Receiver
+ Sent at
+ Received at
Received SMS
New message
@@ -68,6 +74,11 @@
- %d messages
+ Keyword
+ Blocked keywords
+ Manage blocked keywords
+ You are not blocking any keywords. You may add keywords here to block all messages containing them.
+ Add a blocked keyword
Lock screen notification visibility
Sender and message
Sender only
diff --git a/app/src/main/res/values-mk/strings.xml b/app/src/main/res/values-mk/strings.xml
index 669639ec..46520b7e 100644
--- a/app/src/main/res/values-mk/strings.xml
+++ b/app/src/main/res/values-mk/strings.xml
@@ -46,6 +46,12 @@
Keep the phone on and make sure there is nothing killing the app while in background.
Update message
Send now
+
+ Message details
+ Sender
+ Receiver
+ Sent at
+ Received at
Received SMS
New message
@@ -65,6 +71,11 @@
- %d messages
+ Keyword
+ Blocked keywords
+ Manage blocked keywords
+ You are not blocking any keywords. You may add keywords here to block all messages containing them.
+ Add a blocked keyword
Lock screen notification visibility
Sender and message
Sender only
diff --git a/app/src/main/res/values-ml/strings.xml b/app/src/main/res/values-ml/strings.xml
index c78c857a..bea56ea1 100644
--- a/app/src/main/res/values-ml/strings.xml
+++ b/app/src/main/res/values-ml/strings.xml
@@ -46,6 +46,12 @@
ഫോൺ ഓണാക്കി ബാക്ക്ഗ്രൗണ്ടിൽ ആയിരിക്കുമ്പോൾ ആപ്പിനെ നശിപ്പിക്കുന്ന ഒന്നും ഇല്ലെന്ന് ഉറപ്പാക്കുക.
Update message
ഇപ്പോൾ അയയ്ക്കുക
+
+ Message details
+ Sender
+ Receiver
+ Sent at
+ Received at
SMS ലഭിച്ചു
പുതിയ മെസ്സേജ്
@@ -65,6 +71,11 @@
- %d സന്ദേശങ്ങൾ
+ Keyword
+ Blocked keywords
+ Manage blocked keywords
+ You are not blocking any keywords. You may add keywords here to block all messages containing them.
+ Add a blocked keyword
ലോക്ക് സ്ക്രീൻ അറിയിപ്പ് ദൃശ്യപരത
അയച്ചയാളും സന്ദേശവും
അയയ്ക്കുന്നയാൾ മാത്രം
diff --git a/app/src/main/res/values-nb-rNO/strings.xml b/app/src/main/res/values-nb-rNO/strings.xml
index 9157790c..92123394 100644
--- a/app/src/main/res/values-nb-rNO/strings.xml
+++ b/app/src/main/res/values-nb-rNO/strings.xml
@@ -46,6 +46,12 @@
Ha telefonen påslått og forsikre deg at appen ikke blir terminert mens den er i bakgrunnen.
Oppdater melding
Send nå
+
+ Message details
+ Sender
+ Receiver
+ Sent at
+ Received at
Mottatt SMS
Ny melding
@@ -65,6 +71,11 @@
- %d meldinger
+ Keyword
+ Blocked keywords
+ Manage blocked keywords
+ You are not blocking any keywords. You may add keywords here to block all messages containing them.
+ Add a blocked keyword
Synlighet for låseskjermvarsling
Avsender og melding
Kun avsender
@@ -107,4 +118,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
-
\ No newline at end of file
+
diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml
index 44f2cf5d..22a331d1 100644
--- a/app/src/main/res/values-nl/strings.xml
+++ b/app/src/main/res/values-nl/strings.xml
@@ -46,6 +46,12 @@
Zorg ervoor dat het toestel blijft ingeschakeld en dat de app niet op de achtergrond wordt afgesloten.
Bericht aanpassen
Nu versturen
+
+ Details
+ Afzender
+ Ontvanger
+ Verzonden op
+ Ontvangen op
Ontvangen berichten
Nieuw bericht
@@ -65,6 +71,11 @@
- %d berichten
+ Trefwoord
+ Geblokkeerde woorden
+ Geblokkeerde woorden beheren
+ Er worden geen woorden geblokkeerd. Voeg hier trefwoorden toe om alle berichten die deze woorden bevatten te blokkeren.
+ Geblokkeerd woord toevoegen
Meldingen op vergrendelscherm
Afzender en bericht
Alleen afzender
@@ -91,7 +102,7 @@
Kon het bericht niet verzenden: geen bereik
Kon het bericht niet verzenden: vliegtuigmodus
Kon het bericht niet verzenden: netwerkfout
- Kon het bericht niet verzenden: foutcode %1$d
+ Kon het bericht niet verzenden: foutcode %d
Er kan niet gereageerd worden op korte codes zoals deze
Er kan alleen worden gereageerd op korte codes met cijfers, zoals \"503501\", maar niet op codes met letters en cijfers, zoals \"AB-CD0\".
De bestandsgrootte van de bijlage overschrijdt de limiet voor MMS
@@ -101,8 +112,8 @@
Dit is helaas nodig voor het verzenden van MMS-bijlagen. Het versturen van MMS-berichten onmogelijk maken zou een te groot nadeel t.o.v. andere apps betekenen en daarom hebben we besloten om het toch toe te voegen. Zoals gewoonlijk bevat de app echter geen advertenties, tracking of analytics; de verbinding wordt alleen maar gebruikt voor het versturen van MMS-berichten.
Mijn MMS-berichten worden niet ontvangen, is er iets wat ik daaraan kan doen\?
Providers limiteren de grootte van MMS-berichten. Probeer in de instellingen de limiet voor de afbeeldingsgrootte te verlagen.
- Does the app support scheduled messages?
- Yes, you can schedule messages to be sent in the future by long pressing the Send button and picking the desired date and time.
+ Ondersteunt deze app het inplannen van berichten\?
+ Ja, berichten kunnen vertraagd verzonden worden door lang te drukken op de verzendknop en vervolgens een tijdstip voor verzending op te geven.
+ Message details
+ Sender
+ Receiver
+ Sent at
+ Received at
سنیہا لیا گیا
نواں سنیہا
@@ -65,6 +71,11 @@
- %d سنیہے
+ Keyword
+ Blocked keywords
+ Manage blocked keywords
+ You are not blocking any keywords. You may add keywords here to block all messages containing them.
+ Add a blocked keyword
Lock screen notification visibility
بھیجݨ والا تے سنیہا
صرف بھیجݨ والا
diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml
index 8d26cff7..1b2e5817 100644
--- a/app/src/main/res/values-pl/strings.xml
+++ b/app/src/main/res/values-pl/strings.xml
@@ -48,6 +48,12 @@
Pozostaw telefon włączony i upewnij się, że nic nie wyłącza aplikacji w tle.
Zaktualizuj wiadomość
Wyślij teraz
+
+ Szczegóły wiadomości
+ Nadawca
+ Odbiorca
+ Wysłana
+ Odebrana
Otrzymany SMS
Nowa wiadomość
@@ -71,6 +77,11 @@
- %d wiadomości
+ Słowo kluczowe
+ Zablokowane słowa kluczowe
+ Zarządzaj zablokowanymi słowami kluczowymi
+ Nie blokujesz żadnych słów kluczowych. Możesz dodać tutaj słowa kluczowe, aby blokować wszystkie wiadomości je zawierające.
+ Dodaj słowo kluczowe do blokowania
Widoczność powiadomień na ekranie blokady
Nadawca i treść
Tylko nadawca
diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml
index 372f162d..2e7a6122 100644
--- a/app/src/main/res/values-pt-rBR/strings.xml
+++ b/app/src/main/res/values-pt-rBR/strings.xml
@@ -47,6 +47,12 @@
Mantenha o telefone ligado e certifique-se de que não haja nada matando o aplicativo enquanto estiver em segundo plano.
Update message
Enviar agora
+
+ Message details
+ Sender
+ Receiver
+ Sent at
+ Received at
SMS recebido
Nova mensagem
@@ -68,6 +74,11 @@
- %d mensagens
+ Keyword
+ Blocked keywords
+ Manage blocked keywords
+ You are not blocking any keywords. You may add keywords here to block all messages containing them.
+ Add a blocked keyword
Visibilidade de notificação na tela de bloqueio
Remetente e mensagem
Apenas remetente
@@ -110,4 +121,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
-
\ No newline at end of file
+
diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml
index dac33dd8..58bddea5 100644
--- a/app/src/main/res/values-pt/strings.xml
+++ b/app/src/main/res/values-pt/strings.xml
@@ -47,6 +47,12 @@
Mantenha o telefone ligado e verifique se não há nada que esteja a bloquear a aplicação em segundo plano.
Atualizar mensagem
Enviar agora
+
+ Message details
+ Sender
+ Receiver
+ Sent at
+ Received at
SMS recebida
Nova mensagem
@@ -68,6 +74,11 @@
- %d mensagens
+ Keyword
+ Blocked keywords
+ Manage blocked keywords
+ You are not blocking any keywords. You may add keywords here to block all messages containing them.
+ Add a blocked keyword
Notificação no ecrã de bloqueio
Remetente e mensagem
Apenas remetente
@@ -110,4 +121,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
-
\ No newline at end of file
+
diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml
index d32f3591..7e3adc3e 100644
--- a/app/src/main/res/values-ro/strings.xml
+++ b/app/src/main/res/values-ro/strings.xml
@@ -47,6 +47,12 @@
Keep the phone on and make sure there is nothing killing the app while in background.
Update message
Send now
+
+ Message details
+ Sender
+ Receiver
+ Sent at
+ Received at
SMS-uri primite
Mesaj nou
@@ -68,6 +74,11 @@
- %d mesaje
+ Keyword
+ Blocked keywords
+ Manage blocked keywords
+ You are not blocking any keywords. You may add keywords here to block all messages containing them.
+ Add a blocked keyword
Vizibilitatea notificării pe ecranul de blocare
Expeditor şi mesaj
Doar expeditorul
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index 3371657d..f289dd76 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -48,6 +48,12 @@
Держите устройство включённым и убедитесь, что ничто не завершает принудительно приложение в фоновом режиме.
Обновить сообщение
Отправить сейчас
+
+ Сведения о сообщении
+ Отправитель
+ Получатель
+ Отправлено в
+ Получено в
Получено сообщение
Новое сообщение
@@ -71,6 +77,11 @@
- %d сообщений
+ Ключевое слово
+ Блокируемые ключевые слова
+ Управление блокируемыми ключевыми словами
+ Сейчас блокировка по ключевым словам не выполняется. Здесь можно указать ключевые слова, чтобы заблокировать все содержащиие их сообщения.
+ Добавить блокируемое ключевое слово
Отображение уведомлений на экране блокировки
Отправитель и сообщение
Только отправитель
diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml
index b2f9477e..57609a4e 100644
--- a/app/src/main/res/values-sk/strings.xml
+++ b/app/src/main/res/values-sk/strings.xml
@@ -47,6 +47,12 @@
Majte zapnuté zariadenie a uistite sa, že apku na pozadí nič nevypne.
Upraviť správu
Odoslať teraz
+
+ Detaily správy
+ Odosielateľ
+ Prijímateľ
+ Odoslané
+ Prijaté
Prijatá SMS
Nová správa
@@ -68,6 +74,11 @@
- %d správ
+ Kľúčové slovo
+ Blokované kľúčové slová
+ Spravovať blokované kľúčové slová
+ Nie sú blokované žiadne kľúčové slová. Môžete nejaké pridať, tým zablokujete všetky správy, ktoré tieto slova budú obsahovať.
+ Pridať blokované kľúčové slovo
Viditeľnosť pripomienky na uzavretej obrazovke
Odosielateľ a správa
Iba odosielateľ
diff --git a/app/src/main/res/values-sl/strings.xml b/app/src/main/res/values-sl/strings.xml
index bc55f5fc..3659fbed 100644
--- a/app/src/main/res/values-sl/strings.xml
+++ b/app/src/main/res/values-sl/strings.xml
@@ -48,6 +48,12 @@
Telefon vklopite in poskrbite, da bo aplikacija v ozadju delovala.
Update message
Sedaj pošlji
+
+ Message details
+ Sender
+ Receiver
+ Sent at
+ Received at
Prejeto SMS sporočilo
Novo sporočilo
@@ -71,6 +77,11 @@
- %d sporočil
+ Keyword
+ Blocked keywords
+ Manage blocked keywords
+ You are not blocking any keywords. You may add keywords here to block all messages containing them.
+ Add a blocked keyword
Vidnost obvestil na zaklenjenem zaslonu
Pošiljatelj in sporočilo
Samo pošiljatelj
diff --git a/app/src/main/res/values-sr/strings.xml b/app/src/main/res/values-sr/strings.xml
index 771e9cc0..23ab0c22 100644
--- a/app/src/main/res/values-sr/strings.xml
+++ b/app/src/main/res/values-sr/strings.xml
@@ -47,6 +47,12 @@
Држите телефон укључен и уверите се да ништа не убија апликацију док је у позадини.
Ажурирајте поруку
Пошаљи одмах
+
+ Детаљи о поруци
+ Шалје
+ Прима
+ Послано
+ Примлјено
Примите СМС
Нова порука
@@ -68,6 +74,11 @@
- %d порукe
+ Ријеч
+ Блокиране ријечи
+ Управљање блокираним ријечима
+ Не блокирате ни једну ријеч. Овдје можете додати ријечи како бисте блокирали све поруке које их садрже.
+ Додај блокирану ријеч.
Видљивост обавештења на закључаном екрану
Пошиљалац и порука
Само пошиљалац
diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml
index 5a722d79..ba1337e6 100644
--- a/app/src/main/res/values-sv/strings.xml
+++ b/app/src/main/res/values-sv/strings.xml
@@ -46,6 +46,12 @@
Ha telefonen påslagen och kontrollera att inget avslutar appen i bakgrunden.
Uppdatera meddelande
Skicka nu
+
+ Message details
+ Sender
+ Receiver
+ Sent at
+ Received at
Tog emot sms
Nytt meddelande
@@ -65,6 +71,11 @@
- %d meddelanden
+ Keyword
+ Blocked keywords
+ Manage blocked keywords
+ You are not blocking any keywords. You may add keywords here to block all messages containing them.
+ Add a blocked keyword
Synlighet för aviseringar på låsskärmen
Avsändare och meddelande
Endast avsändare
@@ -107,4 +118,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
-
\ No newline at end of file
+
diff --git a/app/src/main/res/values-ta/strings.xml b/app/src/main/res/values-ta/strings.xml
index 1029c6d4..4fd6fe22 100644
--- a/app/src/main/res/values-ta/strings.xml
+++ b/app/src/main/res/values-ta/strings.xml
@@ -46,6 +46,12 @@
Keep the phone on and make sure there is nothing killing the app while in background.
Update message
Send now
+
+ Message details
+ Sender
+ Receiver
+ Sent at
+ Received at
SMS கிடைத்தது
புதிய செய்தி
@@ -65,6 +71,11 @@
- %d செய்திகள்
+ Keyword
+ Blocked keywords
+ Manage blocked keywords
+ You are not blocking any keywords. You may add keywords here to block all messages containing them.
+ Add a blocked keyword
பூட்டுத் திரை அறிவிப்புத் தெரிவுநிலை
அனுப்புநர் மற்றும் செய்தி
அனுப்புநர் மட்டும்
diff --git a/app/src/main/res/values-th/strings.xml b/app/src/main/res/values-th/strings.xml
index 9a1916d2..5b53abfb 100644
--- a/app/src/main/res/values-th/strings.xml
+++ b/app/src/main/res/values-th/strings.xml
@@ -45,6 +45,12 @@
Keep the phone on and make sure there is nothing killing the app while in background.
Update message
Send now
+
+ Message details
+ Sender
+ Receiver
+ Sent at
+ Received at
Received SMS
New message
@@ -62,6 +68,11 @@
- %d message
+ Keyword
+ Blocked keywords
+ Manage blocked keywords
+ You are not blocking any keywords. You may add keywords here to block all messages containing them.
+ Add a blocked keyword
Lock screen notification visibility
Sender and message
Sender only
diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml
index 650aa34a..f2183dab 100644
--- a/app/src/main/res/values-tr/strings.xml
+++ b/app/src/main/res/values-tr/strings.xml
@@ -46,6 +46,12 @@
Telefonu açık tutun ve arka planda uygulamayı sonlandıran hiçbir şey olmadığından emin olun.
İletiyi güncelle
Şimdi gönder
+
+ Message details
+ Gönderen
+ Alıcı
+ Gönderildi
+ Alındı
SMS alındı
Yeni ileti
@@ -65,6 +71,11 @@
- %d ileti
+ Anahtar sözcük
+ Engellenen anahtar sözcükler
+ Engellenen anahtar sözcükleri yönet
+ Herhangi bir anahtar sözcük engellemiyorsunuz. Bunları içeren tüm mesajları engellemek için buraya anahtar sözcükler ekleyebilirsiniz.
+ Engellenen anahtar sözcük ekle
Kilit ekranı bildirim görünürlüğü
Gönderen ve ileti
Yalnızca gönderen
diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml
index 734c22a2..4555c127 100644
--- a/app/src/main/res/values-uk/strings.xml
+++ b/app/src/main/res/values-uk/strings.xml
@@ -48,6 +48,12 @@
Тримайте телефон увімкненим і переконайтеся, що ніщо не завершує застосунок у фоновому режимі.
Update message
Надіслати зараз
+
+ Message details
+ Sender
+ Receiver
+ Sent at
+ Received at
Отримано повідомлення
Нове повідомлення
@@ -71,6 +77,11 @@
- %d повідомлень
+ Keyword
+ Blocked keywords
+ Manage blocked keywords
+ You are not blocking any keywords. You may add keywords here to block all messages containing them.
+ Add a blocked keyword
Видимість сповіщень на екрані блокування
Відправник і повідомлення
Лише відправник
@@ -113,4 +124,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
-
\ No newline at end of file
+
diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml
index 6a035913..b1e6a241 100644
--- a/app/src/main/res/values-zh-rCN/strings.xml
+++ b/app/src/main/res/values-zh-rCN/strings.xml
@@ -45,6 +45,12 @@
保持手机开机,并确保应用后台不被终止.
更新消息
立即发送
+
+ 消息详情
+ 发送者
+ 接收者
+ 发送于
+ 接收于
接收到的短信
新消息
@@ -62,6 +68,11 @@
- %d 个消息
+ 关键词
+ 关键词黑名单
+ 管理关键词黑名单
+ 你没有拦截任何关键词。你可以在此添加关键词来拦截包含它们的所有信息。
+ 添加拦截关键词
锁屏通知可见性
发信人和消息
仅发信人
diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml
index 012d4194..add8c8d2 100644
--- a/app/src/main/res/values-zh-rTW/strings.xml
+++ b/app/src/main/res/values-zh-rTW/strings.xml
@@ -45,6 +45,12 @@
Keep the phone on and make sure there is nothing killing the app while in background.
Update message
Send now
+
+ Message details
+ Sender
+ Receiver
+ Sent at
+ Received at
收到的簡訊
新訊息
@@ -62,6 +68,11 @@
- %d 則訊息
+ Keyword
+ Blocked keywords
+ Manage blocked keywords
+ You are not blocking any keywords. You may add keywords here to block all messages containing them.
+ Add a blocked keyword
鎖定畫面通知顯示
Sender and message
Sender only
diff --git a/app/src/main/res/values/donottranslate.xml b/app/src/main/res/values/donottranslate.xml
index cfc80cca..687d1e68 100644
--- a/app/src/main/res/values/donottranslate.xml
+++ b/app/src/main/res/values/donottranslate.xml
@@ -10,6 +10,7 @@
2MB
SMS
MMS
+ SIM
Allow scheduling messages by long pressing the Send button
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 0e2a271f..94af3996 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -46,6 +46,12 @@
Keep the phone on and make sure there is nothing killing the app while in background.
Update message
Send now
+
+ Message details
+ Sender
+ Receiver
+ Sent at
+ Received at
Received SMS
New message
@@ -65,6 +71,11 @@
- %d messages
+ Keyword
+ Blocked keywords
+ Manage blocked keywords
+ You are not blocking any keywords. You may add keywords here to block all messages containing them.
+ Add a blocked keyword
Lock screen notification visibility
Sender and message
Sender only