mirror of
https://github.com/SimpleMobileTools/Simple-SMS-Messenger.git
synced 2025-06-05 21:49:22 +02:00
Merge pull request #700 from esensar/feature/451-recycle-bin
Add support for recycle bin for messages
This commit is contained in:
@@ -51,6 +51,13 @@
|
|||||||
android:configChanges="orientation"
|
android:configChanges="orientation"
|
||||||
android:exported="true" />
|
android:exported="true" />
|
||||||
|
|
||||||
|
<activity
|
||||||
|
android:name=".activities.RecycleBinConversationsActivity"
|
||||||
|
android:configChanges="orientation"
|
||||||
|
android:exported="true"
|
||||||
|
android:label="@string/recycle_bin"
|
||||||
|
android:parentActivityName=".activities.MainActivity" />
|
||||||
|
|
||||||
<activity
|
<activity
|
||||||
android:name=".activities.ArchivedConversationsActivity"
|
android:name=".activities.ArchivedConversationsActivity"
|
||||||
android:configChanges="orientation"
|
android:configChanges="orientation"
|
||||||
|
@@ -53,6 +53,7 @@ class MainActivity : SimpleActivity() {
|
|||||||
updateMaterialActivityViews(main_coordinator, conversations_list, useTransparentNavigation = true, useTopSearchMenu = true)
|
updateMaterialActivityViews(main_coordinator, conversations_list, useTransparentNavigation = true, useTopSearchMenu = true)
|
||||||
|
|
||||||
if (savedInstanceState == null) {
|
if (savedInstanceState == null) {
|
||||||
|
checkAndDeleteOldRecycleBinMessages()
|
||||||
handleAppPasswordProtection {
|
handleAppPasswordProtection {
|
||||||
wasProtectionHandled = it
|
wasProtectionHandled = it
|
||||||
if (it) {
|
if (it) {
|
||||||
@@ -73,6 +74,7 @@ class MainActivity : SimpleActivity() {
|
|||||||
override fun onResume() {
|
override fun onResume() {
|
||||||
super.onResume()
|
super.onResume()
|
||||||
updateMenuColors()
|
updateMenuColors()
|
||||||
|
refreshMenuItems()
|
||||||
|
|
||||||
getOrCreateConversationsAdapter().apply {
|
getOrCreateConversationsAdapter().apply {
|
||||||
if (storedTextColor != getProperTextColor()) {
|
if (storedTextColor != getProperTextColor()) {
|
||||||
@@ -164,6 +166,7 @@ class MainActivity : SimpleActivity() {
|
|||||||
main_menu.getToolbar().setOnMenuItemClickListener { menuItem ->
|
main_menu.getToolbar().setOnMenuItemClickListener { menuItem ->
|
||||||
when (menuItem.itemId) {
|
when (menuItem.itemId) {
|
||||||
R.id.more_apps_from_us -> launchMoreAppsFromUsIntent()
|
R.id.more_apps_from_us -> launchMoreAppsFromUsIntent()
|
||||||
|
R.id.show_recycle_bin -> launchRecycleBin()
|
||||||
R.id.show_archived -> launchArchivedConversations()
|
R.id.show_archived -> launchArchivedConversations()
|
||||||
R.id.settings -> launchSettings()
|
R.id.settings -> launchSettings()
|
||||||
R.id.about -> launchAbout()
|
R.id.about -> launchAbout()
|
||||||
@@ -176,6 +179,7 @@ class MainActivity : SimpleActivity() {
|
|||||||
private fun refreshMenuItems() {
|
private fun refreshMenuItems() {
|
||||||
main_menu.getToolbar().menu.apply {
|
main_menu.getToolbar().menu.apply {
|
||||||
findItem(R.id.more_apps_from_us).isVisible = !resources.getBoolean(R.bool.hide_google_relations)
|
findItem(R.id.more_apps_from_us).isVisible = !resources.getBoolean(R.bool.hide_google_relations)
|
||||||
|
findItem(R.id.show_recycle_bin).isVisible = config.useRecycleBin
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -548,6 +552,11 @@ class MainActivity : SimpleActivity() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun launchRecycleBin() {
|
||||||
|
hideKeyboard()
|
||||||
|
startActivity(Intent(applicationContext, RecycleBinConversationsActivity::class.java))
|
||||||
|
}
|
||||||
|
|
||||||
private fun launchArchivedConversations() {
|
private fun launchArchivedConversations() {
|
||||||
hideKeyboard()
|
hideKeyboard()
|
||||||
startActivity(Intent(applicationContext, ArchivedConversationsActivity::class.java))
|
startActivity(Intent(applicationContext, ArchivedConversationsActivity::class.java))
|
||||||
|
@@ -0,0 +1,163 @@
|
|||||||
|
package com.simplemobiletools.smsmessenger.activities
|
||||||
|
|
||||||
|
import android.annotation.SuppressLint
|
||||||
|
import android.content.Intent
|
||||||
|
import android.os.Bundle
|
||||||
|
import com.simplemobiletools.commons.dialogs.ConfirmationDialog
|
||||||
|
import com.simplemobiletools.commons.extensions.*
|
||||||
|
import com.simplemobiletools.commons.helpers.*
|
||||||
|
import com.simplemobiletools.smsmessenger.R
|
||||||
|
import com.simplemobiletools.smsmessenger.adapters.ConversationsAdapter
|
||||||
|
import com.simplemobiletools.smsmessenger.adapters.RecycleBinConversationsAdapter
|
||||||
|
import com.simplemobiletools.smsmessenger.extensions.*
|
||||||
|
import com.simplemobiletools.smsmessenger.helpers.*
|
||||||
|
import com.simplemobiletools.smsmessenger.models.Conversation
|
||||||
|
import com.simplemobiletools.smsmessenger.models.Events
|
||||||
|
import kotlinx.android.synthetic.main.activity_recycle_bin_conversations.*
|
||||||
|
import org.greenrobot.eventbus.EventBus
|
||||||
|
import org.greenrobot.eventbus.Subscribe
|
||||||
|
import org.greenrobot.eventbus.ThreadMode
|
||||||
|
|
||||||
|
class RecycleBinConversationsActivity : SimpleActivity() {
|
||||||
|
private var bus: EventBus? = null
|
||||||
|
|
||||||
|
@SuppressLint("InlinedApi")
|
||||||
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
|
isMaterialActivity = true
|
||||||
|
super.onCreate(savedInstanceState)
|
||||||
|
setContentView(R.layout.activity_recycle_bin_conversations)
|
||||||
|
setupOptionsMenu()
|
||||||
|
|
||||||
|
updateMaterialActivityViews(recycle_bin_coordinator, conversations_list, useTransparentNavigation = true, useTopSearchMenu = false)
|
||||||
|
setupMaterialScrollListener(conversations_list, recycle_bin_toolbar)
|
||||||
|
|
||||||
|
loadRecycleBinConversations()
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onResume() {
|
||||||
|
super.onResume()
|
||||||
|
setupToolbar(recycle_bin_toolbar, NavigationIcon.Arrow)
|
||||||
|
updateMenuColors()
|
||||||
|
|
||||||
|
loadRecycleBinConversations()
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onDestroy() {
|
||||||
|
super.onDestroy()
|
||||||
|
bus?.unregister(this)
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun setupOptionsMenu() {
|
||||||
|
recycle_bin_toolbar.inflateMenu(R.menu.recycle_bin_menu)
|
||||||
|
|
||||||
|
recycle_bin_toolbar.setOnMenuItemClickListener { menuItem ->
|
||||||
|
when (menuItem.itemId) {
|
||||||
|
R.id.empty_recycle_bin -> removeAll()
|
||||||
|
else -> return@setOnMenuItemClickListener false
|
||||||
|
}
|
||||||
|
return@setOnMenuItemClickListener true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun updateOptionsMenu(conversations: ArrayList<Conversation>) {
|
||||||
|
recycle_bin_toolbar.menu.apply {
|
||||||
|
findItem(R.id.empty_recycle_bin).isVisible = conversations.isNotEmpty()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun updateMenuColors() {
|
||||||
|
updateStatusbarColor(getProperBackgroundColor())
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun loadRecycleBinConversations() {
|
||||||
|
ensureBackgroundThread {
|
||||||
|
val conversations = try {
|
||||||
|
conversationsDB.getAllWithMessagesInRecycleBin().toMutableList() as ArrayList<Conversation>
|
||||||
|
} catch (e: Exception) {
|
||||||
|
ArrayList()
|
||||||
|
}
|
||||||
|
|
||||||
|
runOnUiThread {
|
||||||
|
setupConversations(conversations)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bus = EventBus.getDefault()
|
||||||
|
try {
|
||||||
|
bus!!.register(this)
|
||||||
|
} catch (e: Exception) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun removeAll() {
|
||||||
|
ConfirmationDialog(this, "", R.string.empty_recycle_bin_messages_confirmation, R.string.yes, R.string.no) {
|
||||||
|
ensureBackgroundThread {
|
||||||
|
emptyMessagesRecycleBin()
|
||||||
|
loadRecycleBinConversations()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun getOrCreateConversationsAdapter(): RecycleBinConversationsAdapter {
|
||||||
|
var currAdapter = conversations_list.adapter
|
||||||
|
if (currAdapter == null) {
|
||||||
|
hideKeyboard()
|
||||||
|
currAdapter = RecycleBinConversationsAdapter(
|
||||||
|
activity = this,
|
||||||
|
recyclerView = conversations_list,
|
||||||
|
onRefresh = { notifyDatasetChanged() },
|
||||||
|
itemClick = { handleConversationClick(it) }
|
||||||
|
)
|
||||||
|
|
||||||
|
conversations_list.adapter = currAdapter
|
||||||
|
if (areSystemAnimationsEnabled) {
|
||||||
|
conversations_list.scheduleLayoutAnimation()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return currAdapter as RecycleBinConversationsAdapter
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun setupConversations(conversations: ArrayList<Conversation>) {
|
||||||
|
val sortedConversations = conversations.sortedWith(
|
||||||
|
compareByDescending<Conversation> { config.pinnedConversations.contains(it.threadId.toString()) }
|
||||||
|
.thenByDescending { it.date }
|
||||||
|
).toMutableList() as ArrayList<Conversation>
|
||||||
|
|
||||||
|
showOrHidePlaceholder(conversations.isEmpty())
|
||||||
|
updateOptionsMenu(conversations)
|
||||||
|
|
||||||
|
try {
|
||||||
|
getOrCreateConversationsAdapter().apply {
|
||||||
|
updateConversations(sortedConversations)
|
||||||
|
}
|
||||||
|
} catch (ignored: Exception) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun showOrHidePlaceholder(show: Boolean) {
|
||||||
|
conversations_fastscroller.beGoneIf(show)
|
||||||
|
no_conversations_placeholder.beVisibleIf(show)
|
||||||
|
no_conversations_placeholder.text = getString(R.string.no_conversations_found)
|
||||||
|
}
|
||||||
|
|
||||||
|
@SuppressLint("NotifyDataSetChanged")
|
||||||
|
private fun notifyDatasetChanged() {
|
||||||
|
getOrCreateConversationsAdapter().notifyDataSetChanged()
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun handleConversationClick(any: Any) {
|
||||||
|
Intent(this, ThreadActivity::class.java).apply {
|
||||||
|
val conversation = any as Conversation
|
||||||
|
putExtra(THREAD_ID, conversation.threadId)
|
||||||
|
putExtra(THREAD_TITLE, conversation.title)
|
||||||
|
putExtra(WAS_PROTECTION_HANDLED, true)
|
||||||
|
putExtra(IS_RECYCLE_BIN, true)
|
||||||
|
startActivity(this)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||||
|
fun refreshMessages(event: Events.RefreshMessages) {
|
||||||
|
loadRecycleBinConversations()
|
||||||
|
}
|
||||||
|
}
|
@@ -14,6 +14,8 @@ import com.simplemobiletools.commons.models.RadioItem
|
|||||||
import com.simplemobiletools.smsmessenger.R
|
import com.simplemobiletools.smsmessenger.R
|
||||||
import com.simplemobiletools.smsmessenger.dialogs.ExportMessagesDialog
|
import com.simplemobiletools.smsmessenger.dialogs.ExportMessagesDialog
|
||||||
import com.simplemobiletools.smsmessenger.extensions.config
|
import com.simplemobiletools.smsmessenger.extensions.config
|
||||||
|
import com.simplemobiletools.smsmessenger.extensions.emptyMessagesRecycleBin
|
||||||
|
import com.simplemobiletools.smsmessenger.extensions.messagesDB
|
||||||
import com.simplemobiletools.smsmessenger.helpers.*
|
import com.simplemobiletools.smsmessenger.helpers.*
|
||||||
import com.simplemobiletools.smsmessenger.models.*
|
import com.simplemobiletools.smsmessenger.models.*
|
||||||
import kotlinx.android.synthetic.main.activity_settings.*
|
import kotlinx.android.synthetic.main.activity_settings.*
|
||||||
@@ -24,6 +26,7 @@ import kotlin.system.exitProcess
|
|||||||
|
|
||||||
class SettingsActivity : SimpleActivity() {
|
class SettingsActivity : SimpleActivity() {
|
||||||
private var blockedNumbersAtPause = -1
|
private var blockedNumbersAtPause = -1
|
||||||
|
private var recycleBinMessages = 0
|
||||||
private val messagesFileType = "application/json"
|
private val messagesFileType = "application/json"
|
||||||
private val messageImportFileTypes = listOf("application/json", "application/xml", "text/xml")
|
private val messageImportFileTypes = listOf("application/json", "application/xml", "text/xml")
|
||||||
|
|
||||||
@@ -57,6 +60,8 @@ class SettingsActivity : SimpleActivity() {
|
|||||||
setupGroupMessageAsMMS()
|
setupGroupMessageAsMMS()
|
||||||
setupLockScreenVisibility()
|
setupLockScreenVisibility()
|
||||||
setupMMSFileSizeLimit()
|
setupMMSFileSizeLimit()
|
||||||
|
setupUseRecycleBin()
|
||||||
|
setupEmptyRecycleBin()
|
||||||
setupAppPasswordProtection()
|
setupAppPasswordProtection()
|
||||||
setupMessagesExport()
|
setupMessagesExport()
|
||||||
setupMessagesImport()
|
setupMessagesImport()
|
||||||
@@ -71,6 +76,7 @@ class SettingsActivity : SimpleActivity() {
|
|||||||
settings_general_settings_label,
|
settings_general_settings_label,
|
||||||
settings_outgoing_messages_label,
|
settings_outgoing_messages_label,
|
||||||
settings_notifications_label,
|
settings_notifications_label,
|
||||||
|
settings_recycle_bin_label,
|
||||||
settings_security_label,
|
settings_security_label,
|
||||||
settings_migrating_label
|
settings_migrating_label
|
||||||
).forEach {
|
).forEach {
|
||||||
@@ -321,6 +327,45 @@ class SettingsActivity : SimpleActivity() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun setupUseRecycleBin() {
|
||||||
|
updateRecycleBinButtons()
|
||||||
|
settings_use_recycle_bin.isChecked = config.useRecycleBin
|
||||||
|
settings_use_recycle_bin_holder.setOnClickListener {
|
||||||
|
settings_use_recycle_bin.toggle()
|
||||||
|
config.useRecycleBin = settings_use_recycle_bin.isChecked
|
||||||
|
updateRecycleBinButtons()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun updateRecycleBinButtons() {
|
||||||
|
settings_empty_recycle_bin_holder.beVisibleIf(config.useRecycleBin)
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun setupEmptyRecycleBin() {
|
||||||
|
ensureBackgroundThread {
|
||||||
|
recycleBinMessages = messagesDB.getArchivedCount()
|
||||||
|
runOnUiThread {
|
||||||
|
settings_empty_recycle_bin_size.text =
|
||||||
|
resources.getQuantityString(R.plurals.delete_messages, recycleBinMessages, recycleBinMessages)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
settings_empty_recycle_bin_holder.setOnClickListener {
|
||||||
|
if (recycleBinMessages == 0) {
|
||||||
|
toast(R.string.recycle_bin_empty)
|
||||||
|
} else {
|
||||||
|
ConfirmationDialog(this, "", R.string.empty_recycle_bin_messages_confirmation, R.string.yes, R.string.no) {
|
||||||
|
ensureBackgroundThread {
|
||||||
|
emptyMessagesRecycleBin()
|
||||||
|
}
|
||||||
|
recycleBinMessages = 0
|
||||||
|
settings_empty_recycle_bin_size.text =
|
||||||
|
resources.getQuantityString(R.plurals.delete_messages, recycleBinMessages, recycleBinMessages)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private fun setupAppPasswordProtection() {
|
private fun setupAppPasswordProtection() {
|
||||||
settings_app_password_protection.isChecked = config.isAppPasswordProtectionOn
|
settings_app_password_protection.isChecked = config.isAppPasswordProtectionOn
|
||||||
settings_app_password_protection_holder.setOnClickListener {
|
settings_app_password_protection_holder.setOnClickListener {
|
||||||
|
@@ -105,6 +105,7 @@ class ThreadActivity : SimpleActivity() {
|
|||||||
private var allMessagesFetched = false
|
private var allMessagesFetched = false
|
||||||
private var oldestMessageDate = -1
|
private var oldestMessageDate = -1
|
||||||
private var wasProtectionHandled = false
|
private var wasProtectionHandled = false
|
||||||
|
private var isRecycleBin = false
|
||||||
|
|
||||||
private var isScheduledMessage: Boolean = false
|
private var isScheduledMessage: Boolean = false
|
||||||
private var messageToResend: Long? = null
|
private var messageToResend: Long? = null
|
||||||
@@ -141,6 +142,7 @@ class ThreadActivity : SimpleActivity() {
|
|||||||
intent.getStringExtra(THREAD_TITLE)?.let {
|
intent.getStringExtra(THREAD_TITLE)?.let {
|
||||||
thread_toolbar.title = it
|
thread_toolbar.title = it
|
||||||
}
|
}
|
||||||
|
isRecycleBin = intent.getBooleanExtra(IS_RECYCLE_BIN, false)
|
||||||
wasProtectionHandled = intent.getBooleanExtra(WAS_PROTECTION_HANDLED, false)
|
wasProtectionHandled = intent.getBooleanExtra(WAS_PROTECTION_HANDLED, false)
|
||||||
|
|
||||||
bus = EventBus.getDefault()
|
bus = EventBus.getDefault()
|
||||||
@@ -164,6 +166,7 @@ class ThreadActivity : SimpleActivity() {
|
|||||||
setupAttachmentPickerView()
|
setupAttachmentPickerView()
|
||||||
setupKeyboardListener()
|
setupKeyboardListener()
|
||||||
hideAttachmentPicker()
|
hideAttachmentPicker()
|
||||||
|
maybeSetupRecycleBinView()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onResume() {
|
override fun onResume() {
|
||||||
@@ -248,20 +251,21 @@ class ThreadActivity : SimpleActivity() {
|
|||||||
val firstPhoneNumber = participants.firstOrNull()?.phoneNumbers?.firstOrNull()?.value
|
val firstPhoneNumber = participants.firstOrNull()?.phoneNumbers?.firstOrNull()?.value
|
||||||
thread_toolbar.menu.apply {
|
thread_toolbar.menu.apply {
|
||||||
findItem(R.id.delete).isVisible = threadItems.isNotEmpty()
|
findItem(R.id.delete).isVisible = threadItems.isNotEmpty()
|
||||||
findItem(R.id.archive).isVisible = threadItems.isNotEmpty() && conversation?.isArchived == false
|
findItem(R.id.restore).isVisible = threadItems.isNotEmpty() && isRecycleBin
|
||||||
findItem(R.id.unarchive).isVisible = threadItems.isNotEmpty() && conversation?.isArchived == true
|
findItem(R.id.archive).isVisible = threadItems.isNotEmpty() && conversation?.isArchived == false && !isRecycleBin
|
||||||
findItem(R.id.rename_conversation).isVisible = participants.size > 1 && conversation != null
|
findItem(R.id.unarchive).isVisible = threadItems.isNotEmpty() && conversation?.isArchived == true && !isRecycleBin
|
||||||
findItem(R.id.conversation_details).isVisible = conversation != null
|
findItem(R.id.rename_conversation).isVisible = participants.size > 1 && conversation != null && !isRecycleBin
|
||||||
|
findItem(R.id.conversation_details).isVisible = conversation != null && !isRecycleBin
|
||||||
findItem(R.id.block_number).title = addLockedLabelIfNeeded(R.string.block_number)
|
findItem(R.id.block_number).title = addLockedLabelIfNeeded(R.string.block_number)
|
||||||
findItem(R.id.block_number).isVisible = isNougatPlus()
|
findItem(R.id.block_number).isVisible = isNougatPlus() && !isRecycleBin
|
||||||
findItem(R.id.dial_number).isVisible = participants.size == 1 && !isSpecialNumber()
|
findItem(R.id.dial_number).isVisible = participants.size == 1 && !isSpecialNumber() && !isRecycleBin
|
||||||
findItem(R.id.manage_people).isVisible = !isSpecialNumber()
|
findItem(R.id.manage_people).isVisible = !isSpecialNumber() && !isRecycleBin
|
||||||
findItem(R.id.mark_as_unread).isVisible = threadItems.isNotEmpty()
|
findItem(R.id.mark_as_unread).isVisible = threadItems.isNotEmpty() && !isRecycleBin
|
||||||
|
|
||||||
// allow saving number in cases when we dont have it stored yet and it is a casual readable number
|
// allow saving number in cases when we dont have it stored yet and it is a casual readable number
|
||||||
findItem(R.id.add_number_to_contact).isVisible = participants.size == 1 && participants.first().name == firstPhoneNumber && firstPhoneNumber.any {
|
findItem(R.id.add_number_to_contact).isVisible = participants.size == 1 && participants.first().name == firstPhoneNumber && firstPhoneNumber.any {
|
||||||
it.isDigit()
|
it.isDigit()
|
||||||
}
|
} && !isRecycleBin
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -274,6 +278,7 @@ class ThreadActivity : SimpleActivity() {
|
|||||||
when (menuItem.itemId) {
|
when (menuItem.itemId) {
|
||||||
R.id.block_number -> tryBlocking()
|
R.id.block_number -> tryBlocking()
|
||||||
R.id.delete -> askConfirmDelete()
|
R.id.delete -> askConfirmDelete()
|
||||||
|
R.id.restore -> askConfirmRestoreAll()
|
||||||
R.id.archive -> archiveConversation()
|
R.id.archive -> archiveConversation()
|
||||||
R.id.unarchive -> unarchiveConversation()
|
R.id.unarchive -> unarchiveConversation()
|
||||||
R.id.rename_conversation -> renameConversation()
|
R.id.rename_conversation -> renameConversation()
|
||||||
@@ -308,7 +313,15 @@ class ThreadActivity : SimpleActivity() {
|
|||||||
private fun setupCachedMessages(callback: () -> Unit) {
|
private fun setupCachedMessages(callback: () -> Unit) {
|
||||||
ensureBackgroundThread {
|
ensureBackgroundThread {
|
||||||
messages = try {
|
messages = try {
|
||||||
messagesDB.getThreadMessages(threadId).toMutableList() as ArrayList<Message>
|
if (isRecycleBin) {
|
||||||
|
messagesDB.getThreadMessagesFromRecycleBin(threadId)
|
||||||
|
} else {
|
||||||
|
if (config.useRecycleBin) {
|
||||||
|
messagesDB.getNonRecycledThreadMessages(threadId)
|
||||||
|
} else {
|
||||||
|
messagesDB.getThreadMessages(threadId)
|
||||||
|
}
|
||||||
|
}.toMutableList() as ArrayList<Message>
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
ArrayList()
|
ArrayList()
|
||||||
}
|
}
|
||||||
@@ -343,7 +356,13 @@ class ThreadActivity : SimpleActivity() {
|
|||||||
privateContacts = MyContactsContentProvider.getSimpleContacts(this, privateCursor)
|
privateContacts = MyContactsContentProvider.getSimpleContacts(this, privateCursor)
|
||||||
|
|
||||||
val cachedMessagesCode = messages.clone().hashCode()
|
val cachedMessagesCode = messages.clone().hashCode()
|
||||||
messages = getMessages(threadId, true)
|
if (!isRecycleBin) {
|
||||||
|
messages = getMessages(threadId, true)
|
||||||
|
if (config.useRecycleBin) {
|
||||||
|
val recycledMessages = messagesDB.getThreadMessagesFromRecycleBin(threadId).map { it.id }
|
||||||
|
messages = messages.filter { !recycledMessages.contains(it.id) }.toMutableList() as ArrayList<Message>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
val hasParticipantWithoutName = participants.any { contact ->
|
val hasParticipantWithoutName = participants.any { contact ->
|
||||||
contact.phoneNumbers.map { it.normalizedNumber }.contains(contact.name)
|
contact.phoneNumbers.map { it.normalizedNumber }.contains(contact.name)
|
||||||
@@ -391,8 +410,10 @@ class ThreadActivity : SimpleActivity() {
|
|||||||
participants.add(contact)
|
participants.add(contact)
|
||||||
}
|
}
|
||||||
|
|
||||||
messages.chunked(30).forEach { currentMessages ->
|
if (!isRecycleBin) {
|
||||||
messagesDB.insertMessages(*currentMessages.toTypedArray())
|
messages.chunked(30).forEach { currentMessages ->
|
||||||
|
messagesDB.insertMessages(*currentMessages.toTypedArray())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
setupAttachmentSizes()
|
setupAttachmentSizes()
|
||||||
@@ -411,7 +432,8 @@ class ThreadActivity : SimpleActivity() {
|
|||||||
activity = this,
|
activity = this,
|
||||||
recyclerView = thread_messages_list,
|
recyclerView = thread_messages_list,
|
||||||
itemClick = { handleItemClick(it) },
|
itemClick = { handleItemClick(it) },
|
||||||
deleteMessages = { deleteMessages(it) }
|
isRecycleBin = isRecycleBin,
|
||||||
|
deleteMessages = { messages, toRecycleBin, fromRecycleBin -> deleteMessages(messages, toRecycleBin, fromRecycleBin) }
|
||||||
)
|
)
|
||||||
|
|
||||||
thread_messages_list.adapter = currAdapter
|
thread_messages_list.adapter = currAdapter
|
||||||
@@ -501,7 +523,7 @@ class ThreadActivity : SimpleActivity() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun deleteMessages(messagesToRemove: List<Message>) {
|
private fun deleteMessages(messagesToRemove: List<Message>, toRecycleBin: Boolean, fromRecycleBin: Boolean) {
|
||||||
val deletePosition = threadItems.indexOf(messagesToRemove.first())
|
val deletePosition = threadItems.indexOf(messagesToRemove.first())
|
||||||
messages.removeAll(messagesToRemove.toSet())
|
messages.removeAll(messagesToRemove.toSet())
|
||||||
threadItems = getThreadItems()
|
threadItems = getThreadItems()
|
||||||
@@ -523,7 +545,13 @@ class ThreadActivity : SimpleActivity() {
|
|||||||
deleteScheduledMessage(messageId)
|
deleteScheduledMessage(messageId)
|
||||||
cancelScheduleSendPendingIntent(messageId)
|
cancelScheduleSendPendingIntent(messageId)
|
||||||
} else {
|
} else {
|
||||||
deleteMessage(messageId, message.isMMS)
|
if (toRecycleBin) {
|
||||||
|
moveMessageToRecycleBin(messageId)
|
||||||
|
} else if (fromRecycleBin) {
|
||||||
|
restoreMessageFromRecycleBin(messageId)
|
||||||
|
} else {
|
||||||
|
deleteMessage(messageId, message.isMMS)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
updateLastConversationMessage(threadId)
|
updateLastConversationMessage(threadId)
|
||||||
@@ -793,7 +821,7 @@ class ThreadActivity : SimpleActivity() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun maybeDisableShortCodeReply() {
|
private fun maybeDisableShortCodeReply() {
|
||||||
if (isSpecialNumber()) {
|
if (isSpecialNumber() && !isRecycleBin) {
|
||||||
thread_send_message_holder.beGone()
|
thread_send_message_holder.beGone()
|
||||||
reply_disabled_info_holder.beVisible()
|
reply_disabled_info_holder.beVisible()
|
||||||
val textColor = getProperTextColor()
|
val textColor = getProperTextColor()
|
||||||
@@ -923,7 +951,23 @@ class ThreadActivity : SimpleActivity() {
|
|||||||
val confirmationMessage = R.string.delete_whole_conversation_confirmation
|
val confirmationMessage = R.string.delete_whole_conversation_confirmation
|
||||||
ConfirmationDialog(this, getString(confirmationMessage)) {
|
ConfirmationDialog(this, getString(confirmationMessage)) {
|
||||||
ensureBackgroundThread {
|
ensureBackgroundThread {
|
||||||
deleteConversation(threadId)
|
if (isRecycleBin) {
|
||||||
|
emptyMessagesRecycleBinForConversation(threadId)
|
||||||
|
} else {
|
||||||
|
deleteConversation(threadId)
|
||||||
|
}
|
||||||
|
runOnUiThread {
|
||||||
|
refreshMessages()
|
||||||
|
finish()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun askConfirmRestoreAll() {
|
||||||
|
ConfirmationDialog(this, getString(R.string.restore_confirmation)) {
|
||||||
|
ensureBackgroundThread {
|
||||||
|
restoreAllMessagesFromRecycleBinForConversation(threadId)
|
||||||
runOnUiThread {
|
runOnUiThread {
|
||||||
refreshMessages()
|
refreshMessages()
|
||||||
finish()
|
finish()
|
||||||
@@ -1486,6 +1530,10 @@ class ThreadActivity : SimpleActivity() {
|
|||||||
|
|
||||||
@Subscribe(threadMode = ThreadMode.ASYNC)
|
@Subscribe(threadMode = ThreadMode.ASYNC)
|
||||||
fun refreshMessages(event: Events.RefreshMessages) {
|
fun refreshMessages(event: Events.RefreshMessages) {
|
||||||
|
if (isRecycleBin) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
refreshedSinceSent = true
|
refreshedSinceSent = true
|
||||||
allMessagesFetched = false
|
allMessagesFetched = false
|
||||||
oldestMessageDate = -1
|
oldestMessageDate = -1
|
||||||
@@ -1508,6 +1556,10 @@ class ThreadActivity : SimpleActivity() {
|
|||||||
val scheduledMessages = messagesDB.getScheduledThreadMessages(threadId)
|
val scheduledMessages = messagesDB.getScheduledThreadMessages(threadId)
|
||||||
.filterNot { it.isScheduled && it.millis() < System.currentTimeMillis() }
|
.filterNot { it.isScheduled && it.millis() < System.currentTimeMillis() }
|
||||||
addAll(scheduledMessages)
|
addAll(scheduledMessages)
|
||||||
|
if (config.useRecycleBin) {
|
||||||
|
val recycledMessages = messagesDB.getThreadMessagesFromRecycleBin(threadId).toSet()
|
||||||
|
removeAll(recycledMessages)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
messages.filter { !it.isScheduled && !it.isReceivedMessage() && it.id > lastMaxId }.forEach { latestMessage ->
|
messages.filter { !it.isScheduled && !it.isReceivedMessage() && it.id > lastMaxId }.forEach { latestMessage ->
|
||||||
@@ -1748,6 +1800,12 @@ class ThreadActivity : SimpleActivity() {
|
|||||||
animateAttachmentButton(rotation = -135f)
|
animateAttachmentButton(rotation = -135f)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun maybeSetupRecycleBinView() {
|
||||||
|
if (isRecycleBin) {
|
||||||
|
thread_send_message_holder.beGone()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private fun hideAttachmentPicker() {
|
private fun hideAttachmentPicker() {
|
||||||
attachment_picker_divider.beGone()
|
attachment_picker_divider.beGone()
|
||||||
attachment_picker_holder.apply {
|
attachment_picker_holder.apply {
|
||||||
|
@@ -0,0 +1,108 @@
|
|||||||
|
package com.simplemobiletools.smsmessenger.adapters
|
||||||
|
|
||||||
|
import android.view.Menu
|
||||||
|
import com.simplemobiletools.commons.dialogs.ConfirmationDialog
|
||||||
|
import com.simplemobiletools.commons.extensions.notificationManager
|
||||||
|
import com.simplemobiletools.commons.helpers.ensureBackgroundThread
|
||||||
|
import com.simplemobiletools.commons.views.MyRecyclerView
|
||||||
|
import com.simplemobiletools.smsmessenger.R
|
||||||
|
import com.simplemobiletools.smsmessenger.activities.SimpleActivity
|
||||||
|
import com.simplemobiletools.smsmessenger.extensions.deleteConversation
|
||||||
|
import com.simplemobiletools.smsmessenger.extensions.restoreAllMessagesFromRecycleBinForConversation
|
||||||
|
import com.simplemobiletools.smsmessenger.helpers.refreshMessages
|
||||||
|
import com.simplemobiletools.smsmessenger.models.Conversation
|
||||||
|
|
||||||
|
class RecycleBinConversationsAdapter(
|
||||||
|
activity: SimpleActivity, recyclerView: MyRecyclerView, onRefresh: () -> Unit, itemClick: (Any) -> Unit
|
||||||
|
) : BaseConversationsAdapter(activity, recyclerView, onRefresh, itemClick) {
|
||||||
|
override fun getActionMenuId() = R.menu.cab_recycle_bin_conversations
|
||||||
|
|
||||||
|
override fun prepareActionMode(menu: Menu) {}
|
||||||
|
|
||||||
|
override fun actionItemPressed(id: Int) {
|
||||||
|
if (selectedKeys.isEmpty()) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
when (id) {
|
||||||
|
R.id.cab_delete -> askConfirmDelete()
|
||||||
|
R.id.cab_restore -> askConfirmRestore()
|
||||||
|
R.id.cab_select_all -> selectAll()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun askConfirmDelete() {
|
||||||
|
val itemsCnt = selectedKeys.size
|
||||||
|
val items = resources.getQuantityString(R.plurals.delete_conversations, itemsCnt, itemsCnt)
|
||||||
|
|
||||||
|
val baseString = R.string.deletion_confirmation
|
||||||
|
val question = String.format(resources.getString(baseString), items)
|
||||||
|
|
||||||
|
ConfirmationDialog(activity, question) {
|
||||||
|
ensureBackgroundThread {
|
||||||
|
deleteConversations()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun deleteConversations() {
|
||||||
|
if (selectedKeys.isEmpty()) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
val conversationsToRemove = currentList.filter { selectedKeys.contains(it.hashCode()) } as ArrayList<Conversation>
|
||||||
|
conversationsToRemove.forEach {
|
||||||
|
activity.deleteConversation(it.threadId)
|
||||||
|
activity.notificationManager.cancel(it.threadId.hashCode())
|
||||||
|
}
|
||||||
|
|
||||||
|
removeConversationsFromList(conversationsToRemove)
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun askConfirmRestore() {
|
||||||
|
val itemsCnt = selectedKeys.size
|
||||||
|
val items = resources.getQuantityString(R.plurals.delete_conversations, itemsCnt, itemsCnt)
|
||||||
|
|
||||||
|
val baseString = R.string.restore_confirmation
|
||||||
|
val question = String.format(resources.getString(baseString), items)
|
||||||
|
|
||||||
|
ConfirmationDialog(activity, question) {
|
||||||
|
ensureBackgroundThread {
|
||||||
|
restoreConversations()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun restoreConversations() {
|
||||||
|
if (selectedKeys.isEmpty()) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
val conversationsToRemove = currentList.filter { selectedKeys.contains(it.hashCode()) } as ArrayList<Conversation>
|
||||||
|
conversationsToRemove.forEach {
|
||||||
|
activity.restoreAllMessagesFromRecycleBinForConversation(it.threadId)
|
||||||
|
}
|
||||||
|
|
||||||
|
removeConversationsFromList(conversationsToRemove)
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun removeConversationsFromList(removedConversations: List<Conversation>) {
|
||||||
|
val newList = try {
|
||||||
|
currentList.toMutableList().apply { removeAll(removedConversations) }
|
||||||
|
} catch (ignored: Exception) {
|
||||||
|
currentList.toMutableList()
|
||||||
|
}
|
||||||
|
|
||||||
|
activity.runOnUiThread {
|
||||||
|
if (newList.none { selectedKeys.contains(it.hashCode()) }) {
|
||||||
|
refreshMessages()
|
||||||
|
finishActMode()
|
||||||
|
} else {
|
||||||
|
submitList(newList)
|
||||||
|
if (newList.isEmpty()) {
|
||||||
|
refreshMessages()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@@ -33,6 +33,7 @@ import com.simplemobiletools.smsmessenger.activities.NewConversationActivity
|
|||||||
import com.simplemobiletools.smsmessenger.activities.SimpleActivity
|
import com.simplemobiletools.smsmessenger.activities.SimpleActivity
|
||||||
import com.simplemobiletools.smsmessenger.activities.ThreadActivity
|
import com.simplemobiletools.smsmessenger.activities.ThreadActivity
|
||||||
import com.simplemobiletools.smsmessenger.activities.VCardViewerActivity
|
import com.simplemobiletools.smsmessenger.activities.VCardViewerActivity
|
||||||
|
import com.simplemobiletools.smsmessenger.dialogs.DeleteConfirmationDialog
|
||||||
import com.simplemobiletools.smsmessenger.dialogs.MessageDetailsDialog
|
import com.simplemobiletools.smsmessenger.dialogs.MessageDetailsDialog
|
||||||
import com.simplemobiletools.smsmessenger.dialogs.SelectTextDialog
|
import com.simplemobiletools.smsmessenger.dialogs.SelectTextDialog
|
||||||
import com.simplemobiletools.smsmessenger.extensions.*
|
import com.simplemobiletools.smsmessenger.extensions.*
|
||||||
@@ -58,7 +59,8 @@ class ThreadAdapter(
|
|||||||
activity: SimpleActivity,
|
activity: SimpleActivity,
|
||||||
recyclerView: MyRecyclerView,
|
recyclerView: MyRecyclerView,
|
||||||
itemClick: (Any) -> Unit,
|
itemClick: (Any) -> Unit,
|
||||||
val deleteMessages: (messages: List<Message>) -> Unit
|
val isRecycleBin: Boolean,
|
||||||
|
val deleteMessages: (messages: List<Message>, toRecycleBin: Boolean, fromRecycleBin: Boolean) -> Unit
|
||||||
) : MyRecyclerViewListAdapter<ThreadItem>(activity, recyclerView, ThreadItemDiffCallback(), itemClick) {
|
) : MyRecyclerViewListAdapter<ThreadItem>(activity, recyclerView, ThreadItemDiffCallback(), itemClick) {
|
||||||
private var fontSize = activity.getTextSize()
|
private var fontSize = activity.getTextSize()
|
||||||
|
|
||||||
@@ -84,6 +86,7 @@ class ThreadAdapter(
|
|||||||
findItem(R.id.cab_forward_message).isVisible = isOneItemSelected
|
findItem(R.id.cab_forward_message).isVisible = isOneItemSelected
|
||||||
findItem(R.id.cab_select_text).isVisible = isOneItemSelected && hasText
|
findItem(R.id.cab_select_text).isVisible = isOneItemSelected && hasText
|
||||||
findItem(R.id.cab_properties).isVisible = isOneItemSelected
|
findItem(R.id.cab_properties).isVisible = isOneItemSelected
|
||||||
|
findItem(R.id.cab_restore).isVisible = isRecycleBin
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -99,6 +102,7 @@ class ThreadAdapter(
|
|||||||
R.id.cab_forward_message -> forwardMessage()
|
R.id.cab_forward_message -> forwardMessage()
|
||||||
R.id.cab_select_text -> selectText()
|
R.id.cab_select_text -> selectText()
|
||||||
R.id.cab_delete -> askConfirmDelete()
|
R.id.cab_delete -> askConfirmDelete()
|
||||||
|
R.id.cab_restore -> askConfirmRestore()
|
||||||
R.id.cab_select_all -> selectAll()
|
R.id.cab_select_all -> selectAll()
|
||||||
R.id.cab_properties -> showMessageDetails()
|
R.id.cab_properties -> showMessageDetails()
|
||||||
}
|
}
|
||||||
@@ -203,14 +207,43 @@ class ThreadAdapter(
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
val baseString = R.string.deletion_confirmation
|
val baseString = if (activity.config.useRecycleBin && !isRecycleBin) {
|
||||||
|
R.string.move_to_recycle_bin_confirmation
|
||||||
|
} else {
|
||||||
|
R.string.deletion_confirmation
|
||||||
|
}
|
||||||
|
val question = String.format(resources.getString(baseString), items)
|
||||||
|
|
||||||
|
DeleteConfirmationDialog(activity, question, activity.config.useRecycleBin && !isRecycleBin) { skipRecycleBin ->
|
||||||
|
ensureBackgroundThread {
|
||||||
|
val messagesToRemove = getSelectedItems()
|
||||||
|
if (messagesToRemove.isNotEmpty()) {
|
||||||
|
val toRecycleBin = !skipRecycleBin && activity.config.useRecycleBin && !isRecycleBin
|
||||||
|
deleteMessages(messagesToRemove.filterIsInstance<Message>(), toRecycleBin, false)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun askConfirmRestore() {
|
||||||
|
val itemsCnt = selectedKeys.size
|
||||||
|
|
||||||
|
// not sure how we can get UnknownFormatConversionException here, so show the error and hope that someone reports it
|
||||||
|
val items = try {
|
||||||
|
resources.getQuantityString(R.plurals.delete_messages, itemsCnt, itemsCnt)
|
||||||
|
} catch (e: Exception) {
|
||||||
|
activity.showErrorToast(e)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
val baseString = R.string.restore_confirmation
|
||||||
val question = String.format(resources.getString(baseString), items)
|
val question = String.format(resources.getString(baseString), items)
|
||||||
|
|
||||||
ConfirmationDialog(activity, question) {
|
ConfirmationDialog(activity, question) {
|
||||||
ensureBackgroundThread {
|
ensureBackgroundThread {
|
||||||
val messagesToRemove = getSelectedItems()
|
val messagesToRestore = getSelectedItems()
|
||||||
if (messagesToRemove.isNotEmpty()) {
|
if (messagesToRestore.isNotEmpty()) {
|
||||||
deleteMessages(messagesToRemove.filterIsInstance<Message>())
|
deleteMessages(messagesToRestore.filterIsInstance<Message>(), false, true)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -14,7 +14,7 @@ import com.simplemobiletools.smsmessenger.interfaces.MessageAttachmentsDao
|
|||||||
import com.simplemobiletools.smsmessenger.interfaces.MessagesDao
|
import com.simplemobiletools.smsmessenger.interfaces.MessagesDao
|
||||||
import com.simplemobiletools.smsmessenger.models.*
|
import com.simplemobiletools.smsmessenger.models.*
|
||||||
|
|
||||||
@Database(entities = [Conversation::class, Attachment::class, MessageAttachment::class, Message::class], version = 8)
|
@Database(entities = [Conversation::class, Attachment::class, MessageAttachment::class, Message::class, RecycleBinMessage::class], version = 8)
|
||||||
@TypeConverters(Converters::class)
|
@TypeConverters(Converters::class)
|
||||||
abstract class MessagesDatabase : RoomDatabase() {
|
abstract class MessagesDatabase : RoomDatabase() {
|
||||||
|
|
||||||
@@ -118,6 +118,8 @@ abstract class MessagesDatabase : RoomDatabase() {
|
|||||||
override fun migrate(database: SupportSQLiteDatabase) {
|
override fun migrate(database: SupportSQLiteDatabase) {
|
||||||
database.apply {
|
database.apply {
|
||||||
execSQL("ALTER TABLE conversations ADD COLUMN archived INTEGER NOT NULL DEFAULT 0")
|
execSQL("ALTER TABLE conversations ADD COLUMN archived INTEGER NOT NULL DEFAULT 0")
|
||||||
|
execSQL("CREATE TABLE IF NOT EXISTS `recycle_bin_messages` (`id` INTEGER NOT NULL PRIMARY KEY, `deleted_ts` INTEGER NOT NULL)")
|
||||||
|
execSQL("CREATE UNIQUE INDEX IF NOT EXISTS `index_recycle_bin_messages_id` ON `recycle_bin_messages` (`id`)")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -0,0 +1,39 @@
|
|||||||
|
package com.simplemobiletools.smsmessenger.dialogs
|
||||||
|
|
||||||
|
import android.app.Activity
|
||||||
|
import androidx.appcompat.app.AlertDialog
|
||||||
|
import com.simplemobiletools.commons.extensions.beGoneIf
|
||||||
|
import com.simplemobiletools.commons.extensions.getAlertDialogBuilder
|
||||||
|
import com.simplemobiletools.commons.extensions.setupDialogStuff
|
||||||
|
import com.simplemobiletools.smsmessenger.R
|
||||||
|
import kotlinx.android.synthetic.main.dialog_delete_confirmation.view.delete_remember_title
|
||||||
|
import kotlinx.android.synthetic.main.dialog_delete_confirmation.view.skip_the_recycle_bin_checkbox
|
||||||
|
|
||||||
|
class DeleteConfirmationDialog(
|
||||||
|
private val activity: Activity,
|
||||||
|
private val message: String,
|
||||||
|
private val showSkipRecycleBinOption: Boolean,
|
||||||
|
private val callback: (skipRecycleBin: Boolean) -> Unit
|
||||||
|
) {
|
||||||
|
|
||||||
|
private var dialog: AlertDialog? = null
|
||||||
|
val view = activity.layoutInflater.inflate(R.layout.dialog_delete_confirmation, null)!!
|
||||||
|
|
||||||
|
init {
|
||||||
|
view.delete_remember_title.text = message
|
||||||
|
view.skip_the_recycle_bin_checkbox.beGoneIf(!showSkipRecycleBinOption)
|
||||||
|
activity.getAlertDialogBuilder()
|
||||||
|
.setPositiveButton(R.string.yes) { _, _ -> dialogConfirmed() }
|
||||||
|
.setNegativeButton(R.string.no, null)
|
||||||
|
.apply {
|
||||||
|
activity.setupDialogStuff(view, this) { alertDialog ->
|
||||||
|
dialog = alertDialog
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun dialogConfirmed() {
|
||||||
|
dialog?.dismiss()
|
||||||
|
callback(view.skip_the_recycle_bin_checkbox.isChecked)
|
||||||
|
}
|
||||||
|
}
|
@@ -657,6 +657,55 @@ fun Context.deleteConversation(threadId: Long) {
|
|||||||
messagesDB.deleteThreadMessages(threadId)
|
messagesDB.deleteThreadMessages(threadId)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun Context.checkAndDeleteOldRecycleBinMessages(callback: (() -> Unit)? = null) {
|
||||||
|
if (config.useRecycleBin && config.lastRecycleBinCheck < System.currentTimeMillis() - DAY_SECONDS * 1000) {
|
||||||
|
config.lastRecycleBinCheck = System.currentTimeMillis()
|
||||||
|
ensureBackgroundThread {
|
||||||
|
try {
|
||||||
|
for (message in messagesDB.getOldRecycleBinMessages(System.currentTimeMillis() - MONTH_SECONDS * 1000L)) {
|
||||||
|
deleteMessage(message.id, message.isMMS)
|
||||||
|
}
|
||||||
|
callback?.invoke()
|
||||||
|
} catch (e: Exception) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun Context.emptyMessagesRecycleBin() {
|
||||||
|
val messages = messagesDB.getAllRecycleBinMessages()
|
||||||
|
for (message in messages) {
|
||||||
|
deleteMessage(message.id, message.isMMS)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun Context.emptyMessagesRecycleBinForConversation(threadId: Long) {
|
||||||
|
val messages = messagesDB.getThreadMessagesFromRecycleBin(threadId)
|
||||||
|
for (message in messages) {
|
||||||
|
deleteMessage(message.id, message.isMMS)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun Context.restoreAllMessagesFromRecycleBinForConversation(threadId: Long) {
|
||||||
|
messagesDB.deleteThreadMessagesFromRecycleBin(threadId)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun Context.moveMessageToRecycleBin(id: Long) {
|
||||||
|
try {
|
||||||
|
messagesDB.insertRecycleBinEntry(RecycleBinMessage(id, System.currentTimeMillis()))
|
||||||
|
} catch (e: Exception) {
|
||||||
|
showErrorToast(e)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun Context.restoreMessageFromRecycleBin(id: Long) {
|
||||||
|
try {
|
||||||
|
messagesDB.deleteFromRecycleBin(id)
|
||||||
|
} catch (e: Exception) {
|
||||||
|
showErrorToast(e)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
fun Context.updateConversationArchivedStatus(threadId: Long, archived: Boolean) {
|
fun Context.updateConversationArchivedStatus(threadId: Long, archived: Boolean) {
|
||||||
val uri = Threads.CONTENT_URI
|
val uri = Threads.CONTENT_URI
|
||||||
val values = ContentValues().apply {
|
val values = ContentValues().apply {
|
||||||
|
@@ -104,11 +104,11 @@ class Config(context: Context) : BaseConfig(context) {
|
|||||||
get() = prefs.getInt(SOFT_KEYBOARD_HEIGHT, context.getDefaultKeyboardHeight())
|
get() = prefs.getInt(SOFT_KEYBOARD_HEIGHT, context.getDefaultKeyboardHeight())
|
||||||
set(keyboardHeight) = prefs.edit().putInt(SOFT_KEYBOARD_HEIGHT, keyboardHeight).apply()
|
set(keyboardHeight) = prefs.edit().putInt(SOFT_KEYBOARD_HEIGHT, keyboardHeight).apply()
|
||||||
|
|
||||||
var useArchive: Boolean
|
var useRecycleBin: Boolean
|
||||||
get() = prefs.getBoolean(USE_ARCHIVE, false)
|
get() = prefs.getBoolean(USE_RECYCLE_BIN, false)
|
||||||
set(useArchive) = prefs.edit().putBoolean(USE_ARCHIVE, useArchive).apply()
|
set(useRecycleBin) = prefs.edit().putBoolean(USE_RECYCLE_BIN, useRecycleBin).apply()
|
||||||
|
|
||||||
var lastArchiveCheck: Long
|
var lastRecycleBinCheck: Long
|
||||||
get() = prefs.getLong(LAST_ARCHIVE_CHECK, 0L)
|
get() = prefs.getLong(LAST_RECYCLE_BIN_CHECK, 0L)
|
||||||
set(lastArchiveCheck) = prefs.edit().putLong(LAST_ARCHIVE_CHECK, lastArchiveCheck).apply()
|
set(lastRecycleBinCheck) = prefs.edit().putLong(LAST_RECYCLE_BIN_CHECK, lastRecycleBinCheck).apply()
|
||||||
}
|
}
|
||||||
|
@@ -40,8 +40,9 @@ const val SCHEDULED_MESSAGE_ID = "scheduled_message_id"
|
|||||||
const val SOFT_KEYBOARD_HEIGHT = "soft_keyboard_height"
|
const val SOFT_KEYBOARD_HEIGHT = "soft_keyboard_height"
|
||||||
const val IS_MMS = "is_mms"
|
const val IS_MMS = "is_mms"
|
||||||
const val MESSAGE_ID = "message_id"
|
const val MESSAGE_ID = "message_id"
|
||||||
const val USE_ARCHIVE = "use_archive"
|
const val USE_RECYCLE_BIN = "use_recycle_bin"
|
||||||
const val LAST_ARCHIVE_CHECK = "last_archive_check"
|
const val LAST_RECYCLE_BIN_CHECK = "last_recycle_bin_check"
|
||||||
|
const val IS_RECYCLE_BIN = "is_recycle_bin"
|
||||||
|
|
||||||
private const val PATH = "com.simplemobiletools.smsmessenger.action."
|
private const val PATH = "com.simplemobiletools.smsmessenger.action."
|
||||||
const val MARK_AS_READ = PATH + "mark_as_read"
|
const val MARK_AS_READ = PATH + "mark_as_read"
|
||||||
|
@@ -2,17 +2,33 @@ package com.simplemobiletools.smsmessenger.interfaces
|
|||||||
|
|
||||||
import androidx.room.*
|
import androidx.room.*
|
||||||
import com.simplemobiletools.smsmessenger.models.Conversation
|
import com.simplemobiletools.smsmessenger.models.Conversation
|
||||||
|
import com.simplemobiletools.smsmessenger.models.ConversationWithSnippetOverride
|
||||||
|
|
||||||
@Dao
|
@Dao
|
||||||
interface ConversationsDao {
|
interface ConversationsDao {
|
||||||
@Insert(onConflict = OnConflictStrategy.REPLACE)
|
@Insert(onConflict = OnConflictStrategy.REPLACE)
|
||||||
fun insertOrUpdate(conversation: Conversation): Long
|
fun insertOrUpdate(conversation: Conversation): Long
|
||||||
|
|
||||||
@Query("SELECT * FROM conversations WHERE archived = 0")
|
@Query("SELECT (SELECT body FROM messages LEFT OUTER JOIN recycle_bin_messages ON messages.id = recycle_bin_messages.id WHERE recycle_bin_messages.id IS NULL AND messages.thread_id = conversations.thread_id ORDER BY messages.date DESC LIMIT 1) as new_snippet, * FROM conversations WHERE archived = 0")
|
||||||
fun getNonArchived(): List<Conversation>
|
fun getNonArchivedWithLatestSnippet(): List<ConversationWithSnippetOverride>
|
||||||
|
|
||||||
@Query("SELECT * FROM conversations WHERE archived = 1")
|
fun getNonArchived(): List<Conversation> {
|
||||||
fun getAllArchived(): List<Conversation>
|
return getNonArchivedWithLatestSnippet().map { it.toConversation() }
|
||||||
|
}
|
||||||
|
|
||||||
|
@Query("SELECT (SELECT body FROM messages LEFT OUTER JOIN recycle_bin_messages ON messages.id = recycle_bin_messages.id WHERE recycle_bin_messages.id IS NULL AND messages.thread_id = conversations.thread_id ORDER BY messages.date DESC LIMIT 1) as new_snippet, * FROM conversations WHERE archived = 1")
|
||||||
|
fun getAllArchivedWithLatestSnippet(): List<ConversationWithSnippetOverride>
|
||||||
|
|
||||||
|
fun getAllArchived(): List<Conversation> {
|
||||||
|
return getAllArchivedWithLatestSnippet().map { it.toConversation() }
|
||||||
|
}
|
||||||
|
|
||||||
|
@Query("SELECT (SELECT body FROM messages LEFT OUTER JOIN recycle_bin_messages ON messages.id = recycle_bin_messages.id WHERE recycle_bin_messages.id IS NOT NULL AND messages.thread_id = conversations.thread_id ORDER BY messages.date DESC LIMIT 1) as new_snippet, * FROM conversations WHERE (SELECT COUNT(*) FROM messages LEFT OUTER JOIN recycle_bin_messages ON messages.id = recycle_bin_messages.id WHERE recycle_bin_messages.id IS NOT NULL AND messages.thread_id = conversations.thread_id) > 0")
|
||||||
|
fun getAllWithMessagesInRecycleBinWithLatestSnippet(): List<ConversationWithSnippetOverride>
|
||||||
|
|
||||||
|
fun getAllWithMessagesInRecycleBin(): List<Conversation> {
|
||||||
|
return getAllWithMessagesInRecycleBinWithLatestSnippet().map { it.toConversation() }
|
||||||
|
}
|
||||||
|
|
||||||
@Query("SELECT * FROM conversations WHERE thread_id = :threadId")
|
@Query("SELECT * FROM conversations WHERE thread_id = :threadId")
|
||||||
fun getConversationWithThreadId(threadId: Long): Conversation?
|
fun getConversationWithThreadId(threadId: Long): Conversation?
|
||||||
|
@@ -1,9 +1,7 @@
|
|||||||
package com.simplemobiletools.smsmessenger.interfaces
|
package com.simplemobiletools.smsmessenger.interfaces
|
||||||
|
|
||||||
import androidx.room.Dao
|
import androidx.room.*
|
||||||
import androidx.room.Insert
|
import com.simplemobiletools.smsmessenger.models.RecycleBinMessage
|
||||||
import androidx.room.OnConflictStrategy
|
|
||||||
import androidx.room.Query
|
|
||||||
import com.simplemobiletools.smsmessenger.models.Message
|
import com.simplemobiletools.smsmessenger.models.Message
|
||||||
|
|
||||||
@Dao
|
@Dao
|
||||||
@@ -11,6 +9,9 @@ interface MessagesDao {
|
|||||||
@Insert(onConflict = OnConflictStrategy.REPLACE)
|
@Insert(onConflict = OnConflictStrategy.REPLACE)
|
||||||
fun insertOrUpdate(message: Message)
|
fun insertOrUpdate(message: Message)
|
||||||
|
|
||||||
|
@Insert(onConflict = OnConflictStrategy.REPLACE)
|
||||||
|
fun insertRecycleBinEntry(recycleBinMessage: RecycleBinMessage)
|
||||||
|
|
||||||
@Insert(onConflict = OnConflictStrategy.IGNORE)
|
@Insert(onConflict = OnConflictStrategy.IGNORE)
|
||||||
fun insertOrIgnore(message: Message): Long
|
fun insertOrIgnore(message: Message): Long
|
||||||
|
|
||||||
@@ -20,15 +21,30 @@ interface MessagesDao {
|
|||||||
@Query("SELECT * FROM messages")
|
@Query("SELECT * FROM messages")
|
||||||
fun getAll(): List<Message>
|
fun getAll(): List<Message>
|
||||||
|
|
||||||
|
@Query("SELECT messages.* FROM messages LEFT OUTER JOIN recycle_bin_messages ON messages.id = recycle_bin_messages.id WHERE recycle_bin_messages.id IS NOT NULL")
|
||||||
|
fun getAllRecycleBinMessages(): List<Message>
|
||||||
|
|
||||||
|
@Query("SELECT messages.* FROM messages LEFT OUTER JOIN recycle_bin_messages ON messages.id = recycle_bin_messages.id WHERE recycle_bin_messages.id IS NOT NULL AND recycle_bin_messages.deleted_ts < :timestamp")
|
||||||
|
fun getOldRecycleBinMessages(timestamp: Long): List<Message>
|
||||||
|
|
||||||
@Query("SELECT * FROM messages WHERE thread_id = :threadId")
|
@Query("SELECT * FROM messages WHERE thread_id = :threadId")
|
||||||
fun getThreadMessages(threadId: Long): List<Message>
|
fun getThreadMessages(threadId: Long): List<Message>
|
||||||
|
|
||||||
@Query("SELECT * FROM messages WHERE thread_id = :threadId AND is_scheduled = 1")
|
@Query("SELECT messages.* FROM messages LEFT OUTER JOIN recycle_bin_messages ON messages.id = recycle_bin_messages.id WHERE recycle_bin_messages.id IS NULL AND thread_id = :threadId")
|
||||||
|
fun getNonRecycledThreadMessages(threadId: Long): List<Message>
|
||||||
|
|
||||||
|
@Query("SELECT messages.* FROM messages LEFT OUTER JOIN recycle_bin_messages ON messages.id = recycle_bin_messages.id WHERE recycle_bin_messages.id IS NOT NULL AND thread_id = :threadId")
|
||||||
|
fun getThreadMessagesFromRecycleBin(threadId: Long): List<Message>
|
||||||
|
|
||||||
|
@Query("SELECT messages.* FROM messages LEFT OUTER JOIN recycle_bin_messages ON messages.id = recycle_bin_messages.id WHERE recycle_bin_messages.id IS NULL AND thread_id = :threadId AND is_scheduled = 1")
|
||||||
fun getScheduledThreadMessages(threadId: Long): List<Message>
|
fun getScheduledThreadMessages(threadId: Long): List<Message>
|
||||||
|
|
||||||
@Query("SELECT * FROM messages WHERE thread_id = :threadId AND id = :messageId AND is_scheduled = 1")
|
@Query("SELECT * FROM messages WHERE thread_id = :threadId AND id = :messageId AND is_scheduled = 1")
|
||||||
fun getScheduledMessageWithId(threadId: Long, messageId: Long): Message
|
fun getScheduledMessageWithId(threadId: Long, messageId: Long): Message
|
||||||
|
|
||||||
|
@Query("SELECT COUNT(*) FROM recycle_bin_messages")
|
||||||
|
fun getArchivedCount(): Int
|
||||||
|
|
||||||
@Query("SELECT * FROM messages WHERE body LIKE :text")
|
@Query("SELECT * FROM messages WHERE body LIKE :text")
|
||||||
fun getMessagesWithText(text: String): List<Message>
|
fun getMessagesWithText(text: String): List<Message>
|
||||||
|
|
||||||
@@ -44,11 +60,29 @@ interface MessagesDao {
|
|||||||
@Query("UPDATE messages SET status = :status WHERE id = :id")
|
@Query("UPDATE messages SET status = :status WHERE id = :id")
|
||||||
fun updateStatus(id: Long, status: Int): Int
|
fun updateStatus(id: Long, status: Int): Int
|
||||||
|
|
||||||
|
@Transaction
|
||||||
|
fun delete(id: Long) {
|
||||||
|
deleteFromMessages(id)
|
||||||
|
deleteFromRecycleBin(id)
|
||||||
|
}
|
||||||
|
|
||||||
@Query("DELETE FROM messages WHERE id = :id")
|
@Query("DELETE FROM messages WHERE id = :id")
|
||||||
fun delete(id: Long)
|
fun deleteFromMessages(id: Long)
|
||||||
|
|
||||||
|
@Query("DELETE FROM recycle_bin_messages WHERE id = :id")
|
||||||
|
fun deleteFromRecycleBin(id: Long)
|
||||||
|
|
||||||
|
@Transaction
|
||||||
|
fun deleteThreadMessages(threadId: Long) {
|
||||||
|
deleteThreadMessagesFromRecycleBin(threadId)
|
||||||
|
deleteAllThreadMessages(threadId)
|
||||||
|
}
|
||||||
|
|
||||||
@Query("DELETE FROM messages WHERE thread_id = :threadId")
|
@Query("DELETE FROM messages WHERE thread_id = :threadId")
|
||||||
fun deleteThreadMessages(threadId: Long)
|
fun deleteAllThreadMessages(threadId: Long)
|
||||||
|
|
||||||
|
@Query("DELETE FROM recycle_bin_messages WHERE id IN (SELECT id FROM messages WHERE thread_id = :threadId)")
|
||||||
|
fun deleteThreadMessagesFromRecycleBin(threadId: Long)
|
||||||
|
|
||||||
@Query("DELETE FROM messages")
|
@Query("DELETE FROM messages")
|
||||||
fun deleteAll()
|
fun deleteAll()
|
||||||
|
@@ -0,0 +1,16 @@
|
|||||||
|
package com.simplemobiletools.smsmessenger.models
|
||||||
|
|
||||||
|
import androidx.room.ColumnInfo
|
||||||
|
import androidx.room.Embedded
|
||||||
|
|
||||||
|
data class ConversationWithSnippetOverride(
|
||||||
|
@ColumnInfo(name = "new_snippet") val snippet: String?,
|
||||||
|
@Embedded val conversation: Conversation
|
||||||
|
) {
|
||||||
|
fun toConversation() =
|
||||||
|
if (snippet == null) {
|
||||||
|
conversation
|
||||||
|
} else {
|
||||||
|
conversation.copy(snippet = snippet)
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,15 @@
|
|||||||
|
package com.simplemobiletools.smsmessenger.models
|
||||||
|
|
||||||
|
import androidx.room.ColumnInfo
|
||||||
|
import androidx.room.Entity
|
||||||
|
import androidx.room.Index
|
||||||
|
import androidx.room.PrimaryKey
|
||||||
|
|
||||||
|
@Entity(
|
||||||
|
tableName = "recycle_bin_messages",
|
||||||
|
indices = [(Index(value = ["id"], unique = true))]
|
||||||
|
)
|
||||||
|
data class RecycleBinMessage(
|
||||||
|
@PrimaryKey val id: Long,
|
||||||
|
@ColumnInfo(name = "deleted_ts") var deletedTS: Long
|
||||||
|
)
|
@@ -0,0 +1,83 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
android:id="@+id/recycle_bin_coordinator"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent">
|
||||||
|
|
||||||
|
<com.google.android.material.appbar.MaterialToolbar
|
||||||
|
android:id="@+id/recycle_bin_toolbar"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="?attr/actionBarSize"
|
||||||
|
android:background="@color/color_primary"
|
||||||
|
app:title="@string/recycle_bin"
|
||||||
|
app:titleTextAppearance="@style/AppTheme.ActionBar.TitleTextStyle" />
|
||||||
|
|
||||||
|
<RelativeLayout
|
||||||
|
android:id="@+id/recycle_bin_nested_scrollview"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="?attr/actionBarSize"
|
||||||
|
android:fillViewport="true"
|
||||||
|
android:scrollbars="none"
|
||||||
|
app:layout_behavior="@string/appbar_scrolling_view_behavior">
|
||||||
|
|
||||||
|
<androidx.coordinatorlayout.widget.CoordinatorLayout
|
||||||
|
android:id="@+id/recycle_bin_coordinator_wrapper"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent">
|
||||||
|
|
||||||
|
<RelativeLayout
|
||||||
|
android:id="@+id/recycle_bin_holder"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent">
|
||||||
|
|
||||||
|
<com.google.android.material.progressindicator.LinearProgressIndicator
|
||||||
|
android:id="@+id/conversations_progress_bar"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignParentTop="true"
|
||||||
|
android:indeterminate="true"
|
||||||
|
android:visibility="gone"
|
||||||
|
app:hideAnimationBehavior="outward"
|
||||||
|
app:showAnimationBehavior="inward"
|
||||||
|
app:showDelay="250"
|
||||||
|
tools:visibility="visible" />
|
||||||
|
|
||||||
|
<com.simplemobiletools.commons.views.MyTextView
|
||||||
|
android:id="@+id/no_conversations_placeholder"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_centerHorizontal="true"
|
||||||
|
android:layout_marginTop="@dimen/bigger_margin"
|
||||||
|
android:alpha="0.8"
|
||||||
|
android:gravity="center"
|
||||||
|
android:paddingLeft="@dimen/activity_margin"
|
||||||
|
android:paddingRight="@dimen/activity_margin"
|
||||||
|
android:text="@string/no_conversations_found"
|
||||||
|
android:textSize="@dimen/bigger_text_size"
|
||||||
|
android:textStyle="italic"
|
||||||
|
android:visibility="gone" />
|
||||||
|
|
||||||
|
<com.qtalk.recyclerviewfastscroller.RecyclerViewFastScroller
|
||||||
|
android:id="@+id/conversations_fastscroller"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
|
<com.simplemobiletools.commons.views.MyRecyclerView
|
||||||
|
android:id="@+id/conversations_list"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:clipToPadding="false"
|
||||||
|
android:layoutAnimation="@anim/layout_animation"
|
||||||
|
android:overScrollMode="ifContentScrolls"
|
||||||
|
android:scrollbars="none"
|
||||||
|
app:layoutManager="com.simplemobiletools.commons.views.MyLinearLayoutManager" />
|
||||||
|
|
||||||
|
</com.qtalk.recyclerviewfastscroller.RecyclerViewFastScroller>
|
||||||
|
</RelativeLayout>
|
||||||
|
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||||
|
</RelativeLayout>
|
||||||
|
|
||||||
|
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
@@ -361,6 +361,55 @@
|
|||||||
android:id="@+id/settings_outgoing_messages_divider"
|
android:id="@+id/settings_outgoing_messages_divider"
|
||||||
layout="@layout/divider" />
|
layout="@layout/divider" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/settings_recycle_bin_label"
|
||||||
|
style="@style/SettingsSectionLabelStyle"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@string/recycle_bin" />
|
||||||
|
|
||||||
|
<RelativeLayout
|
||||||
|
android:id="@+id/settings_use_recycle_bin_holder"
|
||||||
|
style="@style/SettingsHolderCheckboxStyle"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
|
<com.simplemobiletools.commons.views.MyAppCompatCheckbox
|
||||||
|
android:id="@+id/settings_use_recycle_bin"
|
||||||
|
style="@style/SettingsCheckboxStyle"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@string/move_items_into_recycle_bin" />
|
||||||
|
|
||||||
|
</RelativeLayout>
|
||||||
|
|
||||||
|
<RelativeLayout
|
||||||
|
android:id="@+id/settings_empty_recycle_bin_holder"
|
||||||
|
style="@style/SettingsHolderTextViewStyle"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
|
<com.simplemobiletools.commons.views.MyTextView
|
||||||
|
android:id="@+id/settings_empty_recycle_bin_label"
|
||||||
|
style="@style/SettingsTextLabelStyle"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@string/empty_recycle_bin" />
|
||||||
|
|
||||||
|
<com.simplemobiletools.commons.views.MyTextView
|
||||||
|
android:id="@+id/settings_empty_recycle_bin_size"
|
||||||
|
style="@style/SettingsTextValueStyle"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_below="@+id/settings_empty_recycle_bin_label"
|
||||||
|
tools:text="0 B" />
|
||||||
|
|
||||||
|
</RelativeLayout>
|
||||||
|
|
||||||
|
<include
|
||||||
|
android:id="@+id/settings_recycle_bin_divider"
|
||||||
|
layout="@layout/divider" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/settings_security_label"
|
android:id="@+id/settings_security_label"
|
||||||
style="@style/SettingsSectionLabelStyle"
|
style="@style/SettingsSectionLabelStyle"
|
||||||
|
26
app/src/main/res/layout/dialog_delete_confirmation.xml
Normal file
26
app/src/main/res/layout/dialog_delete_confirmation.xml
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:id="@+id/delete_remember_holder"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:paddingLeft="@dimen/big_margin"
|
||||||
|
android:paddingTop="@dimen/big_margin"
|
||||||
|
android:paddingRight="@dimen/big_margin">
|
||||||
|
|
||||||
|
<com.simplemobiletools.commons.views.MyTextView
|
||||||
|
android:id="@+id/delete_remember_title"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:paddingStart="@dimen/small_margin"
|
||||||
|
android:paddingBottom="@dimen/activity_margin"
|
||||||
|
android:text="@string/delete_whole_conversation_confirmation"
|
||||||
|
android:textSize="@dimen/bigger_text_size" />
|
||||||
|
|
||||||
|
<com.simplemobiletools.commons.views.MyAppCompatCheckbox
|
||||||
|
android:id="@+id/skip_the_recycle_bin_checkbox"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_below="@+id/delete_remember_title"
|
||||||
|
android:text="@string/skip_the_recycle_bin_messages" />
|
||||||
|
|
||||||
|
</RelativeLayout>
|
22
app/src/main/res/menu/cab_recycle_bin_conversations.xml
Normal file
22
app/src/main/res/menu/cab_recycle_bin_conversations.xml
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
tools:ignore="AppCompatResource,AlwaysShowAction">
|
||||||
|
<item
|
||||||
|
android:id="@+id/cab_delete"
|
||||||
|
android:icon="@drawable/ic_delete_vector"
|
||||||
|
android:showAsAction="always"
|
||||||
|
android:title="@string/delete"
|
||||||
|
app:showAsAction="always" />
|
||||||
|
<item
|
||||||
|
android:id="@+id/cab_restore"
|
||||||
|
android:showAsAction="never"
|
||||||
|
android:title="@string/restore_all_messages"
|
||||||
|
app:showAsAction="never" />
|
||||||
|
<item
|
||||||
|
android:id="@+id/cab_select_all"
|
||||||
|
android:icon="@drawable/ic_select_all_vector"
|
||||||
|
android:title="@string/select_all"
|
||||||
|
app:showAsAction="ifRoom" />
|
||||||
|
</menu>
|
@@ -31,6 +31,11 @@
|
|||||||
android:icon="@drawable/ic_info_vector"
|
android:icon="@drawable/ic_info_vector"
|
||||||
android:title="@string/properties"
|
android:title="@string/properties"
|
||||||
app:showAsAction="ifRoom" />
|
app:showAsAction="ifRoom" />
|
||||||
|
<item
|
||||||
|
android:id="@+id/cab_restore"
|
||||||
|
android:showAsAction="never"
|
||||||
|
android:title="@string/restore"
|
||||||
|
app:showAsAction="never" />
|
||||||
<item
|
<item
|
||||||
android:id="@+id/cab_forward_message"
|
android:id="@+id/cab_forward_message"
|
||||||
android:showAsAction="never"
|
android:showAsAction="never"
|
||||||
|
@@ -3,6 +3,11 @@
|
|||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
tools:ignore="AppCompatResource,AlwaysShowAction">
|
tools:ignore="AppCompatResource,AlwaysShowAction">
|
||||||
|
<item
|
||||||
|
android:id="@+id/show_recycle_bin"
|
||||||
|
android:showAsAction="never"
|
||||||
|
android:title="@string/show_the_recycle_bin"
|
||||||
|
app:showAsAction="never" />
|
||||||
<item
|
<item
|
||||||
android:id="@+id/show_archived"
|
android:id="@+id/show_archived"
|
||||||
android:showAsAction="never"
|
android:showAsAction="never"
|
||||||
|
@@ -47,6 +47,11 @@
|
|||||||
android:showAsAction="never"
|
android:showAsAction="never"
|
||||||
android:title="@string/block_number"
|
android:title="@string/block_number"
|
||||||
app:showAsAction="never" />
|
app:showAsAction="never" />
|
||||||
|
<item
|
||||||
|
android:id="@+id/restore"
|
||||||
|
android:showAsAction="never"
|
||||||
|
android:title="@string/restore_all_messages"
|
||||||
|
app:showAsAction="never" />
|
||||||
<item
|
<item
|
||||||
android:id="@+id/mark_as_unread"
|
android:id="@+id/mark_as_unread"
|
||||||
android:showAsAction="never"
|
android:showAsAction="never"
|
||||||
|
12
app/src/main/res/menu/recycle_bin_menu.xml
Normal file
12
app/src/main/res/menu/recycle_bin_menu.xml
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<menu xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
tools:ignore="AppCompatResource">
|
||||||
|
<item
|
||||||
|
android:id="@+id/empty_recycle_bin"
|
||||||
|
android:icon="@drawable/ic_delete_vector"
|
||||||
|
android:showAsAction="ifRoom"
|
||||||
|
android:title="@string/empty_recycle_bin"
|
||||||
|
app:showAsAction="ifRoom" />
|
||||||
|
</menu>
|
@@ -71,9 +71,16 @@
|
|||||||
<string name="no_archived_conversations">لم يتم العثور على محادثات مؤرشفة</string>
|
<string name="no_archived_conversations">لم يتم العثور على محادثات مؤرشفة</string>
|
||||||
<string name="archive_emptied_successfully">تم إفراغ الأرشيف بنجاح</string>
|
<string name="archive_emptied_successfully">تم إفراغ الأرشيف بنجاح</string>
|
||||||
<string name="empty_archive_confirmation">هل أنت متأكد من أنك تريد إفراغ الأرشيف؟ ستفقد جميع المحادثات المؤرشفة نهائيا.</string>
|
<string name="empty_archive_confirmation">هل أنت متأكد من أنك تريد إفراغ الأرشيف؟ ستفقد جميع المحادثات المؤرشفة نهائيا.</string>
|
||||||
|
<!-- Recycle bin -->
|
||||||
|
<string name="restore">Restore</string>
|
||||||
|
<string name="restore_all_messages">Restore all messages</string>
|
||||||
|
<string name="empty_recycle_bin_messages_confirmation">Are you sure you want to empty the Recycle Bin? The messages will be permanently lost.</string>
|
||||||
|
<string name="skip_the_recycle_bin_messages">Skip the Recycle Bin, delete messages directly</string>
|
||||||
<!-- Confirmation dialog -->
|
<!-- Confirmation dialog -->
|
||||||
<string name="delete_whole_conversation_confirmation">هل أنت متأكد أنك تريد حذف كافة رسائل هذه المحادثة؟</string>
|
<string name="delete_whole_conversation_confirmation">هل أنت متأكد أنك تريد حذف كافة رسائل هذه المحادثة؟</string>
|
||||||
<string name="archive_confirmation">هل أنت متأكد من أنك تريد أرشفة %s؟</string>
|
<string name="archive_confirmation">هل أنت متأكد من أنك تريد أرشفة %s؟</string>
|
||||||
|
<string name="restore_whole_conversation_confirmation">Are you sure you want to restore all messages of this conversation?</string>
|
||||||
|
<string name="restore_confirmation">Are you sure you want to restore %s?</string>
|
||||||
<!-- Are you sure you want to delete 5 conversations? -->
|
<!-- Are you sure you want to delete 5 conversations? -->
|
||||||
<plurals name="delete_conversations">
|
<plurals name="delete_conversations">
|
||||||
<item quantity="zero">محادثة %d</item>
|
<item quantity="zero">محادثة %d</item>
|
||||||
@@ -140,4 +147,4 @@
|
|||||||
Haven't found some strings? There's more at
|
Haven't found some strings? There's more at
|
||||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||||
-->
|
-->
|
||||||
</resources>
|
</resources>
|
||||||
|
@@ -67,9 +67,16 @@
|
|||||||
<string name="no_archived_conversations">No archived conversations have been found</string>
|
<string name="no_archived_conversations">No archived conversations have been found</string>
|
||||||
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
||||||
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
||||||
|
<!-- Recycle bin -->
|
||||||
|
<string name="restore">Restore</string>
|
||||||
|
<string name="restore_all_messages">Restore all messages</string>
|
||||||
|
<string name="empty_recycle_bin_messages_confirmation">Are you sure you want to empty the Recycle Bin? The messages will be permanently lost.</string>
|
||||||
|
<string name="skip_the_recycle_bin_messages">Skip the Recycle Bin, delete messages directly</string>
|
||||||
<!-- Confirmation dialog -->
|
<!-- Confirmation dialog -->
|
||||||
<string name="delete_whole_conversation_confirmation">Are you sure you want to delete all messages of this conversation\?</string>
|
<string name="delete_whole_conversation_confirmation">Are you sure you want to delete all messages of this conversation\?</string>
|
||||||
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
||||||
|
<string name="restore_whole_conversation_confirmation">Are you sure you want to restore all messages of this conversation?</string>
|
||||||
|
<string name="restore_confirmation">Are you sure you want to restore %s?</string>
|
||||||
<!-- Are you sure you want to delete 5 conversations? -->
|
<!-- Are you sure you want to delete 5 conversations? -->
|
||||||
<plurals name="delete_conversations">
|
<plurals name="delete_conversations">
|
||||||
<item quantity="one">%d conversation</item>
|
<item quantity="one">%d conversation</item>
|
||||||
|
@@ -69,9 +69,16 @@
|
|||||||
<string name="no_archived_conversations">No archived conversations have been found</string>
|
<string name="no_archived_conversations">No archived conversations have been found</string>
|
||||||
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
||||||
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
||||||
|
<!-- Recycle bin -->
|
||||||
|
<string name="restore">Restore</string>
|
||||||
|
<string name="restore_all_messages">Restore all messages</string>
|
||||||
|
<string name="empty_recycle_bin_messages_confirmation">Are you sure you want to empty the Recycle Bin? The messages will be permanently lost.</string>
|
||||||
|
<string name="skip_the_recycle_bin_messages">Skip the Recycle Bin, delete messages directly</string>
|
||||||
<!-- Confirmation dialog -->
|
<!-- Confirmation dialog -->
|
||||||
<string name="delete_whole_conversation_confirmation">Выдаліць усе паведамленні ў гэтай размове\?</string>
|
<string name="delete_whole_conversation_confirmation">Выдаліць усе паведамленні ў гэтай размове\?</string>
|
||||||
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
||||||
|
<string name="restore_whole_conversation_confirmation">Are you sure you want to restore all messages of this conversation?</string>
|
||||||
|
<string name="restore_confirmation">Are you sure you want to restore %s?</string>
|
||||||
<!-- Are you sure you want to delete 5 conversations? -->
|
<!-- Are you sure you want to delete 5 conversations? -->
|
||||||
<plurals name="delete_conversations">
|
<plurals name="delete_conversations">
|
||||||
<item quantity="one">%d размову</item>
|
<item quantity="one">%d размову</item>
|
||||||
|
@@ -67,9 +67,16 @@
|
|||||||
<string name="no_archived_conversations">No archived conversations have been found</string>
|
<string name="no_archived_conversations">No archived conversations have been found</string>
|
||||||
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
||||||
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
||||||
|
<!-- Recycle bin -->
|
||||||
|
<string name="restore">Restore</string>
|
||||||
|
<string name="restore_all_messages">Restore all messages</string>
|
||||||
|
<string name="empty_recycle_bin_messages_confirmation">Are you sure you want to empty the Recycle Bin? The messages will be permanently lost.</string>
|
||||||
|
<string name="skip_the_recycle_bin_messages">Skip the Recycle Bin, delete messages directly</string>
|
||||||
<!-- Confirmation dialog -->
|
<!-- Confirmation dialog -->
|
||||||
<string name="delete_whole_conversation_confirmation">Сигурни ли сте, че искате да изтриете всички съобщения от този разговор\?</string>
|
<string name="delete_whole_conversation_confirmation">Сигурни ли сте, че искате да изтриете всички съобщения от този разговор\?</string>
|
||||||
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
||||||
|
<string name="restore_whole_conversation_confirmation">Are you sure you want to restore all messages of this conversation?</string>
|
||||||
|
<string name="restore_confirmation">Are you sure you want to restore %s?</string>
|
||||||
<!-- Are you sure you want to delete 5 conversations? -->
|
<!-- Are you sure you want to delete 5 conversations? -->
|
||||||
<plurals name="delete_conversations">
|
<plurals name="delete_conversations">
|
||||||
<item quantity="one">%d разговор</item>
|
<item quantity="one">%d разговор</item>
|
||||||
@@ -128,4 +135,4 @@
|
|||||||
Haven't found some strings? There's more at
|
Haven't found some strings? There's more at
|
||||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||||
-->
|
-->
|
||||||
</resources>
|
</resources>
|
||||||
|
@@ -67,9 +67,16 @@
|
|||||||
<string name="no_archived_conversations">No s\'ha trobat cap conversa arxivada</string>
|
<string name="no_archived_conversations">No s\'ha trobat cap conversa arxivada</string>
|
||||||
<string name="archive_emptied_successfully">L\'arxiu s\'ha buidat correctament</string>
|
<string name="archive_emptied_successfully">L\'arxiu s\'ha buidat correctament</string>
|
||||||
<string name="empty_archive_confirmation">Segur que voleu buidar l\'arxiu\? Totes les converses arxivades es perdran permanentment.</string>
|
<string name="empty_archive_confirmation">Segur que voleu buidar l\'arxiu\? Totes les converses arxivades es perdran permanentment.</string>
|
||||||
|
<!-- Recycle bin -->
|
||||||
|
<string name="restore">Restore</string>
|
||||||
|
<string name="restore_all_messages">Restore all messages</string>
|
||||||
|
<string name="empty_recycle_bin_messages_confirmation">Are you sure you want to empty the Recycle Bin? The messages will be permanently lost.</string>
|
||||||
|
<string name="skip_the_recycle_bin_messages">Skip the Recycle Bin, delete messages directly</string>
|
||||||
<!-- Confirmation dialog -->
|
<!-- Confirmation dialog -->
|
||||||
<string name="delete_whole_conversation_confirmation">Confirmeu que voleu suprimir tots els missatges d\'aquesta conversa\?</string>
|
<string name="delete_whole_conversation_confirmation">Confirmeu que voleu suprimir tots els missatges d\'aquesta conversa\?</string>
|
||||||
<string name="archive_confirmation">Segur que voleu arxivar %s\?</string>
|
<string name="archive_confirmation">Segur que voleu arxivar %s\?</string>
|
||||||
|
<string name="restore_whole_conversation_confirmation">Are you sure you want to restore all messages of this conversation?</string>
|
||||||
|
<string name="restore_confirmation">Are you sure you want to restore %s?</string>
|
||||||
<!-- Are you sure you want to delete 5 conversations? -->
|
<!-- Are you sure you want to delete 5 conversations? -->
|
||||||
<plurals name="delete_conversations">
|
<plurals name="delete_conversations">
|
||||||
<item quantity="one">%d conversa</item>
|
<item quantity="one">%d conversa</item>
|
||||||
@@ -128,4 +135,4 @@
|
|||||||
Haven't found some strings? There's more at
|
Haven't found some strings? There's more at
|
||||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||||
-->
|
-->
|
||||||
</resources>
|
</resources>
|
||||||
|
@@ -67,9 +67,16 @@
|
|||||||
<string name="no_archived_conversations">No archived conversations have been found</string>
|
<string name="no_archived_conversations">No archived conversations have been found</string>
|
||||||
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
||||||
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
||||||
|
<!-- Recycle bin -->
|
||||||
|
<string name="restore">Restore</string>
|
||||||
|
<string name="restore_all_messages">Restore all messages</string>
|
||||||
|
<string name="empty_recycle_bin_messages_confirmation">Are you sure you want to empty the Recycle Bin? The messages will be permanently lost.</string>
|
||||||
|
<string name="skip_the_recycle_bin_messages">Skip the Recycle Bin, delete messages directly</string>
|
||||||
<!-- Confirmation dialog -->
|
<!-- Confirmation dialog -->
|
||||||
<string name="delete_whole_conversation_confirmation">Are you sure you want to delete all messages of this conversation\?</string>
|
<string name="delete_whole_conversation_confirmation">Are you sure you want to delete all messages of this conversation\?</string>
|
||||||
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
||||||
|
<string name="restore_whole_conversation_confirmation">Are you sure you want to restore all messages of this conversation?</string>
|
||||||
|
<string name="restore_confirmation">Are you sure you want to restore %s?</string>
|
||||||
<!-- Are you sure you want to delete 5 conversations? -->
|
<!-- Are you sure you want to delete 5 conversations? -->
|
||||||
<plurals name="delete_conversations">
|
<plurals name="delete_conversations">
|
||||||
<item quantity="one">%d conversation</item>
|
<item quantity="one">%d conversation</item>
|
||||||
|
@@ -68,9 +68,16 @@
|
|||||||
<string name="no_archived_conversations">No archived conversations have been found</string>
|
<string name="no_archived_conversations">No archived conversations have been found</string>
|
||||||
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
||||||
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
||||||
|
<!-- Recycle bin -->
|
||||||
|
<string name="restore">Restore</string>
|
||||||
|
<string name="restore_all_messages">Restore all messages</string>
|
||||||
|
<string name="empty_recycle_bin_messages_confirmation">Are you sure you want to empty the Recycle Bin? The messages will be permanently lost.</string>
|
||||||
|
<string name="skip_the_recycle_bin_messages">Skip the Recycle Bin, delete messages directly</string>
|
||||||
<!-- Confirmation dialog -->
|
<!-- Confirmation dialog -->
|
||||||
<string name="delete_whole_conversation_confirmation">Opravdu chcete smazat všechny zprávy v této konverzaci\?</string>
|
<string name="delete_whole_conversation_confirmation">Opravdu chcete smazat všechny zprávy v této konverzaci\?</string>
|
||||||
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
||||||
|
<string name="restore_whole_conversation_confirmation">Are you sure you want to restore all messages of this conversation?</string>
|
||||||
|
<string name="restore_confirmation">Are you sure you want to restore %s?</string>
|
||||||
<!-- Are you sure you want to delete 5 conversations? -->
|
<!-- Are you sure you want to delete 5 conversations? -->
|
||||||
<plurals name="delete_conversations">
|
<plurals name="delete_conversations">
|
||||||
<item quantity="one">%d konverzace</item>
|
<item quantity="one">%d konverzace</item>
|
||||||
|
@@ -67,9 +67,16 @@
|
|||||||
<string name="no_archived_conversations">No archived conversations have been found</string>
|
<string name="no_archived_conversations">No archived conversations have been found</string>
|
||||||
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
||||||
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
||||||
|
<!-- Recycle bin -->
|
||||||
|
<string name="restore">Restore</string>
|
||||||
|
<string name="restore_all_messages">Restore all messages</string>
|
||||||
|
<string name="empty_recycle_bin_messages_confirmation">Are you sure you want to empty the Recycle Bin? The messages will be permanently lost.</string>
|
||||||
|
<string name="skip_the_recycle_bin_messages">Skip the Recycle Bin, delete messages directly</string>
|
||||||
<!-- Confirmation dialog -->
|
<!-- Confirmation dialog -->
|
||||||
<string name="delete_whole_conversation_confirmation">Er du sikker på, at du vil slette alle beskeder i denne samtale\?</string>
|
<string name="delete_whole_conversation_confirmation">Er du sikker på, at du vil slette alle beskeder i denne samtale\?</string>
|
||||||
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
||||||
|
<string name="restore_whole_conversation_confirmation">Are you sure you want to restore all messages of this conversation?</string>
|
||||||
|
<string name="restore_confirmation">Are you sure you want to restore %s?</string>
|
||||||
<!-- Are you sure you want to delete 5 conversations? -->
|
<!-- Are you sure you want to delete 5 conversations? -->
|
||||||
<plurals name="delete_conversations">
|
<plurals name="delete_conversations">
|
||||||
<item quantity="one">%d samtale</item>
|
<item quantity="one">%d samtale</item>
|
||||||
|
@@ -67,9 +67,16 @@
|
|||||||
<string name="no_archived_conversations">Es wurden keine archivierten Unterhaltungen gefunden</string>
|
<string name="no_archived_conversations">Es wurden keine archivierten Unterhaltungen gefunden</string>
|
||||||
<string name="archive_emptied_successfully">Das Archiv wurde erfolgreich geleert</string>
|
<string name="archive_emptied_successfully">Das Archiv wurde erfolgreich geleert</string>
|
||||||
<string name="empty_archive_confirmation">Das Archiv wirklich leeren\? Alle archivierten Unterhaltungen sind dann unwiederbringlich gelöscht.</string>
|
<string name="empty_archive_confirmation">Das Archiv wirklich leeren\? Alle archivierten Unterhaltungen sind dann unwiederbringlich gelöscht.</string>
|
||||||
|
<!-- Recycle bin -->
|
||||||
|
<string name="restore">Restore</string>
|
||||||
|
<string name="restore_all_messages">Restore all messages</string>
|
||||||
|
<string name="empty_recycle_bin_messages_confirmation">Are you sure you want to empty the Recycle Bin? The messages will be permanently lost.</string>
|
||||||
|
<string name="skip_the_recycle_bin_messages">Skip the Recycle Bin, delete messages directly</string>
|
||||||
<!-- Confirmation dialog -->
|
<!-- Confirmation dialog -->
|
||||||
<string name="delete_whole_conversation_confirmation">Sollen wirklich alle Nachrichten dieser Unterhaltung gelöscht werden\?</string>
|
<string name="delete_whole_conversation_confirmation">Sollen wirklich alle Nachrichten dieser Unterhaltung gelöscht werden\?</string>
|
||||||
<string name="archive_confirmation">%s wirklich archivieren\?</string>
|
<string name="archive_confirmation">%s wirklich archivieren\?</string>
|
||||||
|
<string name="restore_whole_conversation_confirmation">Are you sure you want to restore all messages of this conversation?</string>
|
||||||
|
<string name="restore_confirmation">Are you sure you want to restore %s?</string>
|
||||||
<!-- Are you sure you want to delete 5 conversations? -->
|
<!-- Are you sure you want to delete 5 conversations? -->
|
||||||
<plurals name="delete_conversations">
|
<plurals name="delete_conversations">
|
||||||
<item quantity="one">%d Unterhaltung</item>
|
<item quantity="one">%d Unterhaltung</item>
|
||||||
@@ -128,4 +135,4 @@
|
|||||||
Haven't found some strings? There's more at
|
Haven't found some strings? There's more at
|
||||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||||
-->
|
-->
|
||||||
</resources>
|
</resources>
|
||||||
|
@@ -67,9 +67,16 @@
|
|||||||
<string name="no_archived_conversations">Δεν βρέθηκαν αρχειοθετημένες συνομιλίες</string>
|
<string name="no_archived_conversations">Δεν βρέθηκαν αρχειοθετημένες συνομιλίες</string>
|
||||||
<string name="archive_emptied_successfully">Το αρχείο άδειασε με επιτυχία</string>
|
<string name="archive_emptied_successfully">Το αρχείο άδειασε με επιτυχία</string>
|
||||||
<string name="empty_archive_confirmation">Είστε σίγουροι ότι θέλετε να αδειάσετε το αρχείο; Όλες οι αρχειοθετημένες συνομιλίες θα χαθούν οριστικά.</string>
|
<string name="empty_archive_confirmation">Είστε σίγουροι ότι θέλετε να αδειάσετε το αρχείο; Όλες οι αρχειοθετημένες συνομιλίες θα χαθούν οριστικά.</string>
|
||||||
|
<!-- Recycle bin -->
|
||||||
|
<string name="restore">Restore</string>
|
||||||
|
<string name="restore_all_messages">Restore all messages</string>
|
||||||
|
<string name="empty_recycle_bin_messages_confirmation">Are you sure you want to empty the Recycle Bin? The messages will be permanently lost.</string>
|
||||||
|
<string name="skip_the_recycle_bin_messages">Skip the Recycle Bin, delete messages directly</string>
|
||||||
<!-- Confirmation dialog -->
|
<!-- Confirmation dialog -->
|
||||||
<string name="delete_whole_conversation_confirmation">Είστε βέβαιοι ότι θέλετε να διαγράψετε όλα τα μηνύματα αυτής της συνομιλίας;</string>
|
<string name="delete_whole_conversation_confirmation">Είστε βέβαιοι ότι θέλετε να διαγράψετε όλα τα μηνύματα αυτής της συνομιλίας;</string>
|
||||||
<string name="archive_confirmation">Σίγουρα θέλετε να αρχειοθετήσετε %s;</string>
|
<string name="archive_confirmation">Σίγουρα θέλετε να αρχειοθετήσετε %s;</string>
|
||||||
|
<string name="restore_whole_conversation_confirmation">Are you sure you want to restore all messages of this conversation?</string>
|
||||||
|
<string name="restore_confirmation">Are you sure you want to restore %s?</string>
|
||||||
<!-- Are you sure you want to delete 5 conversations? -->
|
<!-- Are you sure you want to delete 5 conversations? -->
|
||||||
<plurals name="delete_conversations">
|
<plurals name="delete_conversations">
|
||||||
<item quantity="one">%d συνομιλία</item>
|
<item quantity="one">%d συνομιλία</item>
|
||||||
|
@@ -67,9 +67,16 @@
|
|||||||
<string name="no_archived_conversations">No archived conversations have been found</string>
|
<string name="no_archived_conversations">No archived conversations have been found</string>
|
||||||
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
||||||
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
||||||
|
<!-- Recycle bin -->
|
||||||
|
<string name="restore">Restore</string>
|
||||||
|
<string name="restore_all_messages">Restore all messages</string>
|
||||||
|
<string name="empty_recycle_bin_messages_confirmation">Are you sure you want to empty the Recycle Bin? The messages will be permanently lost.</string>
|
||||||
|
<string name="skip_the_recycle_bin_messages">Skip the Recycle Bin, delete messages directly</string>
|
||||||
<!-- Confirmation dialog -->
|
<!-- Confirmation dialog -->
|
||||||
<string name="delete_whole_conversation_confirmation">Are you sure you want to delete all messages of this conversation\?</string>
|
<string name="delete_whole_conversation_confirmation">Are you sure you want to delete all messages of this conversation\?</string>
|
||||||
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
||||||
|
<string name="restore_whole_conversation_confirmation">Are you sure you want to restore all messages of this conversation?</string>
|
||||||
|
<string name="restore_confirmation">Are you sure you want to restore %s?</string>
|
||||||
<!-- Are you sure you want to delete 5 conversations? -->
|
<!-- Are you sure you want to delete 5 conversations? -->
|
||||||
<plurals name="delete_conversations">
|
<plurals name="delete_conversations">
|
||||||
<item quantity="one">%d konversacio</item>
|
<item quantity="one">%d konversacio</item>
|
||||||
|
@@ -68,9 +68,16 @@
|
|||||||
<string name="no_archived_conversations">No archived conversations have been found</string>
|
<string name="no_archived_conversations">No archived conversations have been found</string>
|
||||||
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
||||||
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
||||||
|
<!-- Recycle bin -->
|
||||||
|
<string name="restore">Restore</string>
|
||||||
|
<string name="restore_all_messages">Restore all messages</string>
|
||||||
|
<string name="empty_recycle_bin_messages_confirmation">Are you sure you want to empty the Recycle Bin? The messages will be permanently lost.</string>
|
||||||
|
<string name="skip_the_recycle_bin_messages">Skip the Recycle Bin, delete messages directly</string>
|
||||||
<!-- Confirmation dialog -->
|
<!-- Confirmation dialog -->
|
||||||
<string name="delete_whole_conversation_confirmation">¿Estás seguro que quieres eliminar todos los mensajes en esta conversación\?</string>
|
<string name="delete_whole_conversation_confirmation">¿Estás seguro que quieres eliminar todos los mensajes en esta conversación\?</string>
|
||||||
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
||||||
|
<string name="restore_whole_conversation_confirmation">Are you sure you want to restore all messages of this conversation?</string>
|
||||||
|
<string name="restore_confirmation">Are you sure you want to restore %s?</string>
|
||||||
<!-- Are you sure you want to delete 5 conversations? -->
|
<!-- Are you sure you want to delete 5 conversations? -->
|
||||||
<plurals name="delete_conversations">
|
<plurals name="delete_conversations">
|
||||||
<item quantity="one">%d conversación</item>
|
<item quantity="one">%d conversación</item>
|
||||||
|
@@ -67,9 +67,16 @@
|
|||||||
<string name="no_archived_conversations">Arhiveeritud vestlusi ei leidu</string>
|
<string name="no_archived_conversations">Arhiveeritud vestlusi ei leidu</string>
|
||||||
<string name="archive_emptied_successfully">Arhiiv on edukalt tühjendatud</string>
|
<string name="archive_emptied_successfully">Arhiiv on edukalt tühjendatud</string>
|
||||||
<string name="empty_archive_confirmation">Kas kindlasti soovid arhiivi tühjendada\? Kõik arhiveeritud vestlused lähevad jäädavalt kaotsi.</string>
|
<string name="empty_archive_confirmation">Kas kindlasti soovid arhiivi tühjendada\? Kõik arhiveeritud vestlused lähevad jäädavalt kaotsi.</string>
|
||||||
|
<!-- Recycle bin -->
|
||||||
|
<string name="restore">Restore</string>
|
||||||
|
<string name="restore_all_messages">Restore all messages</string>
|
||||||
|
<string name="empty_recycle_bin_messages_confirmation">Are you sure you want to empty the Recycle Bin? The messages will be permanently lost.</string>
|
||||||
|
<string name="skip_the_recycle_bin_messages">Skip the Recycle Bin, delete messages directly</string>
|
||||||
<!-- Confirmation dialog -->
|
<!-- Confirmation dialog -->
|
||||||
<string name="delete_whole_conversation_confirmation">Kas oled kindel, et soovid kustutada kõik selle vestluse sõnumid\?</string>
|
<string name="delete_whole_conversation_confirmation">Kas oled kindel, et soovid kustutada kõik selle vestluse sõnumid\?</string>
|
||||||
<string name="archive_confirmation">Kas sa oled kindel, et soovid lisada „%s“ arhiivi\?</string>
|
<string name="archive_confirmation">Kas sa oled kindel, et soovid lisada „%s“ arhiivi\?</string>
|
||||||
|
<string name="restore_whole_conversation_confirmation">Are you sure you want to restore all messages of this conversation?</string>
|
||||||
|
<string name="restore_confirmation">Are you sure you want to restore %s?</string>
|
||||||
<!-- Are you sure you want to delete 5 conversations? -->
|
<!-- Are you sure you want to delete 5 conversations? -->
|
||||||
<plurals name="delete_conversations">
|
<plurals name="delete_conversations">
|
||||||
<item quantity="one">%d vestlus</item>
|
<item quantity="one">%d vestlus</item>
|
||||||
@@ -128,4 +135,4 @@
|
|||||||
Haven't found some strings? There's more at
|
Haven't found some strings? There's more at
|
||||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||||
-->
|
-->
|
||||||
</resources>
|
</resources>
|
||||||
|
@@ -67,9 +67,16 @@
|
|||||||
<string name="no_archived_conversations">No archived conversations have been found</string>
|
<string name="no_archived_conversations">No archived conversations have been found</string>
|
||||||
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
||||||
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
||||||
|
<!-- Recycle bin -->
|
||||||
|
<string name="restore">Restore</string>
|
||||||
|
<string name="restore_all_messages">Restore all messages</string>
|
||||||
|
<string name="empty_recycle_bin_messages_confirmation">Are you sure you want to empty the Recycle Bin? The messages will be permanently lost.</string>
|
||||||
|
<string name="skip_the_recycle_bin_messages">Skip the Recycle Bin, delete messages directly</string>
|
||||||
<!-- Confirmation dialog -->
|
<!-- Confirmation dialog -->
|
||||||
<string name="delete_whole_conversation_confirmation">Haluatko varmasti poistaa kaikki tämän keskustelun viestit\?</string>
|
<string name="delete_whole_conversation_confirmation">Haluatko varmasti poistaa kaikki tämän keskustelun viestit\?</string>
|
||||||
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
||||||
|
<string name="restore_whole_conversation_confirmation">Are you sure you want to restore all messages of this conversation?</string>
|
||||||
|
<string name="restore_confirmation">Are you sure you want to restore %s?</string>
|
||||||
<!-- Are you sure you want to delete 5 conversations? -->
|
<!-- Are you sure you want to delete 5 conversations? -->
|
||||||
<plurals name="delete_conversations">
|
<plurals name="delete_conversations">
|
||||||
<item quantity="one">%d keskustelu</item>
|
<item quantity="one">%d keskustelu</item>
|
||||||
|
@@ -68,9 +68,16 @@
|
|||||||
<string name="no_archived_conversations">No archived conversations have been found</string>
|
<string name="no_archived_conversations">No archived conversations have been found</string>
|
||||||
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
||||||
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
||||||
|
<!-- Recycle bin -->
|
||||||
|
<string name="restore">Restore</string>
|
||||||
|
<string name="restore_all_messages">Restore all messages</string>
|
||||||
|
<string name="empty_recycle_bin_messages_confirmation">Are you sure you want to empty the Recycle Bin? The messages will be permanently lost.</string>
|
||||||
|
<string name="skip_the_recycle_bin_messages">Skip the Recycle Bin, delete messages directly</string>
|
||||||
<!-- Confirmation dialog -->
|
<!-- Confirmation dialog -->
|
||||||
<string name="delete_whole_conversation_confirmation">Voulez-vous vraiment supprimer tous les messages de cette conversation \?</string>
|
<string name="delete_whole_conversation_confirmation">Voulez-vous vraiment supprimer tous les messages de cette conversation \?</string>
|
||||||
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
||||||
|
<string name="restore_whole_conversation_confirmation">Are you sure you want to restore all messages of this conversation?</string>
|
||||||
|
<string name="restore_confirmation">Are you sure you want to restore %s?</string>
|
||||||
<!-- Are you sure you want to delete 5 conversations? -->
|
<!-- Are you sure you want to delete 5 conversations? -->
|
||||||
<plurals name="delete_conversations">
|
<plurals name="delete_conversations">
|
||||||
<item quantity="one">%d conversation</item>
|
<item quantity="one">%d conversation</item>
|
||||||
|
@@ -67,9 +67,16 @@
|
|||||||
<string name="no_archived_conversations">No archived conversations have been found</string>
|
<string name="no_archived_conversations">No archived conversations have been found</string>
|
||||||
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
||||||
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
||||||
|
<!-- Recycle bin -->
|
||||||
|
<string name="restore">Restore</string>
|
||||||
|
<string name="restore_all_messages">Restore all messages</string>
|
||||||
|
<string name="empty_recycle_bin_messages_confirmation">Are you sure you want to empty the Recycle Bin? The messages will be permanently lost.</string>
|
||||||
|
<string name="skip_the_recycle_bin_messages">Skip the Recycle Bin, delete messages directly</string>
|
||||||
<!-- Confirmation dialog -->
|
<!-- Confirmation dialog -->
|
||||||
<string name="delete_whole_conversation_confirmation">Ten a certeza de que desexa eliminar todas as mensaxes desta conversa\?</string>
|
<string name="delete_whole_conversation_confirmation">Ten a certeza de que desexa eliminar todas as mensaxes desta conversa\?</string>
|
||||||
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
||||||
|
<string name="restore_whole_conversation_confirmation">Are you sure you want to restore all messages of this conversation?</string>
|
||||||
|
<string name="restore_confirmation">Are you sure you want to restore %s?</string>
|
||||||
<!-- Are you sure you want to delete 5 conversations? -->
|
<!-- Are you sure you want to delete 5 conversations? -->
|
||||||
<plurals name="delete_conversations">
|
<plurals name="delete_conversations">
|
||||||
<item quantity="one">%d conversa</item>
|
<item quantity="one">%d conversa</item>
|
||||||
|
@@ -67,9 +67,16 @@
|
|||||||
<string name="no_archived_conversations">No archived conversations have been found</string>
|
<string name="no_archived_conversations">No archived conversations have been found</string>
|
||||||
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
||||||
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
||||||
|
<!-- Recycle bin -->
|
||||||
|
<string name="restore">Restore</string>
|
||||||
|
<string name="restore_all_messages">Restore all messages</string>
|
||||||
|
<string name="empty_recycle_bin_messages_confirmation">Are you sure you want to empty the Recycle Bin? The messages will be permanently lost.</string>
|
||||||
|
<string name="skip_the_recycle_bin_messages">Skip the Recycle Bin, delete messages directly</string>
|
||||||
<!-- Confirmation dialog -->
|
<!-- Confirmation dialog -->
|
||||||
<string name="delete_whole_conversation_confirmation">Are you sure you want to delete all messages of this conversation\?</string>
|
<string name="delete_whole_conversation_confirmation">Are you sure you want to delete all messages of this conversation\?</string>
|
||||||
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
||||||
|
<string name="restore_whole_conversation_confirmation">Are you sure you want to restore all messages of this conversation?</string>
|
||||||
|
<string name="restore_confirmation">Are you sure you want to restore %s?</string>
|
||||||
<!-- Are you sure you want to delete 5 conversations? -->
|
<!-- Are you sure you want to delete 5 conversations? -->
|
||||||
<plurals name="delete_conversations">
|
<plurals name="delete_conversations">
|
||||||
<item quantity="one">%d conversation</item>
|
<item quantity="one">%d conversation</item>
|
||||||
|
@@ -68,9 +68,16 @@
|
|||||||
<string name="no_archived_conversations">Nema arhiviranih razgovora</string>
|
<string name="no_archived_conversations">Nema arhiviranih razgovora</string>
|
||||||
<string name="archive_emptied_successfully">Arhiv je uspješno ispražnjen</string>
|
<string name="archive_emptied_successfully">Arhiv je uspješno ispražnjen</string>
|
||||||
<string name="empty_archive_confirmation">Jeste li ste sigurni da želite isprazniti arhiv? Svi arhivirani razgovori će biti obrisani.</string>
|
<string name="empty_archive_confirmation">Jeste li ste sigurni da želite isprazniti arhiv? Svi arhivirani razgovori će biti obrisani.</string>
|
||||||
|
<!-- Recycle bin -->
|
||||||
|
<string name="restore">Vrati</string>
|
||||||
|
<string name="restore_all_messages">Vrati sve poruke</string>
|
||||||
|
<string name="empty_recycle_bin_messages_confirmation">Stvarno želiš isprazniti koš za smeće? Poruke će biti trajno izgubljene.</string>
|
||||||
|
<string name="skip_the_recycle_bin_messages">Preskoči koš za smeće, izbriši poruke odmah</string>
|
||||||
<!-- Confirmation dialog -->
|
<!-- Confirmation dialog -->
|
||||||
<string name="delete_whole_conversation_confirmation">Stvarno želiš izbrisati sve poruke ovog razgovora\?</string>
|
<string name="delete_whole_conversation_confirmation">Stvarno želiš izbrisati sve poruke ovog razgovora\?</string>
|
||||||
<string name="archive_confirmation">Stvarno želiš arhivirati %s?</string>
|
<string name="archive_confirmation">Stvarno želiš arhivirati %s?</string>
|
||||||
|
<string name="restore_whole_conversation_confirmation">Stvarno želiš vratiti sve poruke iz ovog razgovora?</string>
|
||||||
|
<string name="restore_confirmation">Stvarno želiš vratiti %s?</string>
|
||||||
<!-- Are you sure you want to delete 5 conversations? -->
|
<!-- Are you sure you want to delete 5 conversations? -->
|
||||||
<plurals name="delete_conversations">
|
<plurals name="delete_conversations">
|
||||||
<item quantity="one">%d razgovor</item>
|
<item quantity="one">%d razgovor</item>
|
||||||
|
@@ -67,9 +67,16 @@
|
|||||||
<string name="no_archived_conversations">No archived conversations have been found</string>
|
<string name="no_archived_conversations">No archived conversations have been found</string>
|
||||||
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
||||||
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
||||||
|
<!-- Recycle bin -->
|
||||||
|
<string name="restore">Restore</string>
|
||||||
|
<string name="restore_all_messages">Restore all messages</string>
|
||||||
|
<string name="empty_recycle_bin_messages_confirmation">Are you sure you want to empty the Recycle Bin? The messages will be permanently lost.</string>
|
||||||
|
<string name="skip_the_recycle_bin_messages">Skip the Recycle Bin, delete messages directly</string>
|
||||||
<!-- Confirmation dialog -->
|
<!-- Confirmation dialog -->
|
||||||
<string name="delete_whole_conversation_confirmation">Biztos, hogy törli az összes üzenetet ebből a beszélgetésből\?</string>
|
<string name="delete_whole_conversation_confirmation">Biztos, hogy törli az összes üzenetet ebből a beszélgetésből\?</string>
|
||||||
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
||||||
|
<string name="restore_whole_conversation_confirmation">Are you sure you want to restore all messages of this conversation?</string>
|
||||||
|
<string name="restore_confirmation">Are you sure you want to restore %s?</string>
|
||||||
<!-- Are you sure you want to delete 5 conversations? -->
|
<!-- Are you sure you want to delete 5 conversations? -->
|
||||||
<plurals name="delete_conversations">
|
<plurals name="delete_conversations">
|
||||||
<item quantity="one">%d beszélgetést</item>
|
<item quantity="one">%d beszélgetést</item>
|
||||||
|
@@ -66,9 +66,16 @@
|
|||||||
<string name="no_archived_conversations">No archived conversations have been found</string>
|
<string name="no_archived_conversations">No archived conversations have been found</string>
|
||||||
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
||||||
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
||||||
|
<!-- Recycle bin -->
|
||||||
|
<string name="restore">Restore</string>
|
||||||
|
<string name="restore_all_messages">Restore all messages</string>
|
||||||
|
<string name="empty_recycle_bin_messages_confirmation">Are you sure you want to empty the Recycle Bin? The messages will be permanently lost.</string>
|
||||||
|
<string name="skip_the_recycle_bin_messages">Skip the Recycle Bin, delete messages directly</string>
|
||||||
<!-- Confirmation dialog -->
|
<!-- Confirmation dialog -->
|
||||||
<string name="delete_whole_conversation_confirmation">Apakah Anda yakin ingin menghapus semua pesan dari percakapan ini\?</string>
|
<string name="delete_whole_conversation_confirmation">Apakah Anda yakin ingin menghapus semua pesan dari percakapan ini\?</string>
|
||||||
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
||||||
|
<string name="restore_whole_conversation_confirmation">Are you sure you want to restore all messages of this conversation?</string>
|
||||||
|
<string name="restore_confirmation">Are you sure you want to restore %s?</string>
|
||||||
<!-- Are you sure you want to delete 5 conversations? -->
|
<!-- Are you sure you want to delete 5 conversations? -->
|
||||||
<plurals name="delete_conversations">
|
<plurals name="delete_conversations">
|
||||||
<item quantity="other">%d percakapan</item>
|
<item quantity="other">%d percakapan</item>
|
||||||
|
@@ -67,9 +67,16 @@
|
|||||||
<string name="no_archived_conversations">No archived conversations have been found</string>
|
<string name="no_archived_conversations">No archived conversations have been found</string>
|
||||||
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
||||||
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
||||||
|
<!-- Recycle bin -->
|
||||||
|
<string name="restore">Restore</string>
|
||||||
|
<string name="restore_all_messages">Restore all messages</string>
|
||||||
|
<string name="empty_recycle_bin_messages_confirmation">Are you sure you want to empty the Recycle Bin? The messages will be permanently lost.</string>
|
||||||
|
<string name="skip_the_recycle_bin_messages">Skip the Recycle Bin, delete messages directly</string>
|
||||||
<!-- Confirmation dialog -->
|
<!-- Confirmation dialog -->
|
||||||
<string name="delete_whole_conversation_confirmation">Are you sure you want to delete all messages of this conversation\?</string>
|
<string name="delete_whole_conversation_confirmation">Are you sure you want to delete all messages of this conversation\?</string>
|
||||||
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
||||||
|
<string name="restore_whole_conversation_confirmation">Are you sure you want to restore all messages of this conversation?</string>
|
||||||
|
<string name="restore_confirmation">Are you sure you want to restore %s?</string>
|
||||||
<!-- Are you sure you want to delete 5 conversations? -->
|
<!-- Are you sure you want to delete 5 conversations? -->
|
||||||
<plurals name="delete_conversations">
|
<plurals name="delete_conversations">
|
||||||
<item quantity="one">%d conversation</item>
|
<item quantity="one">%d conversation</item>
|
||||||
|
@@ -68,9 +68,16 @@
|
|||||||
<string name="no_archived_conversations">No archived conversations have been found</string>
|
<string name="no_archived_conversations">No archived conversations have been found</string>
|
||||||
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
||||||
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
||||||
|
<!-- Recycle bin -->
|
||||||
|
<string name="restore">Restore</string>
|
||||||
|
<string name="restore_all_messages">Restore all messages</string>
|
||||||
|
<string name="empty_recycle_bin_messages_confirmation">Are you sure you want to empty the Recycle Bin? The messages will be permanently lost.</string>
|
||||||
|
<string name="skip_the_recycle_bin_messages">Skip the Recycle Bin, delete messages directly</string>
|
||||||
<!-- Confirmation dialog -->
|
<!-- Confirmation dialog -->
|
||||||
<string name="delete_whole_conversation_confirmation">Vuoi davvero eliminare tutti i messaggi di questa conversazione\?</string>
|
<string name="delete_whole_conversation_confirmation">Vuoi davvero eliminare tutti i messaggi di questa conversazione\?</string>
|
||||||
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
||||||
|
<string name="restore_whole_conversation_confirmation">Are you sure you want to restore all messages of this conversation?</string>
|
||||||
|
<string name="restore_confirmation">Are you sure you want to restore %s?</string>
|
||||||
<!-- Are you sure you want to delete 5 conversations? -->
|
<!-- Are you sure you want to delete 5 conversations? -->
|
||||||
<plurals name="delete_conversations">
|
<plurals name="delete_conversations">
|
||||||
<item quantity="one">%d conversazione</item>
|
<item quantity="one">%d conversazione</item>
|
||||||
|
@@ -69,9 +69,16 @@
|
|||||||
<string name="no_archived_conversations">No archived conversations have been found</string>
|
<string name="no_archived_conversations">No archived conversations have been found</string>
|
||||||
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
||||||
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
||||||
|
<!-- Recycle bin -->
|
||||||
|
<string name="restore">Restore</string>
|
||||||
|
<string name="restore_all_messages">Restore all messages</string>
|
||||||
|
<string name="empty_recycle_bin_messages_confirmation">Are you sure you want to empty the Recycle Bin? The messages will be permanently lost.</string>
|
||||||
|
<string name="skip_the_recycle_bin_messages">Skip the Recycle Bin, delete messages directly</string>
|
||||||
<!-- Confirmation dialog -->
|
<!-- Confirmation dialog -->
|
||||||
<string name="delete_whole_conversation_confirmation">האם אתה בטוח שברצונך למחוק את כל ההודעות של השיחה הזו\?</string>
|
<string name="delete_whole_conversation_confirmation">האם אתה בטוח שברצונך למחוק את כל ההודעות של השיחה הזו\?</string>
|
||||||
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
||||||
|
<string name="restore_whole_conversation_confirmation">Are you sure you want to restore all messages of this conversation?</string>
|
||||||
|
<string name="restore_confirmation">Are you sure you want to restore %s?</string>
|
||||||
<!-- Are you sure you want to delete 5 conversations? -->
|
<!-- Are you sure you want to delete 5 conversations? -->
|
||||||
<plurals name="delete_conversations">
|
<plurals name="delete_conversations">
|
||||||
<item quantity="one">שיחה %d</item>
|
<item quantity="one">שיחה %d</item>
|
||||||
|
@@ -66,9 +66,16 @@
|
|||||||
<string name="no_archived_conversations">No archived conversations have been found</string>
|
<string name="no_archived_conversations">No archived conversations have been found</string>
|
||||||
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
||||||
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
||||||
|
<!-- Recycle bin -->
|
||||||
|
<string name="restore">Restore</string>
|
||||||
|
<string name="restore_all_messages">Restore all messages</string>
|
||||||
|
<string name="empty_recycle_bin_messages_confirmation">Are you sure you want to empty the Recycle Bin? The messages will be permanently lost.</string>
|
||||||
|
<string name="skip_the_recycle_bin_messages">Skip the Recycle Bin, delete messages directly</string>
|
||||||
<!-- Confirmation dialog -->
|
<!-- Confirmation dialog -->
|
||||||
<string name="delete_whole_conversation_confirmation">本当にこの会話のすべてのメッセージを削除しますか?</string>
|
<string name="delete_whole_conversation_confirmation">本当にこの会話のすべてのメッセージを削除しますか?</string>
|
||||||
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
||||||
|
<string name="restore_whole_conversation_confirmation">Are you sure you want to restore all messages of this conversation?</string>
|
||||||
|
<string name="restore_confirmation">Are you sure you want to restore %s?</string>
|
||||||
<!-- Are you sure you want to delete 5 conversations? -->
|
<!-- Are you sure you want to delete 5 conversations? -->
|
||||||
<plurals name="delete_conversations">
|
<plurals name="delete_conversations">
|
||||||
<item quantity="other">%d 件の会話</item>
|
<item quantity="other">%d 件の会話</item>
|
||||||
|
@@ -67,9 +67,16 @@
|
|||||||
<string name="no_archived_conversations">No archived conversations have been found</string>
|
<string name="no_archived_conversations">No archived conversations have been found</string>
|
||||||
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
||||||
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
||||||
|
<!-- Recycle bin -->
|
||||||
|
<string name="restore">Restore</string>
|
||||||
|
<string name="restore_all_messages">Restore all messages</string>
|
||||||
|
<string name="empty_recycle_bin_messages_confirmation">Are you sure you want to empty the Recycle Bin? The messages will be permanently lost.</string>
|
||||||
|
<string name="skip_the_recycle_bin_messages">Skip the Recycle Bin, delete messages directly</string>
|
||||||
<!-- Confirmation dialog -->
|
<!-- Confirmation dialog -->
|
||||||
<string name="delete_whole_conversation_confirmation">Ar tikrai norite ištrinti visas šio pokalbio žinutes\?</string>
|
<string name="delete_whole_conversation_confirmation">Ar tikrai norite ištrinti visas šio pokalbio žinutes\?</string>
|
||||||
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
||||||
|
<string name="restore_whole_conversation_confirmation">Are you sure you want to restore all messages of this conversation?</string>
|
||||||
|
<string name="restore_confirmation">Are you sure you want to restore %s?</string>
|
||||||
<!-- Are you sure you want to delete 5 conversations? -->
|
<!-- Are you sure you want to delete 5 conversations? -->
|
||||||
<plurals name="delete_conversations">
|
<plurals name="delete_conversations">
|
||||||
<item quantity="one">%d pokalbis</item>
|
<item quantity="one">%d pokalbis</item>
|
||||||
|
@@ -68,9 +68,16 @@
|
|||||||
<string name="no_archived_conversations">No archived conversations have been found</string>
|
<string name="no_archived_conversations">No archived conversations have been found</string>
|
||||||
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
||||||
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
||||||
|
<!-- Recycle bin -->
|
||||||
|
<string name="restore">Restore</string>
|
||||||
|
<string name="restore_all_messages">Restore all messages</string>
|
||||||
|
<string name="empty_recycle_bin_messages_confirmation">Are you sure you want to empty the Recycle Bin? The messages will be permanently lost.</string>
|
||||||
|
<string name="skip_the_recycle_bin_messages">Skip the Recycle Bin, delete messages directly</string>
|
||||||
<!-- Confirmation dialog -->
|
<!-- Confirmation dialog -->
|
||||||
<string name="delete_whole_conversation_confirmation">Are you sure you want to delete all messages of this conversation\?</string>
|
<string name="delete_whole_conversation_confirmation">Are you sure you want to delete all messages of this conversation\?</string>
|
||||||
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
||||||
|
<string name="restore_whole_conversation_confirmation">Are you sure you want to restore all messages of this conversation?</string>
|
||||||
|
<string name="restore_confirmation">Are you sure you want to restore %s?</string>
|
||||||
<!-- Are you sure you want to delete 5 conversations? -->
|
<!-- Are you sure you want to delete 5 conversations? -->
|
||||||
<plurals name="delete_conversations">
|
<plurals name="delete_conversations">
|
||||||
<item quantity="zero">%d conversation</item>
|
<item quantity="zero">%d conversation</item>
|
||||||
|
@@ -67,9 +67,16 @@
|
|||||||
<string name="no_archived_conversations">No archived conversations have been found</string>
|
<string name="no_archived_conversations">No archived conversations have been found</string>
|
||||||
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
||||||
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
||||||
|
<!-- Recycle bin -->
|
||||||
|
<string name="restore">Restore</string>
|
||||||
|
<string name="restore_all_messages">Restore all messages</string>
|
||||||
|
<string name="empty_recycle_bin_messages_confirmation">Are you sure you want to empty the Recycle Bin? The messages will be permanently lost.</string>
|
||||||
|
<string name="skip_the_recycle_bin_messages">Skip the Recycle Bin, delete messages directly</string>
|
||||||
<!-- Confirmation dialog -->
|
<!-- Confirmation dialog -->
|
||||||
<string name="delete_whole_conversation_confirmation">Are you sure you want to delete all messages of this conversation\?</string>
|
<string name="delete_whole_conversation_confirmation">Are you sure you want to delete all messages of this conversation\?</string>
|
||||||
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
||||||
|
<string name="restore_whole_conversation_confirmation">Are you sure you want to restore all messages of this conversation?</string>
|
||||||
|
<string name="restore_confirmation">Are you sure you want to restore %s?</string>
|
||||||
<!-- Are you sure you want to delete 5 conversations? -->
|
<!-- Are you sure you want to delete 5 conversations? -->
|
||||||
<plurals name="delete_conversations">
|
<plurals name="delete_conversations">
|
||||||
<item quantity="one">%d conversation</item>
|
<item quantity="one">%d conversation</item>
|
||||||
|
@@ -67,9 +67,16 @@
|
|||||||
<string name="no_archived_conversations">No archived conversations have been found</string>
|
<string name="no_archived_conversations">No archived conversations have been found</string>
|
||||||
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
||||||
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
||||||
|
<!-- Recycle bin -->
|
||||||
|
<string name="restore">Restore</string>
|
||||||
|
<string name="restore_all_messages">Restore all messages</string>
|
||||||
|
<string name="empty_recycle_bin_messages_confirmation">Are you sure you want to empty the Recycle Bin? The messages will be permanently lost.</string>
|
||||||
|
<string name="skip_the_recycle_bin_messages">Skip the Recycle Bin, delete messages directly</string>
|
||||||
<!-- Confirmation dialog -->
|
<!-- Confirmation dialog -->
|
||||||
<string name="delete_whole_conversation_confirmation">ഈ സംഭാഷണത്തിലെ എല്ലാ സന്ദേശങ്ങളും ഇല്ലാതാക്കണമെന്ന് തീർച്ചയാണോ\?</string>
|
<string name="delete_whole_conversation_confirmation">ഈ സംഭാഷണത്തിലെ എല്ലാ സന്ദേശങ്ങളും ഇല്ലാതാക്കണമെന്ന് തീർച്ചയാണോ\?</string>
|
||||||
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
||||||
|
<string name="restore_whole_conversation_confirmation">Are you sure you want to restore all messages of this conversation?</string>
|
||||||
|
<string name="restore_confirmation">Are you sure you want to restore %s?</string>
|
||||||
<!-- Are you sure you want to delete 5 conversations? -->
|
<!-- Are you sure you want to delete 5 conversations? -->
|
||||||
<plurals name="delete_conversations">
|
<plurals name="delete_conversations">
|
||||||
<item quantity="one">%d സംഭാഷണം</item>
|
<item quantity="one">%d സംഭാഷണം</item>
|
||||||
|
@@ -67,9 +67,16 @@
|
|||||||
<string name="no_archived_conversations">No archived conversations have been found</string>
|
<string name="no_archived_conversations">No archived conversations have been found</string>
|
||||||
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
||||||
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
||||||
|
<!-- Recycle bin -->
|
||||||
|
<string name="restore">Restore</string>
|
||||||
|
<string name="restore_all_messages">Restore all messages</string>
|
||||||
|
<string name="empty_recycle_bin_messages_confirmation">Are you sure you want to empty the Recycle Bin? The messages will be permanently lost.</string>
|
||||||
|
<string name="skip_the_recycle_bin_messages">Skip the Recycle Bin, delete messages directly</string>
|
||||||
<!-- Confirmation dialog -->
|
<!-- Confirmation dialog -->
|
||||||
<string name="delete_whole_conversation_confirmation">Er du sikker på at du vil slette alle meldinger fra denne konversasjonen\?</string>
|
<string name="delete_whole_conversation_confirmation">Er du sikker på at du vil slette alle meldinger fra denne konversasjonen\?</string>
|
||||||
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
||||||
|
<string name="restore_whole_conversation_confirmation">Are you sure you want to restore all messages of this conversation?</string>
|
||||||
|
<string name="restore_confirmation">Are you sure you want to restore %s?</string>
|
||||||
<!-- Are you sure you want to delete 5 conversations? -->
|
<!-- Are you sure you want to delete 5 conversations? -->
|
||||||
<plurals name="delete_conversations">
|
<plurals name="delete_conversations">
|
||||||
<item quantity="one">%d konversasjon</item>
|
<item quantity="one">%d konversasjon</item>
|
||||||
|
@@ -67,9 +67,16 @@
|
|||||||
<string name="no_archived_conversations">Geen gearchiveerde gesprekken gevonden</string>
|
<string name="no_archived_conversations">Geen gearchiveerde gesprekken gevonden</string>
|
||||||
<string name="archive_emptied_successfully">Archief is gewist</string>
|
<string name="archive_emptied_successfully">Archief is gewist</string>
|
||||||
<string name="empty_archive_confirmation">Het archief wissen\? Alle gearchiveerde gesprekken zullen permanent verwijderd worden.</string>
|
<string name="empty_archive_confirmation">Het archief wissen\? Alle gearchiveerde gesprekken zullen permanent verwijderd worden.</string>
|
||||||
|
<!-- Recycle bin -->
|
||||||
|
<string name="restore">Restore</string>
|
||||||
|
<string name="restore_all_messages">Restore all messages</string>
|
||||||
|
<string name="empty_recycle_bin_messages_confirmation">Are you sure you want to empty the Recycle Bin? The messages will be permanently lost.</string>
|
||||||
|
<string name="skip_the_recycle_bin_messages">Skip the Recycle Bin, delete messages directly</string>
|
||||||
<!-- Confirmation dialog -->
|
<!-- Confirmation dialog -->
|
||||||
<string name="delete_whole_conversation_confirmation">Alle berichten in dit gesprek verwijderen\?</string>
|
<string name="delete_whole_conversation_confirmation">Alle berichten in dit gesprek verwijderen\?</string>
|
||||||
<string name="archive_confirmation">%s archiveren\?</string>
|
<string name="archive_confirmation">%s archiveren\?</string>
|
||||||
|
<string name="restore_whole_conversation_confirmation">Are you sure you want to restore all messages of this conversation?</string>
|
||||||
|
<string name="restore_confirmation">Are you sure you want to restore %s?</string>
|
||||||
<!-- Are you sure you want to delete 5 conversations? -->
|
<!-- Are you sure you want to delete 5 conversations? -->
|
||||||
<plurals name="delete_conversations">
|
<plurals name="delete_conversations">
|
||||||
<item quantity="one">%d gesprek</item>
|
<item quantity="one">%d gesprek</item>
|
||||||
@@ -128,4 +135,4 @@
|
|||||||
Haven't found some strings? There's more at
|
Haven't found some strings? There's more at
|
||||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||||
-->
|
-->
|
||||||
</resources>
|
</resources>
|
||||||
|
@@ -67,9 +67,16 @@
|
|||||||
<string name="no_archived_conversations">No archived conversations have been found</string>
|
<string name="no_archived_conversations">No archived conversations have been found</string>
|
||||||
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
||||||
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
||||||
|
<!-- Recycle bin -->
|
||||||
|
<string name="restore">Restore</string>
|
||||||
|
<string name="restore_all_messages">Restore all messages</string>
|
||||||
|
<string name="empty_recycle_bin_messages_confirmation">Are you sure you want to empty the Recycle Bin? The messages will be permanently lost.</string>
|
||||||
|
<string name="skip_the_recycle_bin_messages">Skip the Recycle Bin, delete messages directly</string>
|
||||||
<!-- Confirmation dialog -->
|
<!-- Confirmation dialog -->
|
||||||
<string name="delete_whole_conversation_confirmation">تسیں پکے اے، سارے سنیہے مٹاؤ؟</string>
|
<string name="delete_whole_conversation_confirmation">تسیں پکے اے، سارے سنیہے مٹاؤ؟</string>
|
||||||
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
||||||
|
<string name="restore_whole_conversation_confirmation">Are you sure you want to restore all messages of this conversation?</string>
|
||||||
|
<string name="restore_confirmation">Are you sure you want to restore %s?</string>
|
||||||
<!-- Are you sure you want to delete 5 conversations? -->
|
<!-- Are you sure you want to delete 5 conversations? -->
|
||||||
<plurals name="delete_conversations">
|
<plurals name="delete_conversations">
|
||||||
<item quantity="one">%d conversation</item>
|
<item quantity="one">%d conversation</item>
|
||||||
|
@@ -69,9 +69,16 @@
|
|||||||
<string name="no_archived_conversations">Nie znaleziono zarchiwizowanych rozmów</string>
|
<string name="no_archived_conversations">Nie znaleziono zarchiwizowanych rozmów</string>
|
||||||
<string name="archive_emptied_successfully">Archiwum zostało opróżnione</string>
|
<string name="archive_emptied_successfully">Archiwum zostało opróżnione</string>
|
||||||
<string name="empty_archive_confirmation">Czy opróżnić archiwum\? Wszystkie zarchiwizowane rozmowy zostaną utracone bezpowrotnie.</string>
|
<string name="empty_archive_confirmation">Czy opróżnić archiwum\? Wszystkie zarchiwizowane rozmowy zostaną utracone bezpowrotnie.</string>
|
||||||
|
<!-- Recycle bin -->
|
||||||
|
<string name="restore">Restore</string>
|
||||||
|
<string name="restore_all_messages">Restore all messages</string>
|
||||||
|
<string name="empty_recycle_bin_messages_confirmation">Are you sure you want to empty the Recycle Bin? The messages will be permanently lost.</string>
|
||||||
|
<string name="skip_the_recycle_bin_messages">Skip the Recycle Bin, delete messages directly</string>
|
||||||
<!-- Confirmation dialog -->
|
<!-- Confirmation dialog -->
|
||||||
<string name="delete_whole_conversation_confirmation">Czy usunąć wszystkie wiadomości z tej rozmowy\?</string>
|
<string name="delete_whole_conversation_confirmation">Czy usunąć wszystkie wiadomości z tej rozmowy\?</string>
|
||||||
<string name="archive_confirmation">Czy zarchiwizować %s\?</string>
|
<string name="archive_confirmation">Czy zarchiwizować %s\?</string>
|
||||||
|
<string name="restore_whole_conversation_confirmation">Are you sure you want to restore all messages of this conversation?</string>
|
||||||
|
<string name="restore_confirmation">Are you sure you want to restore %s?</string>
|
||||||
<!-- Are you sure you want to delete 5 conversations? -->
|
<!-- Are you sure you want to delete 5 conversations? -->
|
||||||
<plurals name="delete_conversations">
|
<plurals name="delete_conversations">
|
||||||
<item quantity="one">%d rozmowę</item>
|
<item quantity="one">%d rozmowę</item>
|
||||||
@@ -134,4 +141,4 @@
|
|||||||
Haven't found some strings? There's more at
|
Haven't found some strings? There's more at
|
||||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||||
-->
|
-->
|
||||||
</resources>
|
</resources>
|
||||||
|
@@ -68,9 +68,16 @@
|
|||||||
<string name="no_archived_conversations">No archived conversations have been found</string>
|
<string name="no_archived_conversations">No archived conversations have been found</string>
|
||||||
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
||||||
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
||||||
|
<!-- Recycle bin -->
|
||||||
|
<string name="restore">Restore</string>
|
||||||
|
<string name="restore_all_messages">Restore all messages</string>
|
||||||
|
<string name="empty_recycle_bin_messages_confirmation">Are you sure you want to empty the Recycle Bin? The messages will be permanently lost.</string>
|
||||||
|
<string name="skip_the_recycle_bin_messages">Skip the Recycle Bin, delete messages directly</string>
|
||||||
<!-- Confirmation dialog -->
|
<!-- Confirmation dialog -->
|
||||||
<string name="delete_whole_conversation_confirmation">Tem certeza que quer deletar todas as mensagens dessa conversa\?</string>
|
<string name="delete_whole_conversation_confirmation">Tem certeza que quer deletar todas as mensagens dessa conversa\?</string>
|
||||||
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
||||||
|
<string name="restore_whole_conversation_confirmation">Are you sure you want to restore all messages of this conversation?</string>
|
||||||
|
<string name="restore_confirmation">Are you sure you want to restore %s?</string>
|
||||||
<!-- Are you sure you want to delete 5 conversations? -->
|
<!-- Are you sure you want to delete 5 conversations? -->
|
||||||
<plurals name="delete_conversations">
|
<plurals name="delete_conversations">
|
||||||
<item quantity="one">%d conversa</item>
|
<item quantity="one">%d conversa</item>
|
||||||
|
@@ -68,9 +68,16 @@
|
|||||||
<string name="no_archived_conversations">Não existem conversas arquivadas</string>
|
<string name="no_archived_conversations">Não existem conversas arquivadas</string>
|
||||||
<string name="archive_emptied_successfully">O arquivo foi limpo com sucesso</string>
|
<string name="archive_emptied_successfully">O arquivo foi limpo com sucesso</string>
|
||||||
<string name="empty_archive_confirmation">Tem a certeza de que pretende limpar o arquivo\? Todas as conversas arquivadas serão eliminadas.</string>
|
<string name="empty_archive_confirmation">Tem a certeza de que pretende limpar o arquivo\? Todas as conversas arquivadas serão eliminadas.</string>
|
||||||
|
<!-- Recycle bin -->
|
||||||
|
<string name="restore">Restore</string>
|
||||||
|
<string name="restore_all_messages">Restore all messages</string>
|
||||||
|
<string name="empty_recycle_bin_messages_confirmation">Are you sure you want to empty the Recycle Bin? The messages will be permanently lost.</string>
|
||||||
|
<string name="skip_the_recycle_bin_messages">Skip the Recycle Bin, delete messages directly</string>
|
||||||
<!-- Confirmation dialog -->
|
<!-- Confirmation dialog -->
|
||||||
<string name="delete_whole_conversation_confirmation">Tem a certeza de que pretende apagar todas as mensagens desta conversa\?</string>
|
<string name="delete_whole_conversation_confirmation">Tem a certeza de que pretende apagar todas as mensagens desta conversa\?</string>
|
||||||
<string name="archive_confirmation">Tem a certeza de que pretende arquivar %s\?</string>
|
<string name="archive_confirmation">Tem a certeza de que pretende arquivar %s\?</string>
|
||||||
|
<string name="restore_whole_conversation_confirmation">Are you sure you want to restore all messages of this conversation?</string>
|
||||||
|
<string name="restore_confirmation">Are you sure you want to restore %s?</string>
|
||||||
<!-- Are you sure you want to delete 5 conversations? -->
|
<!-- Are you sure you want to delete 5 conversations? -->
|
||||||
<plurals name="delete_conversations">
|
<plurals name="delete_conversations">
|
||||||
<item quantity="one">%d conversa</item>
|
<item quantity="one">%d conversa</item>
|
||||||
@@ -131,4 +138,4 @@
|
|||||||
Haven't found some strings? There's more at
|
Haven't found some strings? There's more at
|
||||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||||
-->
|
-->
|
||||||
</resources>
|
</resources>
|
||||||
|
@@ -68,9 +68,16 @@
|
|||||||
<string name="no_archived_conversations">No archived conversations have been found</string>
|
<string name="no_archived_conversations">No archived conversations have been found</string>
|
||||||
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
||||||
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
||||||
|
<!-- Recycle bin -->
|
||||||
|
<string name="restore">Restore</string>
|
||||||
|
<string name="restore_all_messages">Restore all messages</string>
|
||||||
|
<string name="empty_recycle_bin_messages_confirmation">Are you sure you want to empty the Recycle Bin? The messages will be permanently lost.</string>
|
||||||
|
<string name="skip_the_recycle_bin_messages">Skip the Recycle Bin, delete messages directly</string>
|
||||||
<!-- Confirmation dialog -->
|
<!-- Confirmation dialog -->
|
||||||
<string name="delete_whole_conversation_confirmation">Sunteți sigur că doriți să ștergeți toate mesajele din această conversație\?</string>
|
<string name="delete_whole_conversation_confirmation">Sunteți sigur că doriți să ștergeți toate mesajele din această conversație\?</string>
|
||||||
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
||||||
|
<string name="restore_whole_conversation_confirmation">Are you sure you want to restore all messages of this conversation?</string>
|
||||||
|
<string name="restore_confirmation">Are you sure you want to restore %s?</string>
|
||||||
<!-- Are you sure you want to delete 5 conversations? -->
|
<!-- Are you sure you want to delete 5 conversations? -->
|
||||||
<plurals name="delete_conversations">
|
<plurals name="delete_conversations">
|
||||||
<item quantity="one">%d conversaţie</item>
|
<item quantity="one">%d conversaţie</item>
|
||||||
|
@@ -69,9 +69,16 @@
|
|||||||
<string name="no_archived_conversations">Нет архивных переписок</string>
|
<string name="no_archived_conversations">Нет архивных переписок</string>
|
||||||
<string name="archive_emptied_successfully">Архив успешно очищен</string>
|
<string name="archive_emptied_successfully">Архив успешно очищен</string>
|
||||||
<string name="empty_archive_confirmation">Очистить архив\? Все архивные переписки будут безвозвратно потеряны.</string>
|
<string name="empty_archive_confirmation">Очистить архив\? Все архивные переписки будут безвозвратно потеряны.</string>
|
||||||
|
<!-- Recycle bin -->
|
||||||
|
<string name="restore">Restore</string>
|
||||||
|
<string name="restore_all_messages">Restore all messages</string>
|
||||||
|
<string name="empty_recycle_bin_messages_confirmation">Are you sure you want to empty the Recycle Bin? The messages will be permanently lost.</string>
|
||||||
|
<string name="skip_the_recycle_bin_messages">Skip the Recycle Bin, delete messages directly</string>
|
||||||
<!-- Confirmation dialog -->
|
<!-- Confirmation dialog -->
|
||||||
<string name="delete_whole_conversation_confirmation">Удалить все сообщения в этой переписке\?</string>
|
<string name="delete_whole_conversation_confirmation">Удалить все сообщения в этой переписке\?</string>
|
||||||
<string name="archive_confirmation">Архивировать %s\?</string>
|
<string name="archive_confirmation">Архивировать %s\?</string>
|
||||||
|
<string name="restore_whole_conversation_confirmation">Are you sure you want to restore all messages of this conversation?</string>
|
||||||
|
<string name="restore_confirmation">Are you sure you want to restore %s?</string>
|
||||||
<!-- Are you sure you want to delete 5 conversations? -->
|
<!-- Are you sure you want to delete 5 conversations? -->
|
||||||
<plurals name="delete_conversations">
|
<plurals name="delete_conversations">
|
||||||
<item quantity="one">%d переписку</item>
|
<item quantity="one">%d переписку</item>
|
||||||
@@ -134,4 +141,4 @@
|
|||||||
Haven't found some strings? There's more at
|
Haven't found some strings? There's more at
|
||||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||||
-->
|
-->
|
||||||
</resources>
|
</resources>
|
||||||
|
@@ -68,9 +68,16 @@
|
|||||||
<string name="no_archived_conversations">Nenašli sa žiadne archivované konverzácie</string>
|
<string name="no_archived_conversations">Nenašli sa žiadne archivované konverzácie</string>
|
||||||
<string name="archive_emptied_successfully">Archív bol úspešne vyprázdnený</string>
|
<string name="archive_emptied_successfully">Archív bol úspešne vyprázdnený</string>
|
||||||
<string name="empty_archive_confirmation">Ste si istý, že chcete vyprázdniť archív? Všetky archivované konverzácie budú navždy odstránené.</string>
|
<string name="empty_archive_confirmation">Ste si istý, že chcete vyprázdniť archív? Všetky archivované konverzácie budú navždy odstránené.</string>
|
||||||
|
<!-- Recycle bin -->
|
||||||
|
<string name="restore">Obnoviť</string>
|
||||||
|
<string name="restore_all_messages">Obnoviť všetky správy</string>
|
||||||
|
<string name="empty_recycle_bin_messages_confirmation">Ste si istý, že chcete vysypať odpadkový kôš? Správy budú navždy stratené.</string>
|
||||||
|
<string name="skip_the_recycle_bin_messages">Vynechať odpadkový kôš, priamo vymazať správy</string>
|
||||||
<!-- Confirmation dialog -->
|
<!-- Confirmation dialog -->
|
||||||
<string name="delete_whole_conversation_confirmation">Ste si istý, že chcete odstrániť všetky správy tejto konverzácie\?</string>
|
<string name="delete_whole_conversation_confirmation">Ste si istý, že chcete odstrániť všetky správy tejto konverzácie\?</string>
|
||||||
<string name="archive_confirmation">Ste si istý, že chcete archivovať %s?</string>
|
<string name="archive_confirmation">Ste si istý, že chcete archivovať %s?</string>
|
||||||
|
<string name="restore_whole_conversation_confirmation">Ste si istý, že chcete obnoviť všetky správy tejto konverzácie?</string>
|
||||||
|
<string name="restore_confirmation">Ste si istý, že chcete obnoviť %s?</string>
|
||||||
<!-- Are you sure you want to delete 5 conversations? -->
|
<!-- Are you sure you want to delete 5 conversations? -->
|
||||||
<plurals name="delete_conversations">
|
<plurals name="delete_conversations">
|
||||||
<item quantity="one">%d konverzáciu</item>
|
<item quantity="one">%d konverzáciu</item>
|
||||||
|
@@ -69,9 +69,16 @@
|
|||||||
<string name="no_archived_conversations">No archived conversations have been found</string>
|
<string name="no_archived_conversations">No archived conversations have been found</string>
|
||||||
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
||||||
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
||||||
|
<!-- Recycle bin -->
|
||||||
|
<string name="restore">Restore</string>
|
||||||
|
<string name="restore_all_messages">Restore all messages</string>
|
||||||
|
<string name="empty_recycle_bin_messages_confirmation">Are you sure you want to empty the Recycle Bin? The messages will be permanently lost.</string>
|
||||||
|
<string name="skip_the_recycle_bin_messages">Skip the Recycle Bin, delete messages directly</string>
|
||||||
<!-- Confirmation dialog -->
|
<!-- Confirmation dialog -->
|
||||||
<string name="delete_whole_conversation_confirmation">Ste prepričani, da želite izbrisati vsa sporočila tega pogovora\?</string>
|
<string name="delete_whole_conversation_confirmation">Ste prepričani, da želite izbrisati vsa sporočila tega pogovora\?</string>
|
||||||
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
||||||
|
<string name="restore_whole_conversation_confirmation">Are you sure you want to restore all messages of this conversation?</string>
|
||||||
|
<string name="restore_confirmation">Are you sure you want to restore %s?</string>
|
||||||
<!-- Are you sure you want to delete 5 conversations? -->
|
<!-- Are you sure you want to delete 5 conversations? -->
|
||||||
<plurals name="delete_conversations">
|
<plurals name="delete_conversations">
|
||||||
<item quantity="one">%d pogovor</item>
|
<item quantity="one">%d pogovor</item>
|
||||||
|
@@ -68,9 +68,16 @@
|
|||||||
<string name="no_archived_conversations">Нема архивираних разговора</string>
|
<string name="no_archived_conversations">Нема архивираних разговора</string>
|
||||||
<string name="archive_emptied_successfully">Архива је успјешно испражнјена</string>
|
<string name="archive_emptied_successfully">Архива је успјешно испражнјена</string>
|
||||||
<string name="empty_archive_confirmation">Да ли сте сигурни да желите да испразните архиву? Све архивиране поруке ће бити избрисане.</string>
|
<string name="empty_archive_confirmation">Да ли сте сигурни да желите да испразните архиву? Све архивиране поруке ће бити избрисане.</string>
|
||||||
|
<!-- Recycle bin -->
|
||||||
|
<string name="restore">Врати</string>
|
||||||
|
<string name="restore_all_messages">Врати све поруке</string>
|
||||||
|
<string name="empty_recycle_bin_messages_confirmation">Да ли сте сигурни да желите испразнити канту за отпазке? Поруке ће бити трајно обрисане.</string>
|
||||||
|
<string name="skip_the_recycle_bin_messages">Прескочи канту за отпатке, обриши поруке директно</string>
|
||||||
<!-- Confirmation dialog -->
|
<!-- Confirmation dialog -->
|
||||||
<string name="delete_whole_conversation_confirmation">Да ли сте сигурни да желите да избришете све поруке ове конверзације\?</string>
|
<string name="delete_whole_conversation_confirmation">Да ли сте сигурни да желите да избришете све поруке ове конверзације\?</string>
|
||||||
<string name="archive_confirmation">Да ли сте сигурни да желите да архивирате %s?</string>
|
<string name="archive_confirmation">Да ли сте сигурни да желите да архивирате %s?</string>
|
||||||
|
<string name="restore_whole_conversation_confirmation">Да ли сте сигурни да желите да вратите све поруке ове конверзације?</string>
|
||||||
|
<string name="restore_confirmation">Да ли сте сигурни да желите да вратите %s?</string>
|
||||||
<!-- Are you sure you want to delete 5 conversations? -->
|
<!-- Are you sure you want to delete 5 conversations? -->
|
||||||
<plurals name="delete_conversations">
|
<plurals name="delete_conversations">
|
||||||
<item quantity="one">%d разговор</item>
|
<item quantity="one">%d разговор</item>
|
||||||
|
@@ -67,9 +67,16 @@
|
|||||||
<string name="no_archived_conversations">Inga arkiverade konversationer hittades</string>
|
<string name="no_archived_conversations">Inga arkiverade konversationer hittades</string>
|
||||||
<string name="archive_emptied_successfully">Arkivet har tömts</string>
|
<string name="archive_emptied_successfully">Arkivet har tömts</string>
|
||||||
<string name="empty_archive_confirmation">Är du säker på att du vill tömma arkivet\? Alla arkiverade konversationer tas bort permanent.</string>
|
<string name="empty_archive_confirmation">Är du säker på att du vill tömma arkivet\? Alla arkiverade konversationer tas bort permanent.</string>
|
||||||
|
<!-- Recycle bin -->
|
||||||
|
<string name="restore">Restore</string>
|
||||||
|
<string name="restore_all_messages">Restore all messages</string>
|
||||||
|
<string name="empty_recycle_bin_messages_confirmation">Are you sure you want to empty the Recycle Bin? The messages will be permanently lost.</string>
|
||||||
|
<string name="skip_the_recycle_bin_messages">Skip the Recycle Bin, delete messages directly</string>
|
||||||
<!-- Confirmation dialog -->
|
<!-- Confirmation dialog -->
|
||||||
<string name="delete_whole_conversation_confirmation">Är du säker på att du vill ta bort alla meddelanden i konversationen\?</string>
|
<string name="delete_whole_conversation_confirmation">Är du säker på att du vill ta bort alla meddelanden i konversationen\?</string>
|
||||||
<string name="archive_confirmation">Är du säker på att du vill arkivera %s\?</string>
|
<string name="archive_confirmation">Är du säker på att du vill arkivera %s\?</string>
|
||||||
|
<string name="restore_whole_conversation_confirmation">Are you sure you want to restore all messages of this conversation?</string>
|
||||||
|
<string name="restore_confirmation">Are you sure you want to restore %s?</string>
|
||||||
<!-- Are you sure you want to delete 5 conversations? -->
|
<!-- Are you sure you want to delete 5 conversations? -->
|
||||||
<plurals name="delete_conversations">
|
<plurals name="delete_conversations">
|
||||||
<item quantity="one">%d konversation</item>
|
<item quantity="one">%d konversation</item>
|
||||||
@@ -128,4 +135,4 @@
|
|||||||
Haven't found some strings? There's more at
|
Haven't found some strings? There's more at
|
||||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||||
-->
|
-->
|
||||||
</resources>
|
</resources>
|
||||||
|
@@ -67,9 +67,16 @@
|
|||||||
<string name="no_archived_conversations">No archived conversations have been found</string>
|
<string name="no_archived_conversations">No archived conversations have been found</string>
|
||||||
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
||||||
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
||||||
|
<!-- Recycle bin -->
|
||||||
|
<string name="restore">Restore</string>
|
||||||
|
<string name="restore_all_messages">Restore all messages</string>
|
||||||
|
<string name="empty_recycle_bin_messages_confirmation">Are you sure you want to empty the Recycle Bin? The messages will be permanently lost.</string>
|
||||||
|
<string name="skip_the_recycle_bin_messages">Skip the Recycle Bin, delete messages directly</string>
|
||||||
<!-- Confirmation dialog -->
|
<!-- Confirmation dialog -->
|
||||||
<string name="delete_whole_conversation_confirmation">இந்த உரையாடலின் அனைத்து செய்திகளையும் நிச்சயமாக நீக்க விரும்புகிறீர்களா\?</string>
|
<string name="delete_whole_conversation_confirmation">இந்த உரையாடலின் அனைத்து செய்திகளையும் நிச்சயமாக நீக்க விரும்புகிறீர்களா\?</string>
|
||||||
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
||||||
|
<string name="restore_whole_conversation_confirmation">Are you sure you want to restore all messages of this conversation?</string>
|
||||||
|
<string name="restore_confirmation">Are you sure you want to restore %s?</string>
|
||||||
<!-- Are you sure you want to delete 5 conversations? -->
|
<!-- Are you sure you want to delete 5 conversations? -->
|
||||||
<plurals name="delete_conversations">
|
<plurals name="delete_conversations">
|
||||||
<item quantity="one">%d உரையாடல்</item>
|
<item quantity="one">%d உரையாடல்</item>
|
||||||
|
@@ -66,9 +66,16 @@
|
|||||||
<string name="no_archived_conversations">No archived conversations have been found</string>
|
<string name="no_archived_conversations">No archived conversations have been found</string>
|
||||||
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
||||||
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
||||||
|
<!-- Recycle bin -->
|
||||||
|
<string name="restore">Restore</string>
|
||||||
|
<string name="restore_all_messages">Restore all messages</string>
|
||||||
|
<string name="empty_recycle_bin_messages_confirmation">Are you sure you want to empty the Recycle Bin? The messages will be permanently lost.</string>
|
||||||
|
<string name="skip_the_recycle_bin_messages">Skip the Recycle Bin, delete messages directly</string>
|
||||||
<!-- Confirmation dialog -->
|
<!-- Confirmation dialog -->
|
||||||
<string name="delete_whole_conversation_confirmation">Are you sure you want to delete all messages of this conversation\?</string>
|
<string name="delete_whole_conversation_confirmation">Are you sure you want to delete all messages of this conversation\?</string>
|
||||||
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
||||||
|
<string name="restore_whole_conversation_confirmation">Are you sure you want to restore all messages of this conversation?</string>
|
||||||
|
<string name="restore_confirmation">Are you sure you want to restore %s?</string>
|
||||||
<!-- Are you sure you want to delete 5 conversations? -->
|
<!-- Are you sure you want to delete 5 conversations? -->
|
||||||
<plurals name="delete_conversations">
|
<plurals name="delete_conversations">
|
||||||
<item quantity="other">%d conversation</item>
|
<item quantity="other">%d conversation</item>
|
||||||
|
@@ -67,9 +67,16 @@
|
|||||||
<string name="no_archived_conversations">Arşivlenen görüşme bulunamadı</string>
|
<string name="no_archived_conversations">Arşivlenen görüşme bulunamadı</string>
|
||||||
<string name="archive_emptied_successfully">Arşiv başarıyla boşaltıldı</string>
|
<string name="archive_emptied_successfully">Arşiv başarıyla boşaltıldı</string>
|
||||||
<string name="empty_archive_confirmation">Arşivi boşaltmak istediğinizden emin misiniz\? Arşivlenen tüm görüşmeler kalıcı olarak kaybolacak.</string>
|
<string name="empty_archive_confirmation">Arşivi boşaltmak istediğinizden emin misiniz\? Arşivlenen tüm görüşmeler kalıcı olarak kaybolacak.</string>
|
||||||
|
<!-- Recycle bin -->
|
||||||
|
<string name="restore">Restore</string>
|
||||||
|
<string name="restore_all_messages">Restore all messages</string>
|
||||||
|
<string name="empty_recycle_bin_messages_confirmation">Are you sure you want to empty the Recycle Bin? The messages will be permanently lost.</string>
|
||||||
|
<string name="skip_the_recycle_bin_messages">Skip the Recycle Bin, delete messages directly</string>
|
||||||
<!-- Confirmation dialog -->
|
<!-- Confirmation dialog -->
|
||||||
<string name="delete_whole_conversation_confirmation">Bu görüşmenin tüm mesajlarını silmek istediğinizden emin misiniz\?</string>
|
<string name="delete_whole_conversation_confirmation">Bu görüşmenin tüm mesajlarını silmek istediğinizden emin misiniz\?</string>
|
||||||
<string name="archive_confirmation">%s arşivlemek istediğinizden emin misiniz\?</string>
|
<string name="archive_confirmation">%s arşivlemek istediğinizden emin misiniz\?</string>
|
||||||
|
<string name="restore_whole_conversation_confirmation">Are you sure you want to restore all messages of this conversation?</string>
|
||||||
|
<string name="restore_confirmation">Are you sure you want to restore %s?</string>
|
||||||
<!-- Are you sure you want to delete 5 conversations? -->
|
<!-- Are you sure you want to delete 5 conversations? -->
|
||||||
<plurals name="delete_conversations">
|
<plurals name="delete_conversations">
|
||||||
<item quantity="one">%d görüşme</item>
|
<item quantity="one">%d görüşme</item>
|
||||||
@@ -128,4 +135,4 @@
|
|||||||
Haven't found some strings? There's more at
|
Haven't found some strings? There's more at
|
||||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||||
-->
|
-->
|
||||||
</resources>
|
</resources>
|
||||||
|
@@ -69,9 +69,16 @@
|
|||||||
<string name="no_archived_conversations">No archived conversations have been found</string>
|
<string name="no_archived_conversations">No archived conversations have been found</string>
|
||||||
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
||||||
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
||||||
|
<!-- Recycle bin -->
|
||||||
|
<string name="restore">Restore</string>
|
||||||
|
<string name="restore_all_messages">Restore all messages</string>
|
||||||
|
<string name="empty_recycle_bin_messages_confirmation">Are you sure you want to empty the Recycle Bin? The messages will be permanently lost.</string>
|
||||||
|
<string name="skip_the_recycle_bin_messages">Skip the Recycle Bin, delete messages directly</string>
|
||||||
<!-- Confirmation dialog -->
|
<!-- Confirmation dialog -->
|
||||||
<string name="delete_whole_conversation_confirmation">Справді видалити всі повідомлення у цьому листуванні\?</string>
|
<string name="delete_whole_conversation_confirmation">Справді видалити всі повідомлення у цьому листуванні\?</string>
|
||||||
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
||||||
|
<string name="restore_whole_conversation_confirmation">Are you sure you want to restore all messages of this conversation?</string>
|
||||||
|
<string name="restore_confirmation">Are you sure you want to restore %s?</string>
|
||||||
<!-- Are you sure you want to delete 5 conversations? -->
|
<!-- Are you sure you want to delete 5 conversations? -->
|
||||||
<plurals name="delete_conversations">
|
<plurals name="delete_conversations">
|
||||||
<item quantity="one">%d листування</item>
|
<item quantity="one">%d листування</item>
|
||||||
|
@@ -66,9 +66,16 @@
|
|||||||
<string name="no_archived_conversations">尚未找到已归档对话</string>
|
<string name="no_archived_conversations">尚未找到已归档对话</string>
|
||||||
<string name="archive_emptied_successfully">已成功清空归档</string>
|
<string name="archive_emptied_successfully">已成功清空归档</string>
|
||||||
<string name="empty_archive_confirmation">你确定要清空归档吗?所有已归档对话将永久丢失。</string>
|
<string name="empty_archive_confirmation">你确定要清空归档吗?所有已归档对话将永久丢失。</string>
|
||||||
|
<!-- Recycle bin -->
|
||||||
|
<string name="restore">Restore</string>
|
||||||
|
<string name="restore_all_messages">Restore all messages</string>
|
||||||
|
<string name="empty_recycle_bin_messages_confirmation">Are you sure you want to empty the Recycle Bin? The messages will be permanently lost.</string>
|
||||||
|
<string name="skip_the_recycle_bin_messages">Skip the Recycle Bin, delete messages directly</string>
|
||||||
<!-- Confirmation dialog -->
|
<!-- Confirmation dialog -->
|
||||||
<string name="delete_whole_conversation_confirmation">您确定要删除此对话的所有消息吗\?</string>
|
<string name="delete_whole_conversation_confirmation">您确定要删除此对话的所有消息吗\?</string>
|
||||||
<string name="archive_confirmation">你确定要归档 %s 吗?</string>
|
<string name="archive_confirmation">你确定要归档 %s 吗?</string>
|
||||||
|
<string name="restore_whole_conversation_confirmation">Are you sure you want to restore all messages of this conversation?</string>
|
||||||
|
<string name="restore_confirmation">Are you sure you want to restore %s?</string>
|
||||||
<!-- Are you sure you want to delete 5 conversations? -->
|
<!-- Are you sure you want to delete 5 conversations? -->
|
||||||
<plurals name="delete_conversations">
|
<plurals name="delete_conversations">
|
||||||
<item quantity="other">%d 个对话</item>
|
<item quantity="other">%d 个对话</item>
|
||||||
@@ -125,4 +132,4 @@
|
|||||||
Haven't found some strings? There's more at
|
Haven't found some strings? There's more at
|
||||||
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
|
||||||
-->
|
-->
|
||||||
</resources>
|
</resources>
|
||||||
|
@@ -66,9 +66,16 @@
|
|||||||
<string name="no_archived_conversations">No archived conversations have been found</string>
|
<string name="no_archived_conversations">No archived conversations have been found</string>
|
||||||
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
||||||
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
||||||
|
<!-- Recycle bin -->
|
||||||
|
<string name="restore">Restore</string>
|
||||||
|
<string name="restore_all_messages">Restore all messages</string>
|
||||||
|
<string name="empty_recycle_bin_messages_confirmation">Are you sure you want to empty the Recycle Bin? The messages will be permanently lost.</string>
|
||||||
|
<string name="skip_the_recycle_bin_messages">Skip the Recycle Bin, delete messages directly</string>
|
||||||
<!-- Confirmation dialog -->
|
<!-- Confirmation dialog -->
|
||||||
<string name="delete_whole_conversation_confirmation">您確定要刪除此對話中的所有訊息嗎?</string>
|
<string name="delete_whole_conversation_confirmation">您確定要刪除此對話中的所有訊息嗎?</string>
|
||||||
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
||||||
|
<string name="restore_whole_conversation_confirmation">Are you sure you want to restore all messages of this conversation?</string>
|
||||||
|
<string name="restore_confirmation">Are you sure you want to restore %s?</string>
|
||||||
<!-- Are you sure you want to delete 5 conversations? -->
|
<!-- Are you sure you want to delete 5 conversations? -->
|
||||||
<plurals name="delete_conversations">
|
<plurals name="delete_conversations">
|
||||||
<item quantity="other">%d conversation</item>
|
<item quantity="other">%d conversation</item>
|
||||||
|
@@ -67,9 +67,16 @@
|
|||||||
<string name="no_archived_conversations">No archived conversations have been found</string>
|
<string name="no_archived_conversations">No archived conversations have been found</string>
|
||||||
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
<string name="archive_emptied_successfully">The archive has been emptied successfully</string>
|
||||||
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
<string name="empty_archive_confirmation">Are you sure you want to empty the archive? All archived conversations will be permanently lost.</string>
|
||||||
|
<!-- Recycle bin -->
|
||||||
|
<string name="restore">Restore</string>
|
||||||
|
<string name="restore_all_messages">Restore all messages</string>
|
||||||
|
<string name="empty_recycle_bin_messages_confirmation">Are you sure you want to empty the Recycle Bin? The messages will be permanently lost.</string>
|
||||||
|
<string name="skip_the_recycle_bin_messages">Skip the Recycle Bin, delete messages directly</string>
|
||||||
<!-- Confirmation dialog -->
|
<!-- Confirmation dialog -->
|
||||||
<string name="delete_whole_conversation_confirmation">Are you sure you want to delete all messages of this conversation?</string>
|
<string name="delete_whole_conversation_confirmation">Are you sure you want to delete all messages of this conversation?</string>
|
||||||
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
<string name="archive_confirmation">Are you sure you want to archive %s?</string>
|
||||||
|
<string name="restore_whole_conversation_confirmation">Are you sure you want to restore all messages of this conversation?</string>
|
||||||
|
<string name="restore_confirmation">Are you sure you want to restore %s?</string>
|
||||||
<!-- Are you sure you want to delete 5 conversations? -->
|
<!-- Are you sure you want to delete 5 conversations? -->
|
||||||
<plurals name="delete_conversations">
|
<plurals name="delete_conversations">
|
||||||
<item quantity="one">%d conversation</item>
|
<item quantity="one">%d conversation</item>
|
||||||
|
Reference in New Issue
Block a user