mirror of
https://gitlab.linphone.org/BC/public/linphone-iphone.git
synced 2026-01-22 21:58:08 +00:00
Fix incall user infos 3
This commit is contained in:
parent
d4b28adc50
commit
67adcfc1bc
2 changed files with 37 additions and 28 deletions
|
|
@ -144,9 +144,12 @@ enum TableSection {
|
|||
UICallCellData * data = nil;
|
||||
if(call != NULL) {
|
||||
LinphoneCallAppData* appData = (LinphoneCallAppData*) linphone_call_get_user_pointer(call);
|
||||
if(appData != NULL && [appData->userInfos objectForKey:kLinphoneInCallCellData] == nil) {
|
||||
data = [[UICallCellData alloc] init:call];
|
||||
[appData->userInfos setObject:data forKey:kLinphoneInCallCellData];
|
||||
if(appData != NULL) {
|
||||
data = [appData->userInfos objectForKey:kLinphoneInCallCellData];
|
||||
if(data == nil) {
|
||||
data = [[[UICallCellData alloc] init:call] autorelease];
|
||||
[appData->userInfos setObject:data forKey:kLinphoneInCallCellData];
|
||||
}
|
||||
}
|
||||
}
|
||||
return data;
|
||||
|
|
|
|||
|
|
@ -464,6 +464,10 @@
|
|||
|
||||
|
||||
- (void)updateDetailsView {
|
||||
if(data == nil || data->call == NULL) {
|
||||
[LinphoneLogger logc:LinphoneLoggerWarning format:"Cannot update call cell: null call or data"];
|
||||
return;
|
||||
}
|
||||
if(data->view == UICallCellOtherView_Avatar && avatarView.isHidden) {
|
||||
[self->avatarView setHidden:FALSE];
|
||||
[self->audioStatsView setHidden:TRUE];
|
||||
|
|
@ -507,33 +511,35 @@
|
|||
|
||||
- (IBAction)doDetailsSwipe:(UISwipeGestureRecognizer *)sender {
|
||||
CATransition* trans = nil;
|
||||
if (sender.direction == UISwipeGestureRecognizerDirectionLeft) {
|
||||
if(data->view == UICallCellOtherView_MAX - 1) {
|
||||
data->view = 0;
|
||||
} else {
|
||||
++data->view;
|
||||
if(data != nil) {
|
||||
if (sender.direction == UISwipeGestureRecognizerDirectionLeft) {
|
||||
if(data->view == UICallCellOtherView_MAX - 1) {
|
||||
data->view = 0;
|
||||
} else {
|
||||
++data->view;
|
||||
}
|
||||
trans = [CATransition animation];
|
||||
[trans setType:kCATransitionPush];
|
||||
[trans setDuration:0.35];
|
||||
[trans setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
|
||||
[trans setSubtype:kCATransitionFromRight];
|
||||
} else if (sender.direction == UISwipeGestureRecognizerDirectionRight) {
|
||||
if(data->view == 0) {
|
||||
data->view = UICallCellOtherView_MAX - 1;
|
||||
} else {
|
||||
--data->view;
|
||||
}
|
||||
trans = [CATransition animation];
|
||||
[trans setType:kCATransitionPush];
|
||||
[trans setDuration:0.35];
|
||||
[trans setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
|
||||
[trans setSubtype:kCATransitionFromLeft];
|
||||
}
|
||||
trans = [CATransition animation];
|
||||
[trans setType:kCATransitionPush];
|
||||
[trans setDuration:0.35];
|
||||
[trans setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
|
||||
[trans setSubtype:kCATransitionFromRight];
|
||||
} else if (sender.direction == UISwipeGestureRecognizerDirectionRight) {
|
||||
if(data->view == 0) {
|
||||
data->view = UICallCellOtherView_MAX - 1;
|
||||
} else {
|
||||
--data->view;
|
||||
if(trans) {
|
||||
[otherView.layer removeAnimationForKey:@"transition"];
|
||||
[otherView.layer addAnimation:trans forKey:@"transition"];
|
||||
[self updateDetailsView];
|
||||
}
|
||||
trans = [CATransition animation];
|
||||
[trans setType:kCATransitionPush];
|
||||
[trans setDuration:0.35];
|
||||
[trans setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
|
||||
[trans setSubtype:kCATransitionFromLeft];
|
||||
}
|
||||
if(trans) {
|
||||
[otherView.layer removeAnimationForKey:@"transition"];
|
||||
[otherView.layer addAnimation:trans forKey:@"transition"];
|
||||
[self updateDetailsView];
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue