diff --git a/Classes/Base.lproj/CallView.xib b/Classes/Base.lproj/CallView.xib
index 91358cdc0..0381706cc 100644
--- a/Classes/Base.lproj/CallView.xib
+++ b/Classes/Base.lproj/CallView.xib
@@ -80,7 +80,7 @@
-
+
@@ -163,7 +163,7 @@
-
+
@@ -712,7 +712,7 @@
-
+
@@ -1189,7 +1189,7 @@
-
+
@@ -1280,7 +1280,7 @@
-
+
@@ -288,8 +288,8 @@
-
-
+
+
@@ -303,8 +303,24 @@
-
@@ -508,7 +508,7 @@
-
+
diff --git a/Classes/Base.lproj/ChatsListView.xib b/Classes/Base.lproj/ChatsListView.xib
index eeba40dac..e23613093 100644
--- a/Classes/Base.lproj/ChatsListView.xib
+++ b/Classes/Base.lproj/ChatsListView.xib
@@ -1,8 +1,8 @@
-
+
-
+
@@ -31,6 +31,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -48,25 +80,9 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -81,7 +97,7 @@
-
+
@@ -97,7 +113,7 @@
-
+
@@ -108,22 +124,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Classes/CallIncomingView.m b/Classes/CallIncomingView.m
index 1ea0fff63..358c8e3f5 100644
--- a/Classes/CallIncomingView.m
+++ b/Classes/CallIncomingView.m
@@ -42,6 +42,12 @@
[[NSNotificationCenter defaultCenter] removeObserver:self name:kLinphoneCallUpdate object:nil];
}
+- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
+ duration:(NSTimeInterval)duration {
+ [super willAnimateRotationToInterfaceOrientation:toInterfaceOrientation duration:duration];
+ [_avatarImage setRoundRadius];
+}
+
#pragma mark - UICompositeViewDelegate Functions
static UICompositeViewDescription *compositeDescription = nil;
diff --git a/Classes/CallOutgoingView.m b/Classes/CallOutgoingView.m
index dd086198d..ba922eecf 100644
--- a/Classes/CallOutgoingView.m
+++ b/Classes/CallOutgoingView.m
@@ -60,6 +60,12 @@ static UICompositeViewDescription *compositeDescription = nil;
}
}
+- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
+ duration:(NSTimeInterval)duration {
+ [super willAnimateRotationToInterfaceOrientation:toInterfaceOrientation duration:duration];
+ [_avatarImage setRoundRadius];
+}
+
- (IBAction)onDeclineClick:(id)sender {
LinphoneCall *call = linphone_core_get_current_call([LinphoneManager getLc]);
if (call) {
diff --git a/Classes/CallView.m b/Classes/CallView.m
index 98ca7535b..62c53fcf4 100644
--- a/Classes/CallView.m
+++ b/Classes/CallView.m
@@ -218,6 +218,7 @@ static UICompositeViewDescription *compositeDescription = nil;
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
duration:(NSTimeInterval)duration {
[super willAnimateRotationToInterfaceOrientation:toInterfaceOrientation duration:duration];
+ [_avatarImage setRoundRadius];
// in mode display_filter_auto_rotate=0, no need to rotate the preview
}
diff --git a/Classes/LinphoneUI/Base.lproj/TabBarView.xib b/Classes/LinphoneUI/Base.lproj/TabBarView.xib
index 23a39a3fd..d9ab148f9 100644
--- a/Classes/LinphoneUI/Base.lproj/TabBarView.xib
+++ b/Classes/LinphoneUI/Base.lproj/TabBarView.xib
@@ -207,7 +207,7 @@
-
+
diff --git a/Classes/LinphoneUI/UICallButton.m b/Classes/LinphoneUI/UICallButton.m
index cef94c68d..184b5c20c 100644
--- a/Classes/LinphoneUI/UICallButton.m
+++ b/Classes/LinphoneUI/UICallButton.m
@@ -96,7 +96,8 @@
}
- (void)updateVideoPolicy {
- if (linphone_core_get_video_policy([LinphoneManager getLc])->automatically_initiate) {
+ LinphoneCore *lc = [LinphoneManager getLc];
+ if (linphone_core_video_capture_enabled(lc) && linphone_core_get_video_policy(lc)->automatically_initiate) {
[self setImage:[UIImage imageNamed:@"call_video_start_default.png"] forState:UIControlStateNormal];
[self setImage:[UIImage imageNamed:@"call_video_start_disabled.png"] forState:UIControlStateDisabled];
} else {
diff --git a/Classes/LinphoneUI/UICompositeView.m b/Classes/LinphoneUI/UICompositeView.m
index bbebd4b02..c6ffbad1f 100644
--- a/Classes/LinphoneUI/UICompositeView.m
+++ b/Classes/LinphoneUI/UICompositeView.m
@@ -62,7 +62,7 @@
self.fullscreen = fullscreen;
self.landscapeMode = YES; // landscapeMode;
self.portraitMode = YES; // portraitMode;
- self.darkBackground = false;
+ self.darkBackground = true;
return self;
}
diff --git a/Classes/LinphoneUI/UIConfirmationDialog.xib b/Classes/LinphoneUI/UIConfirmationDialog.xib
index a3d0a4542..4163d6d86 100644
--- a/Classes/LinphoneUI/UIConfirmationDialog.xib
+++ b/Classes/LinphoneUI/UIConfirmationDialog.xib
@@ -1,8 +1,8 @@
-
+
-
+
@@ -33,7 +33,7 @@
-
+
@@ -46,7 +46,7 @@
-
+
@@ -72,9 +72,4 @@
-
-
-
-
-
diff --git a/Classes/LinphoneUI/UIRoundedImageView.h b/Classes/LinphoneUI/UIRoundedImageView.h
index d24c3f2fa..ed66e9d41 100644
--- a/Classes/LinphoneUI/UIRoundedImageView.h
+++ b/Classes/LinphoneUI/UIRoundedImageView.h
@@ -13,4 +13,7 @@
- (void)setImage:(UIImage *)image;
- (void)setImage:(UIImage *)image bordered:(BOOL)bordered withRoundedRadius:(BOOL)rounded;
+- (void)setBordered:(BOOL)bordered;
+- (void)setRoundRadius;
+
@end
diff --git a/Classes/LinphoneUI/UIRoundedImageView.m b/Classes/LinphoneUI/UIRoundedImageView.m
index a92a48c21..030c86bb5 100644
--- a/Classes/LinphoneUI/UIRoundedImageView.m
+++ b/Classes/LinphoneUI/UIRoundedImageView.m
@@ -12,13 +12,9 @@
@implementation UIRoundedImageView
-- (id)init {
- self = [super init];
- if (self) {
- [self setRoundRadius];
- [self setBordered:NO];
- }
- return self;
+INIT_WITH_COMMON {
+ [self setRoundRadius];
+ [self setBordered:YES];
}
- (void)setImage:(UIImage *)image {
@@ -39,15 +35,19 @@
self.layer.borderWidth = 0;
}
}
-// warning: for non-squared image, this function will generate an ellipsoidal image, not a round image!
+
- (void)setRoundRadius {
CALayer *imageLayer = self.layer;
- CGFloat height = imageLayer.frame.size.height;
- CGFloat width = imageLayer.frame.size.width;
+
+ CGFloat height = self.frame.size.height;
+ CGFloat width = self.frame.size.width;
CGFloat roundRadius = MIN(width, height) / 2;
+ CGRect frame = self.frame;
+ frame.size.width = frame.size.height = MIN(width, height);
+ self.bounds = frame;
+
[imageLayer setCornerRadius:roundRadius];
- [imageLayer setMasksToBounds:YES];
}
@end
diff --git a/Classes/PhoneMainView.m b/Classes/PhoneMainView.m
index 11047b1b3..a431577ef 100644
--- a/Classes/PhoneMainView.m
+++ b/Classes/PhoneMainView.m
@@ -447,7 +447,8 @@ static RootViewManager *rootViewManagerInstance = nil;
+ (CATransition *)getBackwardTransition {
BOOL RTL = [LinphoneManager langageDirectionIsRTL];
- NSString *transition = RTL ? kCATransitionFromRight : kCATransitionFromLeft;
+ BOOL land = UIInterfaceOrientationIsLandscape([self.instance interfaceOrientation]);
+ NSString *transition = land ? kCATransitionFromBottom : (RTL ? kCATransitionFromRight : kCATransitionFromLeft);
CATransition *trans = [CATransition animation];
[trans setType:kCATransitionPush];
[trans setDuration:0.35];
@@ -459,7 +460,8 @@ static RootViewManager *rootViewManagerInstance = nil;
+ (CATransition *)getForwardTransition {
BOOL RTL = [LinphoneManager langageDirectionIsRTL];
- NSString *transition = RTL ? kCATransitionFromLeft : kCATransitionFromRight;
+ BOOL land = UIInterfaceOrientationIsLandscape([self.instance interfaceOrientation]);
+ NSString *transition = land ? kCATransitionFromTop : (RTL ? kCATransitionFromLeft : kCATransitionFromRight);
CATransition *trans = [CATransition animation];
[trans setType:kCATransitionPush];
[trans setDuration:0.35];