mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-21 17:29:32 +01:00
Remove announcement group capability checks.
This commit is contained in:
committed by
Greyson Parrelli
parent
1fad4d4f65
commit
9599d3a0b6
@@ -7,18 +7,14 @@ import io.reactivex.rxjava3.schedulers.Schedulers
|
||||
import org.signal.core.util.concurrent.SignalExecutors
|
||||
import org.signal.core.util.logging.Log
|
||||
import org.thoughtcrime.securesms.contacts.sync.ContactDiscovery
|
||||
import org.thoughtcrime.securesms.database.GroupDatabase
|
||||
import org.thoughtcrime.securesms.database.SignalDatabase
|
||||
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies
|
||||
import org.thoughtcrime.securesms.groups.GroupChangeException
|
||||
import org.thoughtcrime.securesms.groups.GroupId
|
||||
import org.thoughtcrime.securesms.groups.GroupManager
|
||||
import org.thoughtcrime.securesms.groups.ui.GroupChangeFailureReason
|
||||
import org.thoughtcrime.securesms.jobs.RetrieveProfileJob
|
||||
import org.thoughtcrime.securesms.recipients.Recipient
|
||||
import org.thoughtcrime.securesms.recipients.RecipientId
|
||||
import java.io.IOException
|
||||
import java.util.concurrent.TimeUnit
|
||||
|
||||
private val TAG: String = Log.tag(GroupManagementRepository::class.java)
|
||||
|
||||
@@ -38,7 +34,6 @@ class GroupManagementRepository @JvmOverloads constructor(private val context: C
|
||||
private fun addMembers(potentialGroupId: GroupId?, potentialGroupRecipient: Recipient?, selected: List<RecipientId>, consumer: Consumer<GroupAddMembersResult>) {
|
||||
SignalExecutors.UNBOUNDED.execute {
|
||||
val groupId: GroupId.Push = potentialGroupId?.requirePush() ?: potentialGroupRecipient!!.requireGroupId().requirePush()
|
||||
val record: GroupDatabase.GroupRecord = SignalDatabase.groups.getGroup(groupId).get()
|
||||
|
||||
val recipients = selected.map(Recipient::resolved)
|
||||
.filterNot { it.hasServiceId() && it.isRegistered }
|
||||
@@ -51,23 +46,6 @@ class GroupManagementRepository @JvmOverloads constructor(private val context: C
|
||||
consumer.accept(GroupAddMembersResult.Failure(GroupChangeFailureReason.NETWORK))
|
||||
}
|
||||
|
||||
if (record.isAnnouncementGroup) {
|
||||
val needsResolve = selected
|
||||
.map { Recipient.resolved(it) }
|
||||
.filter { it.announcementGroupCapability != Recipient.Capability.SUPPORTED && !it.isSelf }
|
||||
.map { it.id }
|
||||
.toSet()
|
||||
|
||||
ApplicationDependencies.getJobManager().runSynchronously(RetrieveProfileJob(needsResolve), TimeUnit.SECONDS.toMillis(10))
|
||||
|
||||
val updatedWithCapabilities = needsResolve.map { Recipient.resolved(it) }
|
||||
|
||||
if (updatedWithCapabilities.any { it.announcementGroupCapability != Recipient.Capability.SUPPORTED }) {
|
||||
consumer.accept(GroupAddMembersResult.Failure(GroupChangeFailureReason.NOT_ANNOUNCEMENT_CAPABLE))
|
||||
return@execute
|
||||
}
|
||||
}
|
||||
|
||||
consumer.accept(
|
||||
try {
|
||||
val toAdd = selected.filter { Recipient.resolved(it).isRegistered }
|
||||
|
||||
Reference in New Issue
Block a user