From 5f70424bf6550e697e1ce08336c175895fe3d208 Mon Sep 17 00:00:00 2001 From: Yann Diorcet Date: Thu, 12 Jul 2012 11:49:53 +0200 Subject: [PATCH] Modify & Use FastAddressBook Show avatar on call & incoming --- Classes/ContactDetailsTableViewController.m | 8 +- Classes/ContactsTableViewController.m | 7 +- Classes/IncomingCallViewController.m | 43 +++++- Classes/LinphoneManager.h | 9 +- Classes/LinphoneManager.m | 53 +------ Classes/LinphoneUI/UICallCell.m | 45 +++--- Classes/LinphoneUI/UIContactCell.m | 18 ++- Classes/LinphoneUI/UIContactDetailsHeader.m | 27 +--- Classes/Utils/FastAddressBook.h | 21 +-- Classes/Utils/FastAddressBook.m | 134 ++++++++++++------ Classes/WizardViewController.xib | 24 ++-- .../{setup_label.png => field_background.png} | Bin linphone.xcodeproj/project.pbxproj | 12 +- 13 files changed, 207 insertions(+), 194 deletions(-) rename Resources/{setup_label.png => field_background.png} (100%) diff --git a/Classes/ContactDetailsTableViewController.m b/Classes/ContactDetailsTableViewController.m index 8d0fe7d3c..8f65d82f9 100644 --- a/Classes/ContactDetailsTableViewController.m +++ b/Classes/ContactDetailsTableViewController.m @@ -53,8 +53,6 @@ @synthesize contactID; -static const NSString *CONTACT_SIP_FIELD = @"SIP"; - #pragma mark - Lifecycle Functions - (void)initContactDetailsTableViewController { @@ -72,7 +70,7 @@ static const NSString *CONTACT_SIP_FIELD = @"SIP"; footerController = [[UIContactDetailsFooter alloc] init]; addressBook = ABAddressBookCreate(); - ABAddressBookRegisterExternalChangeCallback(addressBook, sync_toc_address_book, self); + ABAddressBookRegisterExternalChangeCallback(addressBook, sync_address_book, self); } - (id)init { @@ -92,7 +90,7 @@ static const NSString *CONTACT_SIP_FIELD = @"SIP"; } - (void)dealloc { - ABAddressBookUnregisterExternalChangeCallback(addressBook, sync_toc_address_book, self); + ABAddressBookUnregisterExternalChangeCallback(addressBook, sync_address_book, self); CFRelease(addressBook); [labelArray release]; @@ -159,7 +157,7 @@ static const NSString *CONTACT_SIP_FIELD = @"SIP"; return [dict autorelease]; } -static void sync_toc_address_book (ABAddressBookRef addressBook, CFDictionaryRef info, void *context) { +static void sync_address_book (ABAddressBookRef addressBook, CFDictionaryRef info, void *context) { ContactDetailsTableViewController* controller = (ContactDetailsTableViewController*)context; if(!controller->inhibUpdate) { [controller resetData]; diff --git a/Classes/ContactsTableViewController.m b/Classes/ContactsTableViewController.m index 258d265b1..a1b564d9f 100644 --- a/Classes/ContactsTableViewController.m +++ b/Classes/ContactsTableViewController.m @@ -33,7 +33,7 @@ addressBookMap = [[OrderedDictionary alloc] init]; addressBook = ABAddressBookCreate(); - ABAddressBookRegisterExternalChangeCallback(addressBook, sync_toc_address_book, self); + ABAddressBookRegisterExternalChangeCallback(addressBook, sync_address_book, self); } - (id)init { @@ -53,7 +53,7 @@ } - (void)dealloc { - ABAddressBookUnregisterExternalChangeCallback(addressBook, sync_toc_address_book, self); + ABAddressBookUnregisterExternalChangeCallback(addressBook, sync_address_book, self); CFRelease(addressBook); [addressBookMap removeAllObjects]; [super dealloc]; @@ -70,12 +70,13 @@ #pragma mark - -static void sync_toc_address_book (ABAddressBookRef addressBook, CFDictionaryRef info, void *context) { +static void sync_address_book (ABAddressBookRef addressBook, CFDictionaryRef info, void *context) { ContactsTableViewController* controller = (ContactsTableViewController*)context; ABAddressBookRevert(addressBook); [(UITableView *)controller.view reloadData]; } + #pragma mark - ViewController Functions - (void)viewWillAppear:(BOOL)animated { diff --git a/Classes/IncomingCallViewController.m b/Classes/IncomingCallViewController.m index d41bc09d2..db6c97d75 100644 --- a/Classes/IncomingCallViewController.m +++ b/Classes/IncomingCallViewController.m @@ -19,6 +19,7 @@ #import "IncomingCallViewController.h" #import "LinphoneManager.h" +#import "FastAddressBook.h" @implementation IncomingCallViewController @@ -83,15 +84,45 @@ #pragma mark - Property Functions - (void)setCall:(LinphoneCall*)acall { + call = acall; + [self update]; +} + +- (void)update { [self view]; //Force view load - call = acall; - const char* userNameChars=linphone_address_get_username(linphone_call_get_remote_address(call)); - NSString* userName = userNameChars?[[[NSString alloc] initWithUTF8String:userNameChars] autorelease]:NSLocalizedString(@"Unknown",nil); - const char* displayNameChars = linphone_address_get_display_name(linphone_call_get_remote_address(call)); - NSString* displayName = [displayNameChars?[[NSString alloc] initWithUTF8String:displayNameChars]:@"" autorelease]; + UIImage *image; + NSString* address; + const LinphoneAddress* addr = linphone_call_get_remote_address(call); + if (addr != NULL) { + // contact name + const char* lAddress = linphone_address_as_string_uri_only(addr); + const char* lDisplayName = linphone_address_get_display_name(addr); + const char* lUserName = linphone_address_get_username(addr); + if (lDisplayName) + address = [NSString stringWithUTF8String:lDisplayName]; + else if(lUserName) + address = [NSString stringWithUTF8String:lUserName]; + if(lAddress) { + NSString *address = [FastAddressBook normalizeSipURI:[NSString stringWithUTF8String:lAddress]]; + ABRecordRef contact = [[[LinphoneManager instance] fastAddressBook] getContact:address]; + image = [FastAddressBook getContactImage:contact thumbnail:false]; + } + } else { + [addressLabel setText:@"Unknown"]; + } - [addressLabel setText:([displayName length]>0)?displayName:userName]; + // Set Image + if(image == nil) { + image = [UIImage imageNamed:@"avatar_unknown.png"]; + } + [avatarImage setImage:image]; + + // Set Address + if(address == nil) { + address = @"Unknown"; + } + [addressLabel setText:address]; } - (LinphoneCall*) getCall { diff --git a/Classes/LinphoneManager.h b/Classes/LinphoneManager.h index 1b7a54a21..240091550 100644 --- a/Classes/LinphoneManager.h +++ b/Classes/LinphoneManager.h @@ -29,6 +29,8 @@ #include "linphonecore.h" +extern const NSString *CONTACT_SIP_FIELD; + typedef enum _Connectivity { wifi, wwan @@ -64,10 +66,11 @@ typedef struct _LinphoneCallAppData { bool isbackgroundModeEnabled; Connectivity connectivity; - FastAddressBook* mFastAddressBook; const char* frontCamId; const char* backCamId; + FastAddressBook* fastAddressBook; + id settingsStore; sqlite3 *database; @@ -93,8 +96,6 @@ typedef struct _LinphoneCallAppData { - (BOOL)enterBackgroundMode; - (void)becomeActive; - (void)kickOffNetworkConnection; -- (NSString*)getDisplayNameFromAddressBook:(NSString*) number andUpdateCallLog:(LinphoneCallLog*)log; -- (UIImage*)getImageFromAddressBook:(NSString*) number; - (void)setupNetworkReachabilityCallback; - (void)refreshRegisters; @@ -103,7 +104,7 @@ typedef struct _LinphoneCallAppData { - (BOOL)isSpeakerEnabled; @property (nonatomic, retain) id settingsStore; - +@property (readonly) FastAddressBook* fastAddressBook; @property Connectivity connectivity; @property (nonatomic) int defaultExpires; @property (readonly) const char* frontCamId; diff --git a/Classes/LinphoneManager.m b/Classes/LinphoneManager.m index b7396a70c..219cb1bfa 100644 --- a/Classes/LinphoneManager.m +++ b/Classes/LinphoneManager.m @@ -38,6 +38,7 @@ static LinphoneCore* theLinphoneCore=nil; static LinphoneManager* theLinphoneManager=nil; +const NSString *CONTACT_SIP_FIELD = @"SIP"; extern void libmsilbc_init(); #ifdef HAVE_AMR @@ -66,6 +67,7 @@ extern void libmsbcg729_init(); @synthesize defaultExpires; @synthesize settingsStore; @synthesize database; +@synthesize fastAddressBook; struct codec_name_pref_table{ const char *name; @@ -112,7 +114,7 @@ struct codec_name_pref_table codec_pref_table[]={ - (id)init { assert (!theLinphoneManager); if ((self = [super init])) { - mFastAddressBook = [[FastAddressBook alloc] init]; + fastAddressBook = [[FastAddressBook alloc] init]; database = NULL; theLinphoneManager = self; self.defaultExpires = 600; @@ -122,7 +124,7 @@ struct codec_name_pref_table codec_pref_table[]={ } - (void)dealloc { - [mFastAddressBook release]; + [fastAddressBook release]; [self closeDatabase]; [super dealloc]; @@ -164,50 +166,7 @@ struct codec_name_pref_table codec_pref_table[]={ return theLinphoneManager; } --(NSString*) getDisplayNameFromAddressBook:(NSString*) number andUpdateCallLog:(LinphoneCallLog*)log { - //1 normalize - NSString* lNormalizedNumber = [FastAddressBook normalizePhoneNumber:number]; - Contact* lContact = [mFastAddressBook getMatchingRecord:lNormalizedNumber]; - if (lContact) { - CFStringRef lDisplayName = ABRecordCopyCompositeName(lContact.record); - - if (log) { - //add phone type - char ltmpString[256]; - CFStringRef lFormatedString = CFStringCreateWithFormat(NULL,NULL,CFSTR("phone_type:%@;"),lContact.numberType); - CFStringGetCString(lFormatedString, ltmpString,sizeof(ltmpString), kCFStringEncodingUTF8); - linphone_call_log_set_ref_key(log, ltmpString); - CFRelease(lFormatedString); - } - return [(NSString*)lDisplayName autorelease]; - } - //[number release]; - - return nil; -} - --(UIImage*) getImageFromAddressBook:(NSString *)number { - NSString* lNormalizedNumber = [FastAddressBook normalizePhoneNumber:number]; - Contact* lContact = [mFastAddressBook getMatchingRecord:lNormalizedNumber]; - if (lContact) { - ABRecordRef person = ABAddressBookGetPersonWithRecordID(mFastAddressBook.addressBook, ABRecordGetRecordID(lContact.record)); - if (ABPersonHasImageData(person)) { - NSData* d; - // ios 4.1+ - if ( &ABPersonCopyImageDataWithFormat != nil) { - d = (NSData*)ABPersonCopyImageDataWithFormat(person, kABPersonImageFormatThumbnail); - } else { - d = (NSData*)ABPersonCopyImageData(person); - } - return [UIImage imageWithData:[d autorelease]]; - } - } - /* return default image */ - return [UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"contact_vide" ofType:@"png"]]; - //return nil; -} - --(void) updateCallWithAddressBookData:(LinphoneCall*) call { +-(void) updateCallWithAddressBookData:(LinphoneCall*) call {/* //1 copy adress book LinphoneCallLog* lLog = linphone_call_get_call_log(call); LinphoneAddress* lAddress; @@ -232,7 +191,7 @@ struct codec_name_pref_table codec_pref_table[]={ } [lE164Number release]; - return; + return;*/ } - (void)onCall:(LinphoneCall*)call StateChanged:(LinphoneCallState)state withMessage:(const char *)message { diff --git a/Classes/LinphoneUI/UICallCell.m b/Classes/LinphoneUI/UICallCell.m index 6bb07e7b4..9ce420dca 100644 --- a/Classes/LinphoneUI/UICallCell.m +++ b/Classes/LinphoneUI/UICallCell.m @@ -22,6 +22,7 @@ #import "UICallCell.h" #import "LinphoneManager.h" +#import "FastAddressBook.h" @implementation UICallCellData @@ -150,29 +151,37 @@ if(data != nil && data->call != NULL) { call = data->call; const LinphoneAddress* addr = linphone_call_get_remote_address(call); - + UIImage *image; + NSString* address; if (addr != NULL) { - const char* lUserNameChars = linphone_address_get_username(addr); - NSString* lUserName = lUserNameChars?[[[NSString alloc] initWithUTF8String:lUserNameChars] autorelease]:NSLocalizedString(@"Unknown",nil); - NSMutableString* mss = [[NSMutableString alloc] init]; // contact name - const char* n = linphone_address_get_display_name(addr); - if (n) - [mss appendFormat:@"%s", n, nil]; - else - [mss appendFormat:@"%@",lUserName , nil]; - - [addressLabel setText:mss]; - - // TODO - //imageView.image = [[LinphoneManager instance] getImageFromAddressBook:lUserName]; - [mss release]; + const char* lAddress = linphone_address_as_string_uri_only(addr); + const char* lDisplayName = linphone_address_get_display_name(addr); + const char* lUserName = linphone_address_get_username(addr); + if (lDisplayName) + address = [NSString stringWithUTF8String:lDisplayName]; + else if(lUserName) + address = [NSString stringWithUTF8String:lUserName]; + if(lAddress) { + NSString *address = [FastAddressBook normalizeSipURI:[NSString stringWithUTF8String:lAddress]]; + ABRecordRef contact = [[[LinphoneManager instance] fastAddressBook] getContact:address]; + image = [FastAddressBook getContactImage:contact thumbnail:false]; + } } else { [addressLabel setText:@"Unknown"]; - //TODO - //imageView.image = nil; } - + + // Set Image + if(image == nil) { + image = [UIImage imageNamed:@"avatar_unknown.png"]; + } + [avatarImage setImage:image]; + + // Set Address + if(address == nil) { + address = @"Unknown"; + } + [addressLabel setText:address]; LinphoneCallState state = linphone_call_get_state(call); diff --git a/Classes/LinphoneUI/UIContactCell.m b/Classes/LinphoneUI/UIContactCell.m index 355d2f58b..24a9af109 100644 --- a/Classes/LinphoneUI/UIContactCell.m +++ b/Classes/LinphoneUI/UIContactCell.m @@ -19,6 +19,8 @@ #import "UIContactCell.h" +#import "FastAddressBook.h" + @implementation UIContactCell @synthesize firstNameLabel; @@ -26,6 +28,7 @@ @synthesize avatarImage; @synthesize contact; + #pragma mark - Lifecycle Functions - (id)initWithIdentifier:(NSString*)identifier { @@ -92,17 +95,12 @@ if(lFirstName != nil) CFRelease(lFirstName); - if(ABPersonHasImageData(contact)) { - CFDataRef imgData = ABPersonCopyImageDataWithFormat(contact, kABPersonImageFormatThumbnail); - UIImage *img = [[UIImage alloc] initWithData:(NSData*)imgData]; - [avatarImage setImage:img]; - [img release]; - CFRelease(imgData); - } else { - [avatarImage setImage:[UIImage imageNamed:@"avatar_unknown_small.png"]]; + // Avatar + UIImage *image = [FastAddressBook getContactImage:contact thumbnail:true]; + if(image == nil) { + image = [UIImage imageNamed:@"avatar_unknown_small.png"]; } - - + [avatarImage setImage:image]; // // Adapt size diff --git a/Classes/LinphoneUI/UIContactDetailsHeader.m b/Classes/LinphoneUI/UIContactDetailsHeader.m index 2cff57470..17354bbb4 100644 --- a/Classes/LinphoneUI/UIContactDetailsHeader.m +++ b/Classes/LinphoneUI/UIContactDetailsHeader.m @@ -20,6 +20,7 @@ #import "UIContactDetailsHeader.h" #import "UIEditableTableViewCell.h" +#import "FastAddressBook.h" @implementation UIContactDetailsHeader @@ -78,32 +79,16 @@ if(contact) { // Avatar image { - if(ABPersonHasImageData(contact)) { - CFDataRef imgData = ABPersonCopyImageDataWithFormat(contact, kABPersonImageFormatThumbnail); - UIImage *img = [[UIImage alloc] initWithData:(NSData *)imgData]; - [avatarImage setImage:img]; - [img release]; - CFRelease(imgData); - } else { - [avatarImage setImage:[UIImage imageNamed:@"avatar_unknown_small.png"]]; + UIImage *image = [FastAddressBook getContactImage:contact thumbnail:true]; + if(image == nil) { + image = [UIImage imageNamed:@"avatar_unknown_small.png"]; } + [avatarImage setImage:image]; } // Contact label { - CFStringRef lFirstName = ABRecordCopyValue(contact, kABPersonFirstNameProperty); - CFStringRef lLocalizedFirstName = (lFirstName != nil)?ABAddressBookCopyLocalizedLabel(lFirstName):nil; - CFStringRef lLastName = ABRecordCopyValue(contact, kABPersonLastNameProperty); - CFStringRef lLocalizedLastName = (lFirstName != nil)?ABAddressBookCopyLocalizedLabel(lLastName):nil; - [contactLabel setText:[NSString stringWithFormat:@"%@ %@", (NSString*)lLocalizedFirstName, (NSString*)lLocalizedLastName]]; - if(lLocalizedLastName != nil) - CFRelease(lLocalizedLastName); - if(lLastName != nil) - CFRelease(lLastName); - if(lLocalizedFirstName != nil) - CFRelease(lLocalizedFirstName); - if(lFirstName != nil) - CFRelease(lFirstName); + [contactLabel setText:[FastAddressBook getContactDisplayName:contact]]; } } } diff --git a/Classes/Utils/FastAddressBook.h b/Classes/Utils/FastAddressBook.h index 65713ad35..3e0f89a6c 100644 --- a/Classes/Utils/FastAddressBook.h +++ b/Classes/Utils/FastAddressBook.h @@ -20,26 +20,17 @@ #import #import -@interface Contact : NSObject { - ABRecordRef record; - NSString* numberType; -} --(id) initWithRecord:(ABRecordRef) record ofType:(NSString*) type; -@property (nonatomic, readonly) ABRecordRef record; -@property (nonatomic, readonly) NSString* numberType; -@end - @interface FastAddressBook : NSObject { NSMutableDictionary* mAddressBookMap; ABAddressBookRef addressBook; } --(Contact*) getMatchingRecord:(NSString*) number ; -+(NSString*) appendCountryCodeIfPossible:(NSString*) number ; -+(NSString*) normalizePhoneNumber:(NSString*) number ; --(id) init ; - -@property (nonatomic, readonly) ABAddressBookRef addressBook; ++ (NSString*)getContactDisplayName:(ABRecordRef)contact; ++ (UIImage*)getContactImage:(ABRecordRef)contact thumbnail:(BOOL)thumbnail; +- (ABRecordRef)getContact:(NSString*)address; ++ (NSString*)appendCountryCodeIfPossible:(NSString*)number; ++ (NSString*)normalizePhoneNumber:(NSString*)number; ++ (NSString*)normalizeSipURI:(NSString*)address; @end diff --git a/Classes/Utils/FastAddressBook.m b/Classes/Utils/FastAddressBook.m index 46f67d74d..b2441ca7b 100644 --- a/Classes/Utils/FastAddressBook.m +++ b/Classes/Utils/FastAddressBook.m @@ -22,15 +22,36 @@ @implementation FastAddressBook -@synthesize addressBook; - -- (Contact*)getMatchingRecord:(NSString*) number { - @synchronized (mAddressBookMap){ - return (Contact*) [mAddressBookMap objectForKey:number]; - } ++ (NSString*)getContactDisplayName:(ABRecordRef)contact { + NSString *retString = nil; + if (contact) { + CFStringRef lDisplayName = ABRecordCopyCompositeName(contact); + if(lDisplayName != NULL) { + retString = [NSString stringWithString:(NSString*)lDisplayName]; + CFRelease(lDisplayName); + } + } + return retString; } -+ (NSString*)appendCountryCodeIfPossible:(NSString*) number { ++ (UIImage*)getContactImage:(ABRecordRef)contact thumbnail:(BOOL)thumbnail { + UIImage* retImage = nil; + if (contact && ABPersonHasImageData(contact)) { + CFDataRef imgData = ABPersonCopyImageDataWithFormat(contact, thumbnail? + kABPersonImageFormatThumbnail: kABPersonImageFormatOriginalSize); + retImage = [[[UIImage alloc] initWithData:(NSData *)imgData] autorelease]; + CFRelease(imgData); + } + return retImage; +} + +- (ABRecordRef)getContact:(NSString*)address { + @synchronized (mAddressBookMap){ + return (ABRecordRef)[mAddressBookMap objectForKey:address]; + } +} + ++ (NSString*)appendCountryCodeIfPossible:(NSString*)number { if (![number hasPrefix:@"+"] && ![number hasPrefix:@"00"]) { NSString* lCountryCode = [[LinphoneManager instance].settingsStore objectForKey:@"countrycode_preference"]; if (lCountryCode && [lCountryCode length]>0) { @@ -41,13 +62,29 @@ return number; } -+ (NSString*)normalizePhoneNumber:(NSString*) number { - NSString* lNormalizedNumber = [(NSString*)number stringByReplacingOccurrencesOfString:@" " withString:@""]; - lNormalizedNumber = [lNormalizedNumber stringByReplacingOccurrencesOfString:@"(" withString:@""]; - lNormalizedNumber = [lNormalizedNumber stringByReplacingOccurrencesOfString:@")" withString:@""]; - lNormalizedNumber = [lNormalizedNumber stringByReplacingOccurrencesOfString:@"-" withString:@""]; - lNormalizedNumber = [FastAddressBook appendCountryCodeIfPossible:lNormalizedNumber]; - return lNormalizedNumber; ++ (NSString*)normalizeSipURI:(NSString*)address { + return address; +} + ++ (NSString*)normalizePhoneNumber:(NSString*)address { + NSMutableString* lNormalizedAddress = [NSMutableString stringWithString:address]; + [lNormalizedAddress replaceOccurrencesOfString:@" " + withString:@"" + options:0 + range:NSMakeRange(0, [lNormalizedAddress length])]; + [lNormalizedAddress replaceOccurrencesOfString:@"(" + withString:@"" + options:0 + range:NSMakeRange(0, [lNormalizedAddress length])]; + [lNormalizedAddress replaceOccurrencesOfString:@")" + withString:@"" + options:0 + range:NSMakeRange(0, [lNormalizedAddress length])]; + [lNormalizedAddress replaceOccurrencesOfString:@"-" + withString:@"" + options:0 + range:NSMakeRange(0, [lNormalizedAddress length])]; + return [FastAddressBook appendCountryCodeIfPossible:lNormalizedAddress]; } void sync_address_book (ABAddressBookRef addressBook, CFDictionaryRef info, void *context) { @@ -57,27 +94,49 @@ void sync_address_book (ABAddressBookRef addressBook, CFDictionaryRef info, void NSArray *lContacts = (NSArray *)ABAddressBookCopyArrayOfAllPeople(addressBook); for (id lPerson in lContacts) { - ABMutableMultiValueRef lPhoneNumbers = ABRecordCopyValue((ABRecordRef)lPerson, kABPersonPhoneProperty); - for ( int i=0; i{320, 460} - + _NS:9 IBCocoaTouchFramework @@ -404,9 +404,9 @@ IBCocoaTouchFramework - + NSImage - setup_label.png + field_background.png 1 @@ -444,7 +444,7 @@ YES IBCocoaTouchFramework - + @@ -474,7 +474,7 @@ YES IBCocoaTouchFramework - + @@ -503,7 +503,7 @@ IBCocoaTouchFramework - + @@ -629,7 +629,7 @@ YES IBCocoaTouchFramework - + @@ -658,7 +658,7 @@ IBCocoaTouchFramework - + @@ -736,7 +736,7 @@ IBCocoaTouchFramework - + @@ -766,7 +766,7 @@ YES IBCocoaTouchFramework - + @@ -795,7 +795,7 @@ IBCocoaTouchFramework - + @@ -1461,13 +1461,13 @@ {550, 101} {550, 101} + {16, 16} {320, 154} {320, 154} {320, 154} {320, 154} {320, 154} {320, 154} - {542, 88} {320, 154} {320, 154} {320, 154} diff --git a/Resources/setup_label.png b/Resources/field_background.png similarity index 100% rename from Resources/setup_label.png rename to Resources/field_background.png diff --git a/linphone.xcodeproj/project.pbxproj b/linphone.xcodeproj/project.pbxproj index 24123f5f1..dc970feb8 100755 --- a/linphone.xcodeproj/project.pbxproj +++ b/linphone.xcodeproj/project.pbxproj @@ -291,8 +291,8 @@ D350F22115A43D3400149E54 /* setup_cancel_default.png in Resources */ = {isa = PBXBuildFile; fileRef = D350F21515A43D3400149E54 /* setup_cancel_default.png */; }; D350F22215A43D3400149E54 /* setup_cancel_over.png in Resources */ = {isa = PBXBuildFile; fileRef = D350F21615A43D3400149E54 /* setup_cancel_over.png */; }; D350F22315A43D3400149E54 /* setup_cancel_over.png in Resources */ = {isa = PBXBuildFile; fileRef = D350F21615A43D3400149E54 /* setup_cancel_over.png */; }; - D350F22415A43D3400149E54 /* setup_label.png in Resources */ = {isa = PBXBuildFile; fileRef = D350F21715A43D3400149E54 /* setup_label.png */; }; - D350F22515A43D3400149E54 /* setup_label.png in Resources */ = {isa = PBXBuildFile; fileRef = D350F21715A43D3400149E54 /* setup_label.png */; }; + D350F22415A43D3400149E54 /* field_background.png in Resources */ = {isa = PBXBuildFile; fileRef = D350F21715A43D3400149E54 /* field_background.png */; }; + D350F22515A43D3400149E54 /* field_background.png in Resources */ = {isa = PBXBuildFile; fileRef = D350F21715A43D3400149E54 /* field_background.png */; }; D350F22615A43D3400149E54 /* setup_start_default.png in Resources */ = {isa = PBXBuildFile; fileRef = D350F21815A43D3400149E54 /* setup_start_default.png */; }; D350F22715A43D3400149E54 /* setup_start_default.png in Resources */ = {isa = PBXBuildFile; fileRef = D350F21815A43D3400149E54 /* setup_start_default.png */; }; D350F22815A43D3400149E54 /* setup_start_over.png in Resources */ = {isa = PBXBuildFile; fileRef = D350F21915A43D3400149E54 /* setup_start_over.png */; }; @@ -1139,7 +1139,7 @@ D350F21415A43D3400149E54 /* setup_back_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = setup_back_over.png; path = Resources/setup_back_over.png; sourceTree = ""; }; D350F21515A43D3400149E54 /* setup_cancel_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = setup_cancel_default.png; path = Resources/setup_cancel_default.png; sourceTree = ""; }; D350F21615A43D3400149E54 /* setup_cancel_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = setup_cancel_over.png; path = Resources/setup_cancel_over.png; sourceTree = ""; }; - D350F21715A43D3400149E54 /* setup_label.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = setup_label.png; path = Resources/setup_label.png; sourceTree = ""; }; + D350F21715A43D3400149E54 /* field_background.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = field_background.png; path = Resources/field_background.png; sourceTree = ""; }; D350F21815A43D3400149E54 /* setup_start_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = setup_start_default.png; path = Resources/setup_start_default.png; sourceTree = ""; }; D350F21915A43D3400149E54 /* setup_start_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = setup_start_over.png; path = Resources/setup_start_over.png; sourceTree = ""; }; D350F21A15A43D3400149E54 /* setup_title_assistant.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = setup_title_assistant.png; path = Resources/setup_title_assistant.png; sourceTree = ""; }; @@ -2135,6 +2135,7 @@ D38327ED1580FE3A00FA0D23 /* dialer_default.png */, D38327EE1580FE3A00FA0D23 /* dialer_over.png */, D3C2814A15A2D38D0098AA42 /* dialer_selected.png */, + D350F21715A43D3400149E54 /* field_background.png */, D3F83EFA158205A100336684 /* hangup_default.png */, D3F83EFB158205A100336684 /* hangup_over.png */, D36C43CE158F2F370048BA40 /* header_conference.png */, @@ -2225,7 +2226,6 @@ D350F21515A43D3400149E54 /* setup_cancel_default.png */, D3A8BB7915A6CC3200F96BE5 /* setup_cancel_disabled.png */, D350F21615A43D3400149E54 /* setup_cancel_over.png */, - D350F21715A43D3400149E54 /* setup_label.png */, D350F21815A43D3400149E54 /* setup_start_default.png */, D3A8BB7A15A6CC3200F96BE5 /* setup_start_disabled.png */, D350F21915A43D3400149E54 /* setup_start_over.png */, @@ -2684,7 +2684,7 @@ D350F21E15A43D3400149E54 /* setup_back_over.png in Resources */, D350F22015A43D3400149E54 /* setup_cancel_default.png in Resources */, D350F22215A43D3400149E54 /* setup_cancel_over.png in Resources */, - D350F22415A43D3400149E54 /* setup_label.png in Resources */, + D350F22415A43D3400149E54 /* field_background.png in Resources */, D350F22615A43D3400149E54 /* setup_start_default.png in Resources */, D350F22815A43D3400149E54 /* setup_start_over.png in Resources */, D350F22A15A43D3400149E54 /* setup_title_assistant.png in Resources */, @@ -2923,7 +2923,7 @@ D350F21F15A43D3400149E54 /* setup_back_over.png in Resources */, D350F22115A43D3400149E54 /* setup_cancel_default.png in Resources */, D350F22315A43D3400149E54 /* setup_cancel_over.png in Resources */, - D350F22515A43D3400149E54 /* setup_label.png in Resources */, + D350F22515A43D3400149E54 /* field_background.png in Resources */, D350F22715A43D3400149E54 /* setup_start_default.png in Resources */, D350F22915A43D3400149E54 /* setup_start_over.png in Resources */, D350F22B15A43D3400149E54 /* setup_title_assistant.png in Resources */,