session-android/src/org/thoughtcrime/securesms/loki/redesign/messaging/LokiAPIUtilities.kt

29 lines
1.2 KiB
Kotlin
Raw Normal View History

2020-01-31 02:50:25 +01:00
package org.thoughtcrime.securesms.loki.redesign.messaging
2019-10-10 01:39:56 +02:00
import android.content.Context
import org.thoughtcrime.securesms.database.DatabaseFactory
import org.thoughtcrime.securesms.database.model.MessageRecord
import org.thoughtcrime.securesms.util.TextSecurePreferences
2020-05-07 09:59:41 +02:00
import org.whispersystems.signalservice.loki.protocol.mentions.MentionsManager
2019-10-10 01:39:56 +02:00
object LokiAPIUtilities {
2019-10-11 07:37:28 +02:00
fun populateUserHexEncodedPublicKeyCacheIfNeeded(threadID: Long, context: Context) {
2020-05-07 09:59:41 +02:00
if (MentionsManager.userHexEncodedPublicKeyCache[threadID] != null) { return }
2019-10-10 01:39:56 +02:00
val result = mutableSetOf<String>()
val messageDatabase = DatabaseFactory.getMmsSmsDatabase(context)
val reader = messageDatabase.readerFor(messageDatabase.getConversation(threadID))
var record: MessageRecord? = reader.next
while (record != null) {
result.add(record.individualRecipient.address.serialize())
try {
record = reader.next
} catch (exception: Exception) {
record = null
}
}
reader.close()
result.add(TextSecurePreferences.getLocalNumber(context))
2020-05-07 09:59:41 +02:00
MentionsManager.userHexEncodedPublicKeyCache[threadID] = result
2019-10-10 01:39:56 +02:00
}
}