fix: fetch older messages as needed before jumping to searched message (#557)
Refs: https://github.com/FossifyOrg/Messages/issues/350
This commit is contained in:
parent
3303fc7c07
commit
93a2907fce
5 changed files with 149 additions and 117 deletions
|
|
@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
- Fixed position reset when opening attachments in conversations ([#82])
|
- Fixed position reset when opening attachments in conversations ([#82])
|
||||||
|
- Fixed automatic scroll to searched message in conversations ([#350])
|
||||||
|
|
||||||
## [1.4.0] - 2025-10-12
|
## [1.4.0] - 2025-10-12
|
||||||
### Added
|
### Added
|
||||||
|
|
@ -148,6 +149,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||||
[#13]: https://github.com/FossifyOrg/Messages/issues/13
|
[#13]: https://github.com/FossifyOrg/Messages/issues/13
|
||||||
[#70]: https://github.com/FossifyOrg/Messages/issues/70
|
[#70]: https://github.com/FossifyOrg/Messages/issues/70
|
||||||
[#75]: https://github.com/FossifyOrg/Messages/issues/75
|
[#75]: https://github.com/FossifyOrg/Messages/issues/75
|
||||||
|
[#82]: https://github.com/FossifyOrg/Messages/issues/82
|
||||||
[#99]: https://github.com/FossifyOrg/Messages/issues/99
|
[#99]: https://github.com/FossifyOrg/Messages/issues/99
|
||||||
[#115]: https://github.com/FossifyOrg/Messages/issues/115
|
[#115]: https://github.com/FossifyOrg/Messages/issues/115
|
||||||
[#135]: https://github.com/FossifyOrg/Messages/issues/135
|
[#135]: https://github.com/FossifyOrg/Messages/issues/135
|
||||||
|
|
@ -167,8 +169,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||||
[#309]: https://github.com/FossifyOrg/Messages/issues/309
|
[#309]: https://github.com/FossifyOrg/Messages/issues/309
|
||||||
[#334]: https://github.com/FossifyOrg/Messages/issues/334
|
[#334]: https://github.com/FossifyOrg/Messages/issues/334
|
||||||
[#349]: https://github.com/FossifyOrg/Messages/issues/349
|
[#349]: https://github.com/FossifyOrg/Messages/issues/349
|
||||||
|
[#350]: https://github.com/FossifyOrg/Messages/issues/350
|
||||||
[#359]: https://github.com/FossifyOrg/Messages/issues/359
|
[#359]: https://github.com/FossifyOrg/Messages/issues/359
|
||||||
[#82]: https://github.com/FossifyOrg/Messages/issues/82
|
|
||||||
[#456]: https://github.com/FossifyOrg/Messages/issues/456
|
[#456]: https://github.com/FossifyOrg/Messages/issues/456
|
||||||
[#461]: https://github.com/FossifyOrg/Messages/issues/461
|
[#461]: https://github.com/FossifyOrg/Messages/issues/461
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@
|
||||||
<ID>CyclomaticComplexMethod:ThreadActivity.kt$ThreadActivity$@SuppressLint("MissingPermission") private fun getThreadItems(): ArrayList<ThreadItem></ID>
|
<ID>CyclomaticComplexMethod:ThreadActivity.kt$ThreadActivity$@SuppressLint("MissingPermission") private fun getThreadItems(): ArrayList<ThreadItem></ID>
|
||||||
<ID>CyclomaticComplexMethod:ThreadActivity.kt$ThreadActivity$private fun refreshMenuItems()</ID>
|
<ID>CyclomaticComplexMethod:ThreadActivity.kt$ThreadActivity$private fun refreshMenuItems()</ID>
|
||||||
<ID>CyclomaticComplexMethod:ThreadActivity.kt$ThreadActivity$private fun setupButtons()</ID>
|
<ID>CyclomaticComplexMethod:ThreadActivity.kt$ThreadActivity$private fun setupButtons()</ID>
|
||||||
<ID>CyclomaticComplexMethod:ThreadActivity.kt$ThreadActivity$private fun setupThread()</ID>
|
<ID>CyclomaticComplexMethod:ThreadActivity.kt$ThreadActivity$private fun setupThread(callback: () -> Unit)</ID>
|
||||||
<ID>EmptyCatchBlock:MessagesWriter.kt$MessagesWriter${ }</ID>
|
<ID>EmptyCatchBlock:MessagesWriter.kt$MessagesWriter${ }</ID>
|
||||||
<ID>EmptyFunctionBlock:ArchivedConversationsAdapter.kt$ArchivedConversationsAdapter${}</ID>
|
<ID>EmptyFunctionBlock:ArchivedConversationsAdapter.kt$ArchivedConversationsAdapter${}</ID>
|
||||||
<ID>EmptyFunctionBlock:BaseConversationsAdapter.kt$BaseConversationsAdapter${}</ID>
|
<ID>EmptyFunctionBlock:BaseConversationsAdapter.kt$BaseConversationsAdapter${}</ID>
|
||||||
|
|
@ -20,7 +20,6 @@
|
||||||
<ID>EmptyFunctionBlock:ManageBlockedKeywordsAdapter.kt$ManageBlockedKeywordsAdapter${}</ID>
|
<ID>EmptyFunctionBlock:ManageBlockedKeywordsAdapter.kt$ManageBlockedKeywordsAdapter${}</ID>
|
||||||
<ID>EmptyFunctionBlock:RecycleBinConversationsAdapter.kt$RecycleBinConversationsAdapter${}</ID>
|
<ID>EmptyFunctionBlock:RecycleBinConversationsAdapter.kt$RecycleBinConversationsAdapter${}</ID>
|
||||||
<ID>EmptyFunctionBlock:SearchResultsAdapter.kt$SearchResultsAdapter${}</ID>
|
<ID>EmptyFunctionBlock:SearchResultsAdapter.kt$SearchResultsAdapter${}</ID>
|
||||||
<ID>EmptyFunctionBlock:ThreadActivity.kt$ThreadActivity.<no name provided>${}</ID>
|
|
||||||
<ID>EmptyFunctionBlock:ThreadAdapter.kt$ThreadAdapter${}</ID>
|
<ID>EmptyFunctionBlock:ThreadAdapter.kt$ThreadAdapter${}</ID>
|
||||||
<ID>ForbiddenComment:MainActivity.kt$MainActivity$// FIXME: Scheduled message date is being reset here. Conversations with</ID>
|
<ID>ForbiddenComment:MainActivity.kt$MainActivity$// FIXME: Scheduled message date is being reset here. Conversations with</ID>
|
||||||
<ID>ForbiddenComment:ShortcutHelper.kt$ShortcutHelper$// TODO: verify that thread isn't in recycle bin</ID>
|
<ID>ForbiddenComment:ShortcutHelper.kt$ShortcutHelper$// TODO: verify that thread isn't in recycle bin</ID>
|
||||||
|
|
@ -48,7 +47,6 @@
|
||||||
<ID>MagicNumber:ImageCompressor.kt$ImageCompressor$8</ID>
|
<ID>MagicNumber:ImageCompressor.kt$ImageCompressor$8</ID>
|
||||||
<ID>MagicNumber:ImageCompressor.kt$ImageCompressor$90f</ID>
|
<ID>MagicNumber:ImageCompressor.kt$ImageCompressor$90f</ID>
|
||||||
<ID>MagicNumber:MainActivity.kt$MainActivity$30</ID>
|
<ID>MagicNumber:MainActivity.kt$MainActivity$30</ID>
|
||||||
<ID>MagicNumber:Message.kt$Message.Companion$31</ID>
|
|
||||||
<ID>MagicNumber:MessagesDatabase.kt$MessagesDatabase.Companion.<no name provided>$3</ID>
|
<ID>MagicNumber:MessagesDatabase.kt$MessagesDatabase.Companion.<no name provided>$3</ID>
|
||||||
<ID>MagicNumber:MessagesDatabase.kt$MessagesDatabase.Companion.<no name provided>$4</ID>
|
<ID>MagicNumber:MessagesDatabase.kt$MessagesDatabase.Companion.<no name provided>$4</ID>
|
||||||
<ID>MagicNumber:MessagesDatabase.kt$MessagesDatabase.Companion.<no name provided>$5</ID>
|
<ID>MagicNumber:MessagesDatabase.kt$MessagesDatabase.Companion.<no name provided>$5</ID>
|
||||||
|
|
@ -76,14 +74,9 @@
|
||||||
<ID>MagicNumber:SmsStatusDeliveredReceiver.kt$SmsStatusDeliveredReceiver$3</ID>
|
<ID>MagicNumber:SmsStatusDeliveredReceiver.kt$SmsStatusDeliveredReceiver$3</ID>
|
||||||
<ID>MagicNumber:ThreadActivity.kt$ThreadActivity$0.4f</ID>
|
<ID>MagicNumber:ThreadActivity.kt$ThreadActivity$0.4f</ID>
|
||||||
<ID>MagicNumber:ThreadActivity.kt$ThreadActivity$0.9f</ID>
|
<ID>MagicNumber:ThreadActivity.kt$ThreadActivity$0.9f</ID>
|
||||||
<ID>MagicNumber:ThreadActivity.kt$ThreadActivity$14</ID>
|
|
||||||
<ID>MagicNumber:ThreadActivity.kt$ThreadActivity$15</ID>
|
|
||||||
<ID>MagicNumber:ThreadActivity.kt$ThreadActivity$150</ID>
|
<ID>MagicNumber:ThreadActivity.kt$ThreadActivity$150</ID>
|
||||||
<ID>MagicNumber:ThreadActivity.kt$ThreadActivity$16</ID>
|
|
||||||
<ID>MagicNumber:ThreadActivity.kt$ThreadActivity$2</ID>
|
<ID>MagicNumber:ThreadActivity.kt$ThreadActivity$2</ID>
|
||||||
<ID>MagicNumber:ThreadActivity.kt$ThreadActivity$20</ID>
|
|
||||||
<ID>MagicNumber:ThreadActivity.kt$ThreadActivity$30</ID>
|
<ID>MagicNumber:ThreadActivity.kt$ThreadActivity$30</ID>
|
||||||
<ID>MagicNumber:ThreadActivity.kt$ThreadActivity$300</ID>
|
|
||||||
<ID>MagicNumber:ThreadActivity.kt$ThreadActivity$500L</ID>
|
<ID>MagicNumber:ThreadActivity.kt$ThreadActivity$500L</ID>
|
||||||
<ID>MagicNumber:ThreadAdapter.kt$ThreadAdapter$0.8f</ID>
|
<ID>MagicNumber:ThreadAdapter.kt$ThreadAdapter$0.8f</ID>
|
||||||
<ID>MagicNumber:ThreadAdapter.kt$ThreadAdapter$4</ID>
|
<ID>MagicNumber:ThreadAdapter.kt$ThreadAdapter$4</ID>
|
||||||
|
|
@ -103,8 +96,6 @@
|
||||||
<ID>MaxLineLength:ConversationsDao.kt$ConversationsDao$@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")</ID>
|
<ID>MaxLineLength:ConversationsDao.kt$ConversationsDao$@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")</ID>
|
||||||
<ID>MaxLineLength:ConversationsDao.kt$ConversationsDao$@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")</ID>
|
<ID>MaxLineLength:ConversationsDao.kt$ConversationsDao$@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")</ID>
|
||||||
<ID>MaxLineLength:ConversationsDao.kt$ConversationsDao$@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")</ID>
|
<ID>MaxLineLength:ConversationsDao.kt$ConversationsDao$@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")</ID>
|
||||||
<ID>MaxLineLength:DirectReplyReceiver.kt$DirectReplyReceiver$context.notificationHelper.showMessageNotification(messageId, address, body, threadId, bitmap, sender = null, alertOnlyOnce = true)</ID>
|
|
||||||
<ID>MaxLineLength:DirectReplyReceiver.kt$DirectReplyReceiver$val message = context.getMessages(threadId, getImageResolutions = false, includeScheduledMessages = false, limit = 1).lastOrNull()</ID>
|
|
||||||
<ID>MaxLineLength:ExportBlockedKeywordsDialog.kt$ExportBlockedKeywordsDialog$exportBlockedKeywordsFilename.setText("${activity.getString(R.string.blocked_keywords)}_${activity.getCurrentFormattedDateTime()}")</ID>
|
<ID>MaxLineLength:ExportBlockedKeywordsDialog.kt$ExportBlockedKeywordsDialog$exportBlockedKeywordsFilename.setText("${activity.getString(R.string.blocked_keywords)}_${activity.getCurrentFormattedDateTime()}")</ID>
|
||||||
<ID>MaxLineLength:Gson.kt$private val gsonBuilder = GsonBuilder().registerTypeAdapter(object : TypeToken<Map<String, Any>>() {}.type, MapDeserializerDoubleAsIntFix())</ID>
|
<ID>MaxLineLength:Gson.kt$private val gsonBuilder = GsonBuilder().registerTypeAdapter(object : TypeToken<Map<String, Any>>() {}.type, MapDeserializerDoubleAsIntFix())</ID>
|
||||||
<ID>MaxLineLength:HeadlessSmsSendService.kt$HeadlessSmsSendService$val number = Uri.decode(intent.dataString!!.removePrefix("sms:").removePrefix("smsto:").removePrefix("mms").removePrefix("mmsto:").trim())</ID>
|
<ID>MaxLineLength:HeadlessSmsSendService.kt$HeadlessSmsSendService$val number = Uri.decode(intent.dataString!!.removePrefix("sms:").removePrefix("smsto:").removePrefix("mms").removePrefix("mmsto:").trim())</ID>
|
||||||
|
|
@ -150,7 +141,6 @@
|
||||||
<ID>MaxLineLength:ThreadAdapter.kt$ThreadAdapter$mimetype.isImageMimeType() || mimetype.isVideoMimeType() -> setupImageView(holder, binding = this, message, attachment)</ID>
|
<ID>MaxLineLength:ThreadAdapter.kt$ThreadAdapter$mimetype.isImageMimeType() || mimetype.isVideoMimeType() -> setupImageView(holder, binding = this, message, attachment)</ID>
|
||||||
<ID>MaxLineLength:ThreadAdapter.kt$ThreadAdapter$mimetype.isVCardMimeType() -> setupVCardView(holder, threadMessageAttachmentsHolder, message, attachment)</ID>
|
<ID>MaxLineLength:ThreadAdapter.kt$ThreadAdapter$mimetype.isVCardMimeType() -> setupVCardView(holder, threadMessageAttachmentsHolder, message, attachment)</ID>
|
||||||
<ID>MaxLineLength:ThreadAdapter.kt$ThreadAdapter$private</ID>
|
<ID>MaxLineLength:ThreadAdapter.kt$ThreadAdapter$private</ID>
|
||||||
<ID>MaxLineLength:ThreadAdapter.kt$ThreadAdapter$private fun getSelectedItems()</ID>
|
|
||||||
<ID>MaxLineLength:ThreadAdapter.kt$ThreadAdapter$threadSuccess.setImageResource(if (isDelivered) R.drawable.ic_check_double_vector else org.fossify.commons.R.drawable.ic_check_vector)</ID>
|
<ID>MaxLineLength:ThreadAdapter.kt$ThreadAdapter$threadSuccess.setImageResource(if (isDelivered) R.drawable.ic_check_double_vector else org.fossify.commons.R.drawable.ic_check_vector)</ID>
|
||||||
<ID>MaxLineLength:ThreadAdapter.kt$ThreadAdapter$val</ID>
|
<ID>MaxLineLength:ThreadAdapter.kt$ThreadAdapter$val</ID>
|
||||||
<ID>MaxLineLength:ThreadAdapter.kt$ThreadAdapter.<no name provided>$override</ID>
|
<ID>MaxLineLength:ThreadAdapter.kt$ThreadAdapter.<no name provided>$override</ID>
|
||||||
|
|
@ -169,23 +159,13 @@
|
||||||
<ID>NestedBlockDepth:MessagingUtils.kt$MessagingUtils$@Deprecated("TODO: Move/rewrite MMS code into the app.") fun sendMmsMessage( text: String, addresses: List<String>, attachment: Attachment?, settings: Settings, messageId: Long? = null )</ID>
|
<ID>NestedBlockDepth:MessagingUtils.kt$MessagingUtils$@Deprecated("TODO: Move/rewrite MMS code into the app.") fun sendMmsMessage( text: String, addresses: List<String>, attachment: Attachment?, settings: Settings, messageId: Long? = null )</ID>
|
||||||
<ID>NestedBlockDepth:MessagingUtils.kt$MessagingUtils$fun updateSmsMessageSendingStatus(messageUri: Uri?, type: Int)</ID>
|
<ID>NestedBlockDepth:MessagingUtils.kt$MessagingUtils$fun updateSmsMessageSendingStatus(messageUri: Uri?, type: Int)</ID>
|
||||||
<ID>NestedBlockDepth:SmsStatusDeliveredReceiver.kt$SmsStatusDeliveredReceiver$override fun updateAndroidDatabase(context: Context, intent: Intent, receiverResultCode: Int)</ID>
|
<ID>NestedBlockDepth:SmsStatusDeliveredReceiver.kt$SmsStatusDeliveredReceiver$override fun updateAndroidDatabase(context: Context, intent: Intent, receiverResultCode: Int)</ID>
|
||||||
<ID>NestedBlockDepth:ThreadActivity.kt$ThreadActivity$private fun fetchNextMessages()</ID>
|
|
||||||
<ID>NestedBlockDepth:ThreadActivity.kt$ThreadActivity$private fun setupAttachmentSizes()</ID>
|
|
||||||
<ID>NestedBlockDepth:ThreadActivity.kt$ThreadActivity$private fun setupButtons()</ID>
|
<ID>NestedBlockDepth:ThreadActivity.kt$ThreadActivity$private fun setupButtons()</ID>
|
||||||
<ID>NestedBlockDepth:ThreadAdapter.kt$ThreadAdapter$private fun setupSentMessageView(messageBinding: ItemMessageBinding, message: Message)</ID>
|
<ID>NestedBlockDepth:ThreadAdapter.kt$ThreadAdapter$private fun setupSentMessageView(messageBinding: ItemMessageBinding, message: Message)</ID>
|
||||||
<ID>NestedBlockDepth:ThreadAdapter.kt$ThreadAdapter$private fun setupView(holder: ViewHolder, view: View, message: Message)</ID>
|
<ID>NestedBlockDepth:ThreadAdapter.kt$ThreadAdapter$private fun setupView(holder: ViewHolder, view: View, message: Message)</ID>
|
||||||
<ID>PrintStackTrace:Context.kt$e</ID>
|
<ID>PrintStackTrace:Context.kt$e</ID>
|
||||||
<ID>PrintStackTrace:ScheduledMessageReceiver.kt$ScheduledMessageReceiver$e</ID>
|
<ID>PrintStackTrace:ScheduledMessageReceiver.kt$ScheduledMessageReceiver$e</ID>
|
||||||
<ID>PrintStackTrace:SmsManager.kt$e</ID>
|
<ID>PrintStackTrace:SmsManager.kt$e</ID>
|
||||||
<ID>ReturnCount:Context.kt$fun Context.getFileSizeFromUri(uri: Uri): Long</ID>
|
|
||||||
<ID>ReturnCount:Context.kt$fun Context.getNameAndPhotoFromPhoneNumber(number: String): NamePhoto</ID>
|
|
||||||
<ID>ReturnCount:MapDeserializerDoubleAsIntFix.kt$MapDeserializerDoubleAsIntFix$fun read(element: JsonElement): Any?</ID>
|
<ID>ReturnCount:MapDeserializerDoubleAsIntFix.kt$MapDeserializerDoubleAsIntFix$fun read(element: JsonElement): Any?</ID>
|
||||||
<ID>ReturnCount:MessagesReader.kt$MessagesReader$@SuppressLint("NewApi") private fun usePart(partId: Long, block: (InputStream) -> String): String</ID>
|
|
||||||
<ID>ReturnCount:ShortcutHelper.kt$ShortcutHelper$fun shouldPresentShortcut(conv: Conversation): Boolean</ID>
|
|
||||||
<ID>ReturnCount:SmsIntentParser.kt$SmsIntentParser$private fun extractBodyFromUri(uri: Uri?): String?</ID>
|
|
||||||
<ID>ReturnCount:SmsIntentParser.kt$SmsIntentParser$private fun parseRecipientsFromUri(uri: Uri?): Array<String>?</ID>
|
|
||||||
<ID>ReturnCount:ThreadActivity.kt$ThreadActivity$private fun addAttachment(uri: Uri)</ID>
|
|
||||||
<ID>ReturnCount:VCardParser.kt$fun VCard?.parseNameFromVCard(): String?</ID>
|
|
||||||
<ID>SpreadOperator:Context.kt$(*scheduledMessages)</ID>
|
<ID>SpreadOperator:Context.kt$(*scheduledMessages)</ID>
|
||||||
<ID>SpreadOperator:MainActivity.kt$MainActivity$(*currentMessages.toTypedArray())</ID>
|
<ID>SpreadOperator:MainActivity.kt$MainActivity$(*currentMessages.toTypedArray())</ID>
|
||||||
<ID>SpreadOperator:ThreadActivity.kt$ThreadActivity$(*currentMessages.toTypedArray())</ID>
|
<ID>SpreadOperator:ThreadActivity.kt$ThreadActivity$(*currentMessages.toTypedArray())</ID>
|
||||||
|
|
@ -256,21 +236,11 @@
|
||||||
<ID>TooManyFunctions:ShortcutHelper.kt$ShortcutHelper</ID>
|
<ID>TooManyFunctions:ShortcutHelper.kt$ShortcutHelper</ID>
|
||||||
<ID>TooManyFunctions:ThreadActivity.kt$ThreadActivity : SimpleActivity</ID>
|
<ID>TooManyFunctions:ThreadActivity.kt$ThreadActivity : SimpleActivity</ID>
|
||||||
<ID>TooManyFunctions:ThreadAdapter.kt$ThreadAdapter : MyRecyclerViewListAdapter</ID>
|
<ID>TooManyFunctions:ThreadAdapter.kt$ThreadAdapter : MyRecyclerViewListAdapter</ID>
|
||||||
<ID>UnusedParameter:ArchivedConversationsActivity.kt$ArchivedConversationsActivity$event: Events.RefreshMessages</ID>
|
|
||||||
<ID>UnusedParameter:MainActivity.kt$MainActivity$event: Events.RefreshMessages</ID>
|
|
||||||
<ID>UnusedParameter:RecycleBinConversationsActivity.kt$RecycleBinConversationsActivity$event: Events.RefreshMessages</ID>
|
|
||||||
<ID>UnusedParameter:ThreadActivity.kt$ThreadActivity$event: Events.RefreshMessages</ID>
|
|
||||||
<ID>UseCheckOrError:AttachmentUtils.kt$AttachmentUtils$throw IllegalStateException()</ID>
|
<ID>UseCheckOrError:AttachmentUtils.kt$AttachmentUtils$throw IllegalStateException()</ID>
|
||||||
<ID>UseCheckOrError:MessagesImporter.kt$MessagesImporter$throw IllegalStateException()</ID>
|
<ID>UseCheckOrError:MessagesImporter.kt$MessagesImporter$throw IllegalStateException()</ID>
|
||||||
<ID>UseRequire:SmsSender.kt$SmsSender$throw IllegalArgumentException("SmsSender: empty text message")</ID>
|
<ID>UseRequire:SmsSender.kt$SmsSender$throw IllegalArgumentException("SmsSender: empty text message")</ID>
|
||||||
<ID>VariableNaming:MainActivity.kt$MainActivity$private val MAKE_DEFAULT_APP_REQUEST = 1</ID>
|
<ID>VariableNaming:MainActivity.kt$MainActivity$private val MAKE_DEFAULT_APP_REQUEST = 1</ID>
|
||||||
<ID>VariableNaming:MessagesWriter.kt$MessagesWriter$private val INVALID_ID = -1L</ID>
|
<ID>VariableNaming:MessagesWriter.kt$MessagesWriter$private val INVALID_ID = -1L</ID>
|
||||||
<ID>VariableNaming:ThreadActivity.kt$ThreadActivity$private val MIN_DATE_TIME_DIFF_SECS = 300</ID>
|
|
||||||
<ID>VariableNaming:ThreadActivity.kt$ThreadActivity$private val SCROLL_TO_BOTTOM_FAB_LIMIT = 20</ID>
|
|
||||||
<ID>VariableNaming:ThreadActivity.kt$ThreadActivity$private val TYPE_DELETE = 16</ID>
|
|
||||||
<ID>VariableNaming:ThreadActivity.kt$ThreadActivity$private val TYPE_EDIT = 14</ID>
|
|
||||||
<ID>VariableNaming:ThreadActivity.kt$ThreadActivity$private val TYPE_SEND = 15</ID>
|
|
||||||
<ID>WildcardImport:ArchivedConversationsActivity.kt$import org.fossify.commons.extensions.*</ID>
|
|
||||||
<ID>WildcardImport:AttachmentPreviews.kt$import org.fossify.commons.extensions.*</ID>
|
<ID>WildcardImport:AttachmentPreviews.kt$import org.fossify.commons.extensions.*</ID>
|
||||||
<ID>WildcardImport:AttachmentPreviews.kt$import org.fossify.messages.extensions.*</ID>
|
<ID>WildcardImport:AttachmentPreviews.kt$import org.fossify.messages.extensions.*</ID>
|
||||||
<ID>WildcardImport:AttachmentsAdapter.kt$import org.fossify.commons.extensions.*</ID>
|
<ID>WildcardImport:AttachmentsAdapter.kt$import org.fossify.commons.extensions.*</ID>
|
||||||
|
|
@ -280,13 +250,6 @@
|
||||||
<ID>WildcardImport:JsonElement.kt$import com.google.gson.*</ID>
|
<ID>WildcardImport:JsonElement.kt$import com.google.gson.*</ID>
|
||||||
<ID>WildcardImport:ManageBlockedKeywordsAdapter.kt$import android.view.*</ID>
|
<ID>WildcardImport:ManageBlockedKeywordsAdapter.kt$import android.view.*</ID>
|
||||||
<ID>WildcardImport:MessagesDao.kt$import androidx.room.*</ID>
|
<ID>WildcardImport:MessagesDao.kt$import androidx.room.*</ID>
|
||||||
<ID>WildcardImport:SmsReceiver.kt$import org.fossify.messages.extensions.*</ID>
|
|
||||||
<ID>WildcardImport:SmsStatusSentReceiver.kt$import org.fossify.messages.extensions.*</ID>
|
|
||||||
<ID>WildcardImport:ThreadAdapter.kt$import org.fossify.commons.extensions.*</ID>
|
|
||||||
<ID>WildcardImport:ThreadAdapter.kt$import org.fossify.messages.databinding.*</ID>
|
|
||||||
<ID>WildcardImport:ThreadAdapter.kt$import org.fossify.messages.extensions.*</ID>
|
|
||||||
<ID>WildcardImport:ThreadAdapter.kt$import org.fossify.messages.helpers.*</ID>
|
|
||||||
<ID>WildcardImport:ThreadAdapter.kt$import org.fossify.messages.models.ThreadItem.*</ID>
|
|
||||||
<ID>WildcardImport:VCard.kt$import ezvcard.property.*</ID>
|
<ID>WildcardImport:VCard.kt$import ezvcard.property.*</ID>
|
||||||
<ID>WildcardImport:VCardViewerAdapter.kt$import org.fossify.commons.extensions.*</ID>
|
<ID>WildcardImport:VCardViewerAdapter.kt$import org.fossify.commons.extensions.*</ID>
|
||||||
</CurrentIssues>
|
</CurrentIssues>
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,7 @@
|
||||||
errorLine1="app-build-targetSDK = "34""
|
errorLine1="app-build-targetSDK = "34""
|
||||||
errorLine2=" ~~~~">
|
errorLine2=" ~~~~">
|
||||||
<location
|
<location
|
||||||
file="$HOME/work/Messages/Messages/gradle/libs.versions.toml"
|
file="$HOME/Projects/Fossify/FossifyOrg/Messages/gradle/libs.versions.toml"
|
||||||
line="26"
|
line="26"
|
||||||
column="23"/>
|
column="23"/>
|
||||||
</issue>
|
</issue>
|
||||||
|
|
@ -51,7 +51,7 @@
|
||||||
errorLine1="distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip"
|
errorLine1="distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip"
|
||||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||||
<location
|
<location
|
||||||
file="$HOME/work/Messages/Messages/gradle/wrapper/gradle-wrapper.properties"
|
file="$HOME/Projects/Fossify/FossifyOrg/Messages/gradle/wrapper/gradle-wrapper.properties"
|
||||||
line="3"
|
line="3"
|
||||||
column="17"/>
|
column="17"/>
|
||||||
</issue>
|
</issue>
|
||||||
|
|
@ -62,7 +62,7 @@
|
||||||
errorLine1="gradlePlugins-agp = "8.11.1""
|
errorLine1="gradlePlugins-agp = "8.11.1""
|
||||||
errorLine2=" ~~~~~~~~">
|
errorLine2=" ~~~~~~~~">
|
||||||
<location
|
<location
|
||||||
file="$HOME/work/Messages/Messages/gradle/libs.versions.toml"
|
file="$HOME/Projects/Fossify/FossifyOrg/Messages/gradle/libs.versions.toml"
|
||||||
line="23"
|
line="23"
|
||||||
column="21"/>
|
column="21"/>
|
||||||
</issue>
|
</issue>
|
||||||
|
|
@ -73,7 +73,7 @@
|
||||||
errorLine1="androidx-lifecycleprocess = "2.8.7""
|
errorLine1="androidx-lifecycleprocess = "2.8.7""
|
||||||
errorLine2=" ~~~~~~~">
|
errorLine2=" ~~~~~~~">
|
||||||
<location
|
<location
|
||||||
file="$HOME/work/Messages/Messages/gradle/libs.versions.toml"
|
file="$HOME/Projects/Fossify/FossifyOrg/Messages/gradle/libs.versions.toml"
|
||||||
line="13"
|
line="13"
|
||||||
column="29"/>
|
column="29"/>
|
||||||
</issue>
|
</issue>
|
||||||
|
|
@ -84,7 +84,7 @@
|
||||||
errorLine1="app-build-compileSDKVersion = "34""
|
errorLine1="app-build-compileSDKVersion = "34""
|
||||||
errorLine2=" ~~~~">
|
errorLine2=" ~~~~">
|
||||||
<location
|
<location
|
||||||
file="$HOME/work/Messages/Messages/gradle/libs.versions.toml"
|
file="$HOME/Projects/Fossify/FossifyOrg/Messages/gradle/libs.versions.toml"
|
||||||
line="25"
|
line="25"
|
||||||
column="31"/>
|
column="31"/>
|
||||||
</issue>
|
</issue>
|
||||||
|
|
@ -212,7 +212,7 @@
|
||||||
|
|
||||||
<issue
|
<issue
|
||||||
id="MissingTranslation"
|
id="MissingTranslation"
|
||||||
message=""app_launcher_name" is not translated in "fil" (Filipino; Pilipino), "ml" (Malayalam), "ms" (Malay), "el" (Greek), "is" (Icelandic), "my" (Burmese), "ne" (Nepali), "az" (Azerbaijani), "nn" (Norwegian Nynorsk), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "zgh" (Standard Moroccan Tamazight), "ltg", "sr" (Serbian), "kn" (Kannada), "or" (Odia), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
message=""app_launcher_name" is not translated in "fil" (Filipino; Pilipino), "ml" (Malayalam), "ms" (Malay), "is" (Icelandic), "my" (Burmese), "ne" (Nepali), "az" (Azerbaijani), "nn" (Norwegian Nynorsk), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "zgh" (Standard Moroccan Tamazight), "ltg", "kn" (Kannada), "or" (Odia), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
||||||
errorLine1=" <string name="app_launcher_name">Messages_debug</string>"
|
errorLine1=" <string name="app_launcher_name">Messages_debug</string>"
|
||||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||||
<location
|
<location
|
||||||
|
|
@ -223,7 +223,7 @@
|
||||||
|
|
||||||
<issue
|
<issue
|
||||||
id="MissingTranslation"
|
id="MissingTranslation"
|
||||||
message=""app_launcher_name" is not translated in "fil" (Filipino; Pilipino), "ml" (Malayalam), "ms" (Malay), "el" (Greek), "is" (Icelandic), "my" (Burmese), "ne" (Nepali), "az" (Azerbaijani), "nn" (Norwegian Nynorsk), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "zgh" (Standard Moroccan Tamazight), "ltg", "sr" (Serbian), "kn" (Kannada), "or" (Odia), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
message=""app_launcher_name" is not translated in "fil" (Filipino; Pilipino), "ml" (Malayalam), "ms" (Malay), "is" (Icelandic), "my" (Burmese), "ne" (Nepali), "az" (Azerbaijani), "nn" (Norwegian Nynorsk), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "zgh" (Standard Moroccan Tamazight), "ltg", "kn" (Kannada), "or" (Odia), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
||||||
errorLine1=" <string name="app_launcher_name">Messages</string>"
|
errorLine1=" <string name="app_launcher_name">Messages</string>"
|
||||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||||
<location
|
<location
|
||||||
|
|
@ -432,7 +432,7 @@
|
||||||
|
|
||||||
<issue
|
<issue
|
||||||
id="MissingTranslation"
|
id="MissingTranslation"
|
||||||
message=""duplicate_item_warning" is not translated in "fil" (Filipino; Pilipino), "ia" (Interlingua), "mk" (Macedonian), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "eu" (Basque), "ne" (Nepali), "az" (Azerbaijani), "nn" (Norwegian Nynorsk), "be" (Belarusian), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "zgh" (Standard Moroccan Tamazight), "ltg", "kn" (Kannada), "or" (Odia), "kr" (Kanuri), "sat" (Santali), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
message=""duplicate_item_warning" is not translated in "fil" (Filipino; Pilipino), "ia" (Interlingua), "mk" (Macedonian), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "ne" (Nepali), "az" (Azerbaijani), "nn" (Norwegian Nynorsk), "be" (Belarusian), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "zgh" (Standard Moroccan Tamazight), "ltg", "kn" (Kannada), "or" (Odia), "kr" (Kanuri), "sat" (Santali), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
||||||
errorLine1=" <string name="duplicate_item_warning">Duplicate item was not included</string>"
|
errorLine1=" <string name="duplicate_item_warning">Duplicate item was not included</string>"
|
||||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||||
<location
|
<location
|
||||||
|
|
@ -443,7 +443,7 @@
|
||||||
|
|
||||||
<issue
|
<issue
|
||||||
id="MissingTranslation"
|
id="MissingTranslation"
|
||||||
message=""and_other_contacts" is not translated in "fil" (Filipino; Pilipino), "ia" (Interlingua), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "eu" (Basque), "ne" (Nepali), "az" (Azerbaijani), "nn" (Norwegian Nynorsk), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "zgh" (Standard Moroccan Tamazight), "ltg", "kn" (Kannada), "or" (Odia), "kr" (Kanuri), "sat" (Santali), "cr" (Cree), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
message=""and_other_contacts" is not translated in "fil" (Filipino; Pilipino), "ia" (Interlingua), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "ne" (Nepali), "az" (Azerbaijani), "nn" (Norwegian Nynorsk), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "zgh" (Standard Moroccan Tamazight), "ltg", "kn" (Kannada), "or" (Odia), "kr" (Kanuri), "sat" (Santali), "cr" (Cree), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
||||||
errorLine1=" <plurals name="and_other_contacts">"
|
errorLine1=" <plurals name="and_other_contacts">"
|
||||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||||
<location
|
<location
|
||||||
|
|
@ -454,7 +454,7 @@
|
||||||
|
|
||||||
<issue
|
<issue
|
||||||
id="MissingTranslation"
|
id="MissingTranslation"
|
||||||
message=""new_conversation" is not translated in "fil" (Filipino; Pilipino), "ia" (Interlingua), "mk" (Macedonian), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "eu" (Basque), "ne" (Nepali), "az" (Azerbaijani), "nn" (Norwegian Nynorsk), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "zgh" (Standard Moroccan Tamazight), "ltg", "kn" (Kannada), "or" (Odia), "kr" (Kanuri), "sat" (Santali), "cr" (Cree), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
message=""new_conversation" is not translated in "fil" (Filipino; Pilipino), "ia" (Interlingua), "mk" (Macedonian), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "ne" (Nepali), "az" (Azerbaijani), "nn" (Norwegian Nynorsk), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "zgh" (Standard Moroccan Tamazight), "ltg", "kn" (Kannada), "or" (Odia), "kr" (Kanuri), "sat" (Santali), "cr" (Cree), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
||||||
errorLine1=" <string name="new_conversation">New conversation</string>"
|
errorLine1=" <string name="new_conversation">New conversation</string>"
|
||||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
|
||||||
<location
|
<location
|
||||||
|
|
@ -465,7 +465,7 @@
|
||||||
|
|
||||||
<issue
|
<issue
|
||||||
id="MissingTranslation"
|
id="MissingTranslation"
|
||||||
message=""add_contact_or_number" is not translated in "fil" (Filipino; Pilipino), "ia" (Interlingua), "mk" (Macedonian), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "eu" (Basque), "ne" (Nepali), "az" (Azerbaijani), "nn" (Norwegian Nynorsk), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "zgh" (Standard Moroccan Tamazight), "ltg", "kn" (Kannada), "or" (Odia), "kr" (Kanuri), "sat" (Santali), "cr" (Cree), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
message=""add_contact_or_number" is not translated in "fil" (Filipino; Pilipino), "ia" (Interlingua), "mk" (Macedonian), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "ne" (Nepali), "az" (Azerbaijani), "nn" (Norwegian Nynorsk), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "zgh" (Standard Moroccan Tamazight), "ltg", "kn" (Kannada), "or" (Odia), "kr" (Kanuri), "sat" (Santali), "cr" (Cree), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
||||||
errorLine1=" <string name="add_contact_or_number">Add Contact or Number…</string>"
|
errorLine1=" <string name="add_contact_or_number">Add Contact or Number…</string>"
|
||||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||||
<location
|
<location
|
||||||
|
|
@ -476,7 +476,7 @@
|
||||||
|
|
||||||
<issue
|
<issue
|
||||||
id="MissingTranslation"
|
id="MissingTranslation"
|
||||||
message=""suggestions" is not translated in "fil" (Filipino; Pilipino), "ia" (Interlingua), "mk" (Macedonian), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "eu" (Basque), "ne" (Nepali), "az" (Azerbaijani), "nn" (Norwegian Nynorsk), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "zgh" (Standard Moroccan Tamazight), "ltg", "kn" (Kannada), "or" (Odia), "kr" (Kanuri), "sat" (Santali), "cr" (Cree), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
message=""suggestions" is not translated in "fil" (Filipino; Pilipino), "ia" (Interlingua), "mk" (Macedonian), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "ne" (Nepali), "az" (Azerbaijani), "nn" (Norwegian Nynorsk), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "zgh" (Standard Moroccan Tamazight), "ltg", "kn" (Kannada), "or" (Odia), "kr" (Kanuri), "sat" (Santali), "cr" (Cree), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
||||||
errorLine1=" <string name="suggestions">Suggestions</string>"
|
errorLine1=" <string name="suggestions">Suggestions</string>"
|
||||||
errorLine2=" ~~~~~~~~~~~~~~~~~~">
|
errorLine2=" ~~~~~~~~~~~~~~~~~~">
|
||||||
<location
|
<location
|
||||||
|
|
@ -487,7 +487,7 @@
|
||||||
|
|
||||||
<issue
|
<issue
|
||||||
id="MissingTranslation"
|
id="MissingTranslation"
|
||||||
message=""members" is not translated in "fil" (Filipino; Pilipino), "ia" (Interlingua), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "eu" (Basque), "ne" (Nepali), "az" (Azerbaijani), "nn" (Norwegian Nynorsk), "be" (Belarusian), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "zgh" (Standard Moroccan Tamazight), "ltg", "sr" (Serbian), "kn" (Kannada), "or" (Odia), "kr" (Kanuri), "sat" (Santali), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
message=""members" is not translated in "fil" (Filipino; Pilipino), "ia" (Interlingua), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "ne" (Nepali), "az" (Azerbaijani), "nn" (Norwegian Nynorsk), "be" (Belarusian), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "zgh" (Standard Moroccan Tamazight), "ltg", "kn" (Kannada), "or" (Odia), "kr" (Kanuri), "sat" (Santali), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
||||||
errorLine1=" <string name="members">Members</string>"
|
errorLine1=" <string name="members">Members</string>"
|
||||||
errorLine2=" ~~~~~~~~~~~~~~">
|
errorLine2=" ~~~~~~~~~~~~~~">
|
||||||
<location
|
<location
|
||||||
|
|
@ -498,7 +498,7 @@
|
||||||
|
|
||||||
<issue
|
<issue
|
||||||
id="MissingTranslation"
|
id="MissingTranslation"
|
||||||
message=""conversation_name" is not translated in "fil" (Filipino; Pilipino), "ia" (Interlingua), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "eu" (Basque), "ne" (Nepali), "az" (Azerbaijani), "nn" (Norwegian Nynorsk), "be" (Belarusian), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "zgh" (Standard Moroccan Tamazight), "ltg", "sr" (Serbian), "kn" (Kannada), "or" (Odia), "kr" (Kanuri), "sat" (Santali), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
message=""conversation_name" is not translated in "fil" (Filipino; Pilipino), "ia" (Interlingua), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "ne" (Nepali), "az" (Azerbaijani), "nn" (Norwegian Nynorsk), "be" (Belarusian), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "zgh" (Standard Moroccan Tamazight), "ltg", "kn" (Kannada), "or" (Odia), "kr" (Kanuri), "sat" (Santali), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
||||||
errorLine1=" <string name="conversation_name">Conversation name</string>"
|
errorLine1=" <string name="conversation_name">Conversation name</string>"
|
||||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||||
<location
|
<location
|
||||||
|
|
@ -509,7 +509,7 @@
|
||||||
|
|
||||||
<issue
|
<issue
|
||||||
id="MissingTranslation"
|
id="MissingTranslation"
|
||||||
message=""conversation_details" is not translated in "fil" (Filipino; Pilipino), "lt" (Lithuanian), "ia" (Interlingua), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "eu" (Basque), "ne" (Nepali), "az" (Azerbaijani), "nn" (Norwegian Nynorsk), "be" (Belarusian), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "zgh" (Standard Moroccan Tamazight), "ltg", "sr" (Serbian), "kn" (Kannada), "or" (Odia), "kr" (Kanuri), "sat" (Santali), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
message=""conversation_details" is not translated in "fil" (Filipino; Pilipino), "lt" (Lithuanian), "ia" (Interlingua), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "ne" (Nepali), "az" (Azerbaijani), "nn" (Norwegian Nynorsk), "be" (Belarusian), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "zgh" (Standard Moroccan Tamazight), "ltg", "kn" (Kannada), "or" (Odia), "kr" (Kanuri), "sat" (Santali), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
||||||
errorLine1=" <string name="conversation_details">Conversation details</string>"
|
errorLine1=" <string name="conversation_details">Conversation details</string>"
|
||||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||||
<location
|
<location
|
||||||
|
|
@ -520,7 +520,7 @@
|
||||||
|
|
||||||
<issue
|
<issue
|
||||||
id="MissingTranslation"
|
id="MissingTranslation"
|
||||||
message=""rename_conversation" is not translated in "fil" (Filipino; Pilipino), "ia" (Interlingua), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "eu" (Basque), "ne" (Nepali), "az" (Azerbaijani), "nn" (Norwegian Nynorsk), "be" (Belarusian), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "zgh" (Standard Moroccan Tamazight), "ltg", "sr" (Serbian), "kn" (Kannada), "or" (Odia), "kr" (Kanuri), "sat" (Santali), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
message=""rename_conversation" is not translated in "fil" (Filipino; Pilipino), "ia" (Interlingua), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "ne" (Nepali), "az" (Azerbaijani), "nn" (Norwegian Nynorsk), "be" (Belarusian), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "zgh" (Standard Moroccan Tamazight), "ltg", "kn" (Kannada), "or" (Odia), "kr" (Kanuri), "sat" (Santali), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
||||||
errorLine1=" <string name="rename_conversation">Rename conversation</string>"
|
errorLine1=" <string name="rename_conversation">Rename conversation</string>"
|
||||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||||
<location
|
<location
|
||||||
|
|
@ -531,7 +531,7 @@
|
||||||
|
|
||||||
<issue
|
<issue
|
||||||
id="MissingTranslation"
|
id="MissingTranslation"
|
||||||
message=""rename_conversation_warning" is not translated in "fil" (Filipino; Pilipino), "ia" (Interlingua), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "eu" (Basque), "ne" (Nepali), "az" (Azerbaijani), "nn" (Norwegian Nynorsk), "be" (Belarusian), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "zgh" (Standard Moroccan Tamazight), "ltg", "sr" (Serbian), "kn" (Kannada), "or" (Odia), "kr" (Kanuri), "sat" (Santali), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
message=""rename_conversation_warning" is not translated in "fil" (Filipino; Pilipino), "ia" (Interlingua), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "ne" (Nepali), "az" (Azerbaijani), "nn" (Norwegian Nynorsk), "be" (Belarusian), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "zgh" (Standard Moroccan Tamazight), "ltg", "kn" (Kannada), "or" (Odia), "kr" (Kanuri), "sat" (Santali), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
||||||
errorLine1=" <string name="rename_conversation_warning">Only you can see this conversation name</string>"
|
errorLine1=" <string name="rename_conversation_warning">Only you can see this conversation name</string>"
|
||||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||||
<location
|
<location
|
||||||
|
|
@ -542,7 +542,7 @@
|
||||||
|
|
||||||
<issue
|
<issue
|
||||||
id="MissingTranslation"
|
id="MissingTranslation"
|
||||||
message=""scheduled_message" is not translated in "fil" (Filipino; Pilipino), "ia" (Interlingua), "mk" (Macedonian), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "eu" (Basque), "ne" (Nepali), "az" (Azerbaijani), "nn" (Norwegian Nynorsk), "be" (Belarusian), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "zgh" (Standard Moroccan Tamazight), "ltg", "kn" (Kannada), "or" (Odia), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
message=""scheduled_message" is not translated in "fil" (Filipino; Pilipino), "ia" (Interlingua), "mk" (Macedonian), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "ne" (Nepali), "az" (Azerbaijani), "nn" (Norwegian Nynorsk), "be" (Belarusian), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "zgh" (Standard Moroccan Tamazight), "ltg", "kn" (Kannada), "or" (Odia), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
||||||
errorLine1=" <string name="scheduled_message">Scheduled message</string>"
|
errorLine1=" <string name="scheduled_message">Scheduled message</string>"
|
||||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||||
<location
|
<location
|
||||||
|
|
@ -553,7 +553,7 @@
|
||||||
|
|
||||||
<issue
|
<issue
|
||||||
id="MissingTranslation"
|
id="MissingTranslation"
|
||||||
message=""schedule_message" is not translated in "fil" (Filipino; Pilipino), "ia" (Interlingua), "mk" (Macedonian), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "eu" (Basque), "ne" (Nepali), "az" (Azerbaijani), "nn" (Norwegian Nynorsk), "be" (Belarusian), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "zgh" (Standard Moroccan Tamazight), "ltg", "kn" (Kannada), "or" (Odia), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
message=""schedule_message" is not translated in "fil" (Filipino; Pilipino), "ia" (Interlingua), "mk" (Macedonian), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "ne" (Nepali), "az" (Azerbaijani), "nn" (Norwegian Nynorsk), "be" (Belarusian), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "zgh" (Standard Moroccan Tamazight), "ltg", "kn" (Kannada), "or" (Odia), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
||||||
errorLine1=" <string name="schedule_message">Schedule message</string>"
|
errorLine1=" <string name="schedule_message">Schedule message</string>"
|
||||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
|
||||||
<location
|
<location
|
||||||
|
|
@ -564,7 +564,7 @@
|
||||||
|
|
||||||
<issue
|
<issue
|
||||||
id="MissingTranslation"
|
id="MissingTranslation"
|
||||||
message=""schedule_send" is not translated in "fil" (Filipino; Pilipino), "ia" (Interlingua), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "eu" (Basque), "ne" (Nepali), "az" (Azerbaijani), "nn" (Norwegian Nynorsk), "be" (Belarusian), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "zgh" (Standard Moroccan Tamazight), "ltg", "kn" (Kannada), "or" (Odia), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
message=""schedule_send" is not translated in "fil" (Filipino; Pilipino), "ia" (Interlingua), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "ne" (Nepali), "az" (Azerbaijani), "nn" (Norwegian Nynorsk), "be" (Belarusian), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "zgh" (Standard Moroccan Tamazight), "ltg", "kn" (Kannada), "or" (Odia), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
||||||
errorLine1=" <string name="schedule_send">Schedule send</string>"
|
errorLine1=" <string name="schedule_send">Schedule send</string>"
|
||||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~">
|
||||||
<location
|
<location
|
||||||
|
|
@ -575,7 +575,7 @@
|
||||||
|
|
||||||
<issue
|
<issue
|
||||||
id="MissingTranslation"
|
id="MissingTranslation"
|
||||||
message=""cancel_schedule_send" is not translated in "fil" (Filipino; Pilipino), "ia" (Interlingua), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "eu" (Basque), "ne" (Nepali), "az" (Azerbaijani), "nn" (Norwegian Nynorsk), "be" (Belarusian), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "zgh" (Standard Moroccan Tamazight), "ltg", "kn" (Kannada), "or" (Odia), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
message=""cancel_schedule_send" is not translated in "fil" (Filipino; Pilipino), "ia" (Interlingua), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "ne" (Nepali), "az" (Azerbaijani), "nn" (Norwegian Nynorsk), "be" (Belarusian), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "zgh" (Standard Moroccan Tamazight), "ltg", "kn" (Kannada), "or" (Odia), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
||||||
errorLine1=" <string name="cancel_schedule_send">Cancel schedule send</string>"
|
errorLine1=" <string name="cancel_schedule_send">Cancel schedule send</string>"
|
||||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||||
<location
|
<location
|
||||||
|
|
@ -586,7 +586,7 @@
|
||||||
|
|
||||||
<issue
|
<issue
|
||||||
id="MissingTranslation"
|
id="MissingTranslation"
|
||||||
message=""must_pick_time_in_the_future" is not translated in "fil" (Filipino; Pilipino), "ia" (Interlingua), "mk" (Macedonian), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "eu" (Basque), "ne" (Nepali), "az" (Azerbaijani), "nn" (Norwegian Nynorsk), "be" (Belarusian), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "zgh" (Standard Moroccan Tamazight), "ltg", "kn" (Kannada), "or" (Odia), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
message=""must_pick_time_in_the_future" is not translated in "fil" (Filipino; Pilipino), "ia" (Interlingua), "mk" (Macedonian), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "ne" (Nepali), "az" (Azerbaijani), "nn" (Norwegian Nynorsk), "be" (Belarusian), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "zgh" (Standard Moroccan Tamazight), "ltg", "kn" (Kannada), "or" (Odia), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
||||||
errorLine1=" <string name="must_pick_time_in_the_future">You must pick a time in the future</string>"
|
errorLine1=" <string name="must_pick_time_in_the_future">You must pick a time in the future</string>"
|
||||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||||
<location
|
<location
|
||||||
|
|
@ -740,7 +740,7 @@
|
||||||
|
|
||||||
<issue
|
<issue
|
||||||
id="MissingTranslation"
|
id="MissingTranslation"
|
||||||
message=""enable_custom_notifications" is not translated in "fil" (Filipino; Pilipino), "ia" (Interlingua), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "el" (Greek), "en" (English), "is" (Icelandic), "my" (Burmese), "eu" (Basque), "ar" (Arabic), "ne" (Nepali), "az" (Azerbaijani), "nn" (Norwegian Nynorsk), "be" (Belarusian), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "zgh" (Standard Moroccan Tamazight), "ltg", "sr" (Serbian), "kn" (Kannada), "or" (Odia), "kr" (Kanuri), "sat" (Santali), "gu" (Gujarati), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
message=""enable_custom_notifications" is not translated in "fil" (Filipino; Pilipino), "ia" (Interlingua), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "eu" (Basque), "ar" (Arabic), "ne" (Nepali), "az" (Azerbaijani), "nn" (Norwegian Nynorsk), "be" (Belarusian), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "zgh" (Standard Moroccan Tamazight), "ltg", "kn" (Kannada), "or" (Odia), "kr" (Kanuri), "sat" (Santali), "gu" (Gujarati), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
||||||
errorLine1=" <string name="enable_custom_notifications">Enable custom notifications</string>"
|
errorLine1=" <string name="enable_custom_notifications">Enable custom notifications</string>"
|
||||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||||
<location
|
<location
|
||||||
|
|
@ -839,7 +839,7 @@
|
||||||
|
|
||||||
<issue
|
<issue
|
||||||
id="MissingTranslation"
|
id="MissingTranslation"
|
||||||
message=""keep_conversations_archived" is not translated in "hi" (Hindi), "fil" (Filipino; Pilipino), "lt" (Lithuanian), "hr" (Croatian), "hu" (Hungarian), "ia" (Interlingua), "mk" (Macedonian), "ml" (Malayalam), "in" (Indonesian), "ms" (Malay), "el" (Greek), "en" (English), "is" (Icelandic), "it" (Italian), "my" (Burmese), "es" (Spanish), "iw" (Hebrew), "eu" (Basque), "ar" (Arabic), "vi" (Vietnamese), "nb" (Norwegian Bokmål), "ja" (Japanese), "ne" (Nepali), "az" (Azerbaijani), "fa" (Persian), "ro" (Romanian), "nn" (Norwegian Nynorsk), "be" (Belarusian), "fi" (Finnish), "bg" (Bulgarian), "bn" (Bangla), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "sk" (Slovak), "sl" (Slovenian), "zgh" (Standard Moroccan Tamazight), "ltg", "sr" (Serbian), "kn" (Kannada), "or" (Odia), "ko" (Korean), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "gu" (Gujarati), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb", "da" (Danish)"
|
message=""keep_conversations_archived" is not translated in "hi" (Hindi), "fil" (Filipino; Pilipino), "lt" (Lithuanian), "hr" (Croatian), "hu" (Hungarian), "ia" (Interlingua), "mk" (Macedonian), "ml" (Malayalam), "in" (Indonesian), "ms" (Malay), "el" (Greek), "en" (English), "is" (Icelandic), "my" (Burmese), "eu" (Basque), "ar" (Arabic), "vi" (Vietnamese), "nb" (Norwegian Bokmål), "ja" (Japanese), "ne" (Nepali), "az" (Azerbaijani), "fa" (Persian), "ro" (Romanian), "nn" (Norwegian Nynorsk), "be" (Belarusian), "bg" (Bulgarian), "bn" (Bangla), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "sk" (Slovak), "sl" (Slovenian), "zgh" (Standard Moroccan Tamazight), "ltg", "kn" (Kannada), "or" (Odia), "ko" (Korean), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "gu" (Gujarati), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
||||||
errorLine1=" <string name="keep_conversations_archived">Keep conversations archived</string>"
|
errorLine1=" <string name="keep_conversations_archived">Keep conversations archived</string>"
|
||||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||||
<location
|
<location
|
||||||
|
|
@ -1147,7 +1147,7 @@
|
||||||
|
|
||||||
<issue
|
<issue
|
||||||
id="MissingTranslation"
|
id="MissingTranslation"
|
||||||
message=""keywords" is not translated in "fil" (Filipino; Pilipino), "lt" (Lithuanian), "ia" (Interlingua), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "el" (Greek), "en" (English), "is" (Icelandic), "my" (Burmese), "eu" (Basque), "ar" (Arabic), "vi" (Vietnamese), "nb" (Norwegian Bokmål), "ja" (Japanese), "ne" (Nepali), "az" (Azerbaijani), "fa" (Persian), "ro" (Romanian), "nn" (Norwegian Nynorsk), "be" (Belarusian), "bn" (Bangla), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "sl" (Slovenian), "zgh" (Standard Moroccan Tamazight), "ltg", "sr" (Serbian), "kn" (Kannada), "or" (Odia), "ko" (Korean), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "gu" (Gujarati), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
message=""keywords" is not translated in "fil" (Filipino; Pilipino), "lt" (Lithuanian), "ia" (Interlingua), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "el" (Greek), "en" (English), "is" (Icelandic), "my" (Burmese), "eu" (Basque), "ar" (Arabic), "vi" (Vietnamese), "nb" (Norwegian Bokmål), "ja" (Japanese), "ne" (Nepali), "az" (Azerbaijani), "fa" (Persian), "ro" (Romanian), "nn" (Norwegian Nynorsk), "be" (Belarusian), "bn" (Bangla), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "sl" (Slovenian), "zgh" (Standard Moroccan Tamazight), "ltg", "kn" (Kannada), "or" (Odia), "ko" (Korean), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "gu" (Gujarati), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
||||||
errorLine1=" <string name="keywords">Keywords</string>"
|
errorLine1=" <string name="keywords">Keywords</string>"
|
||||||
errorLine2=" ~~~~~~~~~~~~~~~">
|
errorLine2=" ~~~~~~~~~~~~~~~">
|
||||||
<location
|
<location
|
||||||
|
|
@ -1235,7 +1235,7 @@
|
||||||
|
|
||||||
<issue
|
<issue
|
||||||
id="MissingTranslation"
|
id="MissingTranslation"
|
||||||
message=""export_blocked_keywords" is not translated in "fil" (Filipino; Pilipino), "lt" (Lithuanian), "ia" (Interlingua), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "el" (Greek), "en" (English), "is" (Icelandic), "my" (Burmese), "eu" (Basque), "ar" (Arabic), "vi" (Vietnamese), "nb" (Norwegian Bokmål), "ja" (Japanese), "ne" (Nepali), "az" (Azerbaijani), "fa" (Persian), "ro" (Romanian), "nn" (Norwegian Nynorsk), "be" (Belarusian), "bn" (Bangla), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "sl" (Slovenian), "zgh" (Standard Moroccan Tamazight), "ltg", "sr" (Serbian), "kn" (Kannada), "or" (Odia), "ko" (Korean), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
message=""export_blocked_keywords" is not translated in "fil" (Filipino; Pilipino), "lt" (Lithuanian), "ia" (Interlingua), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "el" (Greek), "en" (English), "is" (Icelandic), "my" (Burmese), "eu" (Basque), "ar" (Arabic), "vi" (Vietnamese), "nb" (Norwegian Bokmål), "ja" (Japanese), "ne" (Nepali), "az" (Azerbaijani), "fa" (Persian), "ro" (Romanian), "nn" (Norwegian Nynorsk), "be" (Belarusian), "bn" (Bangla), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "sl" (Slovenian), "zgh" (Standard Moroccan Tamazight), "ltg", "kn" (Kannada), "or" (Odia), "ko" (Korean), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
||||||
errorLine1=" <string name="export_blocked_keywords">Export blocked keywords</string>"
|
errorLine1=" <string name="export_blocked_keywords">Export blocked keywords</string>"
|
||||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||||
<location
|
<location
|
||||||
|
|
@ -1246,7 +1246,7 @@
|
||||||
|
|
||||||
<issue
|
<issue
|
||||||
id="MissingTranslation"
|
id="MissingTranslation"
|
||||||
message=""import_blocked_keywords" is not translated in "fil" (Filipino; Pilipino), "lt" (Lithuanian), "ia" (Interlingua), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "el" (Greek), "en" (English), "is" (Icelandic), "my" (Burmese), "eu" (Basque), "ar" (Arabic), "vi" (Vietnamese), "nb" (Norwegian Bokmål), "ja" (Japanese), "ne" (Nepali), "az" (Azerbaijani), "fa" (Persian), "ro" (Romanian), "nn" (Norwegian Nynorsk), "be" (Belarusian), "bn" (Bangla), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "sl" (Slovenian), "zgh" (Standard Moroccan Tamazight), "ltg", "sr" (Serbian), "kn" (Kannada), "or" (Odia), "ko" (Korean), "gl" (Galician), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
message=""import_blocked_keywords" is not translated in "fil" (Filipino; Pilipino), "lt" (Lithuanian), "ia" (Interlingua), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "el" (Greek), "en" (English), "is" (Icelandic), "my" (Burmese), "eu" (Basque), "ar" (Arabic), "vi" (Vietnamese), "nb" (Norwegian Bokmål), "ja" (Japanese), "ne" (Nepali), "az" (Azerbaijani), "fa" (Persian), "ro" (Romanian), "nn" (Norwegian Nynorsk), "be" (Belarusian), "bn" (Bangla), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "sl" (Slovenian), "zgh" (Standard Moroccan Tamazight), "ltg", "kn" (Kannada), "or" (Odia), "ko" (Korean), "gl" (Galician), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
||||||
errorLine1=" <string name="import_blocked_keywords">Import blocked keywords</string>"
|
errorLine1=" <string name="import_blocked_keywords">Import blocked keywords</string>"
|
||||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||||
<location
|
<location
|
||||||
|
|
@ -1257,7 +1257,7 @@
|
||||||
|
|
||||||
<issue
|
<issue
|
||||||
id="MissingTranslation"
|
id="MissingTranslation"
|
||||||
message=""empty_destination_address" is not translated in "fil" (Filipino; Pilipino), "lt" (Lithuanian), "ia" (Interlingua), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "eu" (Basque), "ne" (Nepali), "az" (Azerbaijani), "nn" (Norwegian Nynorsk), "be" (Belarusian), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "zgh" (Standard Moroccan Tamazight), "ltg", "sr" (Serbian), "kn" (Kannada), "or" (Odia), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
message=""empty_destination_address" is not translated in "fil" (Filipino; Pilipino), "lt" (Lithuanian), "ia" (Interlingua), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "eu" (Basque), "ne" (Nepali), "az" (Azerbaijani), "nn" (Norwegian Nynorsk), "be" (Belarusian), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "zgh" (Standard Moroccan Tamazight), "ltg", "kn" (Kannada), "or" (Odia), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
||||||
errorLine1=" <string name="empty_destination_address">Can\'t send message to an empty number</string>"
|
errorLine1=" <string name="empty_destination_address">Can\'t send message to an empty number</string>"
|
||||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||||
<location
|
<location
|
||||||
|
|
@ -1268,7 +1268,7 @@
|
||||||
|
|
||||||
<issue
|
<issue
|
||||||
id="MissingTranslation"
|
id="MissingTranslation"
|
||||||
message=""unable_to_save_message" is not translated in "fil" (Filipino; Pilipino), "lt" (Lithuanian), "ia" (Interlingua), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "eu" (Basque), "ne" (Nepali), "az" (Azerbaijani), "nn" (Norwegian Nynorsk), "be" (Belarusian), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "zgh" (Standard Moroccan Tamazight), "ltg", "sr" (Serbian), "kn" (Kannada), "or" (Odia), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "gu" (Gujarati), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
message=""unable_to_save_message" is not translated in "fil" (Filipino; Pilipino), "lt" (Lithuanian), "ia" (Interlingua), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "eu" (Basque), "ne" (Nepali), "az" (Azerbaijani), "nn" (Norwegian Nynorsk), "be" (Belarusian), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "zgh" (Standard Moroccan Tamazight), "ltg", "kn" (Kannada), "or" (Odia), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "gu" (Gujarati), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
||||||
errorLine1=" <string name="unable_to_save_message">Unable to save message to the telephony database</string>"
|
errorLine1=" <string name="unable_to_save_message">Unable to save message to the telephony database</string>"
|
||||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||||
<location
|
<location
|
||||||
|
|
@ -1279,7 +1279,7 @@
|
||||||
|
|
||||||
<issue
|
<issue
|
||||||
id="MissingTranslation"
|
id="MissingTranslation"
|
||||||
message=""error_service_is_unavailable" is not translated in "fil" (Filipino; Pilipino), "lt" (Lithuanian), "ia" (Interlingua), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "eu" (Basque), "ne" (Nepali), "az" (Azerbaijani), "nn" (Norwegian Nynorsk), "be" (Belarusian), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "zgh" (Standard Moroccan Tamazight), "ltg", "sr" (Serbian), "kn" (Kannada), "or" (Odia), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
message=""error_service_is_unavailable" is not translated in "fil" (Filipino; Pilipino), "lt" (Lithuanian), "ia" (Interlingua), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "eu" (Basque), "ne" (Nepali), "az" (Azerbaijani), "nn" (Norwegian Nynorsk), "be" (Belarusian), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "zgh" (Standard Moroccan Tamazight), "ltg", "kn" (Kannada), "or" (Odia), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
||||||
errorLine1=" <string name="error_service_is_unavailable">Couldn\'t send message, service unavailable</string>"
|
errorLine1=" <string name="error_service_is_unavailable">Couldn\'t send message, service unavailable</string>"
|
||||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||||
<location
|
<location
|
||||||
|
|
@ -1290,7 +1290,7 @@
|
||||||
|
|
||||||
<issue
|
<issue
|
||||||
id="MissingTranslation"
|
id="MissingTranslation"
|
||||||
message=""error_radio_turned_off" is not translated in "fil" (Filipino; Pilipino), "lt" (Lithuanian), "ia" (Interlingua), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "eu" (Basque), "ne" (Nepali), "az" (Azerbaijani), "nn" (Norwegian Nynorsk), "be" (Belarusian), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "zgh" (Standard Moroccan Tamazight), "ltg", "sr" (Serbian), "kn" (Kannada), "or" (Odia), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
message=""error_radio_turned_off" is not translated in "fil" (Filipino; Pilipino), "lt" (Lithuanian), "ia" (Interlingua), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "eu" (Basque), "ne" (Nepali), "az" (Azerbaijani), "nn" (Norwegian Nynorsk), "be" (Belarusian), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "zgh" (Standard Moroccan Tamazight), "ltg", "kn" (Kannada), "or" (Odia), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
||||||
errorLine1=" <string name="error_radio_turned_off">Couldn\'t send message, radio turned off</string>"
|
errorLine1=" <string name="error_radio_turned_off">Couldn\'t send message, radio turned off</string>"
|
||||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||||
<location
|
<location
|
||||||
|
|
@ -1301,7 +1301,7 @@
|
||||||
|
|
||||||
<issue
|
<issue
|
||||||
id="MissingTranslation"
|
id="MissingTranslation"
|
||||||
message=""carrier_send_error" is not translated in "fil" (Filipino; Pilipino), "lt" (Lithuanian), "ia" (Interlingua), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "eu" (Basque), "ne" (Nepali), "az" (Azerbaijani), "nn" (Norwegian Nynorsk), "be" (Belarusian), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "zgh" (Standard Moroccan Tamazight), "ltg", "sr" (Serbian), "kn" (Kannada), "or" (Odia), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
message=""carrier_send_error" is not translated in "fil" (Filipino; Pilipino), "lt" (Lithuanian), "ia" (Interlingua), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "eu" (Basque), "ne" (Nepali), "az" (Azerbaijani), "nn" (Norwegian Nynorsk), "be" (Belarusian), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "zgh" (Standard Moroccan Tamazight), "ltg", "kn" (Kannada), "or" (Odia), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
||||||
errorLine1=" <string name="carrier_send_error">Couldn\'t send message, carrier error</string>"
|
errorLine1=" <string name="carrier_send_error">Couldn\'t send message, carrier error</string>"
|
||||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||||
<location
|
<location
|
||||||
|
|
@ -1312,7 +1312,7 @@
|
||||||
|
|
||||||
<issue
|
<issue
|
||||||
id="MissingTranslation"
|
id="MissingTranslation"
|
||||||
message=""unknown_error_occurred_sending_message" is not translated in "fil" (Filipino; Pilipino), "lt" (Lithuanian), "ia" (Interlingua), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "eu" (Basque), "ne" (Nepali), "az" (Azerbaijani), "nn" (Norwegian Nynorsk), "be" (Belarusian), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "zgh" (Standard Moroccan Tamazight), "ltg", "sr" (Serbian), "kn" (Kannada), "or" (Odia), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
message=""unknown_error_occurred_sending_message" is not translated in "fil" (Filipino; Pilipino), "lt" (Lithuanian), "ia" (Interlingua), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "eu" (Basque), "ne" (Nepali), "az" (Azerbaijani), "nn" (Norwegian Nynorsk), "be" (Belarusian), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "zgh" (Standard Moroccan Tamazight), "ltg", "kn" (Kannada), "or" (Odia), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
||||||
errorLine1=" <string name="unknown_error_occurred_sending_message">Couldn\'t send message, error code: %d</string>"
|
errorLine1=" <string name="unknown_error_occurred_sending_message">Couldn\'t send message, error code: %d</string>"
|
||||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||||
<location
|
<location
|
||||||
|
|
@ -1323,7 +1323,7 @@
|
||||||
|
|
||||||
<issue
|
<issue
|
||||||
id="MissingTranslation"
|
id="MissingTranslation"
|
||||||
message=""invalid_short_code" is not translated in "fil" (Filipino; Pilipino), "lt" (Lithuanian), "ia" (Interlingua), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "eu" (Basque), "ne" (Nepali), "az" (Azerbaijani), "nn" (Norwegian Nynorsk), "be" (Belarusian), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "zgh" (Standard Moroccan Tamazight), "ltg", "sr" (Serbian), "kn" (Kannada), "or" (Odia), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "gu" (Gujarati), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
message=""invalid_short_code" is not translated in "fil" (Filipino; Pilipino), "lt" (Lithuanian), "ia" (Interlingua), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "eu" (Basque), "ne" (Nepali), "az" (Azerbaijani), "nn" (Norwegian Nynorsk), "be" (Belarusian), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "zgh" (Standard Moroccan Tamazight), "ltg", "kn" (Kannada), "or" (Odia), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "gu" (Gujarati), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
||||||
errorLine1=" <string name="invalid_short_code">Can\'t reply to short codes like this</string>"
|
errorLine1=" <string name="invalid_short_code">Can\'t reply to short codes like this</string>"
|
||||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||||
<location
|
<location
|
||||||
|
|
@ -1334,7 +1334,7 @@
|
||||||
|
|
||||||
<issue
|
<issue
|
||||||
id="MissingTranslation"
|
id="MissingTranslation"
|
||||||
message=""invalid_short_code_desc" is not translated in "fil" (Filipino; Pilipino), "lt" (Lithuanian), "ia" (Interlingua), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "eu" (Basque), "ne" (Nepali), "az" (Azerbaijani), "nn" (Norwegian Nynorsk), "be" (Belarusian), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "zgh" (Standard Moroccan Tamazight), "ltg", "sr" (Serbian), "kn" (Kannada), "or" (Odia), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "gu" (Gujarati), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
message=""invalid_short_code_desc" is not translated in "fil" (Filipino; Pilipino), "lt" (Lithuanian), "ia" (Interlingua), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "eu" (Basque), "ne" (Nepali), "az" (Azerbaijani), "nn" (Norwegian Nynorsk), "be" (Belarusian), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "zgh" (Standard Moroccan Tamazight), "ltg", "kn" (Kannada), "or" (Odia), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "gu" (Gujarati), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
||||||
errorLine1=" <string name="invalid_short_code_desc">You can only reply to short codes with numbers like \"503501\" but not to codes containing letters and numbers like \"AB-CD0\".</string>"
|
errorLine1=" <string name="invalid_short_code_desc">You can only reply to short codes with numbers like \"503501\" but not to codes containing letters and numbers like \"AB-CD0\".</string>"
|
||||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||||
<location
|
<location
|
||||||
|
|
@ -1345,7 +1345,7 @@
|
||||||
|
|
||||||
<issue
|
<issue
|
||||||
id="MissingTranslation"
|
id="MissingTranslation"
|
||||||
message=""attachment_sized_exceeds_max_limit" is not translated in "fil" (Filipino; Pilipino), "lt" (Lithuanian), "ia" (Interlingua), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "eu" (Basque), "ne" (Nepali), "az" (Azerbaijani), "nn" (Norwegian Nynorsk), "be" (Belarusian), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "zgh" (Standard Moroccan Tamazight), "ltg", "sr" (Serbian), "kn" (Kannada), "or" (Odia), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "gu" (Gujarati), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
message=""attachment_sized_exceeds_max_limit" is not translated in "fil" (Filipino; Pilipino), "lt" (Lithuanian), "ia" (Interlingua), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "eu" (Basque), "ne" (Nepali), "az" (Azerbaijani), "nn" (Norwegian Nynorsk), "be" (Belarusian), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "zgh" (Standard Moroccan Tamazight), "ltg", "kn" (Kannada), "or" (Odia), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "gu" (Gujarati), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
||||||
errorLine1=" <string name="attachment_sized_exceeds_max_limit">Attachment size exceeds max MMS limit</string>"
|
errorLine1=" <string name="attachment_sized_exceeds_max_limit">Attachment size exceeds max MMS limit</string>"
|
||||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||||
<location
|
<location
|
||||||
|
|
@ -1356,7 +1356,7 @@
|
||||||
|
|
||||||
<issue
|
<issue
|
||||||
id="MissingTranslation"
|
id="MissingTranslation"
|
||||||
message=""sim_card_not_available" is not translated in "fil" (Filipino; Pilipino), "lt" (Lithuanian), "ia" (Interlingua), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "eu" (Basque), "ne" (Nepali), "az" (Azerbaijani), "nn" (Norwegian Nynorsk), "be" (Belarusian), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "zgh" (Standard Moroccan Tamazight), "ltg", "sr" (Serbian), "kn" (Kannada), "or" (Odia), "gl" (Galician), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "gu" (Gujarati), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
message=""sim_card_not_available" is not translated in "fil" (Filipino; Pilipino), "lt" (Lithuanian), "ia" (Interlingua), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "eu" (Basque), "ne" (Nepali), "az" (Azerbaijani), "nn" (Norwegian Nynorsk), "be" (Belarusian), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "zgh" (Standard Moroccan Tamazight), "ltg", "kn" (Kannada), "or" (Odia), "gl" (Galician), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "gu" (Gujarati), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
||||||
errorLine1=" <string name="sim_card_not_available">SIM card not available</string>"
|
errorLine1=" <string name="sim_card_not_available">SIM card not available</string>"
|
||||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||||
<location
|
<location
|
||||||
|
|
@ -1367,7 +1367,7 @@
|
||||||
|
|
||||||
<issue
|
<issue
|
||||||
id="MissingTranslation"
|
id="MissingTranslation"
|
||||||
message=""couldnt_download_mms" is not translated in "fil" (Filipino; Pilipino), "lt" (Lithuanian), "ia" (Interlingua), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "eu" (Basque), "ne" (Nepali), "az" (Azerbaijani), "nn" (Norwegian Nynorsk), "be" (Belarusian), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "zgh" (Standard Moroccan Tamazight), "ltg", "sr" (Serbian), "kn" (Kannada), "or" (Odia), "gl" (Galician), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "gu" (Gujarati), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
message=""couldnt_download_mms" is not translated in "fil" (Filipino; Pilipino), "lt" (Lithuanian), "ia" (Interlingua), "mk" (Macedonian), "ml" (Malayalam), "ms" (Malay), "en" (English), "is" (Icelandic), "my" (Burmese), "eu" (Basque), "ne" (Nepali), "az" (Azerbaijani), "nn" (Norwegian Nynorsk), "be" (Belarusian), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "zgh" (Standard Moroccan Tamazight), "ltg", "kn" (Kannada), "or" (Odia), "gl" (Galician), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "gu" (Gujarati), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
||||||
errorLine1=" <string name="couldnt_download_mms">Couldn\'t download MMS</string>"
|
errorLine1=" <string name="couldnt_download_mms">Couldn\'t download MMS</string>"
|
||||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||||
<location
|
<location
|
||||||
|
|
@ -1442,6 +1442,28 @@
|
||||||
column="13"/>
|
column="13"/>
|
||||||
</issue>
|
</issue>
|
||||||
|
|
||||||
|
<issue
|
||||||
|
id="MissingTranslation"
|
||||||
|
message=""faq_4_title" is not translated in "de" (German), "hi" (Hindi), "pt" (Portuguese), "fil" (Filipino; Pilipino), "lt" (Lithuanian), "hr" (Croatian), "hu" (Hungarian), "ia" (Interlingua), "mk" (Macedonian), "ml" (Malayalam), "in" (Indonesian), "ms" (Malay), "el" (Greek), "en" (English), "is" (Icelandic), "my" (Burmese), "es" (Spanish), "iw" (Hebrew), "eu" (Basque), "ar" (Arabic), "vi" (Vietnamese), "nb" (Norwegian Bokmål), "ja" (Japanese), "ne" (Nepali), "az" (Azerbaijani), "fa" (Persian), "ro" (Romanian), "nn" (Norwegian Nynorsk), "be" (Belarusian), "bg" (Bulgarian), "bn" (Bangla), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "sk" (Slovak), "sl" (Slovenian), "zgh" (Standard Moroccan Tamazight), "ltg", "sr" (Serbian), "kn" (Kannada), "or" (Odia), "ko" (Korean), "gl" (Galician), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "gu" (Gujarati), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
||||||
|
errorLine1=" <string name="faq_4_title">Why do my group message replies appear as individual texts to recipients?</string>"
|
||||||
|
errorLine2=" ~~~~~~~~~~~~~~~~~~">
|
||||||
|
<location
|
||||||
|
file="src/main/res/values/strings.xml"
|
||||||
|
line="140"
|
||||||
|
column="13"/>
|
||||||
|
</issue>
|
||||||
|
|
||||||
|
<issue
|
||||||
|
id="MissingTranslation"
|
||||||
|
message=""faq_4_text" is not translated in "de" (German), "hi" (Hindi), "pt" (Portuguese), "fil" (Filipino; Pilipino), "lt" (Lithuanian), "hr" (Croatian), "hu" (Hungarian), "ia" (Interlingua), "mk" (Macedonian), "ml" (Malayalam), "in" (Indonesian), "ms" (Malay), "el" (Greek), "en" (English), "is" (Icelandic), "my" (Burmese), "es" (Spanish), "iw" (Hebrew), "eu" (Basque), "ar" (Arabic), "vi" (Vietnamese), "nb" (Norwegian Bokmål), "ja" (Japanese), "ne" (Nepali), "az" (Azerbaijani), "fa" (Persian), "ro" (Romanian), "nn" (Norwegian Nynorsk), "be" (Belarusian), "bg" (Bulgarian), "bn" (Bangla), "br" (Breton), "bs" (Bosnian), "si" (Sinhala), "sk" (Slovak), "sl" (Slovenian), "zgh" (Standard Moroccan Tamazight), "ltg", "sr" (Serbian), "kn" (Kannada), "or" (Odia), "ko" (Korean), "gl" (Galician), "kr" (Kanuri), "sat" (Santali), "ta" (Tamil), "gu" (Gujarati), "cr" (Cree), "pa" (Punjabi), "te" (Telugu), "th" (Thai), "cy" (Welsh), "ckb""
|
||||||
|
errorLine1=" <string name="faq_4_text">You need to enable \"Send group messages as MMS\" in the app settings. This will ensure that group messages are sent as proper MMS, allowing all participants to see each other\'s replies.</string>"
|
||||||
|
errorLine2=" ~~~~~~~~~~~~~~~~~">
|
||||||
|
<location
|
||||||
|
file="src/main/res/values/strings.xml"
|
||||||
|
line="141"
|
||||||
|
column="13"/>
|
||||||
|
</issue>
|
||||||
|
|
||||||
<issue
|
<issue
|
||||||
id="Typos"
|
id="Typos"
|
||||||
message=""internett" is usually capitalized as "Internett""
|
message=""internett" is usually capitalized as "Internett""
|
||||||
|
|
@ -1453,6 +1475,17 @@
|
||||||
column="288"/>
|
column="288"/>
|
||||||
</issue>
|
</issue>
|
||||||
|
|
||||||
|
<issue
|
||||||
|
id="Typos"
|
||||||
|
message="Repeated word "ayrı" in message: possible typo"
|
||||||
|
errorLine1=" <string name="faq_4_title">Grup mesajı yanıtlarım neden alıcılara ayrı ayrı metinler olarak görünüyor?</string>"
|
||||||
|
errorLine2=" ^">
|
||||||
|
<location
|
||||||
|
file="src/main/res/values-tr/strings.xml"
|
||||||
|
line="124"
|
||||||
|
column="71"/>
|
||||||
|
</issue>
|
||||||
|
|
||||||
<issue
|
<issue
|
||||||
id="UnusedQuantity"
|
id="UnusedQuantity"
|
||||||
message="For language "iw" (Hebrew) the following quantities are not relevant: `many`"
|
message="For language "iw" (Hebrew) the following quantities are not relevant: `many`"
|
||||||
|
|
@ -1471,7 +1504,7 @@
|
||||||
errorLine2=" ~~~~~~~~~">
|
errorLine2=" ~~~~~~~~~">
|
||||||
<location
|
<location
|
||||||
file="src/main/kotlin/org/fossify/messages/receivers/SmsReceiver.kt"
|
file="src/main/kotlin/org/fossify/messages/receivers/SmsReceiver.kt"
|
||||||
line="22"
|
line="32"
|
||||||
column="18"/>
|
column="18"/>
|
||||||
</issue>
|
</issue>
|
||||||
|
|
||||||
|
|
@ -2149,21 +2182,10 @@
|
||||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||||
<location
|
<location
|
||||||
file="src/main/kotlin/org/fossify/messages/receivers/MmsSentReceiver.kt"
|
file="src/main/kotlin/org/fossify/messages/receivers/MmsSentReceiver.kt"
|
||||||
line="22"
|
line="23"
|
||||||
column="19"/>
|
column="19"/>
|
||||||
</issue>
|
</issue>
|
||||||
|
|
||||||
<issue
|
|
||||||
id="UseKtx"
|
|
||||||
message="Use the KTX extension function `String.toUri` instead?"
|
|
||||||
errorLine1=" val uri = Uri.parse(intent.getStringExtra(THREAD_ATTACHMENT_URI))"
|
|
||||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
|
||||||
<location
|
|
||||||
file="src/main/kotlin/org/fossify/messages/activities/ThreadActivity.kt"
|
|
||||||
line="916"
|
|
||||||
column="27"/>
|
|
||||||
</issue>
|
|
||||||
|
|
||||||
<issue
|
<issue
|
||||||
id="ContentDescription"
|
id="ContentDescription"
|
||||||
message="Missing `contentDescription` attribute on image"
|
message="Missing `contentDescription` attribute on image"
|
||||||
|
|
|
||||||
|
|
@ -216,7 +216,7 @@ class ThreadActivity : SimpleActivity() {
|
||||||
private var capturedImageUri: Uri? = null
|
private var capturedImageUri: Uri? = null
|
||||||
private var loadingOlderMessages = false
|
private var loadingOlderMessages = false
|
||||||
private var allMessagesFetched = false
|
private var allMessagesFetched = false
|
||||||
private var oldestMessageDate = -1
|
private var isJumpingToMessage = false
|
||||||
private var isRecycleBin = false
|
private var isRecycleBin = false
|
||||||
private var isLaunchedFromShortcut = false
|
private var isLaunchedFromShortcut = false
|
||||||
|
|
||||||
|
|
@ -463,7 +463,7 @@ class ThreadActivity : SimpleActivity() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun setupThread() {
|
private fun setupThread(callback: () -> Unit) {
|
||||||
if (conversation == null && isLaunchedFromShortcut) {
|
if (conversation == null && isLaunchedFromShortcut) {
|
||||||
if (isTaskRoot) {
|
if (isTaskRoot) {
|
||||||
Intent(this, MainActivity::class.java).apply {
|
Intent(this, MainActivity::class.java).apply {
|
||||||
|
|
@ -494,6 +494,7 @@ class ThreadActivity : SimpleActivity() {
|
||||||
try {
|
try {
|
||||||
if (participants.isNotEmpty() && messages.hashCode() == cachedMessagesCode && !hasParticipantWithoutName) {
|
if (participants.isNotEmpty() && messages.hashCode() == cachedMessagesCode && !hasParticipantWithoutName) {
|
||||||
setupAdapter()
|
setupAdapter()
|
||||||
|
runOnUiThread { callback() }
|
||||||
return@ensureBackgroundThread
|
return@ensureBackgroundThread
|
||||||
}
|
}
|
||||||
} catch (ignored: Exception) {
|
} catch (ignored: Exception) {
|
||||||
|
|
@ -553,6 +554,7 @@ class ThreadActivity : SimpleActivity() {
|
||||||
runOnUiThread {
|
runOnUiThread {
|
||||||
setupThreadTitle()
|
setupThreadTitle()
|
||||||
setupSIMSelector()
|
setupSIMSelector()
|
||||||
|
callback()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -717,7 +719,44 @@ class ThreadActivity : SimpleActivity() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun jumpToMessage(messageId: Long) {
|
||||||
|
if (messages.any { it.id == messageId }) {
|
||||||
|
val index = threadItems.indexOfFirst { (it as? Message)?.id == messageId }
|
||||||
|
if (index != -1) binding.threadMessagesList.smoothScrollToPosition(index)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
ensureBackgroundThread {
|
||||||
|
if (loadingOlderMessages) return@ensureBackgroundThread
|
||||||
|
loadingOlderMessages = true
|
||||||
|
isJumpingToMessage = true
|
||||||
|
|
||||||
|
var cutoff = messages.firstOrNull()?.date ?: Int.MAX_VALUE
|
||||||
|
var found = false
|
||||||
|
var loops = 0
|
||||||
|
|
||||||
|
// not the best solution, but this will do for now.
|
||||||
|
while (!found && !allMessagesFetched) {
|
||||||
|
if (fetchOlderMessages(cutoff).isEmpty() || loops >= 1000) break
|
||||||
|
cutoff = messages.first().date
|
||||||
|
found = messages.any { it.id == messageId }
|
||||||
|
loops++
|
||||||
|
}
|
||||||
|
|
||||||
|
threadItems = getThreadItems()
|
||||||
|
runOnUiThread {
|
||||||
|
loadingOlderMessages = false
|
||||||
|
val index = threadItems.indexOfFirst { (it as? Message)?.id == messageId }
|
||||||
|
getOrCreateThreadAdapter().updateMessages(
|
||||||
|
newMessages = threadItems, scrollPosition = index, smoothScroll = true
|
||||||
|
)
|
||||||
|
isJumpingToMessage = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private fun tryLoadMoreMessages() {
|
private fun tryLoadMoreMessages() {
|
||||||
|
if (isJumpingToMessage) return
|
||||||
val layoutManager = binding.threadMessagesList.layoutManager as LinearLayoutManager
|
val layoutManager = binding.threadMessagesList.layoutManager as LinearLayoutManager
|
||||||
if (layoutManager.findFirstVisibleItemPosition() <= PREFETCH_THRESHOLD) {
|
if (layoutManager.findFirstVisibleItemPosition() <= PREFETCH_THRESHOLD) {
|
||||||
loadMoreMessages()
|
loadMoreMessages()
|
||||||
|
|
@ -726,21 +765,11 @@ class ThreadActivity : SimpleActivity() {
|
||||||
|
|
||||||
private fun loadMoreMessages() {
|
private fun loadMoreMessages() {
|
||||||
if (messages.isEmpty() || allMessagesFetched || loadingOlderMessages) return
|
if (messages.isEmpty() || allMessagesFetched || loadingOlderMessages) return
|
||||||
|
|
||||||
val firstItem = messages.first()
|
|
||||||
val dateOfFirstItem = firstItem.date
|
|
||||||
|
|
||||||
oldestMessageDate = dateOfFirstItem
|
|
||||||
loadingOlderMessages = true
|
loadingOlderMessages = true
|
||||||
|
val cutoff = messages.first().date
|
||||||
ensureBackgroundThread {
|
ensureBackgroundThread {
|
||||||
val olderMessages = getMessages(threadId, oldestMessageDate)
|
fetchOlderMessages(cutoff)
|
||||||
.filterNotInByKey(messages) { it.getStableId() }
|
|
||||||
|
|
||||||
messages.addAll(0, olderMessages)
|
|
||||||
allMessagesFetched = olderMessages.isEmpty()
|
|
||||||
threadItems = getThreadItems()
|
threadItems = getThreadItems()
|
||||||
|
|
||||||
runOnUiThread {
|
runOnUiThread {
|
||||||
loadingOlderMessages = false
|
loadingOlderMessages = false
|
||||||
getOrCreateThreadAdapter().updateMessages(threadItems)
|
getOrCreateThreadAdapter().updateMessages(threadItems)
|
||||||
|
|
@ -748,23 +777,32 @@ class ThreadActivity : SimpleActivity() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun fetchOlderMessages(cutoff: Int): List<Message> {
|
||||||
|
val older = getMessages(threadId, cutoff)
|
||||||
|
.filterNotInByKey(messages) { it.getStableId() }
|
||||||
|
|
||||||
|
if (older.isEmpty()) {
|
||||||
|
allMessagesFetched = true
|
||||||
|
return older
|
||||||
|
}
|
||||||
|
|
||||||
|
messages.addAll(0, older)
|
||||||
|
return older
|
||||||
|
}
|
||||||
|
|
||||||
private fun loadConversation() {
|
private fun loadConversation() {
|
||||||
handlePermission(PERMISSION_READ_PHONE_STATE) { granted ->
|
handlePermission(PERMISSION_READ_PHONE_STATE) { granted ->
|
||||||
if (granted) {
|
if (granted) {
|
||||||
setupButtons()
|
setupButtons()
|
||||||
setupConversation()
|
setupConversation()
|
||||||
setupCachedMessages {
|
setupCachedMessages {
|
||||||
|
setupThread {
|
||||||
val searchedMessageId = intent.getLongExtra(SEARCHED_MESSAGE_ID, -1L)
|
val searchedMessageId = intent.getLongExtra(SEARCHED_MESSAGE_ID, -1L)
|
||||||
intent.removeExtra(SEARCHED_MESSAGE_ID)
|
intent.removeExtra(SEARCHED_MESSAGE_ID)
|
||||||
if (searchedMessageId != -1L) {
|
if (searchedMessageId != -1L) {
|
||||||
val index =
|
jumpToMessage(searchedMessageId)
|
||||||
threadItems.indexOfFirst { (it as? Message)?.id == searchedMessageId }
|
|
||||||
if (index != -1) {
|
|
||||||
binding.threadMessagesList.smoothScrollToPosition(index)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
setupThread()
|
|
||||||
setupScrollListener()
|
setupScrollListener()
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -1712,14 +1750,13 @@ class ThreadActivity : SimpleActivity() {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Subscribe(threadMode = ThreadMode.ASYNC)
|
@Subscribe(threadMode = ThreadMode.ASYNC)
|
||||||
fun refreshMessages(event: Events.RefreshMessages) {
|
fun refreshMessages(@Suppress("unused") event: Events.RefreshMessages) {
|
||||||
if (isRecycleBin) {
|
if (isRecycleBin) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
refreshedSinceSent = true
|
refreshedSinceSent = true
|
||||||
allMessagesFetched = false
|
allMessagesFetched = false
|
||||||
oldestMessageDate = -1
|
|
||||||
|
|
||||||
if (isActivityVisible) {
|
if (isActivityVisible) {
|
||||||
notificationManager.cancel(threadId.hashCode())
|
notificationManager.cancel(threadId.hashCode())
|
||||||
|
|
|
||||||
|
|
@ -328,14 +328,22 @@ class ThreadAdapter(
|
||||||
|
|
||||||
private fun isThreadDateTime(position: Int) = currentList.getOrNull(position) is ThreadDateTime
|
private fun isThreadDateTime(position: Int) = currentList.getOrNull(position) is ThreadDateTime
|
||||||
|
|
||||||
fun updateMessages(newMessages: ArrayList<ThreadItem>, scrollPosition: Int = -1) {
|
fun updateMessages(
|
||||||
|
newMessages: ArrayList<ThreadItem>,
|
||||||
|
scrollPosition: Int = -1,
|
||||||
|
smoothScroll: Boolean = false
|
||||||
|
) {
|
||||||
val latestMessages = newMessages.toMutableList()
|
val latestMessages = newMessages.toMutableList()
|
||||||
submitList(latestMessages) {
|
submitList(latestMessages) {
|
||||||
if (scrollPosition != -1) {
|
if (scrollPosition != -1) {
|
||||||
|
if (smoothScroll) {
|
||||||
|
recyclerView.smoothScrollToPosition(scrollPosition)
|
||||||
|
} else {
|
||||||
recyclerView.scrollToPosition(scrollPosition)
|
recyclerView.scrollToPosition(scrollPosition)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private fun setupView(holder: ViewHolder, view: View, message: Message) {
|
private fun setupView(holder: ViewHolder, view: View, message: Message) {
|
||||||
ItemMessageBinding.bind(view).apply {
|
ItemMessageBinding.bind(view).apply {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue