Use alternative approach for group message sending

This commit is contained in:
Niels Andriesse
2019-08-08 17:01:57 +10:00
parent 2c3e67e062
commit 04aa7db499
5 changed files with 23 additions and 35 deletions

View File

@@ -3,6 +3,7 @@ package org.thoughtcrime.securesms.loki
import android.content.ContentValues
import android.content.Context
import org.thoughtcrime.securesms.database.Database
import org.thoughtcrime.securesms.database.DatabaseFactory
import org.thoughtcrime.securesms.database.helpers.SQLCipherOpenHelper
import org.thoughtcrime.securesms.util.TextSecurePreferences
import org.whispersystems.signalservice.loki.api.LokiAPIDatabaseProtocol
@@ -81,6 +82,10 @@ class LokiAPIDatabase(context: Context, helper: SQLCipherOpenHelper) : Database(
override fun getUserDisplayName(): String? {
return TextSecurePreferences.getProfileName(context)
}
override fun setMessageID(signalID: Long, lokiID: Long) {
DatabaseFactory.getMmsDatabase(context).updateMessageID(signalID, lokiID)
}
}
// region Convenience

View File

@@ -3,7 +3,9 @@ package org.thoughtcrime.securesms.loki
import android.content.Context
import android.os.Handler
import android.util.Log
import org.thoughtcrime.securesms.database.DatabaseFactory
import org.thoughtcrime.securesms.jobs.PushDecryptJob
import org.thoughtcrime.securesms.util.TextSecurePreferences
import org.whispersystems.libsignal.util.guava.Optional
import org.whispersystems.signalservice.api.messages.SignalServiceContent
import org.whispersystems.signalservice.api.messages.SignalServiceDataMessage
@@ -38,7 +40,9 @@ class LokiGroupChatPoller(private val context: Context, private val groupID: Lon
}
private fun poll() {
LokiGroupChatAPI.getMessages(groupID).success { messages ->
val userHexEncodedPublicKey = TextSecurePreferences.getLocalNumber(context)
val database = DatabaseFactory.getLokiAPIDatabase(context)
LokiGroupChatAPI(userHexEncodedPublicKey, database).getMessages(groupID).success { messages ->
messages.map { message ->
val id = "loki-group-chat-$groupID".toByteArray()
val x1 = SignalServiceGroup(SignalServiceGroup.Type.UPDATE, id, null, null, null)