Add buttons to select the audio route (bluetooth, receiver, speaker).

This commit is contained in:
Ghislain MARY 2013-03-14 11:54:18 +01:00
parent 799f149d3b
commit 9f3a9b3737
42 changed files with 3426 additions and 1417 deletions

View file

@ -45,6 +45,7 @@ extern NSString *const kLinphoneMainViewChange;
extern NSString *const kLinphoneAddressBookUpdate;
extern NSString *const kLinphoneLogsUpdate;
extern NSString *const kLinphoneSettingsUpdate;
extern NSString *const kLinphoneBluetoothAvailabilityUpdate;
extern NSString *const kContactSipField;
@ -164,6 +165,8 @@ typedef struct _LinphoneManagerSounds {
@property (readonly) LinphoneManagerSounds sounds;
@property (readonly) NSMutableArray *logs;
@property (nonatomic, assign) BOOL speakerEnabled;
@property (nonatomic, assign) BOOL bluetoothAvailable;
@property (nonatomic, assign) BOOL bluetoothEnabled;
@property (readonly) ALAssetsLibrary *photoLibrary;
@end

View file

@ -56,6 +56,7 @@ NSString *const kLinphoneAddressBookUpdate = @"LinphoneAddressBookUpdate";
NSString *const kLinphoneMainViewChange = @"LinphoneMainViewChange";
NSString *const kLinphoneLogsUpdate = @"LinphoneLogsUpdate";
NSString *const kLinphoneSettingsUpdate = @"LinphoneSettingsUpdate";
NSString *const kLinphoneBluetoothAvailabilityUpdate = @"LinphoneBluetoothAvailabilityUpdate";
NSString *const kContactSipField = @"SIP";
@ -105,6 +106,8 @@ extern void libmsbcg729_init();
@synthesize sounds;
@synthesize logs;
@synthesize speakerEnabled;
@synthesize bluetoothAvailable;
@synthesize bluetoothEnabled;
@synthesize photoLibrary;
struct codec_name_pref_table{
@ -235,6 +238,7 @@ struct codec_name_pref_table codec_pref_table[]={
logs = [[NSMutableArray alloc] init];
database = NULL;
speakerEnabled = FALSE;
bluetoothEnabled = FALSE;
[self openDatabase];
[self copyDefaultSettings];
pendindCallIdFromRemoteNotif = [[NSMutableArray alloc] init ];
@ -466,6 +470,8 @@ static void linphone_iphone_display_status(struct _LinphoneCore * lc, const char
if(linphone_core_get_calls_nb(theLinphoneCore) == 0) {
[self setSpeakerEnabled:FALSE];
[self removeCTCallCenterCb];
bluetoothAvailable = FALSE;
bluetoothEnabled = FALSE;
}
if (incallBgTask) {
[[UIApplication sharedApplication] endBackgroundTask:incallBgTask];
@ -1087,7 +1093,6 @@ static int comp_call_state_paused (const LinphoneCall* call, const void* param)
/*IOS specific*/
linphone_core_start_dtmf_stream(theLinphoneCore);
}
@ -1119,7 +1124,7 @@ static int comp_call_state_paused (const LinphoneCall* call, const void* param)
}
#pragma mark - Speaker Functions
#pragma mark - Audio route Functions
- (bool)allowSpeaker {
bool notallow = false;
@ -1147,35 +1152,63 @@ static void audioRouteChangeListenerCallback (
if (inPropertyID != kAudioSessionProperty_AudioRouteChange) return; // 5
LinphoneManager* lm = (LinphoneManager*)inUserData;
bool enabled = false;
bool speakerEnabled = false;
CFStringRef lNewRoute = CFSTR("Unknown");
UInt32 lNewRouteSize = sizeof(lNewRoute);
OSStatus lStatus = AudioSessionGetProperty(kAudioSessionProperty_AudioRoute, &lNewRouteSize, &lNewRoute);
if (!lStatus && lNewRouteSize > 0) {
NSString *route = (NSString *) lNewRoute;
[LinphoneLogger logc:LinphoneLoggerLog format:"Current audio route is [%s]", [route cStringUsingEncoding:[NSString defaultCStringEncoding]]];
enabled = [route isEqualToString: @"Speaker"] || [route isEqualToString: @"SpeakerAndMicrophone"];
speakerEnabled = [route isEqualToString: @"Speaker"] || [route isEqualToString: @"SpeakerAndMicrophone"];
if (![LinphoneManager runningOnIpad] && [route isEqualToString:@"HeadsetBT"] && !speakerEnabled) {
lm.bluetoothEnabled = TRUE;
lm.bluetoothAvailable = TRUE;
NSDictionary* dict = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithBool:lm.bluetoothAvailable], @"available", nil];
[[NSNotificationCenter defaultCenter] postNotificationName:kLinphoneBluetoothAvailabilityUpdate object:lm userInfo:dict];
} else {
lm.bluetoothEnabled = FALSE;
}
CFRelease(lNewRoute);
}
if(enabled != lm.speakerEnabled) { // Reforce value
if(speakerEnabled != lm.speakerEnabled) { // Reforce value
lm.speakerEnabled = lm.speakerEnabled;
}
}
- (void)setSpeakerEnabled:(BOOL)enable {
speakerEnabled = enable;
if(enable && [self allowSpeaker]) {
UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker;
UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker;
AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute
, sizeof (audioRouteOverride)
, &audioRouteOverride);
bluetoothEnabled = FALSE;
} else {
UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_None;
UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_None;
AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute
, sizeof (audioRouteOverride)
, &audioRouteOverride);
}
if (bluetoothAvailable) {
UInt32 bluetoothInputOverride = bluetoothEnabled;
AudioSessionSetProperty(kAudioSessionProperty_OverrideCategoryEnableBluetoothInput, sizeof(bluetoothInputOverride), &bluetoothInputOverride);
}
}
- (void)setBluetoothEnabled:(BOOL)enable {
if (bluetoothAvailable) {
// The change of route will be done in setSpeakerEnabled
bluetoothEnabled = enable;
if (bluetoothEnabled) {
[self setSpeakerEnabled:FALSE];
} else {
[self setSpeakerEnabled:speakerEnabled];
}
}
}
#pragma mark - Call Functions

View file

@ -35,11 +35,15 @@
@property (nonatomic, retain) IBOutlet UIVideoButton* videoButton;
@property (nonatomic, retain) IBOutlet UIMicroButton* microButton;
@property (nonatomic, retain) IBOutlet UISpeakerButton* speakerButton;
@property (nonatomic, retain) IBOutlet UIToggleButton* routesButton;
@property (nonatomic, retain) IBOutlet UIToggleButton* optionsButton;
@property (nonatomic, retain) IBOutlet UIHangUpButton* hangupButton;
@property (nonatomic, retain) IBOutlet UIView* padView;
@property (nonatomic, retain) IBOutlet UIView* routesView;
@property (nonatomic, retain) IBOutlet UIView* optionsView;
@property (nonatomic, retain) IBOutlet UIButton* routesReceiverButton;
@property (nonatomic, retain) IBOutlet UIButton* routesSpeakerButton;
@property (nonatomic, retain) IBOutlet UIButton* routesBluetoothButton;
@property (nonatomic, retain) IBOutlet UIButton* optionsAddButton;
@property (nonatomic, retain) IBOutlet UIButton* optionsTransferButton;
@property (nonatomic, retain) IBOutlet UIToggleButton* dialerButton;
@ -57,6 +61,10 @@
@property (nonatomic, retain) IBOutlet UIDigitButton* zeroButton;
@property (nonatomic, retain) IBOutlet UIDigitButton* sharpButton;
- (IBAction)onRoutesClick:(id)sender;
- (IBAction)onRoutesBluetoothClick:(id)sender;
- (IBAction)onRoutesReceiverClick:(id)sender;
- (IBAction)onRoutesSpeakerClick:(id)sender;
- (IBAction)onOptionsClick:(id)sender;
- (IBAction)onOptionsTransferClick:(id)sender;
- (IBAction)onOptionsAddClick:(id)sender;

View file

@ -31,15 +31,19 @@
@synthesize conferenceButton;
@synthesize videoButton;
@synthesize microButton;
@synthesize speakerButton;
@synthesize speakerButton;
@synthesize routesButton;
@synthesize optionsButton;
@synthesize hangupButton;
@synthesize routesBluetoothButton;
@synthesize routesReceiverButton;
@synthesize routesSpeakerButton;
@synthesize optionsAddButton;
@synthesize optionsTransferButton;
@synthesize dialerButton;
@synthesize padView;
@synthesize routesView;
@synthesize optionsView;
@synthesize oneButton;
@ -67,9 +71,12 @@
[conferenceButton release];
[videoButton release];
[microButton release];
[speakerButton release];
[speakerButton release];
[routesButton release];
[optionsButton release];
[routesBluetoothButton release];
[routesReceiverButton release];
[routesSpeakerButton release];
[optionsAddButton release];
[optionsTransferButton release];
[dialerButton release];
@ -88,6 +95,7 @@
[sharpButton release];
[padView release];
[routesView release];
[optionsView release];
[[NSNotificationCenter defaultCenter] removeObserver:self];
@ -125,7 +133,7 @@
[starButton setDtmf:true];
[sharpButton setDigit:'#'];
[sharpButton setDtmf:true];
{
UIButton *videoButtonLandscape = (UIButton*)[landscapeView viewWithTag:[videoButton tag]];
// Set selected+disabled background: IB lack !
@ -162,6 +170,18 @@
[LinphoneUtils buttonFixStates:speakerButtonLandscape];
}
if (![LinphoneManager runningOnIpad]) {
UIButton *routesButtonLandscape = (UIButton*) [landscapeView viewWithTag:[routesButton tag]];
// Set selected+over background: IB lack !
[routesButton setBackgroundImage:[UIImage imageNamed:@"routes_over.png"]
forState:(UIControlStateHighlighted | UIControlStateSelected)];
[routesButtonLandscape setBackgroundImage:[UIImage imageNamed:@"routes_over_landscape.png"]
forState:(UIControlStateHighlighted | UIControlStateSelected)];
[LinphoneUtils buttonFixStates:routesButton];
[LinphoneUtils buttonFixStates:routesButtonLandscape];
}
{
UIButton *microButtonLandscape = (UIButton*) [landscapeView viewWithTag:[microButton tag]];
// Set selected+disabled background: IB lack !
@ -226,12 +246,18 @@
selector:@selector(callUpdateEvent:)
name:kLinphoneCallUpdate
object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(bluetoothAvailabilityUpdateEvent:)
name:kLinphoneBluetoothAvailabilityUpdate
object:nil];
// Update on show
LinphoneCall* call = linphone_core_get_current_call([LinphoneManager getLc]);
LinphoneCallState state = (call != NULL)?linphone_call_get_state(call): 0;
[self callUpdate:call state:state];
[self hideRoutes:FALSE];
[self hideOptions:FALSE];
[self hidePad:FALSE];
[self showSpeaker];
}
- (void)viewWillDisappear:(BOOL)animated {
@ -254,6 +280,11 @@
[self callUpdate:call state:state];
}
- (void)bluetoothAvailabilityUpdateEvent:(NSNotification*)notif {
bool available = [[notif.userInfo objectForKey:@"available"] intValue];
[self bluetoothAvailabilityUpdate:available];
}
#pragma mark -
@ -314,13 +345,22 @@
LinphoneCallOutgoing:
[self hidePad:TRUE];
[self hideOptions:TRUE];
[self hideRoutes:TRUE];
default:
break;
}
}
- (void)bluetoothAvailabilityUpdate:(bool)available {
if (available) {
[self hideSpeaker];
} else {
[self showSpeaker];
}
}
#pragma mark -
#pragma mark -
- (void)showAnimation:(NSString*)animationID target:(UIView*)target completion:(void (^)(BOOL finished))completion {
CGRect frame = [target frame];
@ -386,6 +426,35 @@
}
}
- (void)showRoutes:(BOOL)animated {
if (![LinphoneManager runningOnIpad]) {
[routesButton setOn];
[routesBluetoothButton setSelected:[[LinphoneManager instance] bluetoothEnabled]];
[routesSpeakerButton setSelected:[[LinphoneManager instance] speakerEnabled]];
[routesReceiverButton setSelected:!([[LinphoneManager instance] bluetoothEnabled] || [[LinphoneManager instance] speakerEnabled])];
if([routesView isHidden]) {
if(animated) {
[self showAnimation:@"show" target:routesView completion:^(BOOL finished){}];
} else {
[routesView setHidden:FALSE];
}
}
}
}
- (void)hideRoutes:(BOOL)animated {
if (![LinphoneManager runningOnIpad]) {
[routesButton setOff];
if(![routesView isHidden]) {
if(animated) {
[self hideAnimation:@"hide" target:routesView completion:^(BOOL finished){}];
} else {
[routesView setHidden:TRUE];
}
}
}
}
- (void)showOptions:(BOOL)animated {
[optionsButton setOn];
if([optionsView isHidden]) {
@ -408,6 +477,20 @@
}
}
- (void)showSpeaker {
if (![LinphoneManager runningOnIpad]) {
[speakerButton setHidden:FALSE];
[routesButton setHidden:TRUE];
}
}
- (void)hideSpeaker {
if (![LinphoneManager runningOnIpad]) {
[speakerButton setHidden:TRUE];
[routesButton setHidden:FALSE];
}
}
#pragma mark - Action Functions
@ -419,6 +502,30 @@
}
}
- (IBAction)onRoutesBluetoothClick:(id)sender {
[self hideRoutes:TRUE];
[[LinphoneManager instance] setBluetoothEnabled:TRUE];
}
- (IBAction)onRoutesReceiverClick:(id)sender {
[self hideRoutes:TRUE];
[[LinphoneManager instance] setSpeakerEnabled:FALSE];
[[LinphoneManager instance] setBluetoothEnabled:FALSE];
}
- (IBAction)onRoutesSpeakerClick:(id)sender {
[self hideRoutes:TRUE];
[[LinphoneManager instance] setSpeakerEnabled:TRUE];
}
- (IBAction)onRoutesClick:(id)sender {
if([routesView isHidden]) {
[self showRoutes:[[LinphoneManager instance] lpConfigBoolForKey:@"animations_preference"]];
} else {
[self hideRoutes:[[LinphoneManager instance] lpConfigBoolForKey:@"animations_preference"]];
}
}
- (IBAction)onOptionsTransferClick:(id)sender {
[self hideOptions:TRUE];
// Go to dialer view

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

BIN
Resources/routes_over.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

View file

@ -7915,17 +7915,17 @@
<dict>
<key>backup</key>
<dict>
<key>12</key>
<key>13</key>
<dict>
<key>class</key>
<string>BLWrapperHandle</string>
<key>name</key>
<string>LinphoneUI/UICallBar/12/UICallBar.xib</string>
<string>LinphoneUI/UICallBar/13/UICallBar.xib</string>
</dict>
</dict>
</dict>
<key>change date</key>
<date>2012-11-13T08:39:33Z</date>
<date>2013-03-19T11:14:29Z</date>
<key>changed values</key>
<array/>
<key>class</key>
@ -7935,7 +7935,7 @@
<key>flags</key>
<integer>0</integer>
<key>hash</key>
<string>6ce20b228103dd1de3d5c07ecc8cc68a
<string>9f9815d56c4734db373f49582fd9605c
</string>
<key>name</key>
<string>UICallBar.xib</string>
@ -8839,6 +8839,312 @@
<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>Class = "IBUIButton"; accessibilityLabel = "Route"; ObjectID = "164";</string>
<key>errors</key>
<array/>
<key>flags</key>
<integer>0</integer>
<key>key</key>
<string>164.accessibilityLabel</string>
<key>localizations</key>
<dict>
<key>en</key>
<string>Route</string>
<key>fr</key>
<string>Route</string>
</dict>
<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>Class = "IBUIButton"; normalTitle = "Route"; ObjectID = "164";</string>
<key>errors</key>
<array/>
<key>flags</key>
<integer>0</integer>
<key>key</key>
<string>164.normalTitle</string>
<key>localizations</key>
<dict>
<key>en</key>
<string>Route</string>
<key>fr</key>
<string>Route</string>
</dict>
<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>Class = "IBUIButton"; accessibilityLabel = "Speaker"; ObjectID = "168";</string>
<key>errors</key>
<array/>
<key>flags</key>
<integer>0</integer>
<key>key</key>
<string>168.accessibilityLabel</string>
<key>localizations</key>
<dict>
<key>en</key>
<string>Speaker</string>
<key>fr</key>
<string>Haut parleur</string>
<key>ru</key>
<string>Динамик</string>
</dict>
<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>Class = "IBUIButton"; normalTitle = "Speaker"; ObjectID = "168";</string>
<key>errors</key>
<array/>
<key>flags</key>
<integer>0</integer>
<key>key</key>
<string>168.normalTitle</string>
<key>localizations</key>
<dict>
<key>en</key>
<string>Speaker</string>
<key>fr</key>
<string>Haut parleur</string>
<key>ru</key>
<string>Динамик</string>
</dict>
<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>Class = "IBUIButton"; accessibilityLabel = "Receiver"; ObjectID = "169";</string>
<key>errors</key>
<array/>
<key>flags</key>
<integer>0</integer>
<key>key</key>
<string>169.accessibilityLabel</string>
<key>localizations</key>
<dict>
<key>en</key>
<string>Receiver</string>
<key>fr</key>
<string>Écouteur</string>
</dict>
<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>Class = "IBUIButton"; normalTitle = "Receiver"; ObjectID = "169";</string>
<key>errors</key>
<array/>
<key>flags</key>
<integer>0</integer>
<key>key</key>
<string>169.normalTitle</string>
<key>localizations</key>
<dict>
<key>en</key>
<string>Receiver</string>
<key>fr</key>
<string>Écouteur</string>
</dict>
<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>Class = "IBUIButton"; accessibilityLabel = "Bluetooth"; ObjectID = "174";</string>
<key>errors</key>
<array/>
<key>flags</key>
<integer>0</integer>
<key>key</key>
<string>174.accessibilityLabel</string>
<key>localizations</key>
<dict>
<key>en</key>
<string>Bluetooth</string>
<key>fr</key>
<string>Bluetooth</string>
</dict>
<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>Class = "IBUIButton"; normalTitle = "Bluetooth"; ObjectID = "174";</string>
<key>errors</key>
<array/>
<key>flags</key>
<integer>0</integer>
<key>key</key>
<string>174.normalTitle</string>
<key>localizations</key>
<dict>
<key>en</key>
<string>Bluetooth</string>
<key>fr</key>
<string>Bluetooth</string>
</dict>
<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>Class = "IBUIButton"; normalTitle = "Route"; ObjectID = "183";</string>
<key>errors</key>
<array/>
<key>flags</key>
<integer>0</integer>
<key>key</key>
<string>183.normalTitle</string>
<key>localizations</key>
<dict>
<key>en</key>
<string>Route</string>
<key>fr</key>
<string>Route</string>
</dict>
<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>Class = "IBUIButton"; normalTitle = "Speaker"; ObjectID = "187";</string>
<key>errors</key>
<array/>
<key>flags</key>
<integer>0</integer>
<key>key</key>
<string>187.normalTitle</string>
<key>localizations</key>
<dict>
<key>en</key>
<string>Speaker</string>
<key>fr</key>
<string>Haut parleur</string>
<key>ru</key>
<string>Динамик</string>
</dict>
<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>Class = "IBUIButton"; normalTitle = "Receiver"; ObjectID = "188";</string>
<key>errors</key>
<array/>
<key>flags</key>
<integer>0</integer>
<key>key</key>
<string>188.normalTitle</string>
<key>localizations</key>
<dict>
<key>en</key>
<string>Receiver</string>
<key>fr</key>
<string>Écouteur</string>
</dict>
<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>Class = "IBUIButton"; normalTitle = "Bluetooth"; ObjectID = "193";</string>
<key>errors</key>
<array/>
<key>flags</key>
<integer>0</integer>
<key>key</key>
<string>193.normalTitle</string>
<key>localizations</key>
<dict>
<key>en</key>
<string>Bluetooth</string>
<key>fr</key>
<string>Bluetooth</string>
</dict>
<key>snapshots</key>
<dict/>
</dict>
</array>
<key>old objects</key>
<array>
@ -9085,11 +9391,11 @@
<key>versions</key>
<dict>
<key>en</key>
<string>12</string>
<string>13</string>
<key>fr</key>
<string>12</string>
<string>13</string>
<key>ru</key>
<string>12</string>
<string>13</string>
</dict>
</dict>
<dict>

View file

@ -7,6 +7,70 @@
objects = {
/* Begin PBXBuildFile section */
1599105316F746B2007BF52B /* route_bluetooth_off_default_landscape.png in Resources */ = {isa = PBXBuildFile; fileRef = 1599104316F746B2007BF52B /* route_bluetooth_off_default_landscape.png */; };
1599105416F746B2007BF52B /* route_bluetooth_off_default_landscape.png in Resources */ = {isa = PBXBuildFile; fileRef = 1599104316F746B2007BF52B /* route_bluetooth_off_default_landscape.png */; };
1599105516F746B2007BF52B /* route_bluetooth_off_disabled_landscape.png in Resources */ = {isa = PBXBuildFile; fileRef = 1599104416F746B2007BF52B /* route_bluetooth_off_disabled_landscape.png */; };
1599105616F746B2007BF52B /* route_bluetooth_off_disabled_landscape.png in Resources */ = {isa = PBXBuildFile; fileRef = 1599104416F746B2007BF52B /* route_bluetooth_off_disabled_landscape.png */; };
1599105716F746B2007BF52B /* route_bluetooth_off_over_landscape.png in Resources */ = {isa = PBXBuildFile; fileRef = 1599104516F746B2007BF52B /* route_bluetooth_off_over_landscape.png */; };
1599105816F746B2007BF52B /* route_bluetooth_off_over_landscape.png in Resources */ = {isa = PBXBuildFile; fileRef = 1599104516F746B2007BF52B /* route_bluetooth_off_over_landscape.png */; };
1599105916F746B2007BF52B /* route_bluetooth_on_default_landscape.png in Resources */ = {isa = PBXBuildFile; fileRef = 1599104616F746B2007BF52B /* route_bluetooth_on_default_landscape.png */; };
1599105A16F746B2007BF52B /* route_bluetooth_on_default_landscape.png in Resources */ = {isa = PBXBuildFile; fileRef = 1599104616F746B2007BF52B /* route_bluetooth_on_default_landscape.png */; };
1599105B16F746B2007BF52B /* route_phone_off_default_landscape.png in Resources */ = {isa = PBXBuildFile; fileRef = 1599104716F746B2007BF52B /* route_phone_off_default_landscape.png */; };
1599105C16F746B2007BF52B /* route_phone_off_default_landscape.png in Resources */ = {isa = PBXBuildFile; fileRef = 1599104716F746B2007BF52B /* route_phone_off_default_landscape.png */; };
1599105D16F746B2007BF52B /* route_phone_off_disabled_landscape.png in Resources */ = {isa = PBXBuildFile; fileRef = 1599104816F746B2007BF52B /* route_phone_off_disabled_landscape.png */; };
1599105E16F746B2007BF52B /* route_phone_off_disabled_landscape.png in Resources */ = {isa = PBXBuildFile; fileRef = 1599104816F746B2007BF52B /* route_phone_off_disabled_landscape.png */; };
1599105F16F746B2007BF52B /* route_phone_off_over_landscape.png in Resources */ = {isa = PBXBuildFile; fileRef = 1599104916F746B2007BF52B /* route_phone_off_over_landscape.png */; };
1599106016F746B2007BF52B /* route_phone_off_over_landscape.png in Resources */ = {isa = PBXBuildFile; fileRef = 1599104916F746B2007BF52B /* route_phone_off_over_landscape.png */; };
1599106116F746B2007BF52B /* route_phone_on_default_landscape.png in Resources */ = {isa = PBXBuildFile; fileRef = 1599104A16F746B2007BF52B /* route_phone_on_default_landscape.png */; };
1599106216F746B2007BF52B /* route_phone_on_default_landscape.png in Resources */ = {isa = PBXBuildFile; fileRef = 1599104A16F746B2007BF52B /* route_phone_on_default_landscape.png */; };
1599106316F746B2007BF52B /* route_speaker_off_default_landscape.png in Resources */ = {isa = PBXBuildFile; fileRef = 1599104B16F746B2007BF52B /* route_speaker_off_default_landscape.png */; };
1599106416F746B2007BF52B /* route_speaker_off_default_landscape.png in Resources */ = {isa = PBXBuildFile; fileRef = 1599104B16F746B2007BF52B /* route_speaker_off_default_landscape.png */; };
1599106516F746B2007BF52B /* route_speaker_off_disabled_landscape.png in Resources */ = {isa = PBXBuildFile; fileRef = 1599104C16F746B2007BF52B /* route_speaker_off_disabled_landscape.png */; };
1599106616F746B2007BF52B /* route_speaker_off_disabled_landscape.png in Resources */ = {isa = PBXBuildFile; fileRef = 1599104C16F746B2007BF52B /* route_speaker_off_disabled_landscape.png */; };
1599106716F746B2007BF52B /* route_speaker_off_over_landscape.png in Resources */ = {isa = PBXBuildFile; fileRef = 1599104D16F746B2007BF52B /* route_speaker_off_over_landscape.png */; };
1599106816F746B2007BF52B /* route_speaker_off_over_landscape.png in Resources */ = {isa = PBXBuildFile; fileRef = 1599104D16F746B2007BF52B /* route_speaker_off_over_landscape.png */; };
1599106916F746B2007BF52B /* route_speaker_on_default_landscape.png in Resources */ = {isa = PBXBuildFile; fileRef = 1599104E16F746B2007BF52B /* route_speaker_on_default_landscape.png */; };
1599106A16F746B2007BF52B /* route_speaker_on_default_landscape.png in Resources */ = {isa = PBXBuildFile; fileRef = 1599104E16F746B2007BF52B /* route_speaker_on_default_landscape.png */; };
1599106B16F746B2007BF52B /* routes_default_landscape.png in Resources */ = {isa = PBXBuildFile; fileRef = 1599104F16F746B2007BF52B /* routes_default_landscape.png */; };
1599106C16F746B2007BF52B /* routes_default_landscape.png in Resources */ = {isa = PBXBuildFile; fileRef = 1599104F16F746B2007BF52B /* routes_default_landscape.png */; };
1599106D16F746B2007BF52B /* routes_disabled_landscape.png in Resources */ = {isa = PBXBuildFile; fileRef = 1599105016F746B2007BF52B /* routes_disabled_landscape.png */; };
1599106E16F746B2007BF52B /* routes_disabled_landscape.png in Resources */ = {isa = PBXBuildFile; fileRef = 1599105016F746B2007BF52B /* routes_disabled_landscape.png */; };
1599106F16F746B2007BF52B /* routes_over_landscape.png in Resources */ = {isa = PBXBuildFile; fileRef = 1599105116F746B2007BF52B /* routes_over_landscape.png */; };
1599107016F746B2007BF52B /* routes_over_landscape.png in Resources */ = {isa = PBXBuildFile; fileRef = 1599105116F746B2007BF52B /* routes_over_landscape.png */; };
1599107116F746B2007BF52B /* routes_selected_landscape.png in Resources */ = {isa = PBXBuildFile; fileRef = 1599105216F746B2007BF52B /* routes_selected_landscape.png */; };
1599107216F746B2007BF52B /* routes_selected_landscape.png in Resources */ = {isa = PBXBuildFile; fileRef = 1599105216F746B2007BF52B /* routes_selected_landscape.png */; };
15AF3C5416F37A3E00FC52EC /* route_bluetooth_off_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 15AF3C4C16F37A3E00FC52EC /* route_bluetooth_off_default.png */; };
15AF3C5516F37A3E00FC52EC /* route_bluetooth_off_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 15AF3C4C16F37A3E00FC52EC /* route_bluetooth_off_default.png */; };
15AF3C5616F37A3E00FC52EC /* route_bluetooth_off_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 15AF3C4D16F37A3E00FC52EC /* route_bluetooth_off_disabled.png */; };
15AF3C5716F37A3E00FC52EC /* route_bluetooth_off_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 15AF3C4D16F37A3E00FC52EC /* route_bluetooth_off_disabled.png */; };
15AF3C5816F37A3E00FC52EC /* route_bluetooth_off_over.png in Resources */ = {isa = PBXBuildFile; fileRef = 15AF3C4E16F37A3E00FC52EC /* route_bluetooth_off_over.png */; };
15AF3C5916F37A3E00FC52EC /* route_bluetooth_off_over.png in Resources */ = {isa = PBXBuildFile; fileRef = 15AF3C4E16F37A3E00FC52EC /* route_bluetooth_off_over.png */; };
15AF3C5C16F37A3E00FC52EC /* route_bluetooth_on_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 15AF3C5016F37A3E00FC52EC /* route_bluetooth_on_default.png */; };
15AF3C5D16F37A3E00FC52EC /* route_bluetooth_on_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 15AF3C5016F37A3E00FC52EC /* route_bluetooth_on_default.png */; };
15AF3C6C16F37A4A00FC52EC /* route_phone_off_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 15AF3C6416F37A4A00FC52EC /* route_phone_off_default.png */; };
15AF3C6D16F37A4A00FC52EC /* route_phone_off_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 15AF3C6416F37A4A00FC52EC /* route_phone_off_default.png */; };
15AF3C6E16F37A4A00FC52EC /* route_phone_off_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 15AF3C6516F37A4A00FC52EC /* route_phone_off_disabled.png */; };
15AF3C6F16F37A4A00FC52EC /* route_phone_off_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 15AF3C6516F37A4A00FC52EC /* route_phone_off_disabled.png */; };
15AF3C7016F37A4A00FC52EC /* route_phone_off_over.png in Resources */ = {isa = PBXBuildFile; fileRef = 15AF3C6616F37A4A00FC52EC /* route_phone_off_over.png */; };
15AF3C7116F37A4A00FC52EC /* route_phone_off_over.png in Resources */ = {isa = PBXBuildFile; fileRef = 15AF3C6616F37A4A00FC52EC /* route_phone_off_over.png */; };
15AF3C7416F37A4A00FC52EC /* route_phone_on_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 15AF3C6816F37A4A00FC52EC /* route_phone_on_default.png */; };
15AF3C7516F37A4A00FC52EC /* route_phone_on_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 15AF3C6816F37A4A00FC52EC /* route_phone_on_default.png */; };
15AF3C8416F37A5500FC52EC /* route_speaker_off_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 15AF3C7C16F37A5500FC52EC /* route_speaker_off_default.png */; };
15AF3C8516F37A5500FC52EC /* route_speaker_off_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 15AF3C7C16F37A5500FC52EC /* route_speaker_off_default.png */; };
15AF3C8616F37A5500FC52EC /* route_speaker_off_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 15AF3C7D16F37A5500FC52EC /* route_speaker_off_disabled.png */; };
15AF3C8716F37A5500FC52EC /* route_speaker_off_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 15AF3C7D16F37A5500FC52EC /* route_speaker_off_disabled.png */; };
15AF3C8816F37A5500FC52EC /* route_speaker_off_over.png in Resources */ = {isa = PBXBuildFile; fileRef = 15AF3C7E16F37A5500FC52EC /* route_speaker_off_over.png */; };
15AF3C8916F37A5500FC52EC /* route_speaker_off_over.png in Resources */ = {isa = PBXBuildFile; fileRef = 15AF3C7E16F37A5500FC52EC /* route_speaker_off_over.png */; };
15AF3C8C16F37A5500FC52EC /* route_speaker_on_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 15AF3C8016F37A5500FC52EC /* route_speaker_on_default.png */; };
15AF3C8D16F37A5500FC52EC /* route_speaker_on_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 15AF3C8016F37A5500FC52EC /* route_speaker_on_default.png */; };
15AF3C9816F37A5D00FC52EC /* routes_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 15AF3C9416F37A5D00FC52EC /* routes_default.png */; };
15AF3C9916F37A5D00FC52EC /* routes_default.png in Resources */ = {isa = PBXBuildFile; fileRef = 15AF3C9416F37A5D00FC52EC /* routes_default.png */; };
15AF3C9A16F37A5D00FC52EC /* routes_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 15AF3C9516F37A5D00FC52EC /* routes_disabled.png */; };
15AF3C9B16F37A5D00FC52EC /* routes_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = 15AF3C9516F37A5D00FC52EC /* routes_disabled.png */; };
15AF3C9C16F37A5D00FC52EC /* routes_over.png in Resources */ = {isa = PBXBuildFile; fileRef = 15AF3C9616F37A5D00FC52EC /* routes_over.png */; };
15AF3C9D16F37A5D00FC52EC /* routes_over.png in Resources */ = {isa = PBXBuildFile; fileRef = 15AF3C9616F37A5D00FC52EC /* routes_over.png */; };
15AF3C9E16F37A5D00FC52EC /* routes_selected.png in Resources */ = {isa = PBXBuildFile; fileRef = 15AF3C9716F37A5D00FC52EC /* routes_selected.png */; };
15AF3C9F16F37A5D00FC52EC /* routes_selected.png in Resources */ = {isa = PBXBuildFile; fileRef = 15AF3C9716F37A5D00FC52EC /* routes_selected.png */; };
1D3623260D0F684500981E51 /* LinphoneAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D3623250D0F684500981E51 /* LinphoneAppDelegate.m */; };
1D60589B0D05DD56006BFB54 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; };
1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; };
@ -1345,6 +1409,38 @@
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
1599104316F746B2007BF52B /* route_bluetooth_off_default_landscape.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = route_bluetooth_off_default_landscape.png; path = Resources/route_bluetooth_off_default_landscape.png; sourceTree = "<group>"; };
1599104416F746B2007BF52B /* route_bluetooth_off_disabled_landscape.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = route_bluetooth_off_disabled_landscape.png; path = Resources/route_bluetooth_off_disabled_landscape.png; sourceTree = "<group>"; };
1599104516F746B2007BF52B /* route_bluetooth_off_over_landscape.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = route_bluetooth_off_over_landscape.png; path = Resources/route_bluetooth_off_over_landscape.png; sourceTree = "<group>"; };
1599104616F746B2007BF52B /* route_bluetooth_on_default_landscape.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = route_bluetooth_on_default_landscape.png; path = Resources/route_bluetooth_on_default_landscape.png; sourceTree = "<group>"; };
1599104716F746B2007BF52B /* route_phone_off_default_landscape.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = route_phone_off_default_landscape.png; path = Resources/route_phone_off_default_landscape.png; sourceTree = "<group>"; };
1599104816F746B2007BF52B /* route_phone_off_disabled_landscape.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = route_phone_off_disabled_landscape.png; path = Resources/route_phone_off_disabled_landscape.png; sourceTree = "<group>"; };
1599104916F746B2007BF52B /* route_phone_off_over_landscape.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = route_phone_off_over_landscape.png; path = Resources/route_phone_off_over_landscape.png; sourceTree = "<group>"; };
1599104A16F746B2007BF52B /* route_phone_on_default_landscape.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = route_phone_on_default_landscape.png; path = Resources/route_phone_on_default_landscape.png; sourceTree = "<group>"; };
1599104B16F746B2007BF52B /* route_speaker_off_default_landscape.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = route_speaker_off_default_landscape.png; path = Resources/route_speaker_off_default_landscape.png; sourceTree = "<group>"; };
1599104C16F746B2007BF52B /* route_speaker_off_disabled_landscape.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = route_speaker_off_disabled_landscape.png; path = Resources/route_speaker_off_disabled_landscape.png; sourceTree = "<group>"; };
1599104D16F746B2007BF52B /* route_speaker_off_over_landscape.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = route_speaker_off_over_landscape.png; path = Resources/route_speaker_off_over_landscape.png; sourceTree = "<group>"; };
1599104E16F746B2007BF52B /* route_speaker_on_default_landscape.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = route_speaker_on_default_landscape.png; path = Resources/route_speaker_on_default_landscape.png; sourceTree = "<group>"; };
1599104F16F746B2007BF52B /* routes_default_landscape.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = routes_default_landscape.png; path = Resources/routes_default_landscape.png; sourceTree = "<group>"; };
1599105016F746B2007BF52B /* routes_disabled_landscape.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = routes_disabled_landscape.png; path = Resources/routes_disabled_landscape.png; sourceTree = "<group>"; };
1599105116F746B2007BF52B /* routes_over_landscape.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = routes_over_landscape.png; path = Resources/routes_over_landscape.png; sourceTree = "<group>"; };
1599105216F746B2007BF52B /* routes_selected_landscape.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = routes_selected_landscape.png; path = Resources/routes_selected_landscape.png; sourceTree = "<group>"; };
15AF3C4C16F37A3E00FC52EC /* route_bluetooth_off_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = route_bluetooth_off_default.png; path = Resources/route_bluetooth_off_default.png; sourceTree = "<group>"; };
15AF3C4D16F37A3E00FC52EC /* route_bluetooth_off_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = route_bluetooth_off_disabled.png; path = Resources/route_bluetooth_off_disabled.png; sourceTree = "<group>"; };
15AF3C4E16F37A3E00FC52EC /* route_bluetooth_off_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = route_bluetooth_off_over.png; path = Resources/route_bluetooth_off_over.png; sourceTree = "<group>"; };
15AF3C5016F37A3E00FC52EC /* route_bluetooth_on_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = route_bluetooth_on_default.png; path = Resources/route_bluetooth_on_default.png; sourceTree = "<group>"; };
15AF3C6416F37A4A00FC52EC /* route_phone_off_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = route_phone_off_default.png; path = Resources/route_phone_off_default.png; sourceTree = "<group>"; };
15AF3C6516F37A4A00FC52EC /* route_phone_off_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = route_phone_off_disabled.png; path = Resources/route_phone_off_disabled.png; sourceTree = "<group>"; };
15AF3C6616F37A4A00FC52EC /* route_phone_off_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = route_phone_off_over.png; path = Resources/route_phone_off_over.png; sourceTree = "<group>"; };
15AF3C6816F37A4A00FC52EC /* route_phone_on_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = route_phone_on_default.png; path = Resources/route_phone_on_default.png; sourceTree = "<group>"; };
15AF3C7C16F37A5500FC52EC /* route_speaker_off_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = route_speaker_off_default.png; path = Resources/route_speaker_off_default.png; sourceTree = "<group>"; };
15AF3C7D16F37A5500FC52EC /* route_speaker_off_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = route_speaker_off_disabled.png; path = Resources/route_speaker_off_disabled.png; sourceTree = "<group>"; };
15AF3C7E16F37A5500FC52EC /* route_speaker_off_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = route_speaker_off_over.png; path = Resources/route_speaker_off_over.png; sourceTree = "<group>"; };
15AF3C8016F37A5500FC52EC /* route_speaker_on_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = route_speaker_on_default.png; path = Resources/route_speaker_on_default.png; sourceTree = "<group>"; };
15AF3C9416F37A5D00FC52EC /* routes_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = routes_default.png; path = Resources/routes_default.png; sourceTree = "<group>"; };
15AF3C9516F37A5D00FC52EC /* routes_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = routes_disabled.png; path = Resources/routes_disabled.png; sourceTree = "<group>"; };
15AF3C9616F37A5D00FC52EC /* routes_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = routes_over.png; path = Resources/routes_over.png; sourceTree = "<group>"; };
15AF3C9716F37A5D00FC52EC /* routes_selected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = routes_selected.png; path = Resources/routes_selected.png; sourceTree = "<group>"; };
1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
1D3623240D0F684500981E51 /* LinphoneAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LinphoneAppDelegate.h; sourceTree = "<group>"; };
1D3623250D0F684500981E51 /* LinphoneAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LinphoneAppDelegate.m; sourceTree = "<group>"; };
@ -3321,6 +3417,38 @@
2237D4081084D7A9001383EE /* ring.wav */,
22F254801073D99800AC9B3F /* ringback.wav */,
70571E1913FABCB000CDD3C2 /* rootca.pem */,
15AF3C4C16F37A3E00FC52EC /* route_bluetooth_off_default.png */,
1599104316F746B2007BF52B /* route_bluetooth_off_default_landscape.png */,
15AF3C4D16F37A3E00FC52EC /* route_bluetooth_off_disabled.png */,
1599104416F746B2007BF52B /* route_bluetooth_off_disabled_landscape.png */,
15AF3C4E16F37A3E00FC52EC /* route_bluetooth_off_over.png */,
1599104516F746B2007BF52B /* route_bluetooth_off_over_landscape.png */,
15AF3C5016F37A3E00FC52EC /* route_bluetooth_on_default.png */,
1599104616F746B2007BF52B /* route_bluetooth_on_default_landscape.png */,
15AF3C6416F37A4A00FC52EC /* route_phone_off_default.png */,
1599104716F746B2007BF52B /* route_phone_off_default_landscape.png */,
15AF3C6516F37A4A00FC52EC /* route_phone_off_disabled.png */,
1599104816F746B2007BF52B /* route_phone_off_disabled_landscape.png */,
15AF3C6616F37A4A00FC52EC /* route_phone_off_over.png */,
1599104916F746B2007BF52B /* route_phone_off_over_landscape.png */,
15AF3C6816F37A4A00FC52EC /* route_phone_on_default.png */,
1599104A16F746B2007BF52B /* route_phone_on_default_landscape.png */,
15AF3C7C16F37A5500FC52EC /* route_speaker_off_default.png */,
1599104B16F746B2007BF52B /* route_speaker_off_default_landscape.png */,
15AF3C7D16F37A5500FC52EC /* route_speaker_off_disabled.png */,
1599104C16F746B2007BF52B /* route_speaker_off_disabled_landscape.png */,
15AF3C7E16F37A5500FC52EC /* route_speaker_off_over.png */,
1599104D16F746B2007BF52B /* route_speaker_off_over_landscape.png */,
15AF3C8016F37A5500FC52EC /* route_speaker_on_default.png */,
1599104E16F746B2007BF52B /* route_speaker_on_default_landscape.png */,
15AF3C9416F37A5D00FC52EC /* routes_default.png */,
1599104F16F746B2007BF52B /* routes_default_landscape.png */,
15AF3C9516F37A5D00FC52EC /* routes_disabled.png */,
1599105016F746B2007BF52B /* routes_disabled_landscape.png */,
15AF3C9616F37A5D00FC52EC /* routes_over.png */,
1599105116F746B2007BF52B /* routes_over_landscape.png */,
15AF3C9716F37A5D00FC52EC /* routes_selected.png */,
1599105216F746B2007BF52B /* routes_selected_landscape.png */,
D3D6A3A5159B0EFE005F692C /* security_ko.png */,
D3D6A3A7159B0EFE005F692C /* security_ok.png */,
D3D6A3A6159B0EFE005F692C /* security_pending.png */,
@ -4226,6 +4354,38 @@
D310392A162C3C5200C00C18 /* linphone_splashscreen-Portrait@2x.png in Resources */,
D33E1F08164CF35100CFA363 /* callbar_left_padding.png in Resources */,
D33E1F0A164CF35100CFA363 /* callbar_right_padding.png in Resources */,
15AF3C5416F37A3E00FC52EC /* route_bluetooth_off_default.png in Resources */,
15AF3C5616F37A3E00FC52EC /* route_bluetooth_off_disabled.png in Resources */,
15AF3C5816F37A3E00FC52EC /* route_bluetooth_off_over.png in Resources */,
15AF3C5C16F37A3E00FC52EC /* route_bluetooth_on_default.png in Resources */,
15AF3C6C16F37A4A00FC52EC /* route_phone_off_default.png in Resources */,
15AF3C6E16F37A4A00FC52EC /* route_phone_off_disabled.png in Resources */,
15AF3C7016F37A4A00FC52EC /* route_phone_off_over.png in Resources */,
15AF3C7416F37A4A00FC52EC /* route_phone_on_default.png in Resources */,
15AF3C8416F37A5500FC52EC /* route_speaker_off_default.png in Resources */,
15AF3C8616F37A5500FC52EC /* route_speaker_off_disabled.png in Resources */,
15AF3C8816F37A5500FC52EC /* route_speaker_off_over.png in Resources */,
15AF3C8C16F37A5500FC52EC /* route_speaker_on_default.png in Resources */,
15AF3C9816F37A5D00FC52EC /* routes_default.png in Resources */,
15AF3C9A16F37A5D00FC52EC /* routes_disabled.png in Resources */,
15AF3C9C16F37A5D00FC52EC /* routes_over.png in Resources */,
15AF3C9E16F37A5D00FC52EC /* routes_selected.png in Resources */,
1599105316F746B2007BF52B /* route_bluetooth_off_default_landscape.png in Resources */,
1599105516F746B2007BF52B /* route_bluetooth_off_disabled_landscape.png in Resources */,
1599105716F746B2007BF52B /* route_bluetooth_off_over_landscape.png in Resources */,
1599105916F746B2007BF52B /* route_bluetooth_on_default_landscape.png in Resources */,
1599105B16F746B2007BF52B /* route_phone_off_default_landscape.png in Resources */,
1599105D16F746B2007BF52B /* route_phone_off_disabled_landscape.png in Resources */,
1599105F16F746B2007BF52B /* route_phone_off_over_landscape.png in Resources */,
1599106116F746B2007BF52B /* route_phone_on_default_landscape.png in Resources */,
1599106316F746B2007BF52B /* route_speaker_off_default_landscape.png in Resources */,
1599106516F746B2007BF52B /* route_speaker_off_disabled_landscape.png in Resources */,
1599106716F746B2007BF52B /* route_speaker_off_over_landscape.png in Resources */,
1599106916F746B2007BF52B /* route_speaker_on_default_landscape.png in Resources */,
1599106B16F746B2007BF52B /* routes_default_landscape.png in Resources */,
1599106D16F746B2007BF52B /* routes_disabled_landscape.png in Resources */,
1599106F16F746B2007BF52B /* routes_over_landscape.png in Resources */,
1599107116F746B2007BF52B /* routes_selected_landscape.png in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -4730,6 +4890,38 @@
D310392B162C3C5200C00C18 /* linphone_splashscreen-Portrait@2x.png in Resources */,
D33E1F09164CF35100CFA363 /* callbar_left_padding.png in Resources */,
D33E1F0B164CF35100CFA363 /* callbar_right_padding.png in Resources */,
15AF3C5516F37A3E00FC52EC /* route_bluetooth_off_default.png in Resources */,
15AF3C5716F37A3E00FC52EC /* route_bluetooth_off_disabled.png in Resources */,
15AF3C5916F37A3E00FC52EC /* route_bluetooth_off_over.png in Resources */,
15AF3C5D16F37A3E00FC52EC /* route_bluetooth_on_default.png in Resources */,
15AF3C6D16F37A4A00FC52EC /* route_phone_off_default.png in Resources */,
15AF3C6F16F37A4A00FC52EC /* route_phone_off_disabled.png in Resources */,
15AF3C7116F37A4A00FC52EC /* route_phone_off_over.png in Resources */,
15AF3C7516F37A4A00FC52EC /* route_phone_on_default.png in Resources */,
15AF3C8516F37A5500FC52EC /* route_speaker_off_default.png in Resources */,
15AF3C8716F37A5500FC52EC /* route_speaker_off_disabled.png in Resources */,
15AF3C8916F37A5500FC52EC /* route_speaker_off_over.png in Resources */,
15AF3C8D16F37A5500FC52EC /* route_speaker_on_default.png in Resources */,
15AF3C9916F37A5D00FC52EC /* routes_default.png in Resources */,
15AF3C9B16F37A5D00FC52EC /* routes_disabled.png in Resources */,
15AF3C9D16F37A5D00FC52EC /* routes_over.png in Resources */,
15AF3C9F16F37A5D00FC52EC /* routes_selected.png in Resources */,
1599105416F746B2007BF52B /* route_bluetooth_off_default_landscape.png in Resources */,
1599105616F746B2007BF52B /* route_bluetooth_off_disabled_landscape.png in Resources */,
1599105816F746B2007BF52B /* route_bluetooth_off_over_landscape.png in Resources */,
1599105A16F746B2007BF52B /* route_bluetooth_on_default_landscape.png in Resources */,
1599105C16F746B2007BF52B /* route_phone_off_default_landscape.png in Resources */,
1599105E16F746B2007BF52B /* route_phone_off_disabled_landscape.png in Resources */,
1599106016F746B2007BF52B /* route_phone_off_over_landscape.png in Resources */,
1599106216F746B2007BF52B /* route_phone_on_default_landscape.png in Resources */,
1599106416F746B2007BF52B /* route_speaker_off_default_landscape.png in Resources */,
1599106616F746B2007BF52B /* route_speaker_off_disabled_landscape.png in Resources */,
1599106816F746B2007BF52B /* route_speaker_off_over_landscape.png in Resources */,
1599106A16F746B2007BF52B /* route_speaker_on_default_landscape.png in Resources */,
1599106C16F746B2007BF52B /* routes_default_landscape.png in Resources */,
1599106E16F746B2007BF52B /* routes_disabled_landscape.png in Resources */,
1599107016F746B2007BF52B /* routes_over_landscape.png in Resources */,
1599107216F746B2007BF52B /* routes_selected_landscape.png in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};