mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-02-26 12:44:38 +00:00
Ensure all group recipients have group records.
This commit is contained in:
committed by
Alex Hart
parent
ec51268439
commit
c7dabe1b6f
@@ -17,7 +17,6 @@ import org.thoughtcrime.securesms.recipients.RecipientDetails
|
||||
import org.thoughtcrime.securesms.recipients.RecipientId
|
||||
import org.thoughtcrime.securesms.wallpaper.ChatWallpaper
|
||||
import org.whispersystems.signalservice.api.push.ServiceId.ACI
|
||||
import java.util.Optional
|
||||
import java.util.UUID
|
||||
import kotlin.random.Random
|
||||
|
||||
@@ -29,8 +28,6 @@ object RecipientDatabaseTestUtils {
|
||||
fun createRecipient(
|
||||
resolved: Boolean = false,
|
||||
groupName: String? = null,
|
||||
groupAvatarId: Optional<Long> = Optional.empty(),
|
||||
systemContact: Boolean = false,
|
||||
isSelf: Boolean = false,
|
||||
participants: List<RecipientId> = listOf(),
|
||||
recipientId: RecipientId = RecipientId.from(Random.nextLong()),
|
||||
@@ -89,75 +86,72 @@ object RecipientDatabaseTestUtils {
|
||||
): Recipient = Recipient(
|
||||
recipientId,
|
||||
RecipientDetails(
|
||||
groupName,
|
||||
systemDisplayName,
|
||||
groupAvatarId,
|
||||
systemContact,
|
||||
isSelf,
|
||||
registered,
|
||||
RecipientRecord(
|
||||
recipientId,
|
||||
serviceId,
|
||||
null,
|
||||
username,
|
||||
e164,
|
||||
email,
|
||||
groupId,
|
||||
null,
|
||||
groupType,
|
||||
blocked,
|
||||
muteUntil,
|
||||
messageVibrateState,
|
||||
callVibrateState,
|
||||
messageRingtone,
|
||||
callRingtone,
|
||||
expireMessages,
|
||||
registered,
|
||||
profileKey,
|
||||
expiringProfileKeyCredential,
|
||||
systemProfileName,
|
||||
systemDisplayName,
|
||||
systemContactPhoto,
|
||||
systemPhoneLabel,
|
||||
systemContactUri,
|
||||
signalProfileName,
|
||||
signalProfileAvatar,
|
||||
profileAvatarFileDetails,
|
||||
profileSharing,
|
||||
lastProfileFetch,
|
||||
notificationChannel,
|
||||
unidentifiedAccessMode,
|
||||
RecipientRecord.Capabilities(
|
||||
capabilities,
|
||||
Recipient.Capability.deserialize(Bitmask.read(capabilities, RecipientTable.Capabilities.GROUPS_V1_MIGRATION, RecipientTable.Capabilities.BIT_LENGTH).toInt()),
|
||||
Recipient.Capability.deserialize(Bitmask.read(capabilities, RecipientTable.Capabilities.SENDER_KEY, RecipientTable.Capabilities.BIT_LENGTH).toInt()),
|
||||
Recipient.Capability.deserialize(Bitmask.read(capabilities, RecipientTable.Capabilities.ANNOUNCEMENT_GROUPS, RecipientTable.Capabilities.BIT_LENGTH).toInt()),
|
||||
Recipient.Capability.deserialize(Bitmask.read(capabilities, RecipientTable.Capabilities.CHANGE_NUMBER, RecipientTable.Capabilities.BIT_LENGTH).toInt()),
|
||||
Recipient.Capability.deserialize(Bitmask.read(capabilities, RecipientTable.Capabilities.STORIES, RecipientTable.Capabilities.BIT_LENGTH).toInt()),
|
||||
Recipient.Capability.deserialize(Bitmask.read(capabilities, RecipientTable.Capabilities.GIFT_BADGES, RecipientTable.Capabilities.BIT_LENGTH).toInt()),
|
||||
Recipient.Capability.deserialize(Bitmask.read(capabilities, RecipientTable.Capabilities.PNP, RecipientTable.Capabilities.BIT_LENGTH).toInt()),
|
||||
Recipient.Capability.deserialize(Bitmask.read(capabilities, RecipientTable.Capabilities.PAYMENT_ACTIVATION, RecipientTable.Capabilities.BIT_LENGTH).toInt())
|
||||
groupName = groupName,
|
||||
systemContactName = systemDisplayName,
|
||||
isSelf = isSelf,
|
||||
registeredState = registered,
|
||||
record = RecipientRecord(
|
||||
id = recipientId,
|
||||
aci = serviceId,
|
||||
pni = null,
|
||||
username = username,
|
||||
e164 = e164,
|
||||
email = email,
|
||||
groupId = groupId,
|
||||
distributionListId = null,
|
||||
recipientType = groupType,
|
||||
isBlocked = blocked,
|
||||
muteUntil = muteUntil,
|
||||
messageVibrateState = messageVibrateState,
|
||||
callVibrateState = callVibrateState,
|
||||
messageRingtone = messageRingtone,
|
||||
callRingtone = callRingtone,
|
||||
expireMessages = expireMessages,
|
||||
registered = registered,
|
||||
profileKey = profileKey,
|
||||
expiringProfileKeyCredential = expiringProfileKeyCredential,
|
||||
systemProfileName = systemProfileName,
|
||||
systemDisplayName = systemDisplayName,
|
||||
systemContactPhotoUri = systemContactPhoto,
|
||||
systemPhoneLabel = systemPhoneLabel,
|
||||
systemContactUri = systemContactUri,
|
||||
signalProfileName = signalProfileName,
|
||||
signalProfileAvatar = signalProfileAvatar,
|
||||
profileAvatarFileDetails = profileAvatarFileDetails,
|
||||
profileSharing = profileSharing,
|
||||
lastProfileFetch = lastProfileFetch,
|
||||
notificationChannel = notificationChannel,
|
||||
unidentifiedAccessMode = unidentifiedAccessMode,
|
||||
capabilities = RecipientRecord.Capabilities(
|
||||
rawBits = capabilities,
|
||||
groupsV1MigrationCapability = Recipient.Capability.deserialize(Bitmask.read(capabilities, RecipientTable.Capabilities.GROUPS_V1_MIGRATION, RecipientTable.Capabilities.BIT_LENGTH).toInt()),
|
||||
senderKeyCapability = Recipient.Capability.deserialize(Bitmask.read(capabilities, RecipientTable.Capabilities.SENDER_KEY, RecipientTable.Capabilities.BIT_LENGTH).toInt()),
|
||||
announcementGroupCapability = Recipient.Capability.deserialize(Bitmask.read(capabilities, RecipientTable.Capabilities.ANNOUNCEMENT_GROUPS, RecipientTable.Capabilities.BIT_LENGTH).toInt()),
|
||||
changeNumberCapability = Recipient.Capability.deserialize(Bitmask.read(capabilities, RecipientTable.Capabilities.CHANGE_NUMBER, RecipientTable.Capabilities.BIT_LENGTH).toInt()),
|
||||
storiesCapability = Recipient.Capability.deserialize(Bitmask.read(capabilities, RecipientTable.Capabilities.STORIES, RecipientTable.Capabilities.BIT_LENGTH).toInt()),
|
||||
giftBadgesCapability = Recipient.Capability.deserialize(Bitmask.read(capabilities, RecipientTable.Capabilities.GIFT_BADGES, RecipientTable.Capabilities.BIT_LENGTH).toInt()),
|
||||
pnpCapability = Recipient.Capability.deserialize(Bitmask.read(capabilities, RecipientTable.Capabilities.PNP, RecipientTable.Capabilities.BIT_LENGTH).toInt()),
|
||||
paymentActivation = Recipient.Capability.deserialize(Bitmask.read(capabilities, RecipientTable.Capabilities.PAYMENT_ACTIVATION, RecipientTable.Capabilities.BIT_LENGTH).toInt())
|
||||
),
|
||||
storageId,
|
||||
mentionSetting,
|
||||
wallpaper,
|
||||
chatColors,
|
||||
avatarColor,
|
||||
about,
|
||||
aboutEmoji,
|
||||
syncExtras,
|
||||
extras,
|
||||
hasGroupsInCommon,
|
||||
badges,
|
||||
storageId = storageId,
|
||||
mentionSetting = mentionSetting,
|
||||
wallpaper = wallpaper,
|
||||
chatColors = chatColors,
|
||||
avatarColor = avatarColor,
|
||||
about = about,
|
||||
aboutEmoji = aboutEmoji,
|
||||
syncExtras = syncExtras,
|
||||
extras = extras,
|
||||
hasGroupsInCommon = hasGroupsInCommon,
|
||||
badges = badges,
|
||||
needsPniSignature = false,
|
||||
hiddenState = Recipient.HiddenState.NOT_HIDDEN,
|
||||
null
|
||||
callLinkRoomId = null
|
||||
),
|
||||
participants,
|
||||
isReleaseChannel,
|
||||
isActive,
|
||||
null,
|
||||
groupRecord.toOptional()
|
||||
participantIds = participants,
|
||||
isReleaseChannel = isReleaseChannel,
|
||||
avatarColor = null,
|
||||
groupRecord = groupRecord.toOptional()
|
||||
),
|
||||
resolved
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user