mirror of
https://gitlab.linphone.org/BC/public/linphone-iphone.git
synced 2026-01-30 17:59:21 +00:00
Merge branch 'new_ui' into apple_store
This commit is contained in:
commit
7e8e2b7157
20 changed files with 149 additions and 46 deletions
|
|
@ -348,7 +348,7 @@ static void message_status(LinphoneChatMessage* msg,LinphoneChatMessageState sta
|
|||
- (void)saveAndSend:(UIImage*)image url:(NSURL*)url {
|
||||
if(url == nil) {
|
||||
[waitView setHidden:FALSE];
|
||||
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^{
|
||||
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
|
||||
[[LinphoneManager instance].photoLibrary writeImageToSavedPhotosAlbum:image.CGImage
|
||||
orientation:(ALAssetOrientation)[image imageOrientation]
|
||||
completionBlock:^(NSURL *assetURL, NSError *error){
|
||||
|
|
@ -381,7 +381,7 @@ static void message_status(LinphoneChatMessage* msg,LinphoneChatMessageState sta
|
|||
[waitView setHidden:FALSE];
|
||||
|
||||
DTActionSheet *sheet = [[DTActionSheet alloc] initWithTitle:NSLocalizedString(@"Choose the image size", nil)];
|
||||
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^{
|
||||
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
|
||||
//UIImage *image = [original_image normalizedImage];
|
||||
for(NSString *key in [imageQualities allKeys]) {
|
||||
NSNumber *number = [imageQualities objectForKey:key];
|
||||
|
|
|
|||
|
|
@ -183,7 +183,7 @@ static UICompositeViewDescription *compositeDescription = nil;
|
|||
NSString *normalizedSipAddress = [FastAddressBook normalizeSipURI:[NSString stringWithUTF8String:lAddress]];
|
||||
contact = [[[LinphoneManager instance] fastAddressBook] getContact:normalizedSipAddress];
|
||||
if(contact) {
|
||||
image = [FastAddressBook getContactImage:contact thumbnail:false];
|
||||
image = [FastAddressBook getContactImage:contact thumbnail:true];
|
||||
address = [FastAddressBook getContactDisplayName:contact];
|
||||
useLinphoneAddress = false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@
|
|||
#import "LinphoneManager.h"
|
||||
#import "FastAddressBook.h"
|
||||
#import "PhoneMainView.h"
|
||||
#import "UILinphone.h"
|
||||
|
||||
@implementation IncomingCallViewController
|
||||
|
||||
|
|
@ -113,7 +114,8 @@ static UICompositeViewDescription *compositeDescription = nil;
|
|||
- (void)update {
|
||||
[self view]; //Force view load
|
||||
|
||||
UIImage *image = nil;
|
||||
[avatarImage setImage:[UIImage imageNamed:@"avatar_unknown.png"]];
|
||||
|
||||
NSString* address = nil;
|
||||
const LinphoneAddress* addr = linphone_call_get_remote_address(call);
|
||||
if (addr != NULL) {
|
||||
|
|
@ -124,7 +126,15 @@ static UICompositeViewDescription *compositeDescription = nil;
|
|||
NSString *normalizedSipAddress = [FastAddressBook normalizeSipURI:[NSString stringWithUTF8String:lAddress]];
|
||||
ABRecordRef contact = [[[LinphoneManager instance] fastAddressBook] getContact:normalizedSipAddress];
|
||||
if(contact) {
|
||||
image = [FastAddressBook getContactImage:contact thumbnail:false];
|
||||
UIImage *tmpImage = [FastAddressBook getContactImage:contact thumbnail:false];
|
||||
if(tmpImage != nil) {
|
||||
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, (unsigned long)NULL), ^(void) {
|
||||
UIImage *tmpImage2 = [UIImage decodedImageWithImage:tmpImage];
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
avatarImage.image = tmpImage2;
|
||||
});
|
||||
});
|
||||
}
|
||||
address = [FastAddressBook getContactDisplayName:contact];
|
||||
useLinphoneAddress = false;
|
||||
}
|
||||
|
|
@ -140,12 +150,6 @@ static UICompositeViewDescription *compositeDescription = nil;
|
|||
}
|
||||
}
|
||||
|
||||
// Set Image
|
||||
if(image == nil) {
|
||||
image = [UIImage imageNamed:@"avatar_unknown.png"];
|
||||
}
|
||||
[avatarImage setImage:image];
|
||||
|
||||
// Set Address
|
||||
if(address == nil) {
|
||||
address = @"Unknown";
|
||||
|
|
|
|||
|
|
@ -201,7 +201,8 @@ extern void linphone_iphone_log_handler(int lev, const char *fmt, va_list args);
|
|||
[self setString:val forKey:@"media_encryption_preference"];
|
||||
}
|
||||
[self setString: lp_config_get_string(linphone_core_get_config(lc), LINPHONERC_APPLICATION_KEY, "rotation_preference", "auto") forKey:@"rotation_preference"];
|
||||
[self setBool: lp_config_get_int(linphone_core_get_config(lc), LINPHONERC_APPLICATION_KEY, "enable_first_login_view_preference", 0) forKey:@"enable_first_login_view_preference"];
|
||||
[self setBool: lp_config_get_int(linphone_core_get_config(lc), LINPHONERC_APPLICATION_KEY, "edge_opt_preference", 0) forKey:@"edge_opt_preference"];
|
||||
[self setBool: lp_config_get_int(linphone_core_get_config(lc), LINPHONERC_APPLICATION_KEY, "enable_first_login_view_preference", 0) forKey:@"enable_first_login_view_preference"];
|
||||
[self setBool: lp_config_get_int(linphone_core_get_config(lc), LINPHONERC_APPLICATION_KEY, "debugenable_preference", 0) forKey:@"debugenable_preference"];
|
||||
[self setBool: lp_config_get_int(linphone_core_get_config(lc), LINPHONERC_APPLICATION_KEY, "animations_preference", 1) forKey:@"animations_preference"];
|
||||
[self setBool: lp_config_get_int(linphone_core_get_config(lc), LINPHONERC_APPLICATION_KEY, "wifi_only_preference", 0) forKey:@"wifi_only_preference"];
|
||||
|
|
@ -575,11 +576,15 @@ extern void linphone_iphone_log_handler(int lev, const char *fmt, va_list args);
|
|||
} else {
|
||||
isbackgroundModeEnabled = false;
|
||||
}
|
||||
|
||||
lp_config_set_int(linphone_core_get_config(lc), LINPHONERC_APPLICATION_KEY, "backgroundmode_preference", isbackgroundModeEnabled);
|
||||
|
||||
BOOL firstloginview = [self boolForKey:@"enable_first_login_view_preference"];
|
||||
lp_config_set_int(linphone_core_get_config(lc), LINPHONERC_APPLICATION_KEY, "enable_first_login_view_preference", firstloginview);
|
||||
|
||||
BOOL edgeOpt = [self boolForKey:@"edge_opt_preference"];
|
||||
lp_config_set_int(linphone_core_get_config(lc), LINPHONERC_APPLICATION_KEY, "edge_opt_preference", edgeOpt);
|
||||
|
||||
NSString *landscape = [self stringForKey:@"rotation_preference"];
|
||||
lp_config_set_string(linphone_core_get_config(lc), LINPHONERC_APPLICATION_KEY, "rotation_preference", [landscape UTF8String]);
|
||||
|
||||
|
|
|
|||
|
|
@ -48,10 +48,19 @@ extern NSString *const kLinphoneSettingsUpdate;
|
|||
|
||||
extern NSString *const kContactSipField;
|
||||
|
||||
typedef enum _NetworkType {
|
||||
network_none = 0,
|
||||
network_2g,
|
||||
network_3g,
|
||||
network_4g,
|
||||
network_lte,
|
||||
network_wifi
|
||||
} NetworkType;
|
||||
|
||||
typedef enum _Connectivity {
|
||||
wifi,
|
||||
wwan
|
||||
,none
|
||||
wwan,
|
||||
none
|
||||
} Connectivity;
|
||||
|
||||
/* Application specific call context */
|
||||
|
|
@ -127,6 +136,7 @@ typedef struct _LinphoneManagerSounds {
|
|||
+ (NSString*)bundleFile:(NSString*)file;
|
||||
+ (NSString*)documentFile:(NSString*)file;
|
||||
|
||||
- (void)acceptCall:(LinphoneCall *)call;
|
||||
- (void)call:(NSString *)address displayName:(NSString*)displayName transfer:(BOOL)transfer;
|
||||
|
||||
- (void)lpConfigSetString:(NSString*)value forKey:(NSString*)key;
|
||||
|
|
@ -144,6 +154,7 @@ typedef struct _LinphoneManagerSounds {
|
|||
|
||||
@property (readonly) FastAddressBook* fastAddressBook;
|
||||
@property Connectivity connectivity;
|
||||
@property (readonly) NetworkType network;
|
||||
@property (readonly) const char* frontCamId;
|
||||
@property (readonly) const char* backCamId;
|
||||
@property (readonly) sqlite3* database;
|
||||
|
|
|
|||
|
|
@ -96,6 +96,7 @@ extern void libmsbcg729_init();
|
|||
@implementation LinphoneManager
|
||||
|
||||
@synthesize connectivity;
|
||||
@synthesize network;
|
||||
@synthesize frontCamId;
|
||||
@synthesize backCamId;
|
||||
@synthesize database;
|
||||
|
|
@ -142,7 +143,7 @@ struct codec_name_pref_table codec_pref_table[]={
|
|||
+ (NSSet *)unsupportedCodecs {
|
||||
NSMutableSet *set = [NSMutableSet set];
|
||||
for(int i=0;codec_pref_table[i].name!=NULL;++i) {
|
||||
if(linphone_core_find_payload_type([LinphoneManager getLc],codec_pref_table[i].name
|
||||
if(linphone_core_find_payload_type(theLinphoneCore,codec_pref_table[i].name
|
||||
, codec_pref_table[i].rate,LINPHONE_FIND_PAYLOAD_IGNORE_CHANNELS) == NULL) {
|
||||
[set addObject:codec_pref_table[i].prefname];
|
||||
}
|
||||
|
|
@ -395,7 +396,7 @@ static void linphone_iphone_display_status(struct _LinphoneCore * lc, const char
|
|||
/*should we reject this call ?*/
|
||||
if ([lCTCallCenter currentCalls]!=nil) {
|
||||
[LinphoneLogger logc:LinphoneLoggerLog format:"Mobile call ongoing... rejecting call from [%s]",linphone_address_get_username(linphone_call_get_call_log(call)->from)];
|
||||
linphone_core_decline_call([LinphoneManager getLc], call,LinphoneReasonBusy);
|
||||
linphone_core_decline_call(theLinphoneCore, call,LinphoneReasonBusy);
|
||||
[lCTCallCenter release];
|
||||
return;
|
||||
}
|
||||
|
|
@ -469,7 +470,7 @@ static void linphone_iphone_display_status(struct _LinphoneCore * lc, const char
|
|||
|
||||
// Disable speaker when no more call
|
||||
if ((state == LinphoneCallEnd || state == LinphoneCallError)) {
|
||||
if(linphone_core_get_calls_nb([LinphoneManager getLc]) == 0) {
|
||||
if(linphone_core_get_calls_nb(theLinphoneCore) == 0) {
|
||||
[self setSpeakerEnabled:FALSE];
|
||||
[self removeCTCallCenterCb];
|
||||
}
|
||||
|
|
@ -641,18 +642,18 @@ void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach
|
|||
LinphoneManager* lLinphoneMgr = [LinphoneManager instance];
|
||||
SCNetworkReachabilityFlags networkDownFlags=kSCNetworkReachabilityFlagsConnectionRequired |kSCNetworkReachabilityFlagsConnectionOnTraffic | kSCNetworkReachabilityFlagsConnectionOnDemand;
|
||||
|
||||
if ([LinphoneManager getLc] != nil) {
|
||||
if (theLinphoneCore != nil) {
|
||||
LinphoneProxyConfig* proxy;
|
||||
linphone_core_get_default_proxy([LinphoneManager getLc], &proxy);
|
||||
linphone_core_get_default_proxy(theLinphoneCore, &proxy);
|
||||
|
||||
struct NetworkReachabilityContext* ctx = nilCtx ? ((struct NetworkReachabilityContext*)nilCtx) : 0;
|
||||
if ((flags == 0) || (flags & networkDownFlags)) {
|
||||
linphone_core_set_network_reachable([LinphoneManager getLc],false);
|
||||
linphone_core_set_network_reachable(theLinphoneCore, false);
|
||||
lLinphoneMgr.connectivity = none;
|
||||
[LinphoneManager kickOffNetworkConnection];
|
||||
} else {
|
||||
Connectivity newConnectivity;
|
||||
BOOL isWifiOnly = lp_config_get_int(linphone_core_get_config([LinphoneManager getLc]), LINPHONERC_APPLICATION_KEY, "wifi_only_preference",FALSE);
|
||||
BOOL isWifiOnly = lp_config_get_int(linphone_core_get_config(theLinphoneCore), LINPHONERC_APPLICATION_KEY, "wifi_only_preference",FALSE);
|
||||
if (!ctx || ctx->testWWan)
|
||||
newConnectivity = flags & kSCNetworkReachabilityFlagsIsWWAN ? wwan:wifi;
|
||||
else
|
||||
|
|
@ -672,11 +673,11 @@ void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach
|
|||
|
||||
if (lLinphoneMgr.connectivity != newConnectivity) {
|
||||
// connectivity has changed
|
||||
linphone_core_set_network_reachable([LinphoneManager getLc],false);
|
||||
linphone_core_set_network_reachable(theLinphoneCore,false);
|
||||
if (newConnectivity == wwan && proxy && isWifiOnly) {
|
||||
linphone_proxy_config_expires(proxy, 0);
|
||||
}
|
||||
linphone_core_set_network_reachable([LinphoneManager getLc],true);
|
||||
linphone_core_set_network_reachable(theLinphoneCore,true);
|
||||
[LinphoneLogger logc:LinphoneLoggerLog format:"Network connectivity changed to type [%s]",(newConnectivity==wifi?"wifi":"wwan")];
|
||||
[lLinphoneMgr waitForRegisterToArrive];
|
||||
}
|
||||
|
|
@ -720,6 +721,21 @@ void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach
|
|||
}
|
||||
}
|
||||
|
||||
- (NetworkType)network {
|
||||
UIApplication *app = [UIApplication sharedApplication];
|
||||
NSArray *subviews = [[[app valueForKey:@"statusBar"] valueForKey:@"foregroundView"] subviews];
|
||||
NSNumber *dataNetworkItemView = nil;
|
||||
|
||||
for (id subview in subviews) {
|
||||
if([subview isKindOfClass:[NSClassFromString(@"UIStatusBarDataNetworkItemView") class]]) {
|
||||
dataNetworkItemView = subview;
|
||||
break;
|
||||
}
|
||||
}
|
||||
NSNumber *number = (NSNumber*)[dataNetworkItemView valueForKey:@"dataNetworkType"];
|
||||
return [number intValue];
|
||||
}
|
||||
|
||||
|
||||
#pragma mark -
|
||||
|
||||
|
|
@ -910,10 +926,10 @@ static int comp_call_id(const LinphoneCall* call , const char *callid) {
|
|||
- (void)acceptCallForCallId:(NSString*)callid {
|
||||
//first, make sure this callid is not already involved in a call
|
||||
if ([LinphoneManager isLcReady]) {
|
||||
MSList* calls = (MSList*)linphone_core_get_calls([LinphoneManager getLc]);
|
||||
MSList* calls = (MSList*)linphone_core_get_calls(theLinphoneCore);
|
||||
MSList* call = ms_list_find_custom(calls, (MSCompareFunc)comp_call_id, [callid UTF8String]);
|
||||
if (call != NULL) {
|
||||
linphone_core_accept_call(theLinphoneCore, (LinphoneCall*)call->data);
|
||||
[self acceptCall:(LinphoneCall*)call->data];
|
||||
return;
|
||||
};
|
||||
}
|
||||
|
|
@ -922,7 +938,7 @@ static int comp_call_id(const LinphoneCall* call , const char *callid) {
|
|||
- (void)enableAutoAnswerForCallId:(NSString*) callid {
|
||||
//first, make sure this callid is not already involved in a call
|
||||
if ([LinphoneManager isLcReady]) {
|
||||
MSList* calls = (MSList*)linphone_core_get_calls([LinphoneManager getLc]);
|
||||
MSList* calls = (MSList*)linphone_core_get_calls(theLinphoneCore);
|
||||
if (ms_list_find_custom(calls, (MSCompareFunc)comp_call_id, [callid UTF8String])) {
|
||||
[LinphoneLogger log:LinphoneLoggerWarning format:@"Call id [%@] already handled",callid];
|
||||
return;
|
||||
|
|
@ -1121,6 +1137,18 @@ static void audioRouteChangeListenerCallback (
|
|||
|
||||
#pragma mark - Call Functions
|
||||
|
||||
- (void)acceptCall:(LinphoneCall *)call {
|
||||
LinphoneCallParams* lcallParams = linphone_core_create_default_call_parameters(theLinphoneCore);
|
||||
if([self lpConfigBoolForKey:@"edge_opt_preference"]) {
|
||||
bool low_bandwidth = self.network == network_2g;
|
||||
if(low_bandwidth) {
|
||||
[LinphoneLogger log:LinphoneLoggerDebug format:@"Low bandwidth mode"];
|
||||
}
|
||||
linphone_call_params_enable_low_bandwidth(lcallParams, low_bandwidth);
|
||||
}
|
||||
linphone_core_accept_call_with_params(theLinphoneCore,call, lcallParams);
|
||||
}
|
||||
|
||||
- (void)call:(NSString *)address displayName:(NSString*)displayName transfer:(BOOL)transfer {
|
||||
if (!linphone_core_is_network_reachable(theLinphoneCore)) {
|
||||
UIAlertView* error = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Network Error",nil)
|
||||
|
|
@ -1150,8 +1178,15 @@ static void audioRouteChangeListenerCallback (
|
|||
|
||||
LinphoneProxyConfig* proxyCfg;
|
||||
//get default proxy
|
||||
linphone_core_get_default_proxy([LinphoneManager getLc],&proxyCfg);
|
||||
LinphoneCallParams* lcallParams = linphone_core_create_default_call_parameters([LinphoneManager getLc]);
|
||||
linphone_core_get_default_proxy(theLinphoneCore,&proxyCfg);
|
||||
LinphoneCallParams* lcallParams = linphone_core_create_default_call_parameters(theLinphoneCore);
|
||||
if([self lpConfigBoolForKey:@"edge_opt_preference"]) {
|
||||
bool low_bandwidth = self.network == network_2g;
|
||||
if(low_bandwidth) {
|
||||
[LinphoneLogger log:LinphoneLoggerDebug format:@"Low bandwidth mode"];
|
||||
}
|
||||
linphone_call_params_enable_low_bandwidth(lcallParams, low_bandwidth);
|
||||
}
|
||||
LinphoneCall* call=NULL;
|
||||
|
||||
if ([address length] == 0) return; //just return
|
||||
|
|
@ -1161,9 +1196,9 @@ static void audioRouteChangeListenerCallback (
|
|||
linphone_address_set_display_name(linphoneAddress,[displayName cStringUsingEncoding:[NSString defaultCStringEncoding]]);
|
||||
}
|
||||
if(transfer) {
|
||||
linphone_core_transfer_call([LinphoneManager getLc], linphone_core_get_current_call([LinphoneManager getLc]), [address cStringUsingEncoding:[NSString defaultCStringEncoding]]);
|
||||
linphone_core_transfer_call(theLinphoneCore, linphone_core_get_current_call(theLinphoneCore), [address cStringUsingEncoding:[NSString defaultCStringEncoding]]);
|
||||
} else {
|
||||
call=linphone_core_invite_address_with_params([LinphoneManager getLc], linphoneAddress, lcallParams);
|
||||
call=linphone_core_invite_address_with_params(theLinphoneCore, linphoneAddress, lcallParams);
|
||||
}
|
||||
linphone_address_destroy(linphoneAddress);
|
||||
} else if (proxyCfg==nil){
|
||||
|
|
@ -1176,16 +1211,16 @@ static void audioRouteChangeListenerCallback (
|
|||
[error release];
|
||||
} else {
|
||||
char normalizedUserName[256];
|
||||
LinphoneAddress* linphoneAddress = linphone_address_new(linphone_core_get_identity([LinphoneManager getLc]));
|
||||
LinphoneAddress* linphoneAddress = linphone_address_new(linphone_core_get_identity(theLinphoneCore));
|
||||
linphone_proxy_config_normalize_number(proxyCfg,[address cStringUsingEncoding:[NSString defaultCStringEncoding]],normalizedUserName,sizeof(normalizedUserName));
|
||||
linphone_address_set_username(linphoneAddress, normalizedUserName);
|
||||
if(displayName!=nil) {
|
||||
linphone_address_set_display_name(linphoneAddress, [displayName cStringUsingEncoding:[NSString defaultCStringEncoding]]);
|
||||
}
|
||||
if(transfer) {
|
||||
linphone_core_transfer_call([LinphoneManager getLc], linphone_core_get_current_call([LinphoneManager getLc]), normalizedUserName);
|
||||
linphone_core_transfer_call(theLinphoneCore, linphone_core_get_current_call(theLinphoneCore), normalizedUserName);
|
||||
} else {
|
||||
call=linphone_core_invite_address_with_params([LinphoneManager getLc], linphoneAddress, lcallParams);
|
||||
call=linphone_core_invite_address_with_params(theLinphoneCore, linphoneAddress, lcallParams);
|
||||
}
|
||||
linphone_address_destroy(linphoneAddress);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -61,9 +61,11 @@
|
|||
self.address = [FastAddressBook getContactDisplayName:contact];
|
||||
UIImage *tmpImage = [FastAddressBook getContactImage:contact thumbnail:false];
|
||||
if(tmpImage != nil) {
|
||||
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, (unsigned long)NULL), ^(void) {
|
||||
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, (unsigned long)NULL), ^(void) {
|
||||
UIImage *tmpImage2 = [UIImage decodedImageWithImage:tmpImage];
|
||||
self.image = tmpImage2;
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
[self setImage: tmpImage2];
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="8.00">
|
||||
<data>
|
||||
<int key="IBDocument.SystemTarget">1536</int>
|
||||
<string key="IBDocument.SystemVersion">11G56</string>
|
||||
<string key="IBDocument.SystemVersion">11G63</string>
|
||||
<string key="IBDocument.InterfaceBuilderVersion">2840</string>
|
||||
<string key="IBDocument.AppKitVersion">1138.51</string>
|
||||
<string key="IBDocument.HIToolboxVersion">569.00</string>
|
||||
|
|
@ -35,7 +35,7 @@
|
|||
</object>
|
||||
<object class="IBUIView" id="316763236">
|
||||
<reference key="NSNextResponder"/>
|
||||
<int key="NSvFlags">274</int>
|
||||
<int key="NSvFlags">290</int>
|
||||
<array class="NSMutableArray" key="NSSubviews">
|
||||
<object class="IBUIImageView" id="567463562">
|
||||
<reference key="NSNextResponder" ref="316763236"/>
|
||||
|
|
|
|||
|
|
@ -127,7 +127,7 @@ static UIFont *CELL_FONT = nil;
|
|||
[messageImageView startLoading];
|
||||
ChatModel *achat = chat;
|
||||
[[LinphoneManager instance].photoLibrary assetForURL:[NSURL URLWithString:[chat message]] resultBlock:^(ALAsset *asset) {
|
||||
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, (unsigned long)NULL), ^(void) {
|
||||
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, (unsigned long)NULL), ^(void) {
|
||||
ALAssetRepresentation* representation = [asset defaultRepresentation];
|
||||
UIImage *image = [UIImage imageWithCGImage:[representation fullResolutionImage]
|
||||
scale:representation.scale
|
||||
|
|
|
|||
|
|
@ -565,7 +565,7 @@ static PhoneMainView* phoneMainViewInstance=nil;
|
|||
if (![[UIDevice currentDevice] respondsToSelector:@selector(isMultitaskingSupported)]
|
||||
|| [UIApplication sharedApplication].applicationState == UIApplicationStateActive) {
|
||||
if ([[LinphoneManager instance] shouldAutoAcceptCallForCallId:callId]){
|
||||
linphone_core_accept_call(linphone_call_get_core(call),call);
|
||||
[[LinphoneManager instance] acceptCall:call];
|
||||
}else{
|
||||
IncomingCallViewController *controller = DYNAMIC_CAST([self changeCurrentView:[IncomingCallViewController compositeViewDescription] push:TRUE],IncomingCallViewController);
|
||||
if(controller != nil) {
|
||||
|
|
@ -607,7 +607,7 @@ static PhoneMainView* phoneMainViewInstance=nil;
|
|||
}
|
||||
|
||||
- (void)incomingCallAccepted:(LinphoneCall*)call {
|
||||
linphone_core_accept_call([LinphoneManager getLc], call);
|
||||
[[LinphoneManager instance] acceptCall:call];
|
||||
}
|
||||
|
||||
- (void)incomingCallDeclined:(LinphoneCall*)call {
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@ firewall_policy=0
|
|||
[app]
|
||||
rotation_preference=auto
|
||||
animations_preference=1
|
||||
edge_opt_preference=0
|
||||
|
||||
[default_values]
|
||||
reg_expires=600
|
||||
|
|
@ -2,8 +2,8 @@
|
|||
download_bw=380
|
||||
upload_bw=380
|
||||
mtu=1300
|
||||
activate_edge_workarounds=1
|
||||
edge_ping_time=200
|
||||
activate_edge_workarounds=0
|
||||
edge_ping_time=10
|
||||
edge_bw=10
|
||||
|
||||
[sip]
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
download_bw=512
|
||||
upload_bw=512
|
||||
mtu=1300
|
||||
activate_edge_workarounds=1
|
||||
activate_edge_workarounds=0
|
||||
edge_ping_time=200
|
||||
edge_bw=10
|
||||
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@ firewall_policy=0
|
|||
[app]
|
||||
rotation_preference=auto
|
||||
animations_preference=1
|
||||
edge_opt_preference=0
|
||||
|
||||
[default_values]
|
||||
reg_expires=600
|
||||
|
|
@ -4,6 +4,16 @@
|
|||
<dict>
|
||||
<key>PreferenceSpecifiers</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>DefaultValue</key>
|
||||
<false/>
|
||||
<key>Key</key>
|
||||
<string>edge_opt_preference</string>
|
||||
<key>Title</key>
|
||||
<string>Edge optimization</string>
|
||||
<key>Type</key>
|
||||
<string>PSToggleSwitchSpecifier</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>DefaultValue</key>
|
||||
<false/>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
/* Wifi only */
|
||||
"Wifi only" = "Wifi only";
|
||||
|
||||
/* Edge optimization */
|
||||
"Edge optimization" = "Edge optimization";
|
||||
|
||||
/* Stun Server */
|
||||
"Stun Server" = "Stun Server";
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
/* Wifi only */
|
||||
"Wifi only" = "Uniquement Wifi";
|
||||
|
||||
/* Edge optimization */
|
||||
"Edge optimization" = "Optimisation Edge";
|
||||
|
||||
/* Stun Server */
|
||||
"Stun Server" = "Serveur Stun";
|
||||
|
||||
|
|
|
|||
|
|
@ -17452,7 +17452,7 @@ Raison: %2$s</string>
|
|||
</dict>
|
||||
</dict>
|
||||
<key>change date</key>
|
||||
<date>2012-11-13T09:28:24Z</date>
|
||||
<date>2012-12-03T14:20:32Z</date>
|
||||
<key>changed values</key>
|
||||
<array/>
|
||||
<key>class</key>
|
||||
|
|
@ -17462,7 +17462,7 @@ Raison: %2$s</string>
|
|||
<key>flags</key>
|
||||
<integer>0</integer>
|
||||
<key>hash</key>
|
||||
<string>7220a3af4b5567ce1842c8a01759b1c9
|
||||
<string>61504fb6dc1719749e72de751676a9cf
|
||||
</string>
|
||||
<key>name</key>
|
||||
<string>Network.strings</string>
|
||||
|
|
@ -17493,6 +17493,31 @@ Raison: %2$s</string>
|
|||
<key>snapshots</key>
|
||||
<dict/>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>change date</key>
|
||||
<date>2001-01-01T00:00:00Z</date>
|
||||
<key>changed values</key>
|
||||
<array/>
|
||||
<key>class</key>
|
||||
<string>BLStringKeyObject</string>
|
||||
<key>comment</key>
|
||||
<string>Edge optimization</string>
|
||||
<key>errors</key>
|
||||
<array/>
|
||||
<key>flags</key>
|
||||
<integer>0</integer>
|
||||
<key>key</key>
|
||||
<string>Edge optimization</string>
|
||||
<key>localizations</key>
|
||||
<dict>
|
||||
<key>en</key>
|
||||
<string>Edge optimization</string>
|
||||
<key>fr</key>
|
||||
<string>Optimisation Edge</string>
|
||||
</dict>
|
||||
<key>snapshots</key>
|
||||
<dict/>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>change date</key>
|
||||
<date>2001-01-01T00:00:00Z</date>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
/* Wifi only */
|
||||
"Wifi only" = "Wifi only";
|
||||
|
||||
/* Edge optimization */
|
||||
"Edge optimization" = "Edge optimization";
|
||||
|
||||
/* Stun Server */
|
||||
"Stun Server" = "Stun Server";
|
||||
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
Subproject commit 501c5ce4db223514bdb9090405b264e862c028ad
|
||||
Subproject commit 243016a976f22ba31059aced9b5c748edb133e55
|
||||
Loading…
Add table
Reference in a new issue