diff --git a/Classes/Base.lproj/ChatConversationCreateView.xib b/Classes/Base.lproj/ChatConversationCreateView.xib
index 04a42059e..49d7e3485 100644
--- a/Classes/Base.lproj/ChatConversationCreateView.xib
+++ b/Classes/Base.lproj/ChatConversationCreateView.xib
@@ -19,6 +19,7 @@
+
@@ -144,6 +145,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Classes/Base.lproj/ContactDetailsView.xib b/Classes/Base.lproj/ContactDetailsView.xib
index ff6c31804..92a11bdc5 100644
--- a/Classes/Base.lproj/ContactDetailsView.xib
+++ b/Classes/Base.lproj/ContactDetailsView.xib
@@ -1,9 +1,12 @@
-
-
+
+
+
+
+
-
-
+
+
@@ -20,32 +23,33 @@
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -136,18 +140,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
@@ -172,7 +188,7 @@
-
+
@@ -187,8 +203,8 @@
-
-
+
+
@@ -203,8 +219,8 @@
-
-
+
+
@@ -219,8 +235,8 @@
-
-
+
+
@@ -243,13 +259,13 @@
-
+
-
+
@@ -262,16 +278,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
@@ -302,9 +330,4 @@
-
-
-
-
-
diff --git a/Classes/Base.lproj/HistoryDetailsView.xib b/Classes/Base.lproj/HistoryDetailsView.xib
index fa8b94115..103180110 100644
--- a/Classes/Base.lproj/HistoryDetailsView.xib
+++ b/Classes/Base.lproj/HistoryDetailsView.xib
@@ -22,6 +22,7 @@
+
@@ -147,6 +148,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
@@ -276,6 +289,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Classes/Base.lproj/PhoneMainView.xib b/Classes/Base.lproj/PhoneMainView.xib
index 2844b95b9..d41018616 100644
--- a/Classes/Base.lproj/PhoneMainView.xib
+++ b/Classes/Base.lproj/PhoneMainView.xib
@@ -14,7 +14,6 @@
-
@@ -39,18 +38,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Classes/ChatConversationCreateView.h b/Classes/ChatConversationCreateView.h
index b2eb5a2e6..8b337f5ca 100644
--- a/Classes/ChatConversationCreateView.h
+++ b/Classes/ChatConversationCreateView.h
@@ -24,6 +24,7 @@
@property (weak, nonatomic) IBOutlet UIIconButton *allButton;
@property (weak, nonatomic) IBOutlet UIIconButton *linphoneButton;
@property (weak, nonatomic) IBOutlet UIImageView *selectedButtonImage;
+@property (weak, nonatomic) IBOutlet UIView *waitView;
@property(nonatomic) Boolean isForEditing;
diff --git a/Classes/ChatConversationCreateView.m b/Classes/ChatConversationCreateView.m
index b31816f2a..bb777e3b4 100644
--- a/Classes/ChatConversationCreateView.m
+++ b/Classes/ChatConversationCreateView.m
@@ -58,6 +58,7 @@ static UICompositeViewDescription *compositeDescription = nil;
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
+ _waitView.hidden = YES;
if(_tableController.contactsGroup.count == 0) {
if (!_isForEditing)
_nextButton.enabled = FALSE;
@@ -79,7 +80,7 @@ static UICompositeViewDescription *compositeDescription = nil;
NSString *addr = _tableController.contactsGroup[0];
LinphoneAddress *linphoneAddress = linphone_address_new(addr.UTF8String);
bctbx_list_t *addresses = bctbx_list_new((void *)linphoneAddress);
- [PhoneMainView.instance createChatRoomWithSubject:LINPHONE_DUMMY_SUBJECT andAddresses:addresses];
+ [PhoneMainView.instance createChatRoomWithSubject:LINPHONE_DUMMY_SUBJECT addresses:addresses andWaitView:_waitView];
bctbx_list_free_with_data(addresses, (void (*)(void *))linphone_address_unref);
}
diff --git a/Classes/ChatConversationInfoView.h b/Classes/ChatConversationInfoView.h
index fa81175b2..a0c2b0fad 100644
--- a/Classes/ChatConversationInfoView.h
+++ b/Classes/ChatConversationInfoView.h
@@ -27,6 +27,7 @@
@property (weak, nonatomic) IBOutlet UIIconButton *addButton;
@property (weak, nonatomic) IBOutlet UITextField *nameLabel;
@property (weak, nonatomic) IBOutlet UITableView *tableView;
+@property (weak, nonatomic) IBOutlet UIView *waitView;
+ (void)displayCreationError;
diff --git a/Classes/ChatConversationInfoView.m b/Classes/ChatConversationInfoView.m
index 3f19cb241..b413214f8 100644
--- a/Classes/ChatConversationInfoView.m
+++ b/Classes/ChatConversationInfoView.m
@@ -73,7 +73,7 @@ static UICompositeViewDescription *compositeDescription = nil;
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
-
+ _waitView.hidden = YES;
_nameLabel.text = _room && linphone_chat_room_get_subject(_room)
? [NSString stringWithUTF8String:linphone_chat_room_get_subject(_room)]
: @"";
@@ -127,7 +127,7 @@ static UICompositeViewDescription *compositeDescription = nil;
}
addresses = bctbx_list_append(addresses, (void *)linphoneAddress);
}
- [PhoneMainView.instance createChatRoomWithSubject:_nameLabel.text.UTF8String andAddresses:addresses];
+ [PhoneMainView.instance createChatRoomWithSubject:_nameLabel.text.UTF8String addresses:addresses andWaitView:_waitView];
bctbx_list_free_with_data(addresses, (void (*)(void *))linphone_address_unref);
}
diff --git a/Classes/ChatConversationInfoView.xib b/Classes/ChatConversationInfoView.xib
index 9463a7eea..f29006775 100644
--- a/Classes/ChatConversationInfoView.xib
+++ b/Classes/ChatConversationInfoView.xib
@@ -18,6 +18,7 @@
+
@@ -147,6 +148,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Classes/ContactDetailsTableView.h b/Classes/ContactDetailsTableView.h
index 348111ad1..558b0f29c 100644
--- a/Classes/ContactDetailsTableView.h
+++ b/Classes/ContactDetailsTableView.h
@@ -42,5 +42,6 @@ typedef enum _ContactSections {
- (void)addSipField:(NSString *)address;
- (void)addEmailField:(NSString *)address;
- (void)setContact:(Contact *)contact;
+@property (weak, nonatomic) UIView *waitView;
@end
diff --git a/Classes/ContactDetailsTableView.m b/Classes/ContactDetailsTableView.m
index f22220acc..630508ea4 100644
--- a/Classes/ContactDetailsTableView.m
+++ b/Classes/ContactDetailsTableView.m
@@ -153,6 +153,7 @@
UIContactDetailsCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellId];
if (cell == nil) {
cell = [[UIContactDetailsCell alloc] initWithIdentifier:kCellId];
+ cell.waitView = _waitView;
[cell.editTextfield setDelegate:self];
}
diff --git a/Classes/ContactDetailsView.h b/Classes/ContactDetailsView.h
index 65f1bc4ce..5930b8e9f 100644
--- a/Classes/ContactDetailsView.h
+++ b/Classes/ContactDetailsView.h
@@ -41,6 +41,7 @@
@property(weak, nonatomic) IBOutlet UIScrollView *contentView;
@property(weak, nonatomic) IBOutlet UILabel *emptyLabel;
@property BOOL isAdding;
+@property (weak, nonatomic) IBOutlet UIView *waitView;
- (IBAction)onBackClick:(id)event;
- (IBAction)onCancelClick:(id)event;
diff --git a/Classes/ContactDetailsView.m b/Classes/ContactDetailsView.m
index 0fb0649e5..35d4b044b 100644
--- a/Classes/ContactDetailsView.m
+++ b/Classes/ContactDetailsView.m
@@ -192,9 +192,11 @@
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
+ _waitView.hidden = YES;
_editButton.hidden = ([ContactSelection getSelectionMode] != ContactSelectionModeEdit &&
[ContactSelection getSelectionMode] != ContactSelectionModeNone);
[_tableController.tableView addObserver:self forKeyPath:@"contentSize" options:0 context:NULL];
+ _tableController.waitView = _waitView;
self.tmpContact = NULL;
[[NSNotificationCenter defaultCenter] addObserver: self
diff --git a/Classes/HistoryDetailsView.h b/Classes/HistoryDetailsView.h
index 355d53b56..dcae22794 100644
--- a/Classes/HistoryDetailsView.h
+++ b/Classes/HistoryDetailsView.h
@@ -38,6 +38,7 @@
@property(weak, nonatomic) IBOutlet UIView *headerView;
@property(strong, nonatomic) IBOutlet HistoryDetailsTableView *tableView;
@property(weak, nonatomic) IBOutlet UILabel *emptyLabel;
+@property (weak, nonatomic) IBOutlet UIView *waitView;
- (IBAction)onBackClick:(id)event;
- (IBAction)onAddContactClick:(id)event;
diff --git a/Classes/HistoryDetailsView.m b/Classes/HistoryDetailsView.m
index 47d59ad43..a7e5d76e3 100644
--- a/Classes/HistoryDetailsView.m
+++ b/Classes/HistoryDetailsView.m
@@ -70,7 +70,7 @@ static UICompositeViewDescription *compositeDescription = nil;
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
-
+ _waitView.hidden = YES;
[self update];
[NSNotificationCenter.defaultCenter addObserver:self
@@ -200,7 +200,7 @@ static UICompositeViewDescription *compositeDescription = nil;
LinphoneChatRoom *room = linphone_core_find_one_to_one_chat_room(LC, local, addr);
if (!room) {
bctbx_list_t *addresses = bctbx_list_new((void*)addr);
- [PhoneMainView.instance createChatRoomWithSubject:LINPHONE_DUMMY_SUBJECT andAddresses:addresses];
+ [PhoneMainView.instance createChatRoomWithSubject:LINPHONE_DUMMY_SUBJECT addresses:addresses andWaitView:_waitView];
bctbx_list_free_with_data(addresses, (void (*)(void *))linphone_address_unref);
return;
}
diff --git a/Classes/LinphoneUI/UIContactDetailsCell.h b/Classes/LinphoneUI/UIContactDetailsCell.h
index c068b45ff..4832d5d77 100644
--- a/Classes/LinphoneUI/UIContactDetailsCell.h
+++ b/Classes/LinphoneUI/UIContactDetailsCell.h
@@ -35,6 +35,7 @@
@property(weak, nonatomic) IBOutlet UIIconButton *callButton;
@property(weak, nonatomic) IBOutlet UIIconButton *chatButton;
@property (weak, nonatomic) IBOutlet UIImageView *linphoneImage;
+@property (weak, nonatomic) UIView *waitView;
- (id)initWithIdentifier:(NSString *)identifier;
- (void)setAddress:(NSString *)address;
diff --git a/Classes/LinphoneUI/UIContactDetailsCell.m b/Classes/LinphoneUI/UIContactDetailsCell.m
index 08f0b3973..155af1f1f 100644
--- a/Classes/LinphoneUI/UIContactDetailsCell.m
+++ b/Classes/LinphoneUI/UIContactDetailsCell.m
@@ -142,7 +142,7 @@
LinphoneChatRoom *room = linphone_core_find_one_to_one_chat_room(LC, local, addr);
if (!room) {
bctbx_list_t *addresses = bctbx_list_new(addr);
- [PhoneMainView.instance createChatRoomWithSubject:LINPHONE_DUMMY_SUBJECT andAddresses:addresses];
+ [PhoneMainView.instance createChatRoomWithSubject:LINPHONE_DUMMY_SUBJECT addresses:addresses andWaitView:_waitView];
bctbx_list_free_with_data(addresses, (void (*)(void *))linphone_address_unref);
return;
}
diff --git a/Classes/PhoneMainView.h b/Classes/PhoneMainView.h
index 86bef3cb5..c8254fa4f 100644
--- a/Classes/PhoneMainView.h
+++ b/Classes/PhoneMainView.h
@@ -86,7 +86,7 @@
@property(weak, readonly) UICompositeViewDescription *currentView;
@property LinphoneChatRoom* currentRoom;
@property(readonly, strong) MPVolumeView *volumeView;
-@property (weak, nonatomic) IBOutlet UIView *waitView;
+@property (weak, nonatomic) UIView *waitView;
- (void)changeCurrentView:(UICompositeViewDescription *)view;
- (UIViewController*)popCurrentView;
@@ -104,7 +104,7 @@
- (BOOL)removeInhibitedEvent:(id)event;
- (void)updateApplicationBadgeNumber;
-- (void)createChatRoomWithSubject:(const char *)subject andAddresses:(bctbx_list_t *)addresses;
+- (void)createChatRoomWithSubject:(const char *)subject addresses:(bctbx_list_t *)addresses andWaitView:(UIView *)waitView;
+ (PhoneMainView*) instance;
@end
diff --git a/Classes/PhoneMainView.m b/Classes/PhoneMainView.m
index 667715554..ab6c95b36 100644
--- a/Classes/PhoneMainView.m
+++ b/Classes/PhoneMainView.m
@@ -172,7 +172,6 @@ static RootViewManager *rootViewManagerInstance = nil;
}
- (void)viewWillAppear:(BOOL)animated {
- _waitView.hidden = YES;
[super viewWillAppear:animated];
// Set observers
@@ -823,7 +822,8 @@ static RootViewManager *rootViewManagerInstance = nil;
#pragma mark - Chat room Functions
-- (void)createChatRoomWithSubject:(const char *)subject andAddresses:(bctbx_list_t *)addresses {
+- (void)createChatRoomWithSubject:(const char *)subject addresses:(bctbx_list_t *)addresses andWaitView:(UIView *)waitView {
+ _waitView = waitView;
_waitView.hidden = NO;
LinphoneChatRoom *room = linphone_core_create_client_group_chat_room(LC, subject ?: LINPHONE_DUMMY_SUBJECT);
if (!room)
@@ -837,6 +837,7 @@ static RootViewManager *rootViewManagerInstance = nil;
- (void)goToChatRoom:(LinphoneChatRoom *)cr {
_waitView.hidden = YES;
+ _waitView = NULL;
ChatConversationView *view = VIEW(ChatConversationView);
view.chatRoom = cr;
[PhoneMainView.instance changeCurrentView:view.compositeViewDescription];