From e22c9421c4b03f32c42351b9092fa1546ddf0fea Mon Sep 17 00:00:00 2001 From: Danmei Chen Date: Thu, 27 Feb 2020 12:45:59 +0100 Subject: [PATCH] fix CallView --- Classes/Base.lproj/CallView.xib | 409 ++++++++++++++++---------------- Classes/CallView.h | 1 + Classes/CallView.m | 51 ++-- 3 files changed, 235 insertions(+), 226 deletions(-) diff --git a/Classes/Base.lproj/CallView.xib b/Classes/Base.lproj/CallView.xib index b450f364c..907cfabdf 100644 --- a/Classes/Base.lproj/CallView.xib +++ b/Classes/Base.lproj/CallView.xib @@ -1,11 +1,11 @@ - - + + - + @@ -83,26 +83,26 @@ - + - + - + @@ -269,11 +272,11 @@ - + YnBsaXN0MDDUAQIDBAUGVVZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGGoK8QEgcI ExQZHh8jJCsuMTtDR0tPUlUkbnVsbNUJCgsMDQ4PEBESVk5TU2l6ZVYkY2xhc3NcTlNJbWFnZUZsYWdz @@ -1545,7 +1548,7 @@ XhtnG2wbcht6G3wbfhuAG4IbhxuPLPss/S0CLRAtFC0bLSAtLS0wLT0tQi1KLU0tUi1aLV0tby1yLXcA AAAAAAACAQAAAAAAAABZAAAAAAAAAAAAAAAAAAAteQ - + YnBsaXN0MDDUAQIDBAUGVVZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3ASAAGGoK8QEgcI @@ -1771,81 +1774,81 @@ diCFIIkglCCcIKkgtiDLINAg1CDWINgg2iDjIOgg7iD2IPgg+iD8IP4hAyELMncyeTJ+MowykDKXMpwy qTKsMrkyvjLGMskyzjLWMtky6zLuMvMAAAAAAAACAQAAAAAAAABZAAAAAAAAAAAAAAAAAAAy9Q - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Classes/CallView.h b/Classes/CallView.h index 17987cd80..a8c08180b 100644 --- a/Classes/CallView.h +++ b/Classes/CallView.h @@ -112,5 +112,6 @@ - (IBAction)onNumpadClick:(id)sender; - (IBAction)onChatClick:(id)sender; - (IBAction)onRecordClick:(id)sender; +- (IBAction)onRecordOnViewClick:(id)sender; @end diff --git a/Classes/CallView.m b/Classes/CallView.m index 6b0d38c46..07f0aaaee 100644 --- a/Classes/CallView.m +++ b/Classes/CallView.m @@ -48,9 +48,7 @@ const NSInteger SECURE_BUTTON_TAG = 5; singleFingerTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(toggleControls:)]; videoZoomHandler = [[VideoZoomHandler alloc] init]; videoHidden = TRUE; - CGRect frame = _callPauseButton.frame; - frame.origin.y = _recordButtonOnView.frame.origin.y; - _callPauseButton.frame = frame; + [self updateInfoView]; } return self; } @@ -266,16 +264,19 @@ static UICompositeViewDescription *compositeDescription = nil; - (void)updateInfoView { CGRect infoFrame = _infoView.frame; - CGRect frame = _callPauseButton.frame; + CGRect pauseFrame = _callPauseButton.frame; + CGRect recordFrame = _recordButtonOnView.frame; if (videoHidden) { infoFrame.origin.y = (_avatarImage.frame.origin.y-66)/2; - frame.origin.y = _recordButtonOnView.frame.origin.y; + pauseFrame.origin.y = _avatarImage.frame.origin.y + _avatarImage.frame.size.height - pauseFrame.size.height; } else { infoFrame.origin.y = 0; - frame.origin.y = _videoCameraSwitch.frame.origin.y+_videoGroup.frame.origin.y; + pauseFrame.origin.y = _videoCameraSwitch.frame.origin.y+_videoGroup.frame.origin.y; } + recordFrame.origin.y = pauseFrame.origin.y; _infoView.frame = infoFrame; - _callPauseButton.frame = frame; + _callPauseButton.frame = pauseFrame; + _recordButtonOnView.frame = recordFrame; } - (void)hideSpinnerIndicator:(LinphoneCall *)call { @@ -766,22 +767,7 @@ static void hideSpinner(LinphoneCall *call, void *user_data) { if (![_optionsView isHidden]) [self hideOptions:TRUE animated:ANIMATED]; if (callRecording) { - LOGD(@"Recording Stops"); - [_recordButton setImage:[UIImage imageNamed:@"rec_on_default.png"] forState:UIControlStateNormal]; - [_recordButtonOnView setHidden:TRUE]; - - LinphoneCall *call = linphone_core_get_current_call(LC); - linphone_call_stop_recording(call); - - callRecording = FALSE; - - NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES); - NSString *writablePath = [paths objectAtIndex:0]; - writablePath = [writablePath stringByAppendingString:@"/"]; - NSArray *directoryContent = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:writablePath error:NULL]; - if (directoryContent) { - return; - } + [self onRecordOnViewClick:nil]; } else { LOGD(@"Recording Starts"); @@ -795,6 +781,25 @@ static void hideSpinner(LinphoneCall *call, void *user_data) { } } +- (IBAction)onRecordOnViewClick:(id)sender { + LOGD(@"Recording Stops"); + [_recordButton setImage:[UIImage imageNamed:@"rec_on_default.png"] forState:UIControlStateNormal]; + [_recordButtonOnView setHidden:TRUE]; + + LinphoneCall *call = linphone_core_get_current_call(LC); + linphone_call_stop_recording(call); + + callRecording = FALSE; + + NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES); + NSString *writablePath = [paths objectAtIndex:0]; + writablePath = [writablePath stringByAppendingString:@"/"]; + NSArray *directoryContent = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:writablePath error:NULL]; + if (directoryContent) { + return; + } +} + - (IBAction)onRoutesBluetoothClick:(id)sender { [self hideRoutes:TRUE animated:TRUE]; [LinphoneManager.instance setSpeakerEnabled:FALSE];