diff --git a/Classes/Base.lproj/HistoryDetailsView.xib b/Classes/Base.lproj/HistoryDetailsView.xib
index 103180110..9c8838b00 100644
--- a/Classes/Base.lproj/HistoryDetailsView.xib
+++ b/Classes/Base.lproj/HistoryDetailsView.xib
@@ -1,11 +1,11 @@
-
+
-
+
@@ -19,6 +19,7 @@
+
@@ -88,9 +89,9 @@
-
-
-
+
+
+
@@ -165,7 +166,7 @@
-
+
@@ -306,7 +307,7 @@
-
+
@@ -329,6 +330,6 @@
-
+
diff --git a/Classes/HistoryDetailsView.h b/Classes/HistoryDetailsView.h
index dcae22794..1e88ed6ca 100644
--- a/Classes/HistoryDetailsView.h
+++ b/Classes/HistoryDetailsView.h
@@ -39,6 +39,7 @@
@property(strong, nonatomic) IBOutlet HistoryDetailsTableView *tableView;
@property(weak, nonatomic) IBOutlet UILabel *emptyLabel;
@property (weak, nonatomic) IBOutlet UIView *waitView;
+@property (weak, nonatomic) IBOutlet UIRoundedImageView *linphoneImage;
- (IBAction)onBackClick:(id)event;
- (IBAction)onAddContactClick:(id)event;
diff --git a/Classes/HistoryDetailsView.m b/Classes/HistoryDetailsView.m
index 708a10185..cf99cf01c 100644
--- a/Classes/HistoryDetailsView.m
+++ b/Classes/HistoryDetailsView.m
@@ -146,6 +146,9 @@ static UICompositeViewDescription *compositeDescription = nil;
_addContactButton.hidden = ([FastAddressBook getContactWithAddress:addr] != nil);
[ContactDisplay setDisplayNameLabel:_contactLabel forAddress:addr withAddressLabel:_addressLabel];
[_avatarImage setImage:[FastAddressBook imageForAddress:addr] bordered:NO withRoundedRadius:YES];
+ Contact *contact = [FastAddressBook getContactWithAddress:addr];
+ _linphoneImage.hidden =
+ ! ((contact.friend && linphone_presence_model_get_basic_status(linphone_friend_get_presence_model(contact.friend)) == LinphonePresenceBasicStatusOpen) || [FastAddressBook contactHasValidSipDomain:contact]);
char *addrURI = linphone_address_as_string_uri_only(addr);
ms_free(addrURI);
diff --git a/Classes/LinphoneUI/Base.lproj/UIContactDetailsCell.xib b/Classes/LinphoneUI/Base.lproj/UIContactDetailsCell.xib
index 956ebac28..6ec283499 100644
--- a/Classes/LinphoneUI/Base.lproj/UIContactDetailsCell.xib
+++ b/Classes/LinphoneUI/Base.lproj/UIContactDetailsCell.xib
@@ -19,6 +19,7 @@
+
@@ -85,8 +86,8 @@
-
diff --git a/Classes/LinphoneUI/UIContactDetailsCell.h b/Classes/LinphoneUI/UIContactDetailsCell.h
index 5d340efcf..7df37ed45 100644
--- a/Classes/LinphoneUI/UIContactDetailsCell.h
+++ b/Classes/LinphoneUI/UIContactDetailsCell.h
@@ -38,6 +38,7 @@
@property (weak, nonatomic) IBOutlet UIImageView *linphoneImage;
@property (weak, nonatomic) UIView *waitView;
@property (strong, nonatomic) IBOutlet UIButton *inviteButton;
+@property (weak, nonatomic) IBOutlet UILabel *inviteLabel;
- (id)initWithIdentifier:(NSString *)identifier;
- (void)setAddress:(NSString *)address;
diff --git a/Classes/LinphoneUI/UIContactDetailsCell.m b/Classes/LinphoneUI/UIContactDetailsCell.m
index b5c3fe56b..7b04773e5 100644
--- a/Classes/LinphoneUI/UIContactDetailsCell.m
+++ b/Classes/LinphoneUI/UIContactDetailsCell.m
@@ -69,7 +69,13 @@
_addressLabel.text.UTF8String) &&
[FastAddressBook isSipURIValid:_addressLabel.text]));
ContactDetailsView *contactDetailsView = VIEW(ContactDetailsView);
- self.inviteButton.hidden = !ENABLE_SMS_INVITE || [[contactDetailsView.contact sipAddresses] count] > 0 || !self.linphoneImage.hidden;
+ if (!ENABLE_SMS_INVITE || [[contactDetailsView.contact sipAddresses] count] > 0 || !self.linphoneImage.hidden) {
+ self.inviteButton.hidden = self.inviteLabel.hidden = TRUE;
+ _addressLabel.textAlignment = NSTextAlignmentCenter;
+ } else {
+ self.inviteButton.hidden = self.inviteLabel.hidden = FALSE;
+ _addressLabel.textAlignment = NSTextAlignmentLeft;
+ }
}
if (addr) {
diff --git a/Classes/SideMenuTableView.h b/Classes/SideMenuTableView.h
index 6884e6b1c..779b7d6d1 100644
--- a/Classes/SideMenuTableView.h
+++ b/Classes/SideMenuTableView.h
@@ -13,6 +13,7 @@ typedef void (^SideMenuEntryBlock)(void);
@interface SideMenuEntry : NSObject {
@public
+ UIImage *img;
NSString *title;
SideMenuEntryBlock onTapBlock;
};
diff --git a/Classes/SideMenuTableView.m b/Classes/SideMenuTableView.m
index 0ef165306..f7b149dd7 100644
--- a/Classes/SideMenuTableView.m
+++ b/Classes/SideMenuTableView.m
@@ -19,8 +19,9 @@
@implementation SideMenuEntry
-- (id)initWithTitle:(NSString *)atitle tapBlock:(SideMenuEntryBlock)tapBlock {
+- (id)initWithTitle:(NSString *)atitle image:(UIImage *)image tapBlock:(SideMenuEntryBlock)tapBlock {
if ((self = [super init])) {
+ img = image;
title = atitle;
onTapBlock = tapBlock;
}
@@ -47,6 +48,7 @@
[_sideMenuEntries
addObject:[[SideMenuEntry alloc] initWithTitle:NSLocalizedString(@"Assistant", nil)
+ image:[UIImage imageNamed:@"menu_assistant.png"]
tapBlock:^() {
[PhoneMainView.instance
changeCurrentView:AssistantView.compositeViewDescription];
@@ -55,34 +57,40 @@
if (mustLink) {
[_sideMenuEntries
addObject:[[SideMenuEntry alloc] initWithTitle:NSLocalizedString(@"Link my account", nil)
+ image:[UIImage imageNamed:@"menu_link_account.png"]
tapBlock:^() {
[PhoneMainView.instance
changeCurrentView:AssistantLinkView.compositeViewDescription];
}]];
}
- [_sideMenuEntries
- addObject:[[SideMenuEntry alloc] initWithTitle:NSLocalizedString(@"Recordings", nil)
- tapBlock:^() {
- [PhoneMainView.instance
- changeCurrentView:RecordingsListView.compositeViewDescription];
- }]];
+
[_sideMenuEntries
addObject:[[SideMenuEntry alloc] initWithTitle:NSLocalizedString(@"Settings", nil)
+ image:[UIImage imageNamed:@"menu_options.png"]
tapBlock:^() {
[PhoneMainView.instance
changeCurrentView:SettingsView.compositeViewDescription];
}]];
+ [_sideMenuEntries
+ addObject:[[SideMenuEntry alloc] initWithTitle:NSLocalizedString(@"Recordings", nil)
+ image:[UIImage imageNamed:@"menu_recordings.png"]
+ tapBlock:^() {
+ [PhoneMainView.instance
+ changeCurrentView:RecordingsListView.compositeViewDescription];
+ }]];
InAppProductsManager *iapm = LinphoneManager.instance.iapManager;
if (iapm.enabled){
[_sideMenuEntries
addObject:[[SideMenuEntry alloc] initWithTitle:NSLocalizedString(@"Shop", nil)
+ image:nil
tapBlock:^() {
[PhoneMainView.instance
changeCurrentView:ShopView.compositeViewDescription];
}]];
}
[_sideMenuEntries addObject:[[SideMenuEntry alloc] initWithTitle:NSLocalizedString(@"About", nil)
+ image:[UIImage imageNamed:@"menu_about.png"]
tapBlock:^() {
[PhoneMainView.instance
changeCurrentView:AboutView.compositeViewDescription];
@@ -128,6 +136,7 @@
cell.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"color_G.png"]];
} else {
SideMenuEntry *entry = [_sideMenuEntries objectAtIndex:indexPath.row];
+ cell.imageView.image = entry->img;
cell.textLabel.text = entry->title;
}
return cell;
diff --git a/Resources/images/invite_linphone.png b/Resources/images/invite_linphone.png
new file mode 100644
index 000000000..20606be43
Binary files /dev/null and b/Resources/images/invite_linphone.png differ
diff --git a/Resources/images/invite_linphone@2x.png b/Resources/images/invite_linphone@2x.png
new file mode 100644
index 000000000..20606be43
Binary files /dev/null and b/Resources/images/invite_linphone@2x.png differ
diff --git a/Resources/images/menu_about.png b/Resources/images/menu_about.png
new file mode 100644
index 000000000..0fccc59c1
Binary files /dev/null and b/Resources/images/menu_about.png differ
diff --git a/Resources/images/menu_about@2x.png b/Resources/images/menu_about@2x.png
new file mode 100644
index 000000000..f4c1115c0
Binary files /dev/null and b/Resources/images/menu_about@2x.png differ
diff --git a/Resources/images/menu_assistant.png b/Resources/images/menu_assistant.png
new file mode 100644
index 000000000..f5f432e16
Binary files /dev/null and b/Resources/images/menu_assistant.png differ
diff --git a/Resources/images/menu_assistant@2x.png b/Resources/images/menu_assistant@2x.png
new file mode 100644
index 000000000..a79bba4c0
Binary files /dev/null and b/Resources/images/menu_assistant@2x.png differ
diff --git a/Resources/images/menu_link_account.png b/Resources/images/menu_link_account.png
new file mode 100644
index 000000000..0b84e1478
Binary files /dev/null and b/Resources/images/menu_link_account.png differ
diff --git a/Resources/images/menu_link_account@2x.png b/Resources/images/menu_link_account@2x.png
new file mode 100644
index 000000000..2b266ea63
Binary files /dev/null and b/Resources/images/menu_link_account@2x.png differ
diff --git a/Resources/images/menu_options.png b/Resources/images/menu_options.png
new file mode 100644
index 000000000..e123c23e8
Binary files /dev/null and b/Resources/images/menu_options.png differ
diff --git a/Resources/images/menu_options@2x.png b/Resources/images/menu_options@2x.png
new file mode 100644
index 000000000..a9a8fe427
Binary files /dev/null and b/Resources/images/menu_options@2x.png differ
diff --git a/Resources/images/menu_recordings.png b/Resources/images/menu_recordings.png
new file mode 100644
index 000000000..65f7f1331
Binary files /dev/null and b/Resources/images/menu_recordings.png differ
diff --git a/Resources/images/menu_recordings@2x.png b/Resources/images/menu_recordings@2x.png
new file mode 100644
index 000000000..47e658bc5
Binary files /dev/null and b/Resources/images/menu_recordings@2x.png differ
diff --git a/linphone.xcodeproj/project.pbxproj b/linphone.xcodeproj/project.pbxproj
index de82d5a87..daa9bb8a1 100755
--- a/linphone.xcodeproj/project.pbxproj
+++ b/linphone.xcodeproj/project.pbxproj
@@ -114,6 +114,8 @@
615A28362180720D0060F920 /* security_toogle_background_grey@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 615A28352180720D0060F920 /* security_toogle_background_grey@2x.png */; };
615A283A2180788E0060F920 /* security_toogle_button.png in Resources */ = {isa = PBXBuildFile; fileRef = 615A28392180788E0060F920 /* security_toogle_button.png */; };
615A283C2180789C0060F920 /* security_toogle_button@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 615A283B2180789C0060F920 /* security_toogle_button@2x.png */; };
+ 615A283E2180A2560060F920 /* invite_linphone.png in Resources */ = {isa = PBXBuildFile; fileRef = 615A283D2180A2550060F920 /* invite_linphone.png */; };
+ 615A28402180A2620060F920 /* invite_linphone@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 615A283F2180A2620060F920 /* invite_linphone@2x.png */; };
61AE364F20C00B370089D9D3 /* ShareViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 61AE364E20C00B370089D9D3 /* ShareViewController.m */; };
61AE365220C00B370089D9D3 /* MainInterface.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 61AE365020C00B370089D9D3 /* MainInterface.storyboard */; };
61AE365620C00B370089D9D3 /* linphoneExtension.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = 61AE364B20C00B370089D9D3 /* linphoneExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
@@ -1175,6 +1177,8 @@
615A28352180720D0060F920 /* security_toogle_background_grey@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "security_toogle_background_grey@2x.png"; sourceTree = ""; };
615A28392180788E0060F920 /* security_toogle_button.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = security_toogle_button.png; sourceTree = ""; };
615A283B2180789C0060F920 /* security_toogle_button@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "security_toogle_button@2x.png"; sourceTree = ""; };
+ 615A283D2180A2550060F920 /* invite_linphone.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = invite_linphone.png; sourceTree = ""; };
+ 615A283F2180A2620060F920 /* invite_linphone@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "invite_linphone@2x.png"; sourceTree = ""; };
61AE364B20C00B370089D9D3 /* linphoneExtension.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = linphoneExtension.appex; sourceTree = BUILT_PRODUCTS_DIR; };
61AE364D20C00B370089D9D3 /* ShareViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ShareViewController.h; sourceTree = ""; };
61AE364E20C00B370089D9D3 /* ShareViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ShareViewController.m; sourceTree = ""; };
@@ -3022,6 +3026,8 @@
633FECC31D3CD5570014B822 /* history_missed_disabled@2x.png */,
633FECC41D3CD5570014B822 /* history_missed_selected.png */,
633FECC51D3CD5570014B822 /* history_missed_selected@2x.png */,
+ 615A283D2180A2550060F920 /* invite_linphone.png */,
+ 615A283F2180A2620060F920 /* invite_linphone@2x.png */,
633FECC61D3CD5570014B822 /* led_connected.png */,
633FECC71D3CD5570014B822 /* led_connected@2x.png */,
633FECC81D3CD5570014B822 /* led_disconnected.png */,
@@ -3930,6 +3936,7 @@
633FEEB11D3CD55A0014B822 /* numpad_2~ipad.png in Resources */,
633FEE521D3CD5590014B822 /* dialer_alt_back.png in Resources */,
633FEE341D3CD5590014B822 /* conference_exit_default.png in Resources */,
+ 615A283E2180A2560060F920 /* invite_linphone.png in Resources */,
633FEF281D3CD55A0014B822 /* route_earpiece_default.png in Resources */,
633FEE4F1D3CD5590014B822 /* delete_field_over@2x.png in Resources */,
633FEE531D3CD5590014B822 /* dialer_alt_back@2x.png in Resources */,
@@ -4118,6 +4125,7 @@
633FEDA01D3CD5590014B822 /* avatar.png in Resources */,
633FEEBC1D3CD55A0014B822 /* numpad_4_default@2x.png in Resources */,
633FEEA91D3CD55A0014B822 /* numpad_1~ipad.png in Resources */,
+ 615A28402180A2620060F920 /* invite_linphone@2x.png in Resources */,
633FEDF71D3CD5590014B822 /* camera_default@2x.png in Resources */,
633FEDB31D3CD5590014B822 /* call_alt_back_default@2x.png in Resources */,
633FEDCF1D3CD5590014B822 /* call_quality_indicator_1@2x.png in Resources */,