Add proper strings for archive operations
This commit is contained in:
parent
47861f605d
commit
7dbd6c5d9f
61 changed files with 693 additions and 70 deletions
|
|
@ -3,6 +3,7 @@ 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
|
||||
|
|
@ -82,8 +83,10 @@ class ArchivedConversationsActivity : SimpleActivity() {
|
|||
}
|
||||
|
||||
private fun removeAll() {
|
||||
removeAllArchivedConversations {
|
||||
loadArchivedConversations()
|
||||
ConfirmationDialog(this, "", R.string.empty_archive_confirmation, R.string.yes, R.string.no) {
|
||||
removeAllArchivedConversations {
|
||||
loadArchivedConversations()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -125,7 +128,7 @@ class ArchivedConversationsActivity : SimpleActivity() {
|
|||
private fun showOrHidePlaceholder(show: Boolean) {
|
||||
conversations_fastscroller.beGoneIf(show)
|
||||
no_conversations_placeholder.beVisibleIf(show)
|
||||
no_conversations_placeholder.text = getString(R.string.no_conversations_found)
|
||||
no_conversations_placeholder.text = getString(R.string.no_archived_conversations)
|
||||
}
|
||||
|
||||
@SuppressLint("NotifyDataSetChanged")
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ import java.util.*
|
|||
|
||||
class SettingsActivity : SimpleActivity() {
|
||||
private var blockedNumbersAtPause = -1
|
||||
private var recycleBinConversations = 0
|
||||
private var archiveConversations = 0
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
isMaterialActivity = true
|
||||
|
|
@ -64,7 +64,7 @@ class SettingsActivity : SimpleActivity() {
|
|||
settings_general_settings_label,
|
||||
settings_outgoing_messages_label,
|
||||
settings_notifications_label,
|
||||
settings_recycle_bin_label,
|
||||
settings_archive_label,
|
||||
settings_security_label
|
||||
).forEach {
|
||||
it.setTextColor(getProperPrimaryColor())
|
||||
|
|
@ -252,36 +252,36 @@ class SettingsActivity : SimpleActivity() {
|
|||
|
||||
private fun setupUseRecycleBin() {
|
||||
updateRecycleBinButtons()
|
||||
settings_use_recycle_bin.isChecked = config.useArchive
|
||||
settings_use_recycle_bin_holder.setOnClickListener {
|
||||
settings_use_recycle_bin.toggle()
|
||||
config.useArchive = settings_use_recycle_bin.isChecked
|
||||
settings_use_archive.isChecked = config.useArchive
|
||||
settings_use_archive_holder.setOnClickListener {
|
||||
settings_use_archive.toggle()
|
||||
config.useArchive = settings_use_archive.isChecked
|
||||
updateRecycleBinButtons()
|
||||
}
|
||||
}
|
||||
|
||||
private fun updateRecycleBinButtons() {
|
||||
settings_empty_recycle_bin_holder.beVisibleIf(config.useArchive)
|
||||
settings_empty_archive_holder.beVisibleIf(config.useArchive)
|
||||
}
|
||||
|
||||
private fun setupEmptyRecycleBin() {
|
||||
ensureBackgroundThread {
|
||||
recycleBinConversations = conversationsDB.getArchivedCount()
|
||||
archiveConversations = conversationsDB.getArchivedCount()
|
||||
runOnUiThread {
|
||||
settings_empty_recycle_bin_size.text =
|
||||
resources.getQuantityString(R.plurals.delete_conversations, recycleBinConversations, recycleBinConversations)
|
||||
settings_empty_archive_size.text =
|
||||
resources.getQuantityString(R.plurals.delete_conversations, archiveConversations, archiveConversations)
|
||||
}
|
||||
}
|
||||
|
||||
settings_empty_recycle_bin_holder.setOnClickListener {
|
||||
if (recycleBinConversations == 0) {
|
||||
toast(R.string.recycle_bin_empty)
|
||||
settings_empty_archive_holder.setOnClickListener {
|
||||
if (archiveConversations == 0) {
|
||||
toast(R.string.archive_is_empty)
|
||||
} else {
|
||||
ConfirmationDialog(this, "", R.string.empty_recycle_bin_confirmation, R.string.yes, R.string.no) {
|
||||
ConfirmationDialog(this, "", R.string.empty_archive_confirmation, R.string.yes, R.string.no) {
|
||||
removeAllArchivedConversations()
|
||||
recycleBinConversations = 0
|
||||
settings_empty_recycle_bin_size.text =
|
||||
resources.getQuantityString(R.plurals.delete_conversations, recycleBinConversations, recycleBinConversations)
|
||||
archiveConversations = 0
|
||||
settings_empty_archive_size.text =
|
||||
resources.getQuantityString(R.plurals.delete_conversations, archiveConversations, archiveConversations)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -889,7 +889,12 @@ class ThreadActivity : SimpleActivity() {
|
|||
}
|
||||
|
||||
private fun askConfirmDelete() {
|
||||
DeleteConfirmationDialog(this, getString(R.string.delete_whole_conversation_confirmation), config.useArchive) { skipRecycleBin ->
|
||||
val confirmationMessage = if (config.useArchive) {
|
||||
R.string.archive_whole_conversation_confirmation
|
||||
} else {
|
||||
R.string.delete_whole_conversation_confirmation
|
||||
}
|
||||
DeleteConfirmationDialog(this, getString(confirmationMessage), config.useArchive) { skipRecycleBin ->
|
||||
ensureBackgroundThread {
|
||||
if (skipRecycleBin || config.useArchive.not()) {
|
||||
deleteConversation(threadId)
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ class ArchivedConversationsAdapter(
|
|||
val baseString = R.string.deletion_confirmation
|
||||
val question = String.format(resources.getString(baseString), items)
|
||||
|
||||
DeleteConfirmationDialog(activity, question, showSkipRecycleBinOption = false) { _ ->
|
||||
DeleteConfirmationDialog(activity, question, showSkipArchiveOption = false) { _ ->
|
||||
ensureBackgroundThread {
|
||||
deleteConversations()
|
||||
}
|
||||
|
|
|
|||
|
|
@ -118,7 +118,11 @@ class ConversationsAdapter(
|
|||
val itemsCnt = selectedKeys.size
|
||||
val items = resources.getQuantityString(R.plurals.delete_conversations, itemsCnt, itemsCnt)
|
||||
|
||||
val baseString = R.string.deletion_confirmation
|
||||
val baseString = if (activity.config.useArchive) {
|
||||
R.string.archive_confirmation
|
||||
} else {
|
||||
R.string.deletion_confirmation
|
||||
}
|
||||
val question = String.format(resources.getString(baseString), items)
|
||||
|
||||
DeleteConfirmationDialog(activity, question, activity.config.useArchive) { skipRecycleBin ->
|
||||
|
|
|
|||
|
|
@ -7,12 +7,12 @@ 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
|
||||
import kotlinx.android.synthetic.main.dialog_delete_confirmation.view.skip_the_archive_checkbox
|
||||
|
||||
class DeleteConfirmationDialog(
|
||||
private val activity: Activity,
|
||||
private val message: String,
|
||||
private val showSkipRecycleBinOption: Boolean,
|
||||
private val showSkipArchiveOption: Boolean,
|
||||
private val callback: (skipRecycleBin: Boolean) -> Unit
|
||||
) {
|
||||
|
||||
|
|
@ -21,7 +21,7 @@ class DeleteConfirmationDialog(
|
|||
|
||||
init {
|
||||
view.delete_remember_title.text = message
|
||||
view.skip_the_recycle_bin_checkbox.beGoneIf(!showSkipRecycleBinOption)
|
||||
view.skip_the_archive_checkbox.beGoneIf(!showSkipArchiveOption)
|
||||
activity.getAlertDialogBuilder()
|
||||
.setPositiveButton(R.string.yes) { _, _ -> dialogConfirmed() }
|
||||
.setNegativeButton(R.string.no, null)
|
||||
|
|
@ -34,6 +34,6 @@ class DeleteConfirmationDialog(
|
|||
|
||||
private fun dialogConfirmed() {
|
||||
dialog?.dismiss()
|
||||
callback(view.skip_the_recycle_bin_checkbox.isChecked)
|
||||
callback(view.skip_the_archive_checkbox.isChecked)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -602,7 +602,7 @@ fun Context.removeAllArchivedConversations(callback: (() -> Unit)? = null) {
|
|||
for (conversation in conversationsDB.getAllArchived()) {
|
||||
deleteConversation(conversation.threadId)
|
||||
}
|
||||
toast(R.string.recycle_bin_emptied)
|
||||
toast(R.string.archive_emptied_successfully)
|
||||
callback?.invoke()
|
||||
} catch (e: Exception) {
|
||||
toast(R.string.unknown_error_occurred)
|
||||
|
|
|
|||
|
|
@ -37,8 +37,8 @@ const val SCHEDULED_MESSAGE_ID = "scheduled_message_id"
|
|||
const val SOFT_KEYBOARD_HEIGHT = "soft_keyboard_height"
|
||||
const val IS_MMS = "is_mms"
|
||||
const val MESSAGE_ID = "message_id"
|
||||
const val USE_ARCHIVE = "use_recycle_bin"
|
||||
const val LAST_ARCHIVE_CHECK = "last_bin_check"
|
||||
const val USE_ARCHIVE = "use_archive"
|
||||
const val LAST_ARCHIVE_CHECK = "last_archive_check"
|
||||
|
||||
private const val PATH = "com.simplemobiletools.smsmessenger.action."
|
||||
const val MARK_AS_READ = PATH + "mark_as_read"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue