Implement call transfers, and fix video spinner

This commit is contained in:
Pierre-Eric Pelloux-Prayer 2012-03-30 14:17:43 +02:00
parent bbc4e348f1
commit 4855e47444
10 changed files with 213 additions and 34 deletions

View file

@ -25,7 +25,8 @@ enum CallDelegateType {
CD_NEW_CALL,
CD_ZRTP,
CD_VIDEO_UPDATE,
CD_STOP_VIDEO_ON_LOW_BATTERY
CD_STOP_VIDEO_ON_LOW_BATTERY,
CD_TRANSFER_CALL
};
@protocol UIActionSheetCustomDelegate

View file

@ -40,6 +40,7 @@
UIToggleVideoButton* addVideo;
UITableView* callTableView;
UIButton* addCall, *mergeCalls;
UIButton* transfer;
//key pad
@ -115,6 +116,7 @@
@property (nonatomic, retain) IBOutlet UITableView* callTableView;
@property (nonatomic, retain) IBOutlet UIButton* addCall;
@property (nonatomic, retain) IBOutlet UIButton* mergeCalls;
@property (nonatomic, retain) IBOutlet UIButton* transfer;
@property (nonatomic, retain) IBOutlet UIButton* one;
@property (nonatomic, retain) IBOutlet UIButton* two;

View file

