diff --git a/Classes/Base.lproj/CallView.xib b/Classes/Base.lproj/CallView.xib index 7dfbac661..aee5ae108 100644 --- a/Classes/Base.lproj/CallView.xib +++ b/Classes/Base.lproj/CallView.xib @@ -26,6 +26,7 @@ + @@ -43,7 +44,7 @@ - + @@ -128,8 +129,8 @@ - - + + @@ -153,8 +154,8 @@ - - + + @@ -162,9 +163,9 @@ - - - + @@ -779,8 +786,8 @@ - - + + @@ -788,8 +795,8 @@ - - + @@ -1336,7 +1349,7 @@ - + YnBsaXN0MDDUAQIDBAUGVVZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGGoK8QEgcI ExQZHh8jJCsuMTtDR0tPUlUkbnVsbNUJCgsMDQ4PEBESVk5TU2l6ZVYkY2xhc3NcTlNJbWFnZUZsYWdz @@ -1822,7 +1835,8 @@ qTKsMrkyvjLGMskyzjLWMtky6zLuMvMAAAAAAAACAQAAAAAAAABZAAAAAAAAAAAAAAAAAAAy9Q - + + diff --git a/Classes/Base.lproj/CallView~ipad.xib b/Classes/Base.lproj/CallView~ipad.xib index 9de664410..5ef544b76 100644 --- a/Classes/Base.lproj/CallView~ipad.xib +++ b/Classes/Base.lproj/CallView~ipad.xib @@ -1,7 +1,12 @@ - - + + + + + - + + + @@ -37,6 +42,8 @@ + + @@ -89,14 +96,14 @@ - + - - + + @@ -107,14 +114,14 @@ - + - + @@ -135,32 +142,32 @@ - + - + - - + + - + - - + - - + + + + + - + - + - - + + @@ -255,11 +273,11 @@ @@ -280,7 +298,7 @@ - + @@ -290,7 +308,7 @@ - + @@ -300,7 +318,7 @@ - + @@ -310,7 +328,7 @@ - + @@ -320,7 +338,7 @@ - + @@ -330,7 +348,7 @@ - + @@ -340,7 +358,7 @@ - + @@ -350,7 +368,7 @@ - + @@ -360,7 +378,7 @@ - + @@ -370,12 +388,12 @@ - + - + - @@ -587,7 +618,7 @@ - + @@ -606,7 +637,7 @@ - + @@ -618,7 +649,7 @@ - + @@ -630,7 +661,7 @@ - + @@ -645,7 +676,7 @@ - + @@ -659,10 +690,10 @@ - + - + @@ -682,14 +713,14 @@ - + - - + + @@ -700,14 +731,14 @@ - + - + @@ -728,32 +759,32 @@ - + - + - - + + - + - - + - - + + + + + - + - + - - + + @@ -848,11 +890,11 @@ @@ -873,7 +915,7 @@ - + @@ -883,7 +925,7 @@ - + @@ -893,7 +935,7 @@ - + @@ -903,7 +945,7 @@ - + @@ -913,7 +955,7 @@ - + @@ -923,7 +965,7 @@ - + @@ -933,7 +975,7 @@ - + @@ -943,7 +985,7 @@ - + @@ -953,7 +995,7 @@ - + @@ -963,12 +1005,12 @@ - + - + - - + - - + - - - - - - - - + + + + + + + + @@ -1280,62 +1334,64 @@ - + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + - - - - - - - - + + + + + + + + + + - - - - + + + + - - - - + + + + diff --git a/Classes/CallView.h b/Classes/CallView.h index 8fe61cb58..ad058daa5 100644 --- a/Classes/CallView.h +++ b/Classes/CallView.h @@ -99,6 +99,7 @@ @property(weak, nonatomic) IBOutlet UIView *conferenceView; @property(strong, nonatomic) IBOutlet CallPausedTableView *conferenceCallsTable; @property (weak, nonatomic) IBOutlet UIView *waitView; +@property (weak, nonatomic) IBOutlet UIView *infoView; - (IBAction)onRoutesClick:(id)sender; - (IBAction)onRoutesBluetoothClick:(id)sender; diff --git a/Classes/CallView.m b/Classes/CallView.m index aa4e2f8e8..7fa271387 100644 --- a/Classes/CallView.m +++ b/Classes/CallView.m @@ -49,6 +49,10 @@ const NSInteger SECURE_BUTTON_TAG = 5; videoZoomHandler = [[VideoZoomHandler alloc] init]; videoHidden = TRUE; callRecording = FALSE; + _recordButtonOnView.hidden = TRUE; + CGRect frame = _callPauseButton.frame; + frame.origin.y = _recordButtonOnView.frame.origin.y; + _callPauseButton.frame = frame; } return self; } @@ -235,10 +239,26 @@ static UICompositeViewDescription *compositeDescription = nil; [self updateUnreadMessage:NO]; [self previewTouchLift]; [self hideStatusBar:!videoHidden && (_nameLabel.alpha <= 0.f)]; + [_recordButtonOnView setHidden:!callRecording]; + [self updateInfoView]; } #pragma mark - UI modification +- (void)updateInfoView { + CGRect infoFrame = _infoView.frame; + CGRect frame = _callPauseButton.frame; + if (videoHidden) { + infoFrame.origin.y = (_avatarImage.frame.origin.y-66)/2; + frame.origin.y = _recordButtonOnView.frame.origin.y; + } else { + infoFrame.origin.y = 0; + frame.origin.y = _videoCameraSwitch.frame.origin.y+_videoGroup.frame.origin.y; + } + _infoView.frame = infoFrame; + _callPauseButton.frame = frame; +} + - (void)hideSpinnerIndicator:(LinphoneCall *)call { _videoWaitingForFirstImage.hidden = TRUE; } @@ -527,6 +547,7 @@ static void hideSpinner(LinphoneCall *call, void *user_data) { [self displayAudioCall:animated]; } } + [self updateInfoView]; if (state != LinphoneCallPausedByRemote) { _pausedByRemoteView.hidden = YES; diff --git a/Resources/images/rec_off_default.png b/Resources/images/rec_off_default.png index 4dace8a72..55ab37a87 100644 Binary files a/Resources/images/rec_off_default.png and b/Resources/images/rec_off_default.png differ diff --git a/Resources/images/rec_off_default@2x.png b/Resources/images/rec_off_default@2x.png index 4314de0a2..b41988ca6 100644 Binary files a/Resources/images/rec_off_default@2x.png and b/Resources/images/rec_off_default@2x.png differ diff --git a/Resources/images/rec_on_default.png b/Resources/images/rec_on_default.png index f29945e9f..a2db83deb 100644 Binary files a/Resources/images/rec_on_default.png and b/Resources/images/rec_on_default.png differ diff --git a/Resources/images/rec_on_default@2x.png b/Resources/images/rec_on_default@2x.png index 2bd2505c1..2a01c5973 100644 Binary files a/Resources/images/rec_on_default@2x.png and b/Resources/images/rec_on_default@2x.png differ diff --git a/Resources/images/recording.png b/Resources/images/recording.png new file mode 100644 index 000000000..46ffad593 Binary files /dev/null and b/Resources/images/recording.png differ diff --git a/Resources/images/recording@2x.png b/Resources/images/recording@2x.png new file mode 100644 index 000000000..d4288ef22 Binary files /dev/null and b/Resources/images/recording@2x.png differ diff --git a/linphone.xcodeproj/project.pbxproj b/linphone.xcodeproj/project.pbxproj index daa9bb8a1..0cb2c1e16 100755 --- a/linphone.xcodeproj/project.pbxproj +++ b/linphone.xcodeproj/project.pbxproj @@ -116,6 +116,8 @@ 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 */; }; + 615A28422180C0870060F920 /* recording.png in Resources */ = {isa = PBXBuildFile; fileRef = 615A28412180C0820060F920 /* recording.png */; }; + 615A28442180C0900060F920 /* recording@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 615A28432180C08F0060F920 /* recording@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, ); }; }; @@ -1179,6 +1181,8 @@ 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 = ""; }; + 615A28412180C0820060F920 /* recording.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = recording.png; sourceTree = ""; }; + 615A28432180C08F0060F920 /* recording@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "recording@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 = ""; }; @@ -3210,6 +3214,8 @@ CF7602EB210898C100749F76 /* rec_off_default@2x.png */, CF7602F4210898C800749F76 /* rec_on_default.png */, CF7602F2210898C400749F76 /* rec_on_default@2x.png */, + 615A28412180C0820060F920 /* recording.png */, + 615A28432180C08F0060F920 /* recording@2x.png */, 633FED681D3CD5590014B822 /* route_bluetooth_default.png */, 633FED691D3CD5590014B822 /* route_bluetooth_default@2x.png */, 633FED6A1D3CD5590014B822 /* route_bluetooth_disabled.png */, @@ -4080,6 +4086,7 @@ 633FEE031D3CD5590014B822 /* cancel_edit_default@2x.png in Resources */, 633FEDE01D3CD5590014B822 /* call_start_body_over~ipad.png in Resources */, 8CBD7BA920B6B82A00E5DCC0 /* UIChatConversationImdnTableViewCell.xib in Resources */, + 615A28442180C0900060F920 /* recording@2x.png in Resources */, 615A2813217F24D40060F920 /* security_1_indicator.png in Resources */, 24BFAAA7209B0630004F47A7 /* callkit_logo.png in Resources */, 615A2811217F1FDE0060F920 /* chat_add_group@2x.png in Resources */, @@ -4204,6 +4211,7 @@ 633FEE391D3CD5590014B822 /* contact_add_default@2x.png in Resources */, 633FEE741D3CD5590014B822 /* history_all_disabled.png in Resources */, 633FEE081D3CD5590014B822 /* chat_add_disabled.png in Resources */, + 615A28422180C0870060F920 /* recording.png in Resources */, 633FEF1D1D3CD55A0014B822 /* presence_offline@2x.png in Resources */, 24A3459E1D95797700881A5C /* UIShopTableCell.xib in Resources */, 633FEE231D3CD5590014B822 /* chat_start_body_over@2x.png in Resources */,