mirror of
https://github.com/SimpleMobileTools/Simple-SMS-Messenger.git
synced 2025-06-05 21:49:22 +02:00
Added pinning conversations (#197)
This commit is contained in:
@@ -28,6 +28,7 @@ import org.greenrobot.eventbus.EventBus
|
|||||||
import org.greenrobot.eventbus.Subscribe
|
import org.greenrobot.eventbus.Subscribe
|
||||||
import org.greenrobot.eventbus.ThreadMode
|
import org.greenrobot.eventbus.ThreadMode
|
||||||
import java.util.*
|
import java.util.*
|
||||||
|
import kotlin.collections.ArrayList
|
||||||
|
|
||||||
class MainActivity : SimpleActivity() {
|
class MainActivity : SimpleActivity() {
|
||||||
private val MAKE_DEFAULT_APP_REQUEST = 1
|
private val MAKE_DEFAULT_APP_REQUEST = 1
|
||||||
@@ -170,7 +171,7 @@ class MainActivity : SimpleActivity() {
|
|||||||
private fun getCachedConversations() {
|
private fun getCachedConversations() {
|
||||||
ensureBackgroundThread {
|
ensureBackgroundThread {
|
||||||
val conversations = try {
|
val conversations = try {
|
||||||
conversationsDB.getAll().sortedByDescending { it.date }.toMutableList() as ArrayList<Conversation>
|
conversationsDB.getAll().toMutableList() as ArrayList<Conversation>
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
ArrayList()
|
ArrayList()
|
||||||
}
|
}
|
||||||
@@ -226,6 +227,10 @@ class MainActivity : SimpleActivity() {
|
|||||||
|
|
||||||
private fun setupConversations(conversations: ArrayList<Conversation>) {
|
private fun setupConversations(conversations: ArrayList<Conversation>) {
|
||||||
val hasConversations = conversations.isNotEmpty()
|
val hasConversations = conversations.isNotEmpty()
|
||||||
|
val sortedConversations = conversations.sortedWith(
|
||||||
|
compareByDescending<Conversation>{ config.pinnedConversations.contains(it.threadId.toString()) }
|
||||||
|
.thenByDescending{ it.date }
|
||||||
|
).toMutableList() as ArrayList<Conversation>
|
||||||
conversations_list.beVisibleIf(hasConversations)
|
conversations_list.beVisibleIf(hasConversations)
|
||||||
no_conversations_placeholder.beVisibleIf(!hasConversations)
|
no_conversations_placeholder.beVisibleIf(!hasConversations)
|
||||||
no_conversations_placeholder_2.beVisibleIf(!hasConversations)
|
no_conversations_placeholder_2.beVisibleIf(!hasConversations)
|
||||||
@@ -237,7 +242,7 @@ class MainActivity : SimpleActivity() {
|
|||||||
|
|
||||||
val currAdapter = conversations_list.adapter
|
val currAdapter = conversations_list.adapter
|
||||||
if (currAdapter == null) {
|
if (currAdapter == null) {
|
||||||
ConversationsAdapter(this, conversations, conversations_list, conversations_fastscroller) {
|
ConversationsAdapter(this, sortedConversations, conversations_list, conversations_fastscroller) {
|
||||||
Intent(this, ThreadActivity::class.java).apply {
|
Intent(this, ThreadActivity::class.java).apply {
|
||||||
putExtra(THREAD_ID, (it as Conversation).threadId)
|
putExtra(THREAD_ID, (it as Conversation).threadId)
|
||||||
putExtra(THREAD_TITLE, it.title)
|
putExtra(THREAD_TITLE, it.title)
|
||||||
@@ -254,7 +259,7 @@ class MainActivity : SimpleActivity() {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
try {
|
try {
|
||||||
(currAdapter as ConversationsAdapter).updateConversations(conversations)
|
(currAdapter as ConversationsAdapter).updateConversations(sortedConversations)
|
||||||
} catch (ignored: Exception) {
|
} catch (ignored: Exception) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -146,6 +146,7 @@ class ThreadActivity : SimpleActivity() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
updateMenuItemColors(menu)
|
updateMenuItemColors(menu)
|
||||||
|
checkPinBtnVisibility(menu)
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -159,6 +160,8 @@ class ThreadActivity : SimpleActivity() {
|
|||||||
R.id.delete -> askConfirmDelete()
|
R.id.delete -> askConfirmDelete()
|
||||||
R.id.manage_people -> managePeople()
|
R.id.manage_people -> managePeople()
|
||||||
R.id.mark_as_unread -> markAsUnread()
|
R.id.mark_as_unread -> markAsUnread()
|
||||||
|
R.id.pin_conversation -> pinConversation(true)
|
||||||
|
R.id.unpin_conversation -> pinConversation(false)
|
||||||
else -> return super.onOptionsItemSelected(item)
|
else -> return super.onOptionsItemSelected(item)
|
||||||
}
|
}
|
||||||
return true
|
return true
|
||||||
@@ -852,6 +855,25 @@ class ThreadActivity : SimpleActivity() {
|
|||||||
return participants
|
return participants
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun pinConversation(pin: Boolean) {
|
||||||
|
if (pin) {
|
||||||
|
config.addPinnedConversationByThreadId(threadId)
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
config.removePinnedConversationByThreadId(threadId)
|
||||||
|
}
|
||||||
|
|
||||||
|
runOnUiThread {
|
||||||
|
refreshMessages()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun checkPinBtnVisibility(menu: Menu) {
|
||||||
|
val pinnedConversations = config.pinnedConversations
|
||||||
|
menu.findItem(R.id.pin_conversation).isVisible = !pinnedConversations.contains(threadId.toString())
|
||||||
|
menu.findItem(R.id.unpin_conversation).isVisible = pinnedConversations.contains(threadId.toString())
|
||||||
|
}
|
||||||
|
|
||||||
@SuppressLint("MissingPermission")
|
@SuppressLint("MissingPermission")
|
||||||
@Subscribe(threadMode = ThreadMode.ASYNC)
|
@Subscribe(threadMode = ThreadMode.ASYNC)
|
||||||
fun refreshMessages(event: Events.RefreshMessages) {
|
fun refreshMessages(event: Events.RefreshMessages) {
|
||||||
|
@@ -22,10 +22,7 @@ import com.simplemobiletools.commons.views.FastScroller
|
|||||||
import com.simplemobiletools.commons.views.MyRecyclerView
|
import com.simplemobiletools.commons.views.MyRecyclerView
|
||||||
import com.simplemobiletools.smsmessenger.R
|
import com.simplemobiletools.smsmessenger.R
|
||||||
import com.simplemobiletools.smsmessenger.activities.SimpleActivity
|
import com.simplemobiletools.smsmessenger.activities.SimpleActivity
|
||||||
import com.simplemobiletools.smsmessenger.extensions.deleteConversation
|
import com.simplemobiletools.smsmessenger.extensions.*
|
||||||
import com.simplemobiletools.smsmessenger.extensions.getSmsDraft
|
|
||||||
import com.simplemobiletools.smsmessenger.extensions.markThreadMessagesRead
|
|
||||||
import com.simplemobiletools.smsmessenger.extensions.markThreadMessagesUnread
|
|
||||||
import com.simplemobiletools.smsmessenger.helpers.refreshMessages
|
import com.simplemobiletools.smsmessenger.helpers.refreshMessages
|
||||||
import com.simplemobiletools.smsmessenger.models.Conversation
|
import com.simplemobiletools.smsmessenger.models.Conversation
|
||||||
import kotlinx.android.synthetic.main.item_conversation.view.*
|
import kotlinx.android.synthetic.main.item_conversation.view.*
|
||||||
@@ -48,6 +45,8 @@ class ConversationsAdapter(
|
|||||||
findItem(R.id.cab_add_number_to_contact).isVisible = isOneItemSelected() && getSelectedItems().firstOrNull()?.isGroupConversation == false
|
findItem(R.id.cab_add_number_to_contact).isVisible = isOneItemSelected() && getSelectedItems().firstOrNull()?.isGroupConversation == false
|
||||||
findItem(R.id.cab_dial_number).isVisible = isOneItemSelected() && getSelectedItems().firstOrNull()?.isGroupConversation == false
|
findItem(R.id.cab_dial_number).isVisible = isOneItemSelected() && getSelectedItems().firstOrNull()?.isGroupConversation == false
|
||||||
findItem(R.id.cab_copy_number).isVisible = isOneItemSelected() && getSelectedItems().firstOrNull()?.isGroupConversation == false
|
findItem(R.id.cab_copy_number).isVisible = isOneItemSelected() && getSelectedItems().firstOrNull()?.isGroupConversation == false
|
||||||
|
|
||||||
|
checkPinBtnVisibility(this)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -64,6 +63,8 @@ class ConversationsAdapter(
|
|||||||
R.id.cab_delete -> askConfirmDelete()
|
R.id.cab_delete -> askConfirmDelete()
|
||||||
R.id.cab_mark_as_read -> markAsRead()
|
R.id.cab_mark_as_read -> markAsRead()
|
||||||
R.id.cab_mark_as_unread -> markAsUnread()
|
R.id.cab_mark_as_unread -> markAsUnread()
|
||||||
|
R.id.cab_pin_conversation -> pinConversation(true)
|
||||||
|
R.id.cab_unpin_conversation -> pinConversation(false)
|
||||||
R.id.cab_select_all -> selectAll()
|
R.id.cab_select_all -> selectAll()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -237,6 +238,33 @@ class ConversationsAdapter(
|
|||||||
|
|
||||||
private fun getSelectedItems() = conversations.filter { selectedKeys.contains(it.hashCode()) } as ArrayList<Conversation>
|
private fun getSelectedItems() = conversations.filter { selectedKeys.contains(it.hashCode()) } as ArrayList<Conversation>
|
||||||
|
|
||||||
|
private fun pinConversation(pin: Boolean) {
|
||||||
|
val conversations = getSelectedItems()
|
||||||
|
|
||||||
|
if (conversations.size == 0) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pin) {
|
||||||
|
activity.config.addPinnedConversations(conversations)
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
activity.config.removePinnedConversations(conversations)
|
||||||
|
}
|
||||||
|
|
||||||
|
activity.runOnUiThread {
|
||||||
|
refreshMessages()
|
||||||
|
finishActMode()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun checkPinBtnVisibility(menu: Menu) {
|
||||||
|
val pinnedConversations = activity.config.pinnedConversations
|
||||||
|
val selectedConversations = getSelectedItems()
|
||||||
|
menu.findItem(R.id.cab_pin_conversation).isVisible = selectedConversations.any { !pinnedConversations.contains(it.threadId.toString()) }
|
||||||
|
menu.findItem(R.id.cab_unpin_conversation).isVisible = selectedConversations.any { pinnedConversations.contains(it.threadId.toString()) }
|
||||||
|
}
|
||||||
|
|
||||||
override fun onViewRecycled(holder: ViewHolder) {
|
override fun onViewRecycled(holder: ViewHolder) {
|
||||||
super.onViewRecycled(holder)
|
super.onViewRecycled(holder)
|
||||||
if (!activity.isDestroyed && !activity.isFinishing) {
|
if (!activity.isDestroyed && !activity.isFinishing) {
|
||||||
@@ -265,6 +293,8 @@ class ConversationsAdapter(
|
|||||||
draft_indicator.beVisibleIf(smsDraft != null)
|
draft_indicator.beVisibleIf(smsDraft != null)
|
||||||
draft_indicator.setTextColor(adjustedPrimaryColor)
|
draft_indicator.setTextColor(adjustedPrimaryColor)
|
||||||
|
|
||||||
|
pin_indicator.beVisibleIf(activity.config.pinnedConversations.contains(conversation.threadId.toString()))
|
||||||
|
|
||||||
conversation_frame.isSelected = selectedKeys.contains(conversation.hashCode())
|
conversation_frame.isSelected = selectedKeys.contains(conversation.hashCode())
|
||||||
|
|
||||||
conversation_address.apply {
|
conversation_address.apply {
|
||||||
|
@@ -2,6 +2,8 @@ package com.simplemobiletools.smsmessenger.helpers
|
|||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import com.simplemobiletools.commons.helpers.BaseConfig
|
import com.simplemobiletools.commons.helpers.BaseConfig
|
||||||
|
import com.simplemobiletools.smsmessenger.models.Conversation
|
||||||
|
import java.util.HashSet
|
||||||
|
|
||||||
class Config(context: Context) : BaseConfig(context) {
|
class Config(context: Context) : BaseConfig(context) {
|
||||||
companion object {
|
companion object {
|
||||||
@@ -33,4 +35,24 @@ class Config(context: Context) : BaseConfig(context) {
|
|||||||
var mmsFileSizeLimit: Long
|
var mmsFileSizeLimit: Long
|
||||||
get() = prefs.getLong(MMS_FILE_SIZE_LIMIT, FILE_SIZE_1_MB)
|
get() = prefs.getLong(MMS_FILE_SIZE_LIMIT, FILE_SIZE_1_MB)
|
||||||
set(mmsFileSizeLimit) = prefs.edit().putLong(MMS_FILE_SIZE_LIMIT, mmsFileSizeLimit).apply()
|
set(mmsFileSizeLimit) = prefs.edit().putLong(MMS_FILE_SIZE_LIMIT, mmsFileSizeLimit).apply()
|
||||||
|
|
||||||
|
var pinnedConversations: Set<String>
|
||||||
|
get() = prefs.getStringSet(PINNED_CONVERSATIONS, HashSet<String>())!!
|
||||||
|
set(pinnedConversations) = prefs.edit().putStringSet(PINNED_CONVERSATIONS, pinnedConversations).apply()
|
||||||
|
|
||||||
|
fun addPinnedConversationByThreadId(threadId: Long) {
|
||||||
|
pinnedConversations = pinnedConversations.plus(threadId.toString())
|
||||||
|
}
|
||||||
|
|
||||||
|
fun addPinnedConversations(conversations: List<Conversation>) {
|
||||||
|
pinnedConversations = pinnedConversations.plus(conversations.map { it.threadId.toString() })
|
||||||
|
}
|
||||||
|
|
||||||
|
fun removePinnedConversationByThreadId(threadId: Long) {
|
||||||
|
pinnedConversations = pinnedConversations.minus(threadId.toString())
|
||||||
|
}
|
||||||
|
|
||||||
|
fun removePinnedConversations(conversations: List<Conversation>) {
|
||||||
|
pinnedConversations = pinnedConversations.minus(conversations.map { it.threadId.toString() })
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -17,6 +17,7 @@ const val USE_SIMPLE_CHARACTERS = "use_simple_characters"
|
|||||||
const val LOCK_SCREEN_VISIBILITY = "lock_screen_visibility"
|
const val LOCK_SCREEN_VISIBILITY = "lock_screen_visibility"
|
||||||
const val ENABLE_DELIVERY_REPORTS = "enable_delivery_reports"
|
const val ENABLE_DELIVERY_REPORTS = "enable_delivery_reports"
|
||||||
const val MMS_FILE_SIZE_LIMIT = "mms_file_size_limit"
|
const val MMS_FILE_SIZE_LIMIT = "mms_file_size_limit"
|
||||||
|
const val PINNED_CONVERSATIONS = "pinned_conversations"
|
||||||
|
|
||||||
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"
|
||||||
|
BIN
app/src/main/res/drawable-hdpi/ic_pin.png
Normal file
BIN
app/src/main/res/drawable-hdpi/ic_pin.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 882 B |
BIN
app/src/main/res/drawable-mdpi/ic_pin.png
Normal file
BIN
app/src/main/res/drawable-mdpi/ic_pin.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 532 B |
BIN
app/src/main/res/drawable-xhdpi/ic_pin.png
Normal file
BIN
app/src/main/res/drawable-xhdpi/ic_pin.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.0 KiB |
BIN
app/src/main/res/drawable-xxhdpi/ic_pin.png
Normal file
BIN
app/src/main/res/drawable-xxhdpi/ic_pin.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.9 KiB |
BIN
app/src/main/res/drawable-xxxhdpi/ic_pin.png
Normal file
BIN
app/src/main/res/drawable-xxxhdpi/ic_pin.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.0 KiB |
@@ -26,6 +26,24 @@
|
|||||||
android:layout_marginStart="@dimen/normal_margin"
|
android:layout_marginStart="@dimen/normal_margin"
|
||||||
android:layout_marginEnd="@dimen/normal_margin" />
|
android:layout_marginEnd="@dimen/normal_margin" />
|
||||||
|
|
||||||
|
<RelativeLayout
|
||||||
|
android:id="@+id/pin_indicator_l"
|
||||||
|
android:layout_width="@dimen/normal_icon_size"
|
||||||
|
android:layout_height="@dimen/normal_icon_size"
|
||||||
|
android:layout_alignTop="@+id/conversation_address"
|
||||||
|
android:layout_alignBottom="@+id/conversation_date"
|
||||||
|
android:layout_centerVertical="true"
|
||||||
|
android:layout_marginStart="@dimen/normal_margin"
|
||||||
|
android:layout_marginEnd="@dimen/normal_margin">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/pin_indicator"
|
||||||
|
android:layout_width="@dimen/pin_icon_size"
|
||||||
|
android:layout_height="@dimen/pin_icon_size"
|
||||||
|
android:layout_alignParentRight="true"
|
||||||
|
android:src="@drawable/ic_pin" />
|
||||||
|
</RelativeLayout>
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/conversation_address"
|
android:id="@+id/conversation_address"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
@@ -33,6 +33,14 @@
|
|||||||
android:id="@+id/cab_mark_as_unread"
|
android:id="@+id/cab_mark_as_unread"
|
||||||
android:title="@string/mark_as_unread"
|
android:title="@string/mark_as_unread"
|
||||||
app:showAsAction="never" />
|
app:showAsAction="never" />
|
||||||
|
<item
|
||||||
|
android:id="@+id/cab_pin_conversation"
|
||||||
|
android:title="@string/pin_conversation"
|
||||||
|
app:showAsAction="never" />
|
||||||
|
<item
|
||||||
|
android:id="@+id/cab_unpin_conversation"
|
||||||
|
android:title="@string/unpin_conversation"
|
||||||
|
app:showAsAction="never" />
|
||||||
<item
|
<item
|
||||||
android:id="@+id/cab_select_all"
|
android:id="@+id/cab_select_all"
|
||||||
android:title="@string/select_all"
|
android:title="@string/select_all"
|
||||||
|
@@ -19,4 +19,12 @@
|
|||||||
android:id="@+id/mark_as_unread"
|
android:id="@+id/mark_as_unread"
|
||||||
android:title="@string/mark_as_unread"
|
android:title="@string/mark_as_unread"
|
||||||
app:showAsAction="never" />
|
app:showAsAction="never" />
|
||||||
|
<item
|
||||||
|
android:id="@+id/pin_conversation"
|
||||||
|
android:title="@string/pin_conversation"
|
||||||
|
app:showAsAction="never" />
|
||||||
|
<item
|
||||||
|
android:id="@+id/unpin_conversation"
|
||||||
|
android:title="@string/unpin_conversation"
|
||||||
|
app:showAsAction="never" />
|
||||||
</menu>
|
</menu>
|
||||||
|
@@ -17,6 +17,8 @@
|
|||||||
<string name="sending">Odesílá se…</string>
|
<string name="sending">Odesílá se…</string>
|
||||||
<string name="export_messages">Export zpráv</string>
|
<string name="export_messages">Export zpráv</string>
|
||||||
<string name="import_messages">Import zpráv</string>
|
<string name="import_messages">Import zpráv</string>
|
||||||
|
<string name="pin_conversation">Pin to the top</string>
|
||||||
|
<string name="unpin_conversation">Unpin</string>
|
||||||
|
|
||||||
<!-- New conversation -->
|
<!-- New conversation -->
|
||||||
<string name="new_conversation">Nová konverzace</string>
|
<string name="new_conversation">Nová konverzace</string>
|
||||||
|
@@ -17,6 +17,8 @@
|
|||||||
<string name="sending">Sender…</string>
|
<string name="sending">Sender…</string>
|
||||||
<string name="export_messages">Eksporter beskeder</string>
|
<string name="export_messages">Eksporter beskeder</string>
|
||||||
<string name="import_messages">Importer beskeder</string>
|
<string name="import_messages">Importer beskeder</string>
|
||||||
|
<string name="pin_conversation">Pin to the top</string>
|
||||||
|
<string name="unpin_conversation">Unpin</string>
|
||||||
|
|
||||||
<!-- New conversation -->
|
<!-- New conversation -->
|
||||||
<string name="new_conversation">Ny Samtale</string>
|
<string name="new_conversation">Ny Samtale</string>
|
||||||
|
@@ -17,6 +17,8 @@
|
|||||||
<string name="sending">Sende…</string>
|
<string name="sending">Sende…</string>
|
||||||
<string name="export_messages">Export messages</string>
|
<string name="export_messages">Export messages</string>
|
||||||
<string name="import_messages">Import messages</string>
|
<string name="import_messages">Import messages</string>
|
||||||
|
<string name="pin_conversation">Pin to the top</string>
|
||||||
|
<string name="unpin_conversation">Unpin</string>
|
||||||
|
|
||||||
<!-- New conversation -->
|
<!-- New conversation -->
|
||||||
<string name="new_conversation">Neuer Chat</string>
|
<string name="new_conversation">Neuer Chat</string>
|
||||||
|
@@ -17,6 +17,8 @@
|
|||||||
<string name="sending">Γίνεται αποστολή…</string>
|
<string name="sending">Γίνεται αποστολή…</string>
|
||||||
<string name="export_messages">Εξαγωγή μηνυμάτων</string>
|
<string name="export_messages">Εξαγωγή μηνυμάτων</string>
|
||||||
<string name="import_messages">Εισαγωγή μηνυμάτων</string>
|
<string name="import_messages">Εισαγωγή μηνυμάτων</string>
|
||||||
|
<string name="pin_conversation">Pin to the top</string>
|
||||||
|
<string name="unpin_conversation">Unpin</string>
|
||||||
|
|
||||||
<!-- New conversation -->
|
<!-- New conversation -->
|
||||||
<string name="new_conversation">Νέα συνομιλία</string>
|
<string name="new_conversation">Νέα συνομιλία</string>
|
||||||
|
@@ -17,6 +17,8 @@
|
|||||||
<string name="sending">Sending…</string>
|
<string name="sending">Sending…</string>
|
||||||
<string name="export_messages">Export messages</string>
|
<string name="export_messages">Export messages</string>
|
||||||
<string name="import_messages">Import messages</string>
|
<string name="import_messages">Import messages</string>
|
||||||
|
<string name="pin_conversation">Pin to the top</string>
|
||||||
|
<string name="unpin_conversation">Unpin</string>
|
||||||
|
|
||||||
<!-- New conversation -->
|
<!-- New conversation -->
|
||||||
<string name="new_conversation">Nueva conversación</string>
|
<string name="new_conversation">Nueva conversación</string>
|
||||||
|
@@ -17,6 +17,8 @@
|
|||||||
<string name="sending">Lähetetään…</string>
|
<string name="sending">Lähetetään…</string>
|
||||||
<string name="export_messages">Export messages</string>
|
<string name="export_messages">Export messages</string>
|
||||||
<string name="import_messages">Import messages</string>
|
<string name="import_messages">Import messages</string>
|
||||||
|
<string name="pin_conversation">Pin to the top</string>
|
||||||
|
<string name="unpin_conversation">Unpin</string>
|
||||||
|
|
||||||
<!-- New conversation -->
|
<!-- New conversation -->
|
||||||
<string name="new_conversation">Uusi keskustelu</string>
|
<string name="new_conversation">Uusi keskustelu</string>
|
||||||
|
@@ -17,6 +17,8 @@
|
|||||||
<string name="sending">Envoi en cours…</string>
|
<string name="sending">Envoi en cours…</string>
|
||||||
<string name="export_messages">Export de messages</string>
|
<string name="export_messages">Export de messages</string>
|
||||||
<string name="import_messages">Import de messages</string>
|
<string name="import_messages">Import de messages</string>
|
||||||
|
<string name="pin_conversation">Pin to the top</string>
|
||||||
|
<string name="unpin_conversation">Unpin</string>
|
||||||
|
|
||||||
<!-- New conversation -->
|
<!-- New conversation -->
|
||||||
<string name="new_conversation">Nouvelle conversation</string>
|
<string name="new_conversation">Nouvelle conversation</string>
|
||||||
|
@@ -17,6 +17,8 @@
|
|||||||
<string name="sending">Sending…</string>
|
<string name="sending">Sending…</string>
|
||||||
<string name="export_messages">Export messages</string>
|
<string name="export_messages">Export messages</string>
|
||||||
<string name="import_messages">Import messages</string>
|
<string name="import_messages">Import messages</string>
|
||||||
|
<string name="pin_conversation">Pin to the top</string>
|
||||||
|
<string name="unpin_conversation">Unpin</string>
|
||||||
|
|
||||||
<!-- New conversation -->
|
<!-- New conversation -->
|
||||||
<string name="new_conversation">Nova conversa</string>
|
<string name="new_conversation">Nova conversa</string>
|
||||||
|
@@ -17,6 +17,8 @@
|
|||||||
<string name="sending">Sending…</string>
|
<string name="sending">Sending…</string>
|
||||||
<string name="export_messages">Export messages</string>
|
<string name="export_messages">Export messages</string>
|
||||||
<string name="import_messages">Import messages</string>
|
<string name="import_messages">Import messages</string>
|
||||||
|
<string name="pin_conversation">Pin to the top</string>
|
||||||
|
<string name="unpin_conversation">Unpin</string>
|
||||||
|
|
||||||
<!-- New conversation -->
|
<!-- New conversation -->
|
||||||
<string name="new_conversation">Percakapan baru</string>
|
<string name="new_conversation">Percakapan baru</string>
|
||||||
|
@@ -17,6 +17,8 @@
|
|||||||
<string name="sending">Invio…</string>
|
<string name="sending">Invio…</string>
|
||||||
<string name="export_messages">Export messages</string>
|
<string name="export_messages">Export messages</string>
|
||||||
<string name="import_messages">Import messages</string>
|
<string name="import_messages">Import messages</string>
|
||||||
|
<string name="pin_conversation">Pin to the top</string>
|
||||||
|
<string name="unpin_conversation">Unpin</string>
|
||||||
|
|
||||||
<!-- New conversation -->
|
<!-- New conversation -->
|
||||||
<string name="new_conversation">Nuova conversazione</string>
|
<string name="new_conversation">Nuova conversazione</string>
|
||||||
|
@@ -17,6 +17,8 @@
|
|||||||
<string name="sending">Sending…</string>
|
<string name="sending">Sending…</string>
|
||||||
<string name="export_messages">Export messages</string>
|
<string name="export_messages">Export messages</string>
|
||||||
<string name="import_messages">Import messages</string>
|
<string name="import_messages">Import messages</string>
|
||||||
|
<string name="pin_conversation">Pin to the top</string>
|
||||||
|
<string name="unpin_conversation">Unpin</string>
|
||||||
|
|
||||||
<!-- New conversation -->
|
<!-- New conversation -->
|
||||||
<string name="new_conversation">新しい会話</string>
|
<string name="new_conversation">新しい会話</string>
|
||||||
|
@@ -17,6 +17,8 @@
|
|||||||
<string name="sending">Sending…</string>
|
<string name="sending">Sending…</string>
|
||||||
<string name="export_messages">Export messages</string>
|
<string name="export_messages">Export messages</string>
|
||||||
<string name="import_messages">Import messages</string>
|
<string name="import_messages">Import messages</string>
|
||||||
|
<string name="pin_conversation">Pin to the top</string>
|
||||||
|
<string name="unpin_conversation">Unpin</string>
|
||||||
|
|
||||||
<!-- New conversation -->
|
<!-- New conversation -->
|
||||||
<string name="new_conversation">Naujas pokalbis</string>
|
<string name="new_conversation">Naujas pokalbis</string>
|
||||||
|
@@ -17,6 +17,8 @@
|
|||||||
<string name="sending">Sending…</string>
|
<string name="sending">Sending…</string>
|
||||||
<string name="export_messages">Export messages</string>
|
<string name="export_messages">Export messages</string>
|
||||||
<string name="import_messages">Import messages</string>
|
<string name="import_messages">Import messages</string>
|
||||||
|
<string name="pin_conversation">Pin to the top</string>
|
||||||
|
<string name="unpin_conversation">Unpin</string>
|
||||||
|
|
||||||
<!-- New conversation -->
|
<!-- New conversation -->
|
||||||
<string name="new_conversation">പുതിയ സംഭാഷണം</string>
|
<string name="new_conversation">പുതിയ സംഭാഷണം</string>
|
||||||
|
@@ -17,6 +17,8 @@
|
|||||||
<string name="sending">Versturen…</string>
|
<string name="sending">Versturen…</string>
|
||||||
<string name="export_messages">Berichten exporteren</string>
|
<string name="export_messages">Berichten exporteren</string>
|
||||||
<string name="import_messages">Berichten importeren</string>
|
<string name="import_messages">Berichten importeren</string>
|
||||||
|
<string name="pin_conversation">Pin to the top</string>
|
||||||
|
<string name="unpin_conversation">Unpin</string>
|
||||||
|
|
||||||
<!-- New conversation -->
|
<!-- New conversation -->
|
||||||
<string name="new_conversation">Nieuw gesprek</string>
|
<string name="new_conversation">Nieuw gesprek</string>
|
||||||
|
@@ -17,6 +17,8 @@
|
|||||||
<string name="sending">Wysyłanie…</string>
|
<string name="sending">Wysyłanie…</string>
|
||||||
<string name="export_messages">Eksportuj wiadomości</string>
|
<string name="export_messages">Eksportuj wiadomości</string>
|
||||||
<string name="import_messages">Importuj wiadomości</string>
|
<string name="import_messages">Importuj wiadomości</string>
|
||||||
|
<string name="pin_conversation">Przypnij na górze</string>
|
||||||
|
<string name="unpin_conversation">Odepnij</string>
|
||||||
|
|
||||||
<!-- New conversation -->
|
<!-- New conversation -->
|
||||||
<string name="new_conversation">Nowa rozmowa</string>
|
<string name="new_conversation">Nowa rozmowa</string>
|
||||||
|
@@ -17,6 +17,8 @@
|
|||||||
<string name="sending">A enviar…</string>
|
<string name="sending">A enviar…</string>
|
||||||
<string name="export_messages">Exportar mensagens</string>
|
<string name="export_messages">Exportar mensagens</string>
|
||||||
<string name="import_messages">Importar mensagens</string>
|
<string name="import_messages">Importar mensagens</string>
|
||||||
|
<string name="pin_conversation">Pin to the top</string>
|
||||||
|
<string name="unpin_conversation">Unpin</string>
|
||||||
|
|
||||||
<!-- New conversation -->
|
<!-- New conversation -->
|
||||||
<string name="new_conversation">Nova conversa</string>
|
<string name="new_conversation">Nova conversa</string>
|
||||||
|
@@ -17,6 +17,8 @@
|
|||||||
<string name="sending">Отправка…</string>
|
<string name="sending">Отправка…</string>
|
||||||
<string name="export_messages">Экспорт сообщений</string>
|
<string name="export_messages">Экспорт сообщений</string>
|
||||||
<string name="import_messages">Импорт сообщений</string>
|
<string name="import_messages">Импорт сообщений</string>
|
||||||
|
<string name="pin_conversation">Pin to the top</string>
|
||||||
|
<string name="unpin_conversation">Unpin</string>
|
||||||
|
|
||||||
<!-- New conversation -->
|
<!-- New conversation -->
|
||||||
<string name="new_conversation">Новая переписка</string>
|
<string name="new_conversation">Новая переписка</string>
|
||||||
|
@@ -17,6 +17,8 @@
|
|||||||
<string name="sending">Odosiela sa…</string>
|
<string name="sending">Odosiela sa…</string>
|
||||||
<string name="export_messages">Exportovať správy</string>
|
<string name="export_messages">Exportovať správy</string>
|
||||||
<string name="import_messages">Importovať správy</string>
|
<string name="import_messages">Importovať správy</string>
|
||||||
|
<string name="pin_conversation">Pin to the top</string>
|
||||||
|
<string name="unpin_conversation">Unpin</string>
|
||||||
|
|
||||||
<!-- New conversation -->
|
<!-- New conversation -->
|
||||||
<string name="new_conversation">Nová konverzácia</string>
|
<string name="new_conversation">Nová konverzácia</string>
|
||||||
|
@@ -17,6 +17,8 @@
|
|||||||
<string name="sending">Sending…</string>
|
<string name="sending">Sending…</string>
|
||||||
<string name="export_messages">Export messages</string>
|
<string name="export_messages">Export messages</string>
|
||||||
<string name="import_messages">Import messages</string>
|
<string name="import_messages">Import messages</string>
|
||||||
|
<string name="pin_conversation">Pin to the top</string>
|
||||||
|
<string name="unpin_conversation">Unpin</string>
|
||||||
|
|
||||||
<!-- New conversation -->
|
<!-- New conversation -->
|
||||||
<string name="new_conversation">Yeni görüşme</string>
|
<string name="new_conversation">Yeni görüşme</string>
|
||||||
|
@@ -17,6 +17,8 @@
|
|||||||
<string name="sending">Sending…</string>
|
<string name="sending">Sending…</string>
|
||||||
<string name="export_messages">Export messages</string>
|
<string name="export_messages">Export messages</string>
|
||||||
<string name="import_messages">Import messages</string>
|
<string name="import_messages">Import messages</string>
|
||||||
|
<string name="pin_conversation">Pin to the top</string>
|
||||||
|
<string name="unpin_conversation">Unpin</string>
|
||||||
|
|
||||||
<!-- New conversation -->
|
<!-- New conversation -->
|
||||||
<string name="new_conversation">Нове листування</string>
|
<string name="new_conversation">Нове листування</string>
|
||||||
|
@@ -17,6 +17,8 @@
|
|||||||
<string name="sending">Sending…</string>
|
<string name="sending">Sending…</string>
|
||||||
<string name="export_messages">Export messages</string>
|
<string name="export_messages">Export messages</string>
|
||||||
<string name="import_messages">Import messages</string>
|
<string name="import_messages">Import messages</string>
|
||||||
|
<string name="pin_conversation">Pin to the top</string>
|
||||||
|
<string name="unpin_conversation">Unpin</string>
|
||||||
|
|
||||||
<!-- New conversation -->
|
<!-- New conversation -->
|
||||||
<string name="new_conversation">新的对话</string>
|
<string name="new_conversation">新的对话</string>
|
||||||
|
@@ -5,4 +5,5 @@
|
|||||||
<dimen name="play_outline_size">36dp</dimen>
|
<dimen name="play_outline_size">36dp</dimen>
|
||||||
<dimen name="attachment_preview_size">60dp</dimen>
|
<dimen name="attachment_preview_size">60dp</dimen>
|
||||||
<dimen name="remove_attachment_size">24dp</dimen>
|
<dimen name="remove_attachment_size">24dp</dimen>
|
||||||
|
<dimen name="pin_icon_size">15dp</dimen>
|
||||||
</resources>
|
</resources>
|
||||||
|
@@ -17,6 +17,8 @@
|
|||||||
<string name="sending">Sending…</string>
|
<string name="sending">Sending…</string>
|
||||||
<string name="export_messages">Export messages</string>
|
<string name="export_messages">Export messages</string>
|
||||||
<string name="import_messages">Import messages</string>
|
<string name="import_messages">Import messages</string>
|
||||||
|
<string name="pin_conversation">Pin to the top</string>
|
||||||
|
<string name="unpin_conversation">Unpin</string>
|
||||||
|
|
||||||
<!-- New conversation -->
|
<!-- New conversation -->
|
||||||
<string name="new_conversation">New conversation</string>
|
<string name="new_conversation">New conversation</string>
|
||||||
|
Reference in New Issue
Block a user