Skip to content

Commit 5646b46

Browse files
authored
Merge pull request #2 from wrwrabbit/fix_conversations_snippet
fix conversations snippet
2 parents 9e9a65a + 8cc6e09 commit 5646b46

1 file changed

Lines changed: 15 additions & 3 deletions

File tree

presentation/src/main/java/com/moez/QKSMS/feature/conversations/ConversationsAdapter.kt

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,10 @@ import com.moez.QKSMS.common.util.Colors
3535
import com.moez.QKSMS.common.util.DateFormatter
3636
import com.moez.QKSMS.common.util.extensions.resolveThemeColor
3737
import com.moez.QKSMS.common.util.extensions.setTint
38+
import com.moez.QKSMS.encryption.Encryptor
3839
import com.moez.QKSMS.model.Conversation
3940
import com.moez.QKSMS.util.PhoneNumberUtils
41+
import com.moez.QKSMS.util.Preferences
4042
import kotlinx.android.synthetic.main.conversation_list_item.*
4143
import kotlinx.android.synthetic.main.conversation_list_item.view.*
4244
import javax.inject.Inject
@@ -46,7 +48,8 @@ class ConversationsAdapter @Inject constructor(
4648
private val context: Context,
4749
private val dateFormatter: DateFormatter,
4850
private val navigator: Navigator,
49-
private val phoneNumberUtils: PhoneNumberUtils
51+
private val phoneNumberUtils: PhoneNumberUtils,
52+
private val prefs: Preferences
5053
) : QkRealmAdapter<Conversation>() {
5154

5255
init {
@@ -114,10 +117,19 @@ class ConversationsAdapter @Inject constructor(
114117
}
115118
}
116119
holder.date.text = conversation.date.takeIf { it > 0 }?.let(dateFormatter::getConversationTimestamp)
120+
121+
val snippetText = if (conversation != null && !conversation!!.encryptionKey.isEmpty()) {
122+
Encryptor().tryDecode(conversation.snippet.toString(), conversation!!.encryptionKey)
123+
} else if (prefs.globalEncryptionKey.get().isNotEmpty()) {
124+
Encryptor().tryDecode(conversation.snippet.toString(), prefs.globalEncryptionKey.get())
125+
} else {
126+
conversation.snippet
127+
}
128+
117129
holder.snippet.text = when {
118130
conversation.draft.isNotEmpty() -> conversation.draft
119-
conversation.me -> context.getString(R.string.main_sender_you, conversation.snippet)
120-
else -> conversation.snippet
131+
conversation.me -> context.getString(R.string.main_sender_you, snippetText)
132+
else -> snippetText
121133
}
122134
holder.pinned.isVisible = conversation.pinned
123135
holder.unread.setTint(theme)

0 commit comments

Comments
 (0)