fix group parser

This commit is contained in:
Ryan ZHAO 2020-02-13 13:54:20 +11:00
parent 9e1681558e
commit cfe435bcd1
3 changed files with 8 additions and 8 deletions

View File

@ -31,7 +31,7 @@ NS_ASSUME_NONNULL_BEGIN
if ([OWSBlockingManager.sharedManager isGroupIdBlocked:group.groupId]) {
[groupBuilder setBlocked:YES];
}
/*
NSData *avatarPng;
if (group.groupImage) {
SSKProtoGroupDetailsAvatarBuilder *avatarBuilder = [SSKProtoGroupDetailsAvatar builder];
@ -47,7 +47,7 @@ NS_ASSUME_NONNULL_BEGIN
} else {
[groupBuilder setAvatar:avatarProto];
}
}
} */
OWSDisappearingMessagesConfiguration *_Nullable disappearingMessagesConfiguration =
[OWSDisappearingMessagesConfiguration fetchObjectWithUniqueID:groupThread.uniqueId transaction:transaction];
@ -70,12 +70,12 @@ NS_ASSUME_NONNULL_BEGIN
uint32_t groupDataLength = (uint32_t)groupData.length;
[self writeVariableLengthUInt32:groupDataLength];
[self writeUInt32:groupDataLength];
[self writeData:groupData];
if (avatarPng) {
[self writeData:avatarPng];
}
// if (avatarPng) {
// [self writeData:avatarPng];
// }
}
@end

View File

@ -17,7 +17,7 @@
guard let size = uncheckedSize, size < data.count else { break }
let sizeAsInt = Int(size)
index += 4
guard index + sizeAsInt < data.count else { break }
guard index + sizeAsInt <= data.count else { break }
let protoAsData = data[index..<(index+sizeAsInt)]
guard let proto = try? SSKProtoGroupDetails.parseData(protoAsData) else { break }
index += sizeAsInt

View File

@ -1110,7 +1110,7 @@ NS_ASSUME_NONNULL_BEGIN
GroupParser *parser = [[GroupParser alloc] initWithData:data];
NSArray<TSGroupModel *> *groupModels = [parser parseGroupModels];
for (TSGroupModel *groupModel in groupModels) {
TSGroupThread *thread = [TSGroupThread getOrCreateThreadWithGroupModel:groupModel];
TSGroupThread *thread = [TSGroupThread getOrCreateThreadWithGroupModel:groupModel transaction:transaction];
[self establishSessionsWithMembersIfNeeded:groupModel.groupMemberIds forThread:thread transaction:transaction];
}
}