only handle the first configuration message

This commit is contained in:
Ryan ZHAO
2021-02-09 17:00:17 +11:00
parent e8d007dce4
commit 6b45cc683e
3 changed files with 13 additions and 2 deletions

View File

@@ -111,8 +111,6 @@ class CreateClosedGroupActivity : PassphraseRequiredActionBarActivity(), LoaderM
isLoading = true
loaderContainer.fadeIn()
ClosedGroupsProtocolV2.createClosedGroup(this, name.toString(), selectedMembers + setOf( userPublicKey )).successUi { groupID ->
// Force sync configuration message
MultiDeviceProtocol.forceSyncConfigurationNowIfNeeded(this)
loaderContainer.fadeOut()
isLoading = false
val threadID = DatabaseFactory.getThreadDatabase(this).getOrCreateThreadIdFor(Recipient.from(this, Address.fromSerialized(groupID), false))

View File

@@ -59,6 +59,7 @@ object MultiDeviceProtocol {
@JvmStatic
fun handleConfigurationMessage(context: Context, content: SignalServiceProtos.Content, senderPublicKey: String) {
if (TextSecurePreferences.getConfigurationMessageSynced(context)) return
val configurationMessage = ConfigurationMessage.fromProto(content) ?: return
val userPublicKey = TextSecurePreferences.getLocalNumber(context) ?: return
if (senderPublicKey != userPublicKey) return
@@ -85,5 +86,6 @@ object MultiDeviceProtocol {
if (allOpenGroups.contains(openGroup)) continue
OpenGroupUtilities.addGroup(context, openGroup, 1)
}
TextSecurePreferences.setConfigurationMessageSynced(context, true)
}
}