This fixes the issue with duplicate numbers in group chats. This is just a "fix" for 2.0.1 but the group code is still pretty messy and should be refactored for 2.1
pull/1/head
Frederic Jacobs 10 years ago
parent 7aad5c5971
commit daac2c0db3

@ -84,6 +84,6 @@ andCurrentRegionCodeForPhoneNumbers:(NSString*)currentRegionCodeForPhoneNumbers
- (void)setSignUpFlowNavigationController:(UINavigationController *)signUpFlowNavigationController;
+ (void)messageIdentifier:(NSString*)identifier;
+ (void)groupModel:(TSGroupModel*)model;
+ (void)messageGroupModel:(TSGroupModel*)model;
@end

@ -183,7 +183,7 @@ phoneDirectoryManager;
[vc performSegueWithIdentifier:@"showSegue" sender:nil];
}
+ (void)groupModel:(TSGroupModel*)model {
+ (void)messageGroupModel:(TSGroupModel*)model {
Environment *env = [self getCurrent];
SignalsViewController *vc = env.signalsViewController;
@ -194,11 +194,6 @@ phoneDirectoryManager;
[vc.navigationController popToRootViewControllerAnimated:YES];
vc.groupFromCompose = model;
[vc performSegueWithIdentifier:@"showSegue" sender:nil];
UITabBarController *tabBarController = (UITabBarController*)vc.parentViewController.parentViewController;
if ([tabBarController respondsToSelector:@selector(selectedIndex)]) {
tabBarController.selectedIndex = 1;
}
}
+ (void)resetAppData{

@ -255,7 +255,7 @@
TSIncomingMessage *incomingMessage;
TSThread *thread;
if (groupId) {
TSGroupModel *model = [[TSGroupModel alloc] initWithTitle:content.group.name memberIds:[[NSMutableArray alloc ] initWithArray:content.group.members] image:nil groupId:content.group.id associatedAttachmentId:nil];
TSGroupModel *model = [[TSGroupModel alloc] initWithTitle:content.group.name memberIds:[[[NSSet setWithArray:content.group.members] allObjects] mutableCopy] image:nil groupId:content.group.id associatedAttachmentId:nil];
TSGroupThread *gThread = [TSGroupThread getOrCreateThreadWithGroupModel:model transaction:transaction];
[gThread saveWithTransaction:transaction];
if(content.group.type==PushMessageContentGroupContextTypeUpdate) {

@ -126,7 +126,7 @@ typedef enum : NSUInteger {
TSOutgoingMessage *message = [[TSOutgoingMessage alloc] initWithTimestamp:[NSDate ows_millisecondTimeStamp] inThread:self.thread messageBody:@"" attachments:[[NSMutableArray alloc] init]];
message.groupMetaMessage = TSGroupMessageNew;
if(model.groupImage!=nil) {
if(model.groupImage != nil) {
[[TSMessagesManager sharedManager] sendAttachment:UIImagePNGRepresentation(model.groupImage) contentType:@"image/png" inMessage:message thread:self.thread];
}
else {
@ -1554,14 +1554,14 @@ typedef enum : NSUInteger {
}
}
-(void)updateGroup {
- (void)updateGroup {
[self.navController hideDropDown:self];
[self performSegueWithIdentifier:kUpdateGroupSegueIdentifier sender:self];
}
- (void) leaveGroup {
- (void)leaveGroup {
[self.navController hideDropDown:self];
TSGroupThread* gThread = (TSGroupThread*)_thread;
@ -1601,13 +1601,14 @@ typedef enum : NSUInteger {
}
- (IBAction)unwindGroupUpdated:(UIStoryboardSegue *)segue{
[self dismissKeyBoard];
NewGroupViewController *ngc = [segue sourceViewController];
TSGroupModel* newGroupModel = [ngc groupModel];
NSMutableArray* groupMemberIds = [[NSMutableArray alloc] initWithArray:newGroupModel.groupMemberIds];
NSMutableSet* groupMemberIds = [NSMutableSet setWithArray:newGroupModel.groupMemberIds];
[groupMemberIds addObject:[SignalKeyingStorage.localNumber toE164]];
newGroupModel.groupMemberIds = groupMemberIds;
newGroupModel.groupMemberIds = [NSMutableArray arrayWithArray:[groupMemberIds allObjects]];
[self updateGroupModelTo:newGroupModel];
[self.collectionView.collectionViewLayout invalidateLayoutWithContext:[JSQMessagesCollectionViewFlowLayoutInvalidationContext context]];
[self.collectionView reloadData];
}
- (void)dismissKeyBoard {

@ -119,7 +119,7 @@ static NSString* const kUnwindToMessagesViewSegue = @"UnwindToMessagesViewSegue"
#pragma mark - Actions
-(void)createGroup {
TSGroupModel* model = [self makeGroup];
[Environment groupModel:model];
[Environment messageGroupModel:model];
}
@ -129,8 +129,15 @@ static NSString* const kUnwindToMessagesViewSegue = @"UnwindToMessagesViewSegue"
[mut addObjectsFromArray:[[contacts objectAtIndex:(NSUInteger)idx.row] textSecureIdentifiers]];
}
[mut addObjectsFromArray:_thread.groupModel.groupMemberIds];
_groupModel = [[TSGroupModel alloc] initWithTitle:_nameGroupTextField.text memberIds:[NSMutableArray arrayWithArray:[[NSSet setWithArray:mut] allObjects]] image:_thread.groupModel.groupImage groupId:_thread.groupModel.groupId associatedAttachmentId:nil];
_groupModel = [[TSGroupModel alloc] initWithTitle:_nameGroupTextField.text
memberIds:[[[NSSet setWithArray:mut] allObjects] mutableCopy]
image:_thread.groupModel.groupImage
groupId:_thread.groupModel.groupId
associatedAttachmentId:nil];
[self.nameGroupTextField resignFirstResponder];
[self performSegueWithIdentifier:kUnwindToMessagesViewSegue sender:self];
}

@ -14,7 +14,7 @@
@interface TSGroupModel : TSYapDatabaseObject
@property (nonatomic, strong) NSMutableArray *groupMemberIds;
@property (nonatomic, strong) NSMutableArray *groupMemberIds;
@property (nonatomic, strong) UIImage *groupImage;
@property (nonatomic, strong) NSString *associatedAttachmentId;
@property (nonatomic, strong) NSString *groupName;

Loading…
Cancel
Save