@ -52,6 +52,7 @@ const NSInteger SECURE_BUTTON_TAG=5;
@synthesize callTableView;
@synthesize addCall;
@synthesize mergeCalls;
@synthesize transfer;
@synthesize one;
@synthesize two;
@ -432,6 +433,8 @@ void addAnimationFadeTransition(UIView* view, float duration) {
[videoCameraSwitch setPreview:videoPreview];
addVideo.videoUpdateIndicator = videoUpdateIndicator;
[transfer addTarget:self action:@selector(transferPressed) forControlEvents:UIControlEventTouchUpInside];
// prevent buttons resizing
/*
endCtrl.imageView.contentMode = UIViewContentModeCenter;
@ -444,9 +447,49 @@ void addAnimationFadeTransition(UIView* view, float duration) {
}
-(void) transferPressed {
/* allow only if call is active */
if (!linphone_core_get_current_call([LinphoneManager getLc]))
return;
/* build UIActionSheet */
if (visibleActionSheet != nil) {
[visibleActionSheet dismissWithClickedButtonIndex:visibleActionSheet.cancelButtonIndex animated:TRUE];
}
CallDelegate* cd = [[CallDelegate alloc] init];
cd.eventType = CD_TRANSFER_CALL;
cd.delegate = self;
cd.call = linphone_core_get_current_call([LinphoneManager getLc]);
NSString* title = NSLocalizedString(@"Transfer call to:",nil);
visibleActionSheet = [[UIActionSheet alloc] initWithTitle:title
delegate:cd
cancelButtonTitle:NSLocalizedString(@"Cancel",nil)
destructiveButtonTitle:NSLocalizedString(@"A new call",nil)
otherButtonTitles:nil];
// add button for each trasnfer-to valid call
const MSList* calls = linphone_core_get_calls([LinphoneManager getLc]);
while (calls) {
LinphoneCall* call = (LinphoneCall*) calls->data;
LinphoneCallAppData* data = ((LinphoneCallAppData*)linphone_call_get_user_pointer(call));
if (call != cd.call && !linphone_call_get_current_params(call)->in_conference) {
const LinphoneAddress* addr = linphone_call_get_remote_address(call);
NSString* btnTitle = [NSString stringWithFormat : NSLocalizedString(@"%s",nil), (linphone_address_get_display_name(addr) ?linphone_address_get_display_name(addr):linphone_address_get_username(addr))];
data->transferButtonIndex = [visibleActionSheet addButtonWithTitle:btnTitle];
} else {
data->transferButtonIndex = -1;
}
calls = calls->next;
}
visibleActionSheet.actionSheetStyle = UIActionSheetStyleDefault;
[visibleActionSheet showInView:self.view];
}
-(void) addCallPressed {
[LinphoneManager logUIElementPressed:"CALL button"];
[self dismissModalViewControllerAnimated:true];
[[LinphoneManager instance] displayDialer];
}
@ -549,6 +592,7 @@ void addAnimationFadeTransition(UIView* view, float duration) {
}
if (!mVideoShown) [[UIApplication sharedApplication] setIdleTimerDisabled:false];
mIncallViewIsReady=FALSE;
dismissed = false;
}
- (void)viewDidUnload {
@ -600,6 +644,7 @@ void addAnimationFadeTransition(UIView* view, float duration) {
UIViewController* modalVC = self.modalViewController;
UIDevice *device = [UIDevice currentDevice];
device.proximityMonitoringEnabled = NO;
dismissed = true;
if (modalVC != nil) {
mVideoIsPending=FALSE;
// clear previous native window ids
@ -613,15 +658,33 @@ void addAnimationFadeTransition(UIView* view, float duration) {
}
[self dismissModalViewControllerAnimated:FALSE]; //disable animation to avoid blanc bar just below status bar*/
dismissed = true;
[self updateUIFromLinphoneState: YES];
}
static void hideSpinner(LinphoneCall* lc, void* user_data);
-(void) hideSpinnerIndicator: (LinphoneCall*)call {
if (!videoWaitingForFirstImage.hidden) {
videoWaitingForFirstImage.hidden = TRUE;
} /*else {
linphone_call_set_next_video_frame_decoded_callback(call, hideSpinner, self);
}*/
}
static void hideSpinner(LinphoneCall* call, void* user_data) {
IncallViewController* thiz = (IncallViewController*) user_data;
[thiz hideSpinnerIndicator:call];
}
-(void) displayVideoCall:(LinphoneCall*) call FromUI:(UIViewController*) viewCtrl forUser:(NSString*) username withDisplayName:(NSString*) displayName {
[self enableVideoDisplay];
[self updateUIFromLinphoneState: YES];
videoWaitingForFirstImage.hidden = NO;
[videoWaitingForFirstImage startAnimating];
linphone_call_set_next_video_frame_decoded_callback(call, hideSpinner, self);
return;
if (mIncallViewIsReady) {
@ -1022,6 +1085,27 @@ void addAnimationFadeTransition(UIView* view, float duration) {
}
break;
}
case CD_TRANSFER_CALL: {
LinphoneCall* call = (LinphoneCall*)datas;
if (buttonIndex == actionSheet.destructiveButtonIndex) {
// transfer to a new call: enable transfer mode and hide incallview
[UICallButton enableTransforMode:YES];
[[LinphoneManager instance] displayDialer];
} else {
// browse existing call and trasnfer to the one matching the btn id
const MSList* calls = linphone_core_get_calls([LinphoneManager getLc]);
while (calls) {
LinphoneCall* call2 = (LinphoneCall*) calls->data;
LinphoneCallAppData* data = ((LinphoneCallAppData*)linphone_call_get_user_pointer(call2));
if (data->transferButtonIndex == buttonIndex) {
linphone_core_transfer_call_to_another([LinphoneManager getLc], call, call2);
}
data->transferButtonIndex = -1;
calls = calls->next;
}
}
break;
}
default:
ms_error("Unhandled CallDelegate event of type: %d received - ignoring", type);
}

View file

@ -55,7 +55,7 @@
<string key="NSFrameSize">{320, 480}</string>
<reference key="NSSuperview" ref="1009068048"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="386053478"/>
<reference key="NSNextKeyView" ref="69034748"/>
<string key="NSReuseIdentifierKey">_NS:196</string>
<object class="NSColor" key="IBUIBackgroundColor" id="95762599">
<int key="NSColorSpace">3</int>
@ -90,6 +90,7 @@
<string key="NSFrame">{{141, 212}, {37, 37}}</string>
<reference key="NSSuperview" ref="1009068048"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="386053478"/>
<string key="NSReuseIdentifierKey">_NS:1030</string>
<bool key="IBUIOpaque">NO</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
@ -227,7 +228,7 @@
<object class="IBUIButton" id="1031005817">
<reference key="NSNextResponder" ref="585669622"/>
<int key="NSvFlags">292</int>
<string key="NSFrame">{{107, 70}, {106, 66}}</string>
<string key="NSFrame">{{160, 4}, {80, 66}}</string>
<reference key="NSSuperview" ref="585669622"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="603015724"/>
@ -260,7 +261,7 @@
<object class="IBUIButton" id="861550739">
<reference key="NSNextResponder" ref="585669622"/>
<int key="NSvFlags">292</int>
<string key="NSFrame">{{0, 4}, {107, 66}}</string>
<string key="NSFrame">{{0, 4}, {80, 66}}</string>
<reference key="NSSuperview" ref="585669622"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="752456321"/>
@ -301,10 +302,10 @@
<object class="IBUIButton" id="297000325">
<reference key="NSNextResponder" ref="585669622"/>
<int key="NSvFlags">292</int>
<string key="NSFrame">{{0, 70}, {107, 66}}</string>
<string key="NSFrame">{{0, 70}, {80, 66}}</string>
<reference key="NSSuperview" ref="585669622"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="1031005817"/>
<reference key="NSNextKeyView" ref="103089815"/>
<reference key="IBUIBackgroundColor" ref="95762599"/>
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
@ -324,10 +325,37 @@
<reference key="IBUIFontDescription" ref="974614377"/>
<reference key="IBUIFont" ref="773313654"/>
</object>
<object class="IBUIButton" id="103089815">
<reference key="NSNextResponder" ref="585669622"/>
<int key="NSvFlags">292</int>
<string key="NSFrame">{{80, 70}, {160, 66}}</string>
<reference key="NSSuperview" ref="585669622"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="478667533"/>
<reference key="IBUIBackgroundColor" ref="95762599"/>
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<int key="IBUIContentHorizontalAlignment">0</int>
<int key="IBUIContentVerticalAlignment">0</int>
<string key="IBUINormalTitle">Transfer</string>
<reference key="IBUIHighlightedTitleColor" ref="816037173"/>
<object class="NSColor" key="IBUINormalTitleColor">
<int key="NSColorSpace">1</int>
<bytes key="NSRGB">MC4xOTYwNzg0MzE0IDAuMzA5ODAzOTIxNiAwLjUyMTU2ODYyNzUAA</bytes>
</object>
<reference key="IBUINormalTitleShadowColor" ref="785445938"/>
<reference key="IBUINormalBackgroundImage" ref="727837586"/>
<object class="IBUIFontDescription" key="IBUIFontDescription">
<int key="type">2</int>
<double key="pointSize">15</double>
</object>
<reference key="IBUIFont" ref="781340369"/>
</object>
<object class="IBUIButton" id="478667533">
<reference key="NSNextResponder" ref="585669622"/>
<int key="NSvFlags">292</int>
<string key="NSFrame">{{213, 70}, {107, 66}}</string>
<string key="NSFrame">{{240, 70}, {80, 66}}</string>
<reference key="NSSuperview" ref="585669622"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="484501311"/>
@ -356,7 +384,7 @@
<object class="IBUIButton" id="484501311">
<reference key="NSNextResponder" ref="585669622"/>
<int key="NSvFlags">-2147483356</int>
<string key="NSFrame">{{213, 70}, {107, 66}}</string>
<string key="NSFrame">{{240, 70}, {80, 66}}</string>
<reference key="NSSuperview" ref="585669622"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="9119926"/>
@ -389,7 +417,7 @@
<object class="IBUIActivityIndicatorView" id="9119926">
<reference key="NSNextResponder" ref="585669622"/>
<int key="NSvFlags">-2147483356</int>
<string key="NSFrame">{{247.5, 84.5}, {37, 37}}</string>
<string key="NSFrame">{{261.5, 84.5}, {37, 37}}</string>
<reference key="NSSuperview" ref="585669622"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="30856702"/>
@ -402,10 +430,10 @@
<object class="IBUIButton" id="752456321">
<reference key="NSNextResponder" ref="585669622"/>
<int key="NSvFlags">292</int>
<string key="NSFrame">{{107, 4}, {106, 66}}</string>
<string key="NSFrame">{{80, 4}, {80, 66}}</string>
<reference key="NSSuperview" ref="585669622"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="406189871"/>
<reference key="NSNextKeyView" ref="1031005817"/>
<reference key="IBUIBackgroundColor" ref="95762599"/>
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
@ -428,7 +456,7 @@
<object class="IBUIButton" id="406189871">
<reference key="NSNextResponder" ref="585669622"/>
<int key="NSvFlags">292</int>
<string key="NSFrame">{{213, 4}, {107, 66}}</string>
<string key="NSFrame">{{240, 4}, {80, 66}}</string>
<reference key="NSSuperview" ref="585669622"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="297000325"/>
@ -458,10 +486,10 @@
<object class="IBUIButton" id="603015724">
<reference key="NSNextResponder" ref="585669622"/>
<int key="NSvFlags">292</int>
<string key="NSFrame">{{107, 70}, {106, 66}}</string>
<string key="NSFrame">{{160, 4}, {80, 66}}</string>
<reference key="NSSuperview" ref="585669622"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="478667533"/>
<reference key="NSNextKeyView" ref="406189871"/>
<reference key="IBUIBackgroundColor" ref="95762599"/>
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIAutoresizesSubviews">NO</bool>
@ -1105,6 +1133,14 @@
</object>
<int key="connectionID">145</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">transfer</string>
<reference key="source" ref="841351856"/>
<reference key="destination" ref="103089815"/>
</object>
<int key="connectionID">150</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchEventConnection" key="connection">
<string key="label">doAction:</string>
@ -1239,6 +1275,7 @@
<reference ref="1031005817"/>
<reference ref="484501311"/>
<reference ref="9119926"/>
<reference ref="103089815"/>
</object>
<reference key="parent" ref="858247959"/>
<string key="objectName">controls</string>
@ -1429,6 +1466,12 @@
<reference key="object" ref="69034748"/>
<reference key="parent" ref="1009068048"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">147</int>
<reference key="object" ref="103089815"/>
<reference key="parent" ref="585669622"/>
<string key="objectName">transfer</string>
</object>
</object>
</object>
<object class="NSMutableDictionary" key="flattenedProperties">
@ -1461,6 +1504,8 @@
<string>140.IBPluginDependency</string>
<string>142.IBPluginDependency</string>
<string>144.IBPluginDependency</string>
<string>147.IBPluginDependency</string>
<string>147.IBUIButtonInspectorSelectedStateConfigurationMetadataKey</string>
<string>15.IBPluginDependency</string>
<string>16.CustomClassName</string>
<string>16.IBPluginDependency</string>
@ -1528,6 +1573,8 @@
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<real value="0.0"/>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>UIMuteButton</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<real value="2"/>
@ -1578,7 +1625,7 @@
<reference key="dict.values" ref="0"/>
</object>
<nil key="sourceID"/>
<int key="maxID">145</int>
<int key="maxID">150</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
@ -1626,6 +1673,7 @@
<string>speaker</string>
<string>star</string>
<string>three</string>
<string>transfer</string>
<string>two</string>
<string>videoCallQuality</string>
<string>videoCameraSwitch</string>
@ -1665,6 +1713,7 @@
<string>UIButton</string>
<string>UIButton</string>
<string>UIButton</string>
<string>UIButton</string>
<string>UIImageView</string>
<string>UICamSwitch</string>
<string>UIView</string>
@ -1705,6 +1754,7 @@
<string>speaker</string>
<string>star</string>
<string>three</string>
<string>transfer</string>
<string>two</string>
<string>videoCallQuality</string>
<string>videoCameraSwitch</string>
@ -1818,6 +1868,10 @@
<string key="name">three</string>
<string key="candidateClassName">UIButton</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">transfer</string>
<string key="candidateClassName">UIButton</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">two</string>
<string key="candidateClassName">UIButton</string>

View file

@ -44,6 +44,7 @@ struct NetworkReachabilityContext {
typedef struct _LinphoneCallAppData {
bool_t batteryWarningShown;
int transferButtonIndex;
} LinphoneCallAppData;
@ -74,6 +75,8 @@ typedef struct _LinphoneCallAppData {
+(void) set:(UIView*)view hidden: (BOOL) hidden withName:(const char*)name andReason:(const char*) reason;
+(void) logUIElementPressed:(const char*) name;
-(void) displayDialer;
-(void) registerLogView:(id<LogView>) view;
-(void) startLibLinphone;

View file

@ -277,6 +277,12 @@ extern void libmsbcg729_init();
}
-(void) displayDialer {
[callDelegate displayDialerFromUI:mCurrentViewController
forUser:@""
withDisplayName:@""];
}
+(LinphoneCore*) getLc {
if (theLinphoneCore==nil) {
@throw([NSException exceptionWithName:@"LinphoneCoreException" reason:@"Linphone core not initialized yet" userInfo:nil]);
@ -399,14 +405,6 @@ static void linphone_iphone_registration_state(LinphoneCore *lc, LinphoneProxyCo
[(LinphoneManager*)linphone_core_get_user_data(lc) onRegister:lc cfg:cfg state:state message:message];
}
-(void) call_video_first_image_decoded:(LinphoneCall*) call {
[callDelegate firstVideoFrameDecoded: call];
}
static void linphone_call_first_video_frame(LinphoneCore* lc, LinphoneCall* call) {
[[LinphoneManager instance] call_video_first_image_decoded: call];
}
static LinphoneCoreVTable linphonec_vtable = {
.show =NULL,
.call_state_changed =(LinphoneCallStateCb)linphone_iphone_call_state,
@ -419,8 +417,7 @@ static LinphoneCoreVTable linphonec_vtable = {
.display_warning=linphone_iphone_log,
.display_url=NULL,
.text_received=NULL,
.dtmf_received=NULL,
.call_first_video_frame=linphone_call_first_video_frame
.dtmf_received=NULL
};

View file

@ -22,7 +22,11 @@
@interface UICallButton : UIButton {
@private
UITextField* mAddress;
UITextField* mAddress;
}
-(void) initWithAddress:(UITextField*) address;
+(void) enableTransforMode:(BOOL) enable;
+(BOOL) transforModeEnabled;
@end

View file

@ -23,6 +23,17 @@
@implementation UICallButton
static BOOL transferMode = NO;
+(void) enableTransforMode:(BOOL) enable {
transferMode = enable;
}
+(BOOL) transforModeEnabled {
return transferMode;
}
-(void) touchUp:(id) sender {
if (!linphone_core_is_network_reachabled([LinphoneManager getLc])) {
UIAlertView* error = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Network Error",nil)
@ -58,7 +69,12 @@
if ([mAddress.text length] == 0) return; //just return
if ([mAddress.text hasPrefix:@"sip:"]) {
linphone_core_invite_with_params([LinphoneManager getLc],[mAddress.text cStringUsingEncoding:[NSString defaultCStringEncoding]],lcallParams);
if (transferMode) {
linphone_core_transfer_call([LinphoneManager getLc], linphone_core_get_current_call([LinphoneManager getLc]), [mAddress.text cStringUsingEncoding:[NSString defaultCStringEncoding]]);
} else {
linphone_core_invite_with_params([LinphoneManager getLc],[mAddress.text cStringUsingEncoding:[NSString defaultCStringEncoding]],lcallParams);
}
[UICallButton enableTransforMode:NO];
} else if ( proxyCfg==nil){
UIAlertView* error = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Invalid sip address",nil)
message:NSLocalizedString(@"Either configure a SIP proxy server from settings prior to place a call or use a valid sip address (I.E sip:john@example.net)",nil)
@ -78,12 +94,16 @@
linphone_address_set_display_name(tmpAddress,(lDisplayName)?[lDisplayName cStringUsingEncoding:[NSString defaultCStringEncoding]]:nil);
linphone_core_invite_address_with_params([LinphoneManager getLc],tmpAddress,lcallParams) ;
if (transferMode) {
linphone_core_transfer_call([LinphoneManager getLc], linphone_core_get_current_call([LinphoneManager getLc]), normalizedUserName);
} else {
linphone_core_invite_address_with_params([LinphoneManager getLc],tmpAddress,lcallParams) ;
}
linphone_address_destroy(tmpAddress);
}
linphone_call_params_destroy(lcallParams);
[UICallButton enableTransforMode:NO];
} else if (linphone_core_inc_invite_pending([LinphoneManager getLc])) {
linphone_core_accept_call([LinphoneManager getLc],linphone_core_get_current_call([LinphoneManager getLc]));
}
@ -100,6 +120,7 @@
*/
-(void) initWithAddress:(UITextField*) address{
mAddress=[address retain];
transferMode = NO;
[self addTarget:self action:@selector(touchUp:) forControlEvents:UIControlEventTouchUpInside];
}

View file

@ -106,6 +106,8 @@
[LinphoneManager set:callShort hidden:zeroCall withName:"CALL_SHORT button" andReason:__FUNCTION__];
[LinphoneManager set:backToCallView hidden:zeroCall withName:"BACK button" andReason:__FUNCTION__];
[callShort setTitle:[UICallButton transforModeEnabled] ? @"transfer":@"call" forState:UIControlStateNormal];
if (!callShort.hidden)
[callShort setEnabled:!linphone_core_sound_resources_locked([LinphoneManager getLc])];
} @catch (NSException* exc) {
@ -230,7 +232,6 @@
[myTabBarController setSelectedIndex:DIALER_TAB_INDEX];
[mMainScreenWithVideoPreview showPreview:YES];
}
//status reporting
@ -284,10 +285,19 @@
}
-(void) backToCallViewPressed {
[self displayInCall: nil
[UICallButton enableTransforMode:NO];
[self presentModalViewController:(UIViewController*)mIncallViewController animated:true];
LinphoneCall* call = linphone_core_get_current_call([LinphoneManager getLc]);
if (!call || !linphone_call_params_video_enabled(linphone_call_get_current_params(call)) || linphone_call_get_state(call) != LinphoneCallStreamsRunning) {
[self displayInCall: call
FromUI:nil
forUser:nil
withDisplayName:nil];
} else {
[self displayVideoCall:call FromUI:nil forUser:nil withDisplayName:nil];
}
}
-(void) displayCall: (LinphoneCall*) call InProgressFromUI:(UIViewController*) viewCtrl forUser:(NSString*) username withDisplayName:(NSString*) displayName {
@ -316,6 +326,8 @@
[LinphoneManager set:callLarge hidden:YES withName:"CALL_LARGE button" andReason:__FUNCTION__];
[LinphoneManager set:callShort hidden:NO withName:"CALL_SHORT button" andReason:__FUNCTION__];
[LinphoneManager set:backToCallView hidden:NO withName:"CALL_BACK button" andReason:__FUNCTION__];
[self updateCallAndBackButtons];
}
@ -325,6 +337,7 @@
withDisplayName:displayName];
[mMainScreenWithVideoPreview showPreview:NO];
[self updateCallAndBackButtons];
}
-(void) displayAskToEnableVideoCall:(LinphoneCall*) call forUser:(NSString*) username withDisplayName:(NSString*) displayName {

@ -1 +1 @@
Subproject commit 9a21860f49a6c4c52f5aafbcba84cf960d94b400
Subproject commit d481382fb4c55300737d1f6fc02cecb4d509cc60