From 7738a7352b19dd3469b1b4205b9e10ea28b446e8 Mon Sep 17 00:00:00 2001 From: Benjamin Reis Date: Fri, 27 Apr 2018 10:02:50 +0200 Subject: [PATCH 1/4] begin dev --- Classes/ChatConversationImdnView.h | 40 ++++ Classes/ChatConversationImdnView.m | 181 ++++++++++++++++++ Classes/ChatConversationImdnView.xib | 121 ++++++++++++ Classes/ChatConversationInfoView.m | 2 +- Classes/ChatConversationInfoView.xib | 38 ++-- Classes/ChatConversationTableView.m | 46 ++++- .../ChatConversationImdnTableViewHeader.h | 19 ++ .../ChatConversationImdnTableViewHeader.m | 27 +++ .../ChatConversationImdnTableViewHeader.xib | 62 ++++++ Classes/LinphoneUI/TabBarView.m | 1 + .../UIChatConversationImdnTableViewCell.h | 19 ++ .../UIChatConversationImdnTableViewCell.m | 32 ++++ .../UIChatConversationImdnTableViewCell.xib | 54 ++++++ Classes/PhoneMainView.h | 1 + Resources/linphonerc-factory | 1 + linphone.xcodeproj/project.pbxproj | 30 +++ 16 files changed, 646 insertions(+), 28 deletions(-) create mode 100644 Classes/ChatConversationImdnView.h create mode 100644 Classes/ChatConversationImdnView.m create mode 100644 Classes/ChatConversationImdnView.xib create mode 100644 Classes/LinphoneUI/ChatConversationImdnTableViewHeader.h create mode 100644 Classes/LinphoneUI/ChatConversationImdnTableViewHeader.m create mode 100644 Classes/LinphoneUI/ChatConversationImdnTableViewHeader.xib create mode 100644 Classes/LinphoneUI/UIChatConversationImdnTableViewCell.h create mode 100644 Classes/LinphoneUI/UIChatConversationImdnTableViewCell.m create mode 100644 Classes/LinphoneUI/UIChatConversationImdnTableViewCell.xib diff --git a/Classes/ChatConversationImdnView.h b/Classes/ChatConversationImdnView.h new file mode 100644 index 000000000..876d8aa6d --- /dev/null +++ b/Classes/ChatConversationImdnView.h @@ -0,0 +1,40 @@ +// +// ChatConversationImdnView.h +// linphone +// +// Created by REIS Benjamin on 25/04/2018. +// + +#ifndef ChatConversationImdnView_h +#define ChatConversationImdnView_h + +#import + +#import "UICompositeView.h" +#import "UIRoundBorderedButton.h" + +@interface ChatConversationImdnView : UIViewController + +@property(nonatomic) LinphoneChatMessage *msg; +@property(nonatomic) bctbx_list_t *displayedList; +@property(nonatomic) bctbx_list_t *receivedList; +@property(nonatomic) bctbx_list_t *notReceivedList; +@property(nonatomic) CGFloat height; + +@property (weak, nonatomic) IBOutlet UIView *whiteView; +@property (weak, nonatomic) IBOutlet UIView *msgView; +@property (weak, nonatomic) IBOutlet UIImageView *msgBackgroundColorImage; +@property (weak, nonatomic) IBOutlet UIRoundedImageView *msgAvatarImage; +@property (weak, nonatomic) IBOutlet UIImageView *msgBottomBar; +@property (weak, nonatomic) IBOutlet UILabel *msgDateLabel; +@property (weak, nonatomic) IBOutlet UITextViewNoDefine *msgText; +@property (weak, nonatomic) IBOutlet UIView *readHeader; +@property (weak, nonatomic) IBOutlet UIView *deliveredHeader; +@property (weak, nonatomic) IBOutlet UIView *undeliveredHeader; +@property (weak, nonatomic) IBOutlet UIScrollView *scrollView; + +- (IBAction)onBackClick:(id)sender; + +@end + +#endif /* ChatConversationImdnView_h */ diff --git a/Classes/ChatConversationImdnView.m b/Classes/ChatConversationImdnView.m new file mode 100644 index 000000000..d82d63088 --- /dev/null +++ b/Classes/ChatConversationImdnView.m @@ -0,0 +1,181 @@ +// +// ChatConversationImdnView.m +// linphone +// +// Created by REIS Benjamin on 25/04/2018. +// + +#import + +#import "ChatConversationImdnTableViewHeader.h" +#import "ChatConversationImdnView.h" +#import "PhoneMainView.h" +#import "UIChatBubbleTextCell.h" +#import "UIChatConversationImdnTableViewCell.h" + +@implementation ChatConversationImdnView + +static UICompositeViewDescription *compositeDescription = nil; + ++ (UICompositeViewDescription *)compositeViewDescription { + if (compositeDescription == nil) { + compositeDescription = [[UICompositeViewDescription alloc] init:self.class + statusBar:StatusBarView.class + tabBar:TabBarView.class + sideMenu:SideMenuView.class + fullscreen:false + isLeftFragment:NO + fragmentWith:ChatsListView.class]; + } + return compositeDescription; +} + +- (UICompositeViewDescription *)compositeViewDescription { + return self.class.compositeViewDescription; +} + +- (void)viewDidLoad { + [super viewDidLoad]; + _msg = NULL; +} + +- (void)viewWillDisappear:(BOOL)animated { + for (UIView *view in _scrollView.subviews) { + if (view == _readHeader || view == _deliveredHeader || view == _undeliveredHeader) + continue; + + [view removeFromSuperview]; + } +} + +- (void)viewWillAppear:(BOOL)animated { + [super viewWillAppear:animated]; + const LinphoneAddress *addr = linphone_chat_message_get_from_address(_msg); + BOOL outgoing = linphone_chat_message_is_outgoing(_msg); + + _msgDateLabel.text = [NSString stringWithFormat:@"%@ - %@", + [LinphoneUtils timeToString:linphone_chat_message_get_time(_msg) withFormat:LinphoneDateChatBubble], + [FastAddressBook displayNameForAddress:addr]]; + _msgAvatarImage.image = outgoing ? [LinphoneUtils selfAvatar] : [FastAddressBook imageForAddress:addr]; + _msgText.text = [NSString stringWithUTF8String:linphone_chat_message_get_text(_msg)]; + _msgBackgroundColorImage.image = _msgBottomBar.image = [UIImage imageNamed:(outgoing ? @"color_A.png" : @"color_D.png")]; + _msgDateLabel.textColor = [UIColor colorWithPatternImage:_msgBackgroundColorImage.image]; + + [_msgView setFrame:CGRectMake(_msgView.frame.origin.x, + _msgView.frame.origin.y, + _msgView.frame.size.width, + [UIChatBubbleTextCell ViewHeightForMessage:_msg withWidth:self.view.frame.size.width].height)]; + + [_whiteView setFrame:CGRectMake(self.view.frame.origin.x, + self.view.frame.origin.y, + self.view.frame.size.width, + _msgView.frame.size.height + _msgView.frame.origin.y)]; + + _scrollView.scrollEnabled = TRUE; + _scrollView.userInteractionEnabled = TRUE; + _scrollView.showsVerticalScrollIndicator = TRUE; + + _displayedList = linphone_chat_message_get_participants_that_have_displayed(_msg); + _receivedList = linphone_chat_message_get_participants_that_have_received(_msg); + _notReceivedList = linphone_chat_message_get_participants_that_have_not_received(_msg); + + if (_displayedList) { + } + if (_receivedList) { + } + if (_notReceivedList) { + } +} + +#pragma mark - TableView + +- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { + NSInteger i = 0; + if (_displayedList) i++; + if (_receivedList) i++; + if (_notReceivedList) i++; + return i; +} + +- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section { + return 23.0; +} + +- (UITableViewHeaderFooterView *)headerViewForSection:(NSInteger)section { + NSString *kHeaderId = NSStringFromClass(ChatConversationImdnTableViewHeader.class); + ChatConversationImdnTableViewHeader *header = [tableView dequeueReusableHeaderFooterViewWithIdentifier:kHeaderId]; + if (!header) + header = [[ChatConversationImdnTableViewHeader alloc] initWithIdentifier:kHeaderId]; + + if (section == 1) { + if (_displayedList) { + header. + } else if (_receivedList) { + + } else { + + } + } else if (section == 2) { + if (_receivedList) { + + } else { + + } + } +} + +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { + if (section == 1) { + if (_displayedList) + return bctbx_list_size(_displayedList); + else if (_receivedList) + return bctbx_list_size(_receivedList); + else + return bctbx_list_size(_notReceivedList); + } else if (section == 2) { + if (_receivedList) + return bctbx_list_size(_receivedList); + else + return bctbx_list_size(_notReceivedList); + } + return bctbx_list_size(_notReceivedList); +} + +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { + bctbx_list_t *list = NULL; + if (indexPath.section == 1) { + if (_displayedList) + list = _displayedList; + else if (_receivedList) + list = _receivedList; + else + list = _notReceivedList; + } else if (indexPath.section == 2) { + if (_receivedList) + list = _receivedList; + else + list = _notReceivedList; + } else + list = _notReceivedList; + + NSString *kCellId = NSStringFromClass(UIChatConversationImdnTableViewCell.class); + UIChatConversationImdnTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellId]; + if (cell == nil) { + cell = [[UIChatConversationImdnTableViewCell alloc] initWithIdentifier:kCellId]; + } + LinphoneParticipantImdnState *state = bctbx_list_nth_data(list, (int)indexPath.row); + const LinphoneParticipant *participant = linphone_participant_imdn_state_get_participant(state); + time_t time = linphone_participant_imdn_state_get_state_change_time(state); + const LinphoneAddress *addr = linphone_participant_get_address(participant); + cell.displayName.text = [FastAddressBook displayNameForAddress:addr]; + cell.avatar.image = [FastAddressBook imageForAddress:addr]; + cell.dateLabel.text = [LinphoneUtils timeToString:time withFormat:LinphoneDateChatBubble]; + + return cell; +} + +- (IBAction)onBackClick:(id)sender { + [PhoneMainView.instance popCurrentView]; +} + +@end diff --git a/Classes/ChatConversationImdnView.xib b/Classes/ChatConversationImdnView.xib new file mode 100644 index 000000000..bb39cac73 --- /dev/null +++ b/Classes/ChatConversationImdnView.xib @@ -0,0 +1,121 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Classes/ChatConversationInfoView.m b/Classes/ChatConversationInfoView.m index 4dc46ae58..1c4d42df9 100644 --- a/Classes/ChatConversationInfoView.m +++ b/Classes/ChatConversationInfoView.m @@ -126,7 +126,7 @@ static UICompositeViewDescription *compositeDescription = nil; - (void)onCreate { bctbx_list_t *addresses = NULL; - for(NSString *addr in _contacts) { + for (NSString *addr in _contacts) { LinphoneAddress *linphoneAddress = linphone_address_new(addr.UTF8String); if (!linphoneAddress) continue; diff --git a/Classes/ChatConversationInfoView.xib b/Classes/ChatConversationInfoView.xib index 919871b67..e7ef9d66d 100644 --- a/Classes/ChatConversationInfoView.xib +++ b/Classes/ChatConversationInfoView.xib @@ -1,11 +1,11 @@ - - + + - + @@ -22,29 +22,29 @@ - + - + - + - + - + - + @@ -148,11 +148,11 @@ @@ -102,6 +103,16 @@ + + + + + + + + + + From 199cc837b90cb84fd38c269bdee9132b072806b7 Mon Sep 17 00:00:00 2001 From: Benjamin Reis Date: Mon, 30 Apr 2018 14:11:17 +0200 Subject: [PATCH 3/4] display delivery status --- Classes/ChatConversationImdnView.h | 1 + Classes/ChatConversationImdnView.m | 130 +++++++++++++----- Classes/ChatConversationImdnView.xib | 4 - .../ChatConversationImdnTableViewHeader.h | 19 --- .../ChatConversationImdnTableViewHeader.m | 27 ---- .../ChatConversationImdnTableViewHeader.xib | 62 --------- .../UIChatConversationImdnTableViewCell.m | 5 +- .../UIChatConversationImdnTableViewCell.xib | 6 +- linphone.xcodeproj/project.pbxproj | 10 -- 9 files changed, 100 insertions(+), 164 deletions(-) delete mode 100644 Classes/LinphoneUI/ChatConversationImdnTableViewHeader.h delete mode 100644 Classes/LinphoneUI/ChatConversationImdnTableViewHeader.m delete mode 100644 Classes/LinphoneUI/ChatConversationImdnTableViewHeader.xib diff --git a/Classes/ChatConversationImdnView.h b/Classes/ChatConversationImdnView.h index 3fd4b73ad..9872e8ea5 100644 --- a/Classes/ChatConversationImdnView.h +++ b/Classes/ChatConversationImdnView.h @@ -19,6 +19,7 @@ @property(nonatomic) bctbx_list_t *displayedList; @property(nonatomic) bctbx_list_t *receivedList; @property(nonatomic) bctbx_list_t *notReceivedList; +@property(nonatomic) bctbx_list_t *errorList; @property (weak, nonatomic) IBOutlet UIView *msgView; @property (weak, nonatomic) IBOutlet UIImageView *msgBackgroundColorImage; diff --git a/Classes/ChatConversationImdnView.m b/Classes/ChatConversationImdnView.m index 760ff55e0..ac8a4f435 100644 --- a/Classes/ChatConversationImdnView.m +++ b/Classes/ChatConversationImdnView.m @@ -7,7 +7,6 @@ #import -#import "ChatConversationImdnTableViewHeader.h" #import "ChatConversationImdnView.h" #import "PhoneMainView.h" #import "UIChatBubbleTextCell.h" @@ -51,104 +50,161 @@ static UICompositeViewDescription *compositeDescription = nil; _msgText.text = [NSString stringWithUTF8String:linphone_chat_message_get_text(_msg)]; _msgBackgroundColorImage.image = _msgBottomBar.image = [UIImage imageNamed:(outgoing ? @"color_A.png" : @"color_D.png")]; _msgDateLabel.textColor = [UIColor colorWithPatternImage:_msgBackgroundColorImage.image]; - [_msgView setFrame:CGRectMake(_msgView.frame.origin.x, _msgView.frame.origin.y, _msgView.frame.size.width, [UIChatBubbleTextCell ViewHeightForMessage:_msg withWidth:self.view.frame.size.width].height)]; + _tableView.delegate = self; + _tableView.dataSource = self; [_tableView setFrame:CGRectMake(_tableView.frame.origin.x, - _msgView.frame.origin.y + _msgView.frame.size.height, + _msgView.frame.origin.y + _msgView.frame.size.height + 10, _tableView.frame.size.width, self.view.frame.size.height - (_msgView.frame.origin.y + _msgView.frame.size.height))]; _displayedList = linphone_chat_message_get_participants_by_imdn_state(_msg, LinphoneChatMessageStateDisplayed); _receivedList = linphone_chat_message_get_participants_by_imdn_state(_msg, LinphoneChatMessageStateDeliveredToUser); _notReceivedList = linphone_chat_message_get_participants_by_imdn_state(_msg, LinphoneChatMessageStateDelivered); + _errorList = linphone_chat_message_get_participants_by_imdn_state(_msg, LinphoneChatMessageStateNotDelivered); + + [_tableView reloadData]; } #pragma mark - TableView - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { - NSInteger i = 0; - if (_displayedList) i++; - if (_receivedList) i++; - if (_notReceivedList) i++; - return i; + NSInteger numberOfSection = 0; + if (_displayedList) numberOfSection++; + if (_receivedList) numberOfSection++; + if (_notReceivedList) numberOfSection++; + if (_errorList) numberOfSection++; + return numberOfSection; } - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section { return 23.0; } -- (UITableViewHeaderFooterView *)tableView:(UITableView *)tableView headerViewForSection:(NSInteger)section { - NSString *kHeaderId = NSStringFromClass(ChatConversationImdnTableViewHeader.class); - ChatConversationImdnTableViewHeader *header = [tableView dequeueReusableHeaderFooterViewWithIdentifier:kHeaderId]; - if (!header) - header = [[ChatConversationImdnTableViewHeader alloc] initWithIdentifier:kHeaderId]; +- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(nonnull NSIndexPath *)indexPath { + return 44.0; +} +- (nullable UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { + UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 0, 0)]; + label.numberOfLines = 1; + UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, tableView.frame.size.width, 23)]; + UIImage *image = NULL; - if (section == 1) { + if (section == 0) { if (_displayedList) { - header.label.text = NSLocalizedString(@"Read", nil); - header.icon.imageView.image = [UIImage imageNamed:@"chat_read"]; + label.text = NSLocalizedString(@"Read", nil); + label.textColor = [UIColor colorWithRed:(24 / 255.0) green:(167 / 255.0) blue:(175 / 255.0) alpha:1.0]; + image = [UIImage imageNamed:@"chat_read"]; } else if (_receivedList) { - header.label.text = NSLocalizedString(@"Delivered", nil); - header.icon.imageView.image = [UIImage imageNamed:@"chat_delivered"]; + label.text = NSLocalizedString(@"Delivered", nil); + label.textColor = [UIColor grayColor]; + image = [UIImage imageNamed:@"chat_delivered"]; } else if (_notReceivedList) { - header.label.text = NSLocalizedString(@"Undelivered", nil); - header.icon.imageView.image = [UIImage imageNamed:@"chat_error"]; + label.text = NSLocalizedString(@"Sent", nil); + label.textColor = [UIColor grayColor]; + } else if (_errorList) { + label.text = NSLocalizedString(@"Error", nil); + label.textColor = [UIColor redColor]; + image = [UIImage imageNamed:@"chat_error"]; + } + } else if (section == 1) { + if (_displayedList && _receivedList) { + label.text = NSLocalizedString(@"Delivered", nil); + label.textColor = [UIColor grayColor]; + image = [UIImage imageNamed:@"chat_delivered"]; + } else if (_notReceivedList) { + label.text = NSLocalizedString(@"Sent", nil); + label.textColor = [UIColor grayColor]; + } else if (_errorList) { + label.text = NSLocalizedString(@"Error", nil); + label.textColor = [UIColor redColor]; + image = [UIImage imageNamed:@"chat_error"]; } } else if (section == 2) { - if (_receivedList) { - header.label.text = NSLocalizedString(@"Delivered", nil); - header.icon.imageView.image = [UIImage imageNamed:@"chat_delivered"]; - } else if (_notReceivedList) { - header.label.text = NSLocalizedString(@"Undelivered", nil); - header.icon.imageView.image = [UIImage imageNamed:@"chat_error"]; + if (_displayedList && _receivedList && _notReceivedList) { + label.text = NSLocalizedString(@"Sent", nil); + label.textColor = [UIColor grayColor]; + } else if (_errorList) { + label.text = NSLocalizedString(@"Error", nil); + label.textColor = [UIColor redColor]; + image = [UIImage imageNamed:@"chat_error"]; } } else if (section == 3) { - header.label.text = NSLocalizedString(@"Undelivered", nil); - header.icon.imageView.image = [UIImage imageNamed:@"chat_error"]; + label.text = NSLocalizedString(@"Error", nil); + label.textColor = [UIColor redColor]; + image = [UIImage imageNamed:@"chat_error"]; } - return header; + [view addSubview:label]; + [label sizeToFit]; + [label setCenter:view.center]; + + if (image) { + UIImageView *imageView = [[UIImageView alloc] initWithImage:image]; + [view addSubview:imageView]; + [imageView setFrame:CGRectMake(label.frame.origin.x + label.frame.size.width + 5, 2, 19, 19)]; + } + [view setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"color_G.png"]]]; + return view; } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { - if (section == 1) { + if (section == 0) { if (_displayedList) return bctbx_list_size(_displayedList); else if (_receivedList) return bctbx_list_size(_receivedList); else if (_notReceivedList) return bctbx_list_size(_notReceivedList); - } else if (section == 2) { - if (_receivedList) + else if (_errorList) + return bctbx_list_size(_errorList); + } else if (section == 1) { + if (_displayedList &&_receivedList) return bctbx_list_size(_receivedList); else if (_notReceivedList) return bctbx_list_size(_notReceivedList); + else if (_errorList) + return bctbx_list_size(_errorList); + } else if (section == 2) { + if (_displayedList && _receivedList && _notReceivedList) + return bctbx_list_size(_notReceivedList); + else if (_errorList) + return bctbx_list_size(_errorList); } else if (section == 3) - return bctbx_list_size(_notReceivedList); + return bctbx_list_size(_errorList); return 0; } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { bctbx_list_t *list = NULL; - if (indexPath.section == 1) { + if (indexPath.section == 0) { if (_displayedList) list = _displayedList; else if (_receivedList) list = _receivedList; else if (_notReceivedList) list = _notReceivedList; - } else if (indexPath.section == 2) { - if (_receivedList) + else if (_errorList) + list = _errorList; + } else if (indexPath.section == 1) { + if (_displayedList &&_receivedList) list = _receivedList; else if (_notReceivedList) list = _notReceivedList; + else if (_errorList) + list = _errorList; + } else if (indexPath.section == 2) { + if (_displayedList && _receivedList && _notReceivedList) + list = _notReceivedList; + else if (_errorList) + list = _errorList; } else if (indexPath.section == 3) - list = _notReceivedList; + list = _errorList; if (!list) return nil; diff --git a/Classes/ChatConversationImdnView.xib b/Classes/ChatConversationImdnView.xib index a40116afd..8ecca1101 100644 --- a/Classes/ChatConversationImdnView.xib +++ b/Classes/ChatConversationImdnView.xib @@ -108,10 +108,6 @@ - - - - diff --git a/Classes/LinphoneUI/ChatConversationImdnTableViewHeader.h b/Classes/LinphoneUI/ChatConversationImdnTableViewHeader.h deleted file mode 100644 index 1231ae6de..000000000 --- a/Classes/LinphoneUI/ChatConversationImdnTableViewHeader.h +++ /dev/null @@ -1,19 +0,0 @@ -// -// ChatConversationImdnTableViewHeader.h -// linphone -// -// Created by REIS Benjamin on 26/04/2018. -// - -#ifndef ChatConversationImdnTableViewHeader_h -#define ChatConversationImdnTableViewHeader_h - -@interface ChatConversationImdnTableViewHeader : UITableViewHeaderFooterView - -@property (weak, nonatomic) IBOutlet UILabel *label; -@property (weak, nonatomic) IBOutlet UIIconButton *icon; - -- (id)initWithIdentifier:(NSString *)identifier; - -@end -#endif /* ChatConversationImdnTableViewHeader_h */ diff --git a/Classes/LinphoneUI/ChatConversationImdnTableViewHeader.m b/Classes/LinphoneUI/ChatConversationImdnTableViewHeader.m deleted file mode 100644 index ff1bc19a6..000000000 --- a/Classes/LinphoneUI/ChatConversationImdnTableViewHeader.m +++ /dev/null @@ -1,27 +0,0 @@ -// -// ChatConversationImdnTableViewHeader.m -// linphone -// -// Created by REIS Benjamin on 26/04/2018. -// - -#import - -#import "ChatConversationImdnTableViewHeader.h" - -@implementation ChatConversationImdnTableViewHeader - -- (id)initWithIdentifier:(NSString *)identifier { - self = [super initWithReuseIdentifier:identifier]; - if (self != nil) { - NSArray *arrayOfViews = - [[NSBundle mainBundle] loadNibNamed:NSStringFromClass(self.class) owner:self options:nil]; - if ([arrayOfViews count] >= 1) { - ChatConversationImdnTableViewHeader *sub = ((ChatConversationImdnTableViewHeader *)[arrayOfViews objectAtIndex:0]); - self = sub; - } - } - return self; -} - -@end diff --git a/Classes/LinphoneUI/ChatConversationImdnTableViewHeader.xib b/Classes/LinphoneUI/ChatConversationImdnTableViewHeader.xib deleted file mode 100644 index dea53c607..000000000 --- a/Classes/LinphoneUI/ChatConversationImdnTableViewHeader.xib +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Classes/LinphoneUI/UIChatConversationImdnTableViewCell.m b/Classes/LinphoneUI/UIChatConversationImdnTableViewCell.m index 8156de586..bdc64412d 100644 --- a/Classes/LinphoneUI/UIChatConversationImdnTableViewCell.m +++ b/Classes/LinphoneUI/UIChatConversationImdnTableViewCell.m @@ -21,8 +21,9 @@ NSArray *arrayOfViews = [[NSBundle mainBundle] loadNibNamed:NSStringFromClass(self.class) owner:self options:nil]; if ([arrayOfViews count] >= 1) { - UIChatConversationImdnTableViewCell *sub = ((UIChatConversationImdnTableViewCell *)[arrayOfViews objectAtIndex:0]); - self = sub; + UIView *sub = ((UIView *)[arrayOfViews objectAtIndex:0]); + [self setFrame:CGRectMake(0, 0, sub.frame.size.width, sub.frame.size.height)]; + [self addSubview:sub]; } } return self; diff --git a/Classes/LinphoneUI/UIChatConversationImdnTableViewCell.xib b/Classes/LinphoneUI/UIChatConversationImdnTableViewCell.xib index a70224e6e..517e27a99 100644 --- a/Classes/LinphoneUI/UIChatConversationImdnTableViewCell.xib +++ b/Classes/LinphoneUI/UIChatConversationImdnTableViewCell.xib @@ -25,18 +25,18 @@ - +