forked from mirrors/linphone-iphone
Merge branch 'new_ui' of git://git.linphone.org/linphone-iphone into castel
Conflicts: Classes/ContactDetailsTableViewController.m Classes/LinphoneManager.h Classes/LinphoneManager.m linphone.xcodeproj/project.pbxproj
This commit is contained in:
commit
23ff2e3681
36 changed files with 286 additions and 149 deletions
|
|
@ -17,6 +17,7 @@
|
|||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#import "LinphoneManager.h"
|
||||
#import "ChatRoomTableViewController.h"
|
||||
#import "UIChatRoomCell.h"
|
||||
#import "Utils.h"
|
||||
|
|
@ -108,7 +109,7 @@
|
|||
self->remoteAddress = [aremoteAddress copy];
|
||||
[self loadData];
|
||||
[ChatModel readConversation:remoteAddress];
|
||||
[[NSNotificationCenter defaultCenter] postNotificationName:@"LinphoneTextReceived" object:self];
|
||||
[[NSNotificationCenter defaultCenter] postNotificationName:kLinphoneTextReceived object:self];
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -106,7 +106,7 @@ static UICompositeViewDescription *compositeDescription = nil;
|
|||
object:nil];
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self
|
||||
selector:@selector(textReceivedEvent:)
|
||||
name:@"LinphoneTextReceived"
|
||||
name:kLinphoneTextReceived
|
||||
object:nil];
|
||||
if([tableController isEditing])
|
||||
[tableController setEditing:FALSE animated:FALSE];
|
||||
|
|
@ -130,7 +130,7 @@ static UICompositeViewDescription *compositeDescription = nil;
|
|||
name:UIKeyboardWillHideNotification
|
||||
object:nil];
|
||||
[[NSNotificationCenter defaultCenter] removeObserver:self
|
||||
name:@"LinphoneTextReceived"
|
||||
name:kLinphoneTextReceived
|
||||
object:nil];
|
||||
}
|
||||
|
||||
|
|
@ -223,7 +223,7 @@ static UICompositeViewDescription *compositeDescription = nil;
|
|||
caseInsensitiveCompare:remoteAddress] == NSOrderedSame) {
|
||||
[chat setRead:[NSNumber numberWithInt:1]];
|
||||
[chat update];
|
||||
[[NSNotificationCenter defaultCenter] postNotificationName:@"LinphoneTextReceived" object:self];
|
||||
[[NSNotificationCenter defaultCenter] postNotificationName:kLinphoneTextReceived object:self];
|
||||
[tableController addChatEntry:chat];
|
||||
}
|
||||
ms_free(fromStr);
|
||||
|
|
|
|||
|
|
@ -105,7 +105,7 @@
|
|||
[data removeObjectAtIndex:[indexPath row]];
|
||||
[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
|
||||
[tableView endUpdates];
|
||||
[[NSNotificationCenter defaultCenter] postNotificationName:@"LinphoneTextReceived" object:self];
|
||||
[[NSNotificationCenter defaultCenter] postNotificationName:kLinphoneTextReceived object:self];
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@
|
|||
[super viewWillAppear:animated];
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self
|
||||
selector:@selector(textReceivedEvent:)
|
||||
name:@"LinphoneTextReceived"
|
||||
name:kLinphoneTextReceived
|
||||
object:nil];
|
||||
if([tableController isEditing])
|
||||
[tableController setEditing:FALSE animated:FALSE];
|
||||
|
|
@ -68,7 +68,7 @@
|
|||
[super viewWillDisappear:animated];
|
||||
|
||||
[[NSNotificationCenter defaultCenter] removeObserver:self
|
||||
name:@"LinphoneTextReceived"
|
||||
name:kLinphoneTextReceived
|
||||
object:nil];
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -56,15 +56,16 @@
|
|||
@implementation ContactDetailsTableViewController
|
||||
|
||||
enum _ContactSections {
|
||||
ContactSections_Number = 0,
|
||||
ContactSections_None = 0,
|
||||
ContactSections_Number,
|
||||
ContactSections_Sip,
|
||||
ContactSections_MAX
|
||||
};
|
||||
|
||||
/* MODIFICATION Toggle SIP/Number
|
||||
static const int contactSections[ContactSections_MAX] = {ContactSections_Number, ContactSections_Sip};
|
||||
static const int contactSections[ContactSections_MAX] = {ContactSections_None, ContactSections_Number, ContactSections_Sip};
|
||||
*/
|
||||
static const int contactSections[ContactSections_MAX] = {ContactSections_Sip, ContactSections_Number};
|
||||
static const int contactSections[ContactSections_MAX] = {ContactSections_None, ContactSections_Sip, ContactSections_Number};
|
||||
/**/
|
||||
|
||||
@synthesize footerController;
|
||||
|
|
@ -211,7 +212,7 @@ static const int contactSections[ContactSections_MAX] = {ContactSections_Sip, Co
|
|||
CFDictionaryRef lDict = ABMultiValueCopyValueAtIndex(lMap, i);
|
||||
BOOL add = false;
|
||||
if(CFDictionaryContainsKey(lDict, kABPersonInstantMessageServiceKey)) {
|
||||
if(CFStringCompare((CFStringRef)CONTACT_SIP_FIELD, CFDictionaryGetValue(lDict, kABPersonInstantMessageServiceKey), kCFCompareCaseInsensitive) == 0) {
|
||||
if(CFStringCompare((CFStringRef)kContactSipField, CFDictionaryGetValue(lDict, kABPersonInstantMessageServiceKey), kCFCompareCaseInsensitive) == 0) {
|
||||
add = true;
|
||||
}
|
||||
} else {
|
||||
|
|
@ -279,7 +280,7 @@ static const int contactSections[ContactSections_MAX] = {ContactSections_Sip, Co
|
|||
lMap = ABMultiValueCreateMutable(kABDictionaryPropertyType);
|
||||
}
|
||||
CFStringRef keys[] = { kABPersonInstantMessageUsernameKey, kABPersonInstantMessageServiceKey };
|
||||
CFTypeRef values[] = { [value copy], CONTACT_SIP_FIELD };
|
||||
CFTypeRef values[] = { [value copy], kContactSipField };
|
||||
CFDictionaryRef lDict = CFDictionaryCreate(NULL, (const void **)&keys, (const void **)&values, 1, NULL, NULL);
|
||||
CFStringRef label = (CFStringRef)[labelArray objectAtIndex:0];
|
||||
if(!ABMultiValueAddValueAndLabel(lMap, lDict, label, &identifier)) {
|
||||
|
|
@ -378,6 +379,7 @@ static const int contactSections[ContactSections_MAX] = {ContactSections_Sip, Co
|
|||
}
|
||||
self->contact = acontact;
|
||||
[self loadData];
|
||||
[headerController setContact:contact];
|
||||
}
|
||||
|
||||
- (void)addSipField:(NSString*)address {
|
||||
|
|
@ -563,18 +565,23 @@ static const int contactSections[ContactSections_MAX] = {ContactSections_Sip, Co
|
|||
if(!editing) {
|
||||
[ContactDetailsTableViewController findAndResignFirstResponder:[self tableView]];
|
||||
}
|
||||
|
||||
[super setEditing:editing animated:animated];
|
||||
|
||||
[headerController setEditing:editing animated:animated];
|
||||
[footerController setEditing:editing animated:animated];
|
||||
|
||||
if(animated) {
|
||||
[self.tableView beginUpdates];
|
||||
}
|
||||
if(editing) {
|
||||
for (int section = 0; section <[self numberOfSectionsInTableView:[self tableView]]; ++section) {
|
||||
for (int section = 0; section < [self numberOfSectionsInTableView:[self tableView]]; ++section) {
|
||||
if(contactSections[section] == ContactSections_Number ||
|
||||
contactSections[section] == ContactSections_Sip)
|
||||
[self addEntry:self.tableView section:section animated:animated];
|
||||
}
|
||||
} else {
|
||||
for (int section = 0; section <[self numberOfSectionsInTableView:[self tableView]]; ++section) {
|
||||
for (int section = 0; section < [self numberOfSectionsInTableView:[self tableView]]; ++section) {
|
||||
if(contactSections[section] == ContactSections_Number ||
|
||||
contactSections[section] == ContactSections_Sip)
|
||||
[self removeEmptyEntry:self.tableView section:section animated:animated];
|
||||
}
|
||||
}
|
||||
|
|
@ -582,8 +589,10 @@ static const int contactSections[ContactSections_MAX] = {ContactSections_Sip, Co
|
|||
[self.tableView endUpdates];
|
||||
}
|
||||
|
||||
[headerController setEditing:editing animated:animated];
|
||||
[footerController setEditing:editing animated:animated];
|
||||
[super setEditing:editing animated:animated];
|
||||
if(contactDetailsDelegate != nil) {
|
||||
[contactDetailsDelegate onModification:nil];
|
||||
}
|
||||
}
|
||||
|
||||
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
|
|
@ -595,11 +604,8 @@ static const int contactSections[ContactSections_MAX] = {ContactSections_Sip, Co
|
|||
}
|
||||
|
||||
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
|
||||
if(section == 0) {
|
||||
UIView *headerView = [headerController view];
|
||||
[headerController setContact:contact];
|
||||
[headerController setEditing:[self isEditing] animated:FALSE];
|
||||
return headerView;
|
||||
if(section == ContactSections_None) {
|
||||
return [headerController view];
|
||||
} else {
|
||||
return nil;
|
||||
}
|
||||
|
|
@ -607,8 +613,7 @@ static const int contactSections[ContactSections_MAX] = {ContactSections_Sip, Co
|
|||
|
||||
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section {
|
||||
if(section == (ContactSections_MAX - 1)) {
|
||||
UIView *footerView = [footerController view];
|
||||
return footerView;
|
||||
return [footerController view];
|
||||
} else {
|
||||
return nil;
|
||||
}
|
||||
|
|
@ -618,7 +623,7 @@ static const int contactSections[ContactSections_MAX] = {ContactSections_Sip, Co
|
|||
if(contactSections[section] == ContactSections_Number) {
|
||||
return NSLocalizedString(@"Phone numbers", nil);
|
||||
} else if(contactSections[section] == ContactSections_Sip) {
|
||||
return NSLocalizedString(@"SIP", nil);
|
||||
return NSLocalizedString(@"SIP addresses", nil);
|
||||
}
|
||||
return nil;
|
||||
}
|
||||
|
|
@ -628,8 +633,8 @@ static const int contactSections[ContactSections_MAX] = {ContactSections_Sip, Co
|
|||
}
|
||||
|
||||
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
|
||||
if(section == 0) {
|
||||
return [UIContactDetailsHeader height:[self isEditing]];
|
||||
if(section == ContactSections_None) {
|
||||
return [UIContactDetailsHeader height:[headerController isEditing]];
|
||||
} else {
|
||||
// Hide section if nothing in it
|
||||
if([[self getSectionData:section] count] > 0)
|
||||
|
|
@ -640,8 +645,10 @@ static const int contactSections[ContactSections_MAX] = {ContactSections_Sip, Co
|
|||
}
|
||||
|
||||
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {
|
||||
if(section != 0) {
|
||||
return [UIContactDetailsFooter height:[self isEditing]];
|
||||
if(section == (ContactSections_MAX - 1)) {
|
||||
return [UIContactDetailsFooter height:[footerController isEditing]];
|
||||
} else if(section == ContactSections_None) {
|
||||
return 0.000001f; // Hack UITableView = 0
|
||||
}
|
||||
return 10.0f;
|
||||
}
|
||||
|
|
@ -717,7 +724,7 @@ static const int contactSections[ContactSections_MAX] = {ContactSections_Sip, Co
|
|||
CFRelease(lcMap);
|
||||
int index = ABMultiValueGetIndexForIdentifier(lMap, [entry identifier]);
|
||||
CFStringRef keys[] = { kABPersonInstantMessageUsernameKey, kABPersonInstantMessageServiceKey};
|
||||
CFTypeRef values[] = { [value copy], CONTACT_SIP_FIELD };
|
||||
CFTypeRef values[] = { [value copy], kContactSipField };
|
||||
CFDictionaryRef lDict = CFDictionaryCreate(NULL, (const void **)&keys, (const void **)&values, 2, NULL, NULL);
|
||||
ABMultiValueReplaceValueAtIndex(lMap, lDict, index);
|
||||
CFRelease(lDict);
|
||||
|
|
|
|||
|
|
@ -122,7 +122,7 @@ static UICompositeViewDescription *compositeDescription = nil;
|
|||
// Set observer
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self
|
||||
selector:@selector(callUpdateEvent:)
|
||||
name:@"LinphoneCallUpdate"
|
||||
name:kLinphoneCallUpdate
|
||||
object:nil];
|
||||
// Update on show
|
||||
if([LinphoneManager isLcReady]) {
|
||||
|
|
@ -137,7 +137,7 @@ static UICompositeViewDescription *compositeDescription = nil;
|
|||
|
||||
// Remove observer
|
||||
[[NSNotificationCenter defaultCenter] removeObserver:self
|
||||
name:@"LinphoneCallUpdate"
|
||||
name:kLinphoneCallUpdate
|
||||
object:nil];
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
|
||||
#import "LinphoneManager.h"
|
||||
#import "FirstLoginViewController.h"
|
||||
#import "LinphoneManager.h"
|
||||
#import "PhoneMainView.h"
|
||||
|
|
@ -76,7 +76,7 @@ static UICompositeViewDescription *compositeDescription = nil;
|
|||
// Set observer
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self
|
||||
selector:@selector(registrationUpdateEvent:)
|
||||
name:@"LinphoneRegistrationUpdate"
|
||||
name:kLinphoneRegistrationUpdate
|
||||
object:nil];
|
||||
|
||||
[usernameField setText:[[LinphoneManager instance].settingsStore objectForKey:@"username_preference"]];
|
||||
|
|
@ -97,7 +97,7 @@ static UICompositeViewDescription *compositeDescription = nil;
|
|||
|
||||
// Remove observer
|
||||
[[NSNotificationCenter defaultCenter] removeObserver:self
|
||||
name:@"LinphoneRegistrationUpdate"
|
||||
name:kLinphoneRegistrationUpdate
|
||||
object:nil];
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -99,7 +99,7 @@ static UICompositeViewDescription *compositeDescription = nil;
|
|||
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self
|
||||
selector:@selector(update:)
|
||||
name:@"LinphoneAddressBookUpdate"
|
||||
name:kLinphoneAddressBookUpdate
|
||||
object:nil];
|
||||
[self update];
|
||||
}
|
||||
|
|
@ -108,7 +108,7 @@ static UICompositeViewDescription *compositeDescription = nil;
|
|||
[super viewWillDisappear:animated];
|
||||
|
||||
[[NSNotificationCenter defaultCenter] removeObserver:self
|
||||
name:@"LinphoneAddressBookUpdate"
|
||||
name:kLinphoneAddressBookUpdate
|
||||
object:nil];
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -85,7 +85,7 @@ static UICompositeViewDescription *compositeDescription = nil;
|
|||
// Reset missed call
|
||||
linphone_core_reset_missed_calls_count([LinphoneManager getLc]);
|
||||
// Fake event
|
||||
[[NSNotificationCenter defaultCenter] postNotificationName:@"LinphoneCallUpdate" object:self];
|
||||
[[NSNotificationCenter defaultCenter] postNotificationName:kLinphoneCallUpdate object:self];
|
||||
}
|
||||
|
||||
- (void)viewDidLoad {
|
||||
|
|
|
|||
|
|
@ -126,7 +126,7 @@ static UICompositeViewDescription *compositeDescription = nil;
|
|||
|
||||
// Remove observer
|
||||
[[NSNotificationCenter defaultCenter] removeObserver:self
|
||||
name:@"LinphoneCallUpdate"
|
||||
name:kLinphoneCallUpdate
|
||||
object:nil];
|
||||
}
|
||||
|
||||
|
|
@ -139,7 +139,7 @@ static UICompositeViewDescription *compositeDescription = nil;
|
|||
// Set observer
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self
|
||||
selector:@selector(callUpdateEvent:)
|
||||
name:@"LinphoneCallUpdate"
|
||||
name:kLinphoneCallUpdate
|
||||
object:nil];
|
||||
|
||||
// Update on show
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@
|
|||
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self
|
||||
selector:@selector(callUpdateEvent:)
|
||||
name:@"LinphoneCallUpdate"
|
||||
name:kLinphoneCallUpdate
|
||||
object:nil];
|
||||
}
|
||||
|
||||
|
|
@ -60,7 +60,7 @@
|
|||
[super viewWillDisappear:animated];
|
||||
|
||||
[[NSNotificationCenter defaultCenter] removeObserver:self
|
||||
name:@"LinphoneCallUpdate"
|
||||
name:kLinphoneCallUpdate
|
||||
object:nil];
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -187,6 +187,19 @@ int __aeabi_idiv(int a, int b) {
|
|||
|
||||
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
|
||||
[LinphoneLogger log:LinphoneLoggerDebug format:@"PushNotification: Receive %@", userInfo];
|
||||
NSDictionary *aps = [userInfo objectForKey:@"aps"];
|
||||
if(aps != nil) {
|
||||
NSDictionary *alert = [aps objectForKey:@"alert"];
|
||||
if(alert != nil) {
|
||||
NSString *loc_key = [alert objectForKey:@"loc-key"];
|
||||
if(loc_key != nil) {
|
||||
if([loc_key isEqualToString:@"IM_MSG"]) {
|
||||
[[LinphoneManager instance] addInhibitedEvent:kLinphoneTextReceivedSound];
|
||||
[[PhoneMainView instance] changeCurrentView:[ChatViewController compositeViewDescription]];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification {
|
||||
|
|
|
|||
|
|
@ -363,7 +363,7 @@ extern void linphone_iphone_log_handler(int lev, const char *fmt, va_list args);
|
|||
[tokenString appendFormat:@"%02X", (unsigned int)tokenBuffer[i]];
|
||||
}
|
||||
// NSLocalizedString(@"IC_MSG", nil); // Fake
|
||||
NSString *params = [NSString stringWithFormat:@"APN-TOK=%@;APN-MSG=IC_MSG;APN-SND=oldphone-mono-30s.caf", tokenString];
|
||||
NSString *params = [NSString stringWithFormat:@"APN-TOK=%@;APN-MSG=IM_MSG;APN-CAL=IC_MSG;APN-CAL-SND=ring.caf;APN-MSG-SND=msg.caf", tokenString];
|
||||
linphone_proxy_config_set_contact_parameters(proxyCfg, [params UTF8String]);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@
|
|||
#import <Foundation/Foundation.h>
|
||||
#import <AVFoundation/AVAudioSession.h>
|
||||
#import <SystemConfiguration/SCNetworkReachability.h>
|
||||
#import <AudioToolbox/AudioToolbox.h>
|
||||
#import <sqlite3.h>
|
||||
|
||||
#import "LogView.h"
|
||||
|
|
@ -31,7 +32,14 @@
|
|||
|
||||
#include "linphonecore.h"
|
||||
|
||||
extern const NSString *CONTACT_SIP_FIELD;
|
||||
extern NSString *const kLinphoneTextReceived;
|
||||
extern NSString *const kLinphoneTextReceivedSound;
|
||||
extern NSString *const kLinphoneCallUpdate;
|
||||
extern NSString *const kLinphoneRegistrationUpdate;
|
||||
extern NSString *const kLinphoneMainViewChange;
|
||||
extern NSString *const kLinphoneAddressBookUpdate;
|
||||
|
||||
extern NSString *const kContactSipField;
|
||||
|
||||
typedef enum _Connectivity {
|
||||
wifi,
|
||||
|
|
@ -55,6 +63,11 @@ typedef struct _LinphoneCallAppData {
|
|||
UILocalNotification *notification;
|
||||
} LinphoneCallAppData;
|
||||
|
||||
typedef struct _LinphoneManagerSounds {
|
||||
SystemSoundID call;
|
||||
SystemSoundID message;
|
||||
} LinphoneManagerSounds;
|
||||
|
||||
@interface LinphoneManager : NSObject <AVAudioSessionDelegate> {
|
||||
@protected
|
||||
SCNetworkReachabilityRef proxyReachability;
|
||||
|
|
@ -69,10 +82,13 @@ typedef struct _LinphoneCallAppData {
|
|||
|
||||
FastAddressBook* fastAddressBook;
|
||||
|
||||
LinphoneManagerSounds sounds;
|
||||
NSMutableArray *inhibitedEvent;
|
||||
id<IASKSettingsStore> settingsStore;
|
||||
sqlite3 *database;
|
||||
NSDictionary *castelCommands;
|
||||
|
||||
|
||||
@public
|
||||
CallContext currentCallContextBeforeGoingBackground;
|
||||
}
|
||||
|
|
@ -101,6 +117,9 @@ typedef struct _LinphoneCallAppData {
|
|||
- (void)enableSpeaker:(BOOL)enable;
|
||||
- (BOOL)isSpeakerEnabled;
|
||||
|
||||
- (void)addInhibitedEvent:(NSString*)event;
|
||||
- (BOOL)removeInhibitedEvent:(NSString*)event;
|
||||
|
||||
- (void)call:(NSString *)address displayName:(NSString*)displayName transfer:(BOOL)transfer;
|
||||
|
||||
@property (nonatomic, retain) id<IASKSettingsStore> settingsStore;
|
||||
|
|
@ -111,6 +130,7 @@ typedef struct _LinphoneCallAppData {
|
|||
@property (readonly) const char* backCamId;
|
||||
@property (readonly) sqlite3* database;
|
||||
@property (nonatomic, retain) NSData *pushNotificationToken;
|
||||
@property (readonly) LinphoneManagerSounds sounds;
|
||||
@property (readonly) NSDictionary* castelCommands;
|
||||
|
||||
@end
|
||||
|
|
|
|||
|
|
@ -38,9 +38,16 @@
|
|||
#include "lpconfig.h"
|
||||
#include "private.h"
|
||||
|
||||
static LinphoneCore* theLinphoneCore=nil;
|
||||
static LinphoneManager* theLinphoneManager=nil;
|
||||
const NSString *CONTACT_SIP_FIELD = @"SIP";
|
||||
static LinphoneCore* theLinphoneCore = nil;
|
||||
static LinphoneManager* theLinphoneManager = nil;
|
||||
|
||||
NSString *const kLinphoneTextReceived = @"LinphoneTextReceived";
|
||||
NSString *const kLinphoneTextReceivedSound = @"LinphoneTextReceivedSound";
|
||||
NSString *const kLinphoneCallUpdate = @"LinphoneCallUpdate";
|
||||
NSString *const kLinphoneRegistrationUpdate = @"LinphoneRegistrationUpdate";
|
||||
NSString *const kLinphoneAddressBookUpdate = @"LinphoneAddressBookUpdate";
|
||||
NSString *const kLinphoneMainViewChange = @"LinphoneMainViewChange";
|
||||
NSString *const kContactSipField = @"SIP";
|
||||
|
||||
extern void libmsilbc_init();
|
||||
#ifdef HAVE_AMR
|
||||
|
|
@ -71,6 +78,7 @@ extern void libmsbcg729_init();
|
|||
@synthesize database;
|
||||
@synthesize fastAddressBook;
|
||||
@synthesize pushNotificationToken;
|
||||
@synthesize sounds;
|
||||
@synthesize castelCommands;
|
||||
|
||||
struct codec_name_pref_table{
|
||||
|
|
@ -173,6 +181,24 @@ struct codec_name_pref_table codec_pref_table[]={
|
|||
- (id)init {
|
||||
if ((self = [super init])) {
|
||||
fastAddressBook = [[FastAddressBook alloc] init];
|
||||
|
||||
{
|
||||
NSString *path = [[NSBundle mainBundle] pathForResource:@"ring" ofType:@"wav"];
|
||||
sounds.call = 0;
|
||||
OSStatus status = AudioServicesCreateSystemSoundID((CFURLRef)[NSURL fileURLWithPath:path], &sounds.call);
|
||||
if(status != 0){
|
||||
[LinphoneLogger log:LinphoneLoggerWarning format:@"Can't set \"call\" system sound"];
|
||||
}
|
||||
}
|
||||
{
|
||||
NSString *path = [[NSBundle mainBundle] pathForResource:@"msg" ofType:@"wav"];
|
||||
sounds.message = 0;
|
||||
OSStatus status = AudioServicesCreateSystemSoundID((CFURLRef)[NSURL fileURLWithPath:path], &sounds.message);
|
||||
if(status != 0){
|
||||
[LinphoneLogger log:LinphoneLoggerWarning format:@"Can't set \"message\" system sound"];
|
||||
}
|
||||
}
|
||||
inhibitedEvent = [[NSMutableArray alloc] init];
|
||||
database = NULL;
|
||||
settingsStore = nil;
|
||||
self.defaultExpires = 600;
|
||||
|
|
@ -182,6 +208,14 @@ struct codec_name_pref_table codec_pref_table[]={
|
|||
}
|
||||
|
||||
- (void)dealloc {
|
||||
if(sounds.call) {
|
||||
AudioServicesDisposeSystemSoundID(sounds.call);
|
||||
}
|
||||
if(sounds.message) {
|
||||
AudioServicesDisposeSystemSoundID(sounds.message);
|
||||
}
|
||||
|
||||
[inhibitedEvent release];
|
||||
[fastAddressBook release];
|
||||
[self closeDatabase];
|
||||
[settingsStore release];
|
||||
|
|
@ -605,11 +639,11 @@ static LinphoneCoreVTable linphonec_vtable = {
|
|||
|
||||
linphone_core_set_root_ca(theLinphoneCore, lRootCa);
|
||||
// Set audio assets
|
||||
const char* lRing = [[myBundle pathForResource:@"oldphone-mono"ofType:@"wav"] cStringUsingEncoding:[NSString defaultCStringEncoding]];
|
||||
const char* lRing = [[myBundle pathForResource:@"ring"ofType:@"wav"] cStringUsingEncoding:[NSString defaultCStringEncoding]];
|
||||
linphone_core_set_ring(theLinphoneCore, lRing );
|
||||
const char* lRingBack = [[myBundle pathForResource:@"ringback"ofType:@"wav"] cStringUsingEncoding:[NSString defaultCStringEncoding]];
|
||||
linphone_core_set_ringback(theLinphoneCore, lRingBack);
|
||||
const char* lPlay = [[myBundle pathForResource:@"toy-mono"ofType:@"wav"] cStringUsingEncoding:[NSString defaultCStringEncoding]];
|
||||
const char* lPlay = [[myBundle pathForResource:@"hold"ofType:@"wav"] cStringUsingEncoding:[NSString defaultCStringEncoding]];
|
||||
linphone_core_set_play_file(theLinphoneCore, lPlay);
|
||||
|
||||
linphone_core_set_zrtp_secrets_file(theLinphoneCore, [zrtpSecretsFileName cStringUsingEncoding:[NSString defaultCStringEncoding]]);
|
||||
|
|
@ -930,4 +964,17 @@ static LinphoneCoreVTable linphonec_vtable = {
|
|||
}
|
||||
}
|
||||
|
||||
- (void)addInhibitedEvent:(NSString*)event {
|
||||
[inhibitedEvent addObject:event];
|
||||
}
|
||||
|
||||
- (BOOL)removeInhibitedEvent:(NSString*)event {
|
||||
NSUInteger index = [inhibitedEvent indexOfObject:kLinphoneTextReceivedSound];
|
||||
if(index != NSNotFound) {
|
||||
[inhibitedEvent removeObjectAtIndex:index];
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
|
|||
|
|
@ -226,7 +226,7 @@
|
|||
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self
|
||||
selector:@selector(callUpdateEvent:)
|
||||
name:@"LinphoneCallUpdate"
|
||||
name:kLinphoneCallUpdate
|
||||
object:nil];
|
||||
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self
|
||||
|
|
@ -246,7 +246,7 @@
|
|||
[super viewWillDisappear:animated];
|
||||
|
||||
[[NSNotificationCenter defaultCenter] removeObserver:self
|
||||
name:@"LinphoneCallUpdate"
|
||||
name:kLinphoneCallUpdate
|
||||
object:nil];
|
||||
[[NSNotificationCenter defaultCenter] removeObserver:self
|
||||
name:@"LinphoneCastelCommands"
|
||||
|
|
|
|||
|
|
@ -99,25 +99,33 @@
|
|||
|
||||
// Message
|
||||
[chatContentLabel setText:[chat message]];
|
||||
|
||||
}
|
||||
|
||||
- (void)layoutSubviews {
|
||||
[super layoutSubviews];
|
||||
//
|
||||
// Adapt size
|
||||
//
|
||||
CGRect displayNameFrame = [addressLabel frame];
|
||||
CGRect chatContentFrame = [chatContentLabel frame];
|
||||
|
||||
chatContentFrame.origin.x -= displayNameFrame.size.width;
|
||||
|
||||
// Compute firstName size
|
||||
CGSize contraints;
|
||||
contraints.height = [addressLabel frame].size.height;
|
||||
contraints.width = ([chatContentLabel frame].size.width + [chatContentLabel frame].origin.x) - [addressLabel frame].origin.x;
|
||||
CGSize firstNameSize = [[addressLabel text] sizeWithFont:[addressLabel font] constrainedToSize: contraints];
|
||||
displayNameFrame.size.width = firstNameSize.width;
|
||||
CGSize displayNameSize = [[addressLabel text] sizeWithFont:[addressLabel font]];
|
||||
CGSize chatContentSize = [[chatContentLabel text] sizeWithFont:[chatContentLabel font]];
|
||||
float sum = displayNameSize.width + 5 + chatContentSize.width;
|
||||
float limit = self.bounds.size.width - 5 - displayNameFrame.origin.x;
|
||||
if(sum >limit) {
|
||||
displayNameSize.width *= limit/sum;
|
||||
chatContentSize.width *= limit/sum;
|
||||
}
|
||||
|
||||
displayNameFrame.size.width = displayNameSize.width;
|
||||
chatContentFrame.size.width = chatContentSize.width;
|
||||
|
||||
// Compute lastName size & position
|
||||
chatContentFrame.origin.x += displayNameFrame.size.width;
|
||||
chatContentFrame.size.width = (contraints.width + [addressLabel frame].origin.x) - chatContentFrame.origin.x;
|
||||
chatContentFrame.origin.x = displayNameFrame.origin.x + displayNameFrame.size.width;
|
||||
if(displayNameFrame.size.width)
|
||||
chatContentFrame.origin.x += 5;
|
||||
|
||||
[addressLabel setFrame: displayNameFrame];
|
||||
[chatContentLabel setFrame: chatContentFrame];
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@
|
|||
|
||||
@interface UIChatRoomCell : UITableViewCell {
|
||||
UIImageView *backgroundImage;
|
||||
UIView *contentView;
|
||||
UIView *innerView;
|
||||
UIView *messageView;
|
||||
UILabel *messageLabel;
|
||||
UIButton *deleteButton;
|
||||
|
|
@ -33,7 +33,7 @@
|
|||
}
|
||||
|
||||
@property (nonatomic, retain) ChatModel *chat;
|
||||
@property (nonatomic, retain) IBOutlet UIView *contentView;
|
||||
@property (nonatomic, retain) IBOutlet UIView *innerView;
|
||||
@property (nonatomic, retain) IBOutlet UIView *messageView;
|
||||
@property (nonatomic, retain) IBOutlet UIImageView* backgroundImage;
|
||||
@property (nonatomic, retain) IBOutlet UILabel *messageLabel;
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@
|
|||
|
||||
@implementation UIChatRoomCell
|
||||
|
||||
@synthesize contentView;
|
||||
@synthesize innerView;
|
||||
@synthesize messageView;
|
||||
@synthesize backgroundImage;
|
||||
@synthesize messageLabel;
|
||||
|
|
@ -47,14 +47,14 @@ static UIFont *CELL_FONT = nil;
|
|||
[[NSBundle mainBundle] loadNibNamed:@"UIChatRoomCell"
|
||||
owner:self
|
||||
options:nil];
|
||||
[self addSubview:contentView];
|
||||
[self addSubview:innerView];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void)dealloc {
|
||||
[backgroundImage release];
|
||||
[contentView release];
|
||||
[innerView release];
|
||||
[messageView release];
|
||||
[messageLabel release];
|
||||
[deleteButton release];
|
||||
|
|
@ -143,20 +143,20 @@ static UIFont *CELL_FONT = nil;
|
|||
- (void)layoutSubviews {
|
||||
[super layoutSubviews];
|
||||
if(chat != nil) {
|
||||
// Resize Content
|
||||
CGRect contentFrame = [contentView frame];
|
||||
contentFrame.size = [UIChatRoomCell viewSize:[chat message] width:[self frame].size.width];
|
||||
// Resize inner
|
||||
CGRect innerFrame;
|
||||
innerFrame.size = [UIChatRoomCell viewSize:[chat message] width:[self frame].size.width];
|
||||
if([[chat direction] intValue]) { // Inverted
|
||||
contentFrame.origin.x = 0.0f;
|
||||
contentFrame.origin.y = 0.0f;
|
||||
innerFrame.origin.x = 0.0f;
|
||||
innerFrame.origin.y = 0.0f;
|
||||
} else {
|
||||
contentFrame.origin.x = [self frame].size.width - contentFrame.size.width;
|
||||
contentFrame.origin.y = 0.0f;
|
||||
innerFrame.origin.x = [self frame].size.width - innerFrame.size.width;
|
||||
innerFrame.origin.y = 0.0f;
|
||||
}
|
||||
[contentView setFrame:contentFrame];
|
||||
[innerView setFrame:innerFrame];
|
||||
|
||||
CGRect messageFrame = [messageView frame];
|
||||
messageFrame.origin.y = ([contentView frame].size.height - messageFrame.size.height)/2;
|
||||
messageFrame.origin.y = ([innerView frame].size.height - messageFrame.size.height)/2;
|
||||
if([[chat direction] intValue]) { // Inverted
|
||||
[backgroundImage setImage:[TUNinePatchCache imageOfSize:[backgroundImage bounds].size
|
||||
forNinePatchNamed:@"chat_bubble_incoming"]];
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@
|
|||
</object>
|
||||
<object class="IBUIView" id="579600281">
|
||||
<reference key="NSNextResponder"/>
|
||||
<int key="NSvFlags">301</int>
|
||||
<int key="NSvFlags">256</int>
|
||||
<array class="NSMutableArray" key="NSSubviews">
|
||||
<object class="IBUIImageView" id="340144998">
|
||||
<reference key="NSNextResponder" ref="579600281"/>
|
||||
|
|
@ -227,14 +227,6 @@
|
|||
</object>
|
||||
<int key="connectionID">13</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">contentView</string>
|
||||
<reference key="source" ref="841351856"/>
|
||||
<reference key="destination" ref="579600281"/>
|
||||
</object>
|
||||
<int key="connectionID">14</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">messageLabel</string>
|
||||
|
|
@ -267,6 +259,14 @@
|
|||
</object>
|
||||
<int key="connectionID">24</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">innerView</string>
|
||||
<reference key="source" ref="841351856"/>
|
||||
<reference key="destination" ref="579600281"/>
|
||||
</object>
|
||||
<int key="connectionID">25</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchEventConnection" key="connection">
|
||||
<string key="label">onDeleteClick:</string>
|
||||
|
|
@ -304,7 +304,7 @@
|
|||
<reference ref="456806949"/>
|
||||
</array>
|
||||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">contentView</string>
|
||||
<string key="objectName">innerView</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">7</int>
|
||||
|
|
@ -375,7 +375,7 @@
|
|||
<nil key="activeLocalization"/>
|
||||
<dictionary class="NSMutableDictionary" key="localizations"/>
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">24</int>
|
||||
<int key="maxID">25</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
|
|
@ -395,9 +395,9 @@
|
|||
</object>
|
||||
<dictionary class="NSMutableDictionary" key="outlets">
|
||||
<string key="backgroundImage">UIImageView</string>
|
||||
<string key="contentView">UIView</string>
|
||||
<string key="dateLabel">UILabel</string>
|
||||
<string key="deleteButton">UIButton</string>
|
||||
<string key="innerView">UIView</string>
|
||||
<string key="messageLabel">UILabel</string>
|
||||
<string key="messageView">UIView</string>
|
||||
</dictionary>
|
||||
|
|
@ -406,10 +406,6 @@
|
|||
<string key="name">backgroundImage</string>
|
||||
<string key="candidateClassName">UIImageView</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="contentView">
|
||||
<string key="name">contentView</string>
|
||||
<string key="candidateClassName">UIView</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="dateLabel">
|
||||
<string key="name">dateLabel</string>
|
||||
<string key="candidateClassName">UILabel</string>
|
||||
|
|
@ -418,6 +414,10 @@
|
|||
<string key="name">deleteButton</string>
|
||||
<string key="candidateClassName">UIButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="innerView">
|
||||
<string key="name">innerView</string>
|
||||
<string key="candidateClassName">UIView</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="messageLabel">
|
||||
<string key="name">messageLabel</string>
|
||||
<string key="candidateClassName">UILabel</string>
|
||||
|
|
|
|||
|
|
@ -251,7 +251,7 @@
|
|||
// Update rotation
|
||||
UIInterfaceOrientation correctOrientation = [self getCorrectInterfaceOrientation:[[UIDevice currentDevice] orientation]];
|
||||
if(currentOrientation != correctOrientation) {
|
||||
[PhoneMainView forceOrientation:correctOrientation animated:currentOrientation!=UIDeviceOrientationUnknown];
|
||||
[PhoneMainView setOrientation:correctOrientation animated:currentOrientation!=UIDeviceOrientationUnknown];
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -439,7 +439,7 @@
|
|||
// Update rotation
|
||||
UIInterfaceOrientation correctOrientation = [self getCorrectInterfaceOrientation:[[UIDevice currentDevice] orientation]];
|
||||
if(currentOrientation != correctOrientation) {
|
||||
[PhoneMainView forceOrientation:correctOrientation animated:currentOrientation!=UIDeviceOrientationUnknown];
|
||||
[PhoneMainView setOrientation:correctOrientation animated:currentOrientation!=UIDeviceOrientationUnknown];
|
||||
} else {
|
||||
[self updateInterfaceOrientation:correctOrientation];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -111,7 +111,7 @@
|
|||
|
||||
// Compute firstName size
|
||||
CGSize firstNameSize = [[firstNameLabel text] sizeWithFont:[firstNameLabel font]];
|
||||
CGSize lastNameSize = [[lastNameLabel text] sizeWithFont:[firstNameLabel font]];
|
||||
CGSize lastNameSize = [[lastNameLabel text] sizeWithFont:[lastNameLabel font]];
|
||||
float sum = firstNameSize.width + 5 + lastNameSize.width;
|
||||
float limit = self.bounds.size.width - 5 - firstNameFrame.origin.x;
|
||||
if(sum >limit) {
|
||||
|
|
|
|||
|
|
@ -39,6 +39,7 @@
|
|||
propertyList = [[NSArray alloc] initWithObjects:
|
||||
[NSNumber numberWithInt:kABPersonFirstNameProperty],
|
||||
[NSNumber numberWithInt:kABPersonLastNameProperty], nil];
|
||||
editing = FALSE;
|
||||
}
|
||||
|
||||
- (id)init {
|
||||
|
|
@ -83,6 +84,9 @@
|
|||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
removeTableBackground(tableView); // Can't do it in Xib: issue with ios4
|
||||
[normalView setAlpha:1.0f];
|
||||
[editView setAlpha:0.0f];
|
||||
[tableView setEditing:TRUE animated:false];
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -159,16 +163,11 @@
|
|||
[UIView beginAnimations:nil context:nil];
|
||||
[UIView setAnimationDuration:0.3];
|
||||
}
|
||||
[tableView setEditing:editing animated:animated];
|
||||
if(editing) {
|
||||
CGRect frame = [editView frame];
|
||||
frame.size.height = [UIContactDetailsHeader height:editing];
|
||||
[editView setFrame:frame];
|
||||
[editView setAlpha:1.0f];
|
||||
[normalView setAlpha:0.0f];
|
||||
} else {
|
||||
CGRect frame = [editView frame];
|
||||
frame.size.height = 0;
|
||||
[editView setFrame:frame];
|
||||
[editView setAlpha:0.0f];
|
||||
[normalView setAlpha:1.0f];
|
||||
}
|
||||
if(animated) {
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@
|
|||
</object>
|
||||
<object class="IBUIView" id="1033790597">
|
||||
<reference key="NSNextResponder"/>
|
||||
<int key="NSvFlags">290</int>
|
||||
<int key="NSvFlags">274</int>
|
||||
<array class="NSMutableArray" key="NSSubviews">
|
||||
<object class="IBUIImageView" id="452773126">
|
||||
<reference key="NSNextResponder" ref="1033790597"/>
|
||||
|
|
@ -378,6 +378,7 @@ AAgACAAIAAEAAQABAAE</bytes>
|
|||
<dictionary class="NSMutableDictionary" key="outlets">
|
||||
<string key="addressLabel">UILabel</string>
|
||||
<string key="avatarImage">UIImageView</string>
|
||||
<string key="contactDetailsDelegate">id</string>
|
||||
<string key="editView">UIView</string>
|
||||
<string key="normalView">UIView</string>
|
||||
<string key="tableView">UITableView</string>
|
||||
|
|
@ -391,6 +392,10 @@ AAgACAAIAAEAAQABAAE</bytes>
|
|||
<string key="name">avatarImage</string>
|
||||
<string key="candidateClassName">UIImageView</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="contactDetailsDelegate">
|
||||
<string key="name">contactDetailsDelegate</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="editView">
|
||||
<string key="name">editView</string>
|
||||
<string key="candidateClassName">UIView</string>
|
||||
|
|
|
|||
|
|
@ -70,16 +70,16 @@
|
|||
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self
|
||||
selector:@selector(changeViewEvent:)
|
||||
name:@"LinphoneMainViewChange"
|
||||
name:kLinphoneMainViewChange
|
||||
object:nil];
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self
|
||||
selector:@selector(callUpdate:)
|
||||
name:@"LinphoneCallUpdate"
|
||||
name:kLinphoneCallUpdate
|
||||
object:nil];
|
||||
/* MODIFICATION Remove chat
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self
|
||||
selector:@selector(textReceived:)
|
||||
name:@"LinphoneTextReceived"
|
||||
name:kLinphoneTextReceived
|
||||
object:nil];
|
||||
*/
|
||||
[self update:FALSE];
|
||||
|
|
@ -89,14 +89,14 @@
|
|||
[super viewWillDisappear:animated];
|
||||
|
||||
[[NSNotificationCenter defaultCenter] removeObserver:self
|
||||
name:@"LinphoneMainViewChange"
|
||||
name:kLinphoneMainViewChange
|
||||
object:nil];
|
||||
[[NSNotificationCenter defaultCenter] removeObserver:self
|
||||
name:@"LinphoneCallUpdate"
|
||||
name:kLinphoneCallUpdate
|
||||
object:nil];
|
||||
/* MODIFICATION Remove chat
|
||||
[[NSNotificationCenter defaultCenter] removeObserver:self
|
||||
name:@"LinphoneTextReceived"
|
||||
name:kLinphoneTextReceived
|
||||
object:nil];
|
||||
*/
|
||||
}
|
||||
|
|
|
|||
|
|
@ -118,7 +118,7 @@
|
|||
linphone_core_leave_conference([LinphoneManager getLc]);
|
||||
|
||||
// Fake event
|
||||
[[NSNotificationCenter defaultCenter] postNotificationName:@"LinphoneCallUpdate" object:self];
|
||||
[[NSNotificationCenter defaultCenter] postNotificationName:kLinphoneCallUpdate object:self];
|
||||
break;
|
||||
}
|
||||
case UIPauseButtonType_CurrentCall:
|
||||
|
|
@ -153,7 +153,7 @@
|
|||
{
|
||||
linphone_core_enter_conference([LinphoneManager getLc]);
|
||||
// Fake event
|
||||
[[NSNotificationCenter defaultCenter] postNotificationName:@"LinphoneCallUpdate" object:self];
|
||||
[[NSNotificationCenter defaultCenter] postNotificationName:kLinphoneCallUpdate object:self];
|
||||
break;
|
||||
}
|
||||
case UIPauseButtonType_CurrentCall:
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@ NSTimer *callSecurityTimer;
|
|||
// Set observer
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self
|
||||
selector:@selector(registrationUpdate:)
|
||||
name:@"LinphoneRegistrationUpdate"
|
||||
name:kLinphoneRegistrationUpdate
|
||||
object:nil];
|
||||
|
||||
|
||||
|
|
@ -93,7 +93,7 @@ NSTimer *callSecurityTimer;
|
|||
|
||||
// Remove observer
|
||||
[[NSNotificationCenter defaultCenter] removeObserver:self
|
||||
name:@"LinphoneRegistrationUpdate"
|
||||
name:kLinphoneRegistrationUpdate
|
||||
object:nil];
|
||||
|
||||
if(callQualityTimer != nil) {
|
||||
|
|
|
|||
|
|
@ -69,7 +69,7 @@
|
|||
- (void)fullScreen:(BOOL)enabled;
|
||||
- (void)startUp;
|
||||
|
||||
+ (void)forceOrientation:(UIInterfaceOrientation)orientation animated:(BOOL)animated;
|
||||
+ (void)setOrientation:(UIInterfaceOrientation)orientation animated:(BOOL)animated;
|
||||
|
||||
+ (PhoneMainView*) instance;
|
||||
|
||||
|
|
|
|||
|
|
@ -102,16 +102,16 @@ static PhoneMainView* phoneMainViewInstance=nil;
|
|||
// Set observers
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self
|
||||
selector:@selector(callUpdate:)
|
||||
name:@"LinphoneCallUpdate"
|
||||
name:kLinphoneCallUpdate
|
||||
object:nil];
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self
|
||||
selector:@selector(registrationUpdate:)
|
||||
name:@"LinphoneRegistrationUpdate"
|
||||
name:kLinphoneRegistrationUpdate
|
||||
object:nil];
|
||||
/* MODIFICATION disable chat
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self
|
||||
selector:@selector(textReceived:)
|
||||
name:@"LinphoneTextReceived"
|
||||
name:kLinphoneTextReceived
|
||||
object:nil];
|
||||
*/
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self
|
||||
|
|
@ -130,14 +130,14 @@ static PhoneMainView* phoneMainViewInstance=nil;
|
|||
|
||||
// Remove observers
|
||||
[[NSNotificationCenter defaultCenter] removeObserver:self
|
||||
name:@"LinphoneCallUpdate"
|
||||
name:kLinphoneCallUpdate
|
||||
object:nil];
|
||||
[[NSNotificationCenter defaultCenter] removeObserver:self
|
||||
name:@"LinphoneRegistrationUpdate"
|
||||
name:kLinphoneRegistrationUpdate
|
||||
object:nil];
|
||||
/* MODIFICATION disable chat
|
||||
[[NSNotificationCenter defaultCenter] removeObserver:self
|
||||
name:@"LinphoneTextReceived"
|
||||
name:kLinphoneTextReceived
|
||||
object:nil];
|
||||
*/
|
||||
[[NSNotificationCenter defaultCenter] removeObserver:self
|
||||
|
|
@ -173,11 +173,27 @@ static PhoneMainView* phoneMainViewInstance=nil;
|
|||
return NO;
|
||||
}
|
||||
|
||||
+ (UIView*)findFirstResponder:(UIView*)view {
|
||||
if (view.isFirstResponder) {
|
||||
return view;
|
||||
}
|
||||
for (UIView *subView in view.subviews) {
|
||||
UIView *ret = [PhoneMainView findFirstResponder:subView];
|
||||
if (ret != nil)
|
||||
return ret;
|
||||
}
|
||||
return nil;
|
||||
}
|
||||
|
||||
/*
|
||||
Will simulate a device rotation
|
||||
*/
|
||||
+ (void)forceOrientation:(UIInterfaceOrientation)orientation animated:(BOOL)animated {
|
||||
+ (void)setOrientation:(UIInterfaceOrientation)orientation animated:(BOOL)animated {
|
||||
UIView *firstResponder = nil;
|
||||
for(UIWindow *window in [[UIApplication sharedApplication] windows]) {
|
||||
if([NSStringFromClass(window.class) isEqualToString:@"UITextEffectsWindow"]) {
|
||||
continue;
|
||||
}
|
||||
UIView *view = window;
|
||||
UIViewController *controller = nil;
|
||||
CGRect frame = [view frame];
|
||||
|
|
@ -220,8 +236,15 @@ static PhoneMainView* phoneMainViewInstance=nil;
|
|||
[UIView commitAnimations];
|
||||
}
|
||||
[controller didRotateFromInterfaceOrientation:oldOrientation];
|
||||
if(firstResponder == nil) {
|
||||
firstResponder = [PhoneMainView findFirstResponder:view];
|
||||
}
|
||||
}
|
||||
[[UIApplication sharedApplication] setStatusBarOrientation:orientation animated:animated];
|
||||
if(firstResponder) {
|
||||
[firstResponder resignFirstResponder];
|
||||
[firstResponder becomeFirstResponder];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
|
||||
|
|
@ -251,8 +274,8 @@ static PhoneMainView* phoneMainViewInstance=nil;
|
|||
ChatModel *chat = [[notif userInfo] objectForKey:@"chat"];
|
||||
if(chat != nil) {
|
||||
[self displayMessage:chat];
|
||||
[self updateApplicationBadgeNumber];
|
||||
}
|
||||
[self updateApplicationBadgeNumber];
|
||||
}
|
||||
*/
|
||||
|
||||
|
|
@ -481,7 +504,7 @@ static PhoneMainView* phoneMainViewInstance=nil;
|
|||
}
|
||||
|
||||
NSDictionary* mdict = [NSMutableDictionary dictionaryWithObject:currentView forKey:@"view"];
|
||||
[[NSNotificationCenter defaultCenter] postNotificationName:@"LinphoneMainViewChange" object:self userInfo:mdict];
|
||||
[[NSNotificationCenter defaultCenter] postNotificationName:kLinphoneMainViewChange object:self userInfo:mdict];
|
||||
|
||||
return [mainViewController getCurrentViewController];
|
||||
}
|
||||
|
|
@ -577,13 +600,15 @@ static PhoneMainView* phoneMainViewInstance=nil;
|
|||
notif.repeatInterval = 0;
|
||||
notif.alertBody = [NSString stringWithFormat:NSLocalizedString(@"%@ sent you a message",nil), address];
|
||||
notif.alertAction = NSLocalizedString(@"Show", nil);
|
||||
notif.soundName = UILocalNotificationDefaultSoundName;
|
||||
notif.soundName = @"msg.caf";
|
||||
notif.userInfo = [NSDictionary dictionaryWithObject:[chat remoteContact] forKey:@"chat"];
|
||||
|
||||
[[UIApplication sharedApplication] presentLocalNotificationNow:notif];
|
||||
}
|
||||
} else {
|
||||
AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
|
||||
if(![[LinphoneManager instance] removeInhibitedEvent:kLinphoneTextReceivedSound]) {
|
||||
AudioServicesPlaySystemSound([LinphoneManager instance].sounds.message);
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
|
@ -627,10 +652,10 @@ static PhoneMainView* phoneMainViewInstance=nil;
|
|||
appData->notification.repeatInterval = 0;
|
||||
appData->notification.alertBody =[NSString stringWithFormat:NSLocalizedString(@" %@ is calling you",nil), address];
|
||||
appData->notification.alertAction = NSLocalizedString(@"Answer", nil);
|
||||
appData->notification.soundName = @"oldphone-mono-30s.caf";
|
||||
appData->notification.soundName = @"ring.caf";
|
||||
appData->notification.userInfo = [NSDictionary dictionaryWithObject:[NSData dataWithBytes:&call length:sizeof(call)] forKey:@"call"];
|
||||
|
||||
[[UIApplication sharedApplication] presentLocalNotificationNow:appData->notification];
|
||||
[[UIApplication sharedApplication] presentLocalNotificationNow:appData->notification];
|
||||
}
|
||||
} else {
|
||||
IncomingCallViewController *controller = DYNAMIC_CAST([self changeCurrentView:[IncomingCallViewController compositeViewDescription] push:TRUE],IncomingCallViewController);
|
||||
|
|
|
|||
|
|
@ -142,7 +142,7 @@
|
|||
CFDictionaryRef lDict = ABMultiValueCopyValueAtIndex(lMap, i);
|
||||
BOOL add = false;
|
||||
if(CFDictionaryContainsKey(lDict, kABPersonInstantMessageServiceKey)) {
|
||||
if(CFStringCompare((CFStringRef)CONTACT_SIP_FIELD, CFDictionaryGetValue(lDict, kABPersonInstantMessageServiceKey), kCFCompareCaseInsensitive) == 0) {
|
||||
if(CFStringCompare((CFStringRef)kContactSipField, CFDictionaryGetValue(lDict, kABPersonInstantMessageServiceKey), kCFCompareCaseInsensitive) == 0) {
|
||||
add = true;
|
||||
}
|
||||
} else {
|
||||
|
|
@ -161,7 +161,7 @@
|
|||
}
|
||||
CFRelease(lContacts);
|
||||
}
|
||||
[[NSNotificationCenter defaultCenter] postNotificationName:@"LinphoneAddressBookUpdate" object:self];
|
||||
[[NSNotificationCenter defaultCenter] postNotificationName:kLinphoneAddressBookUpdate object:self];
|
||||
}
|
||||
|
||||
void sync_address_book (ABAddressBookRef addressBook, CFDictionaryRef info, void *context) {
|
||||
|
|
|
|||
|
|
@ -125,7 +125,7 @@ static UICompositeViewDescription *compositeDescription = nil;
|
|||
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self
|
||||
selector:@selector(registrationUpdateEvent:)
|
||||
name:@"LinphoneRegistrationUpdate"
|
||||
name:kLinphoneRegistrationUpdate
|
||||
object:nil];
|
||||
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self
|
||||
|
|
@ -141,7 +141,7 @@ static UICompositeViewDescription *compositeDescription = nil;
|
|||
- (void)viewWillDisappear:(BOOL)animated {
|
||||
[super viewWillDisappear:animated];
|
||||
[[NSNotificationCenter defaultCenter] removeObserver:self
|
||||
name:@"LinphoneRegistrationUpdate"
|
||||
name:kLinphoneRegistrationUpdate
|
||||
object:nil];
|
||||
|
||||
|
||||
|
|
|
|||
Binary file not shown.
BIN
Resources/msg.caf
Normal file
BIN
Resources/msg.caf
Normal file
Binary file not shown.
BIN
Resources/msg.wav
Executable file
BIN
Resources/msg.wav
Executable file
Binary file not shown.
|
|
@ -32,8 +32,8 @@
|
|||
22276E8913C73DC000210156 /* CoreMedia.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 22276E8813C73DC000210156 /* CoreMedia.framework */; settings = {ATTRIBUTES = (Weak, ); }; };
|
||||
223148E41178A08200637D6A /* libilbc.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 223148E31178A08200637D6A /* libilbc.a */; };
|
||||
223148E61178A09900637D6A /* libmsilbc.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 223148E51178A09900637D6A /* libmsilbc.a */; };
|
||||
2237D4091084D7A9001383EE /* oldphone-mono.wav in Resources */ = {isa = PBXBuildFile; fileRef = 2237D4081084D7A9001383EE /* oldphone-mono.wav */; };
|
||||
2242E313125235120061DDCE /* oldphone-mono-30s.caf in Resources */ = {isa = PBXBuildFile; fileRef = 2242E312125235120061DDCE /* oldphone-mono-30s.caf */; };
|
||||
2237D4091084D7A9001383EE /* ring.wav in Resources */ = {isa = PBXBuildFile; fileRef = 2237D4081084D7A9001383EE /* ring.wav */; };
|
||||
2242E313125235120061DDCE /* ring.caf in Resources */ = {isa = PBXBuildFile; fileRef = 2242E312125235120061DDCE /* ring.caf */; };
|
||||
224567C2107B968500F10948 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 224567C1107B968500F10948 /* AVFoundation.framework */; settings = {ATTRIBUTES = (Weak, ); }; };
|
||||
2245F78A1201D38000C4179D /* MoreViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 22E0A81B111C44E100B04932 /* MoreViewController.xib */; };
|
||||
2248E90E12F7E4CF00220D9C /* UIDigitButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 2248E90D12F7E4CF00220D9C /* UIDigitButton.m */; };
|
||||
|
|
@ -389,8 +389,8 @@
|
|||
D34BD6CD15C13DB70070C209 /* numpad_two_over.png in Resources */ = {isa = PBXBuildFile; fileRef = D3F83F311582223B00336684 /* numpad_two_over.png */; };
|
||||
D34BD6CE15C13DB70070C209 /* numpad_zero_default.png in Resources */ = {isa = PBXBuildFile; fileRef = D3F83F2C1582223B00336684 /* numpad_zero_default.png */; };
|
||||
D34BD6CF15C13DB70070C209 /* numpad_zero_over.png in Resources */ = {isa = PBXBuildFile; fileRef = D3F83F2D1582223B00336684 /* numpad_zero_over.png */; };
|
||||
D34BD6D015C13DB70070C209 /* oldphone-mono-30s.caf in Resources */ = {isa = PBXBuildFile; fileRef = 2242E312125235120061DDCE /* oldphone-mono-30s.caf */; };
|
||||
D34BD6D115C13DB70070C209 /* oldphone-mono.wav in Resources */ = {isa = PBXBuildFile; fileRef = 2237D4081084D7A9001383EE /* oldphone-mono.wav */; };
|
||||
D34BD6D015C13DB70070C209 /* ring.caf in Resources */ = {isa = PBXBuildFile; fileRef = 2242E312125235120061DDCE /* ring.caf */; };
|
||||
D34BD6D115C13DB70070C209 /* ring.wav in Resources */ = {isa = PBXBuildFile; fileRef = 2237D4081084D7A9001383EE /* ring.wav */; };
|
||||
D34BD6D215C13DB70070C209 /* options_add_default.png in Resources */ = {isa = PBXBuildFile; fileRef = D3196D3015A321E2007FEEBA /* options_add_default.png */; };
|
||||
D34BD6D315C13DB70070C209 /* options_add_default_landscape.png in Resources */ = {isa = PBXBuildFile; fileRef = D3C31A1515BD8DED008ED271 /* options_add_default_landscape.png */; };
|
||||
D34BD6D415C13DB70070C209 /* options_add_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = C9C8253F15AE204D00D493FA /* options_add_disabled.png */; };
|
||||
|
|
@ -443,7 +443,7 @@
|
|||
D34BD70E15C13DB70070C209 /* statebar_background_landscape.png in Resources */ = {isa = PBXBuildFile; fileRef = D3C31A2915BD8DED008ED271 /* statebar_background_landscape.png */; };
|
||||
D34BD70F15C13DB70070C209 /* switch_camera_default.png in Resources */ = {isa = PBXBuildFile; fileRef = D35E757515931E5D0066B1C1 /* switch_camera_default.png */; };
|
||||
D34BD71015C13DB70070C209 /* switch_camera_over.png in Resources */ = {isa = PBXBuildFile; fileRef = D35E757615931E5D0066B1C1 /* switch_camera_over.png */; };
|
||||
D34BD71115C13DB70070C209 /* toy-mono.wav in Resources */ = {isa = PBXBuildFile; fileRef = D3C714B2159DB84400705B8E /* toy-mono.wav */; };
|
||||
D34BD71115C13DB70070C209 /* hold.wav in Resources */ = {isa = PBXBuildFile; fileRef = D3C714B2159DB84400705B8E /* hold.wav */; };
|
||||
D34BD71215C13DB70070C209 /* transfer_call_default.png in Resources */ = {isa = PBXBuildFile; fileRef = C9C8254115AE204D00D493FA /* transfer_call_default.png */; };
|
||||
D34BD71315C13DB70070C209 /* transfer_call_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = C9C8254E15AE256100D493FA /* transfer_call_disabled.png */; };
|
||||
D34BD71415C13DB70070C209 /* transfer_call_over.png in Resources */ = {isa = PBXBuildFile; fileRef = C9C8254215AE204D00D493FA /* transfer_call_over.png */; };
|
||||
|
|
@ -555,6 +555,10 @@
|
|||
D37DC6C21594AE1800B2A5EB /* LinphoneCoreSettingsStore.m in Sources */ = {isa = PBXBuildFile; fileRef = D37DC6C01594AE1800B2A5EB /* LinphoneCoreSettingsStore.m */; };
|
||||
D37DC7181594AF3400B2A5EB /* MessageUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D37DC7171594AF3400B2A5EB /* MessageUI.framework */; };
|
||||
D37DC7191594AF3F00B2A5EB /* MessageUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D37DC7171594AF3400B2A5EB /* MessageUI.framework */; };
|
||||
D3804E6015D92A57008072A5 /* msg.caf in Resources */ = {isa = PBXBuildFile; fileRef = D3804E5E15D92A57008072A5 /* msg.caf */; };
|
||||
D3804E6115D92A57008072A5 /* msg.caf in Resources */ = {isa = PBXBuildFile; fileRef = D3804E5E15D92A57008072A5 /* msg.caf */; };
|
||||
D3804E6215D92A57008072A5 /* msg.wav in Resources */ = {isa = PBXBuildFile; fileRef = D3804E5F15D92A57008072A5 /* msg.wav */; };
|
||||
D3804E6315D92A57008072A5 /* msg.wav in Resources */ = {isa = PBXBuildFile; fileRef = D3804E5F15D92A57008072A5 /* msg.wav */; };
|
||||
D3807FBF15C28940005BE9BC /* DCRoundSwitch.m in Sources */ = {isa = PBXBuildFile; fileRef = D3807FB815C28940005BE9BC /* DCRoundSwitch.m */; };
|
||||
D3807FC015C28940005BE9BC /* DCRoundSwitch.m in Sources */ = {isa = PBXBuildFile; fileRef = D3807FB815C28940005BE9BC /* DCRoundSwitch.m */; };
|
||||
D3807FC115C28940005BE9BC /* DCRoundSwitchKnobLayer.m in Sources */ = {isa = PBXBuildFile; fileRef = D3807FBA15C28940005BE9BC /* DCRoundSwitchKnobLayer.m */; };
|
||||
|
|
@ -666,7 +670,7 @@
|
|||
D3C6526815AC1A8F0092A874 /* UIEditableTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D3C6526615AC1A8F0092A874 /* UIEditableTableViewCell.m */; };
|
||||
D3C6526B15AC228A0092A874 /* contact_ok_default.png in Resources */ = {isa = PBXBuildFile; fileRef = D3C6526915AC228A0092A874 /* contact_ok_default.png */; };
|
||||
D3C6526D15AC228A0092A874 /* contact_ok_over.png in Resources */ = {isa = PBXBuildFile; fileRef = D3C6526A15AC228A0092A874 /* contact_ok_over.png */; };
|
||||
D3C714B3159DB84400705B8E /* toy-mono.wav in Resources */ = {isa = PBXBuildFile; fileRef = D3C714B2159DB84400705B8E /* toy-mono.wav */; };
|
||||
D3C714B3159DB84400705B8E /* hold.wav in Resources */ = {isa = PBXBuildFile; fileRef = D3C714B2159DB84400705B8E /* hold.wav */; };
|
||||
D3D14E7C15A711700074A527 /* avatar_shadow_small.png in Resources */ = {isa = PBXBuildFile; fileRef = D3D14E7B15A711700074A527 /* avatar_shadow_small.png */; };
|
||||
D3D6A39E159B0EEF005F692C /* add_call_default.png in Resources */ = {isa = PBXBuildFile; fileRef = D3D6A39B159B0EEF005F692C /* add_call_default.png */; };
|
||||
D3D6A3A0159B0EEF005F692C /* add_call_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = D3D6A39C159B0EEF005F692C /* add_call_disabled.png */; };
|
||||
|
|
@ -989,8 +993,8 @@
|
|||
22276E8813C73DC000210156 /* CoreMedia.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMedia.framework; path = System/Library/Frameworks/CoreMedia.framework; sourceTree = SDKROOT; };
|
||||
223148E31178A08200637D6A /* libilbc.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libilbc.a; path = "liblinphone-sdk/apple-darwin/lib/libilbc.a"; sourceTree = "<group>"; };
|
||||
223148E51178A09900637D6A /* libmsilbc.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libmsilbc.a; path = "liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins/libmsilbc.a"; sourceTree = "<group>"; };
|
||||
2237D4081084D7A9001383EE /* oldphone-mono.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; name = "oldphone-mono.wav"; path = "liblinphone-sdk/apple-darwin/share/sounds/linphone/rings/oldphone-mono.wav"; sourceTree = "<group>"; };
|
||||
2242E312125235120061DDCE /* oldphone-mono-30s.caf */ = {isa = PBXFileReference; lastKnownFileType = file; name = "oldphone-mono-30s.caf"; path = "liblinphone-sdk/apple-darwin/share/sounds/linphone/rings/oldphone-mono-30s.caf"; sourceTree = "<group>"; };
|
||||
2237D4081084D7A9001383EE /* ring.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; name = ring.wav; path = "liblinphone-sdk/apple-darwin/share/sounds/linphone/rings/ring.wav"; sourceTree = "<group>"; };
|
||||
2242E312125235120061DDCE /* ring.caf */ = {isa = PBXFileReference; lastKnownFileType = file; name = ring.caf; path = "liblinphone-sdk/apple-darwin/share/sounds/linphone/rings/ring.caf"; sourceTree = "<group>"; };
|
||||
224567C1107B968500F10948 /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; };
|
||||
2248E90C12F7E4CF00220D9C /* UIDigitButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIDigitButton.h; sourceTree = "<group>"; };
|
||||
2248E90D12F7E4CF00220D9C /* UIDigitButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIDigitButton.m; sourceTree = "<group>"; };
|
||||
|
|
@ -1346,6 +1350,8 @@
|
|||
D37DC6BF1594AE1800B2A5EB /* LinphoneCoreSettingsStore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LinphoneCoreSettingsStore.h; sourceTree = "<group>"; };
|
||||
D37DC6C01594AE1800B2A5EB /* LinphoneCoreSettingsStore.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LinphoneCoreSettingsStore.m; sourceTree = "<group>"; };
|
||||
D37DC7171594AF3400B2A5EB /* MessageUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MessageUI.framework; path = System/Library/Frameworks/MessageUI.framework; sourceTree = SDKROOT; };
|
||||
D3804E5E15D92A57008072A5 /* msg.caf */ = {isa = PBXFileReference; lastKnownFileType = file; name = msg.caf; path = Resources/msg.caf; sourceTree = "<group>"; };
|
||||
D3804E5F15D92A57008072A5 /* msg.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; name = msg.wav; path = Resources/msg.wav; sourceTree = "<group>"; };
|
||||
D3807FB715C28940005BE9BC /* DCRoundSwitch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DCRoundSwitch.h; sourceTree = "<group>"; };
|
||||
D3807FB815C28940005BE9BC /* DCRoundSwitch.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DCRoundSwitch.m; sourceTree = "<group>"; };
|
||||
D3807FB915C28940005BE9BC /* DCRoundSwitchKnobLayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DCRoundSwitchKnobLayer.h; sourceTree = "<group>"; };
|
||||
|
|
@ -1566,7 +1572,7 @@
|
|||
D3C6526615AC1A8F0092A874 /* UIEditableTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIEditableTableViewCell.m; sourceTree = "<group>"; };
|
||||
D3C6526915AC228A0092A874 /* contact_ok_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = contact_ok_default.png; path = Resources/contact_ok_default.png; sourceTree = "<group>"; };
|
||||
D3C6526A15AC228A0092A874 /* contact_ok_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = contact_ok_over.png; path = Resources/contact_ok_over.png; sourceTree = "<group>"; };
|
||||
D3C714B2159DB84400705B8E /* toy-mono.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; name = "toy-mono.wav"; path = "Resources/toy-mono.wav"; sourceTree = "<group>"; };
|
||||
D3C714B2159DB84400705B8E /* hold.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; name = hold.wav; path = Resources/hold.wav; sourceTree = "<group>"; };
|
||||
D3D14E7B15A711700074A527 /* avatar_shadow_small.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = avatar_shadow_small.png; path = Resources/avatar_shadow_small.png; sourceTree = "<group>"; };
|
||||
D3D6A39B159B0EEF005F692C /* add_call_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = add_call_default.png; path = Resources/add_call_default.png; sourceTree = "<group>"; };
|
||||
D3D6A39C159B0EEF005F692C /* add_call_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = add_call_disabled.png; path = Resources/add_call_disabled.png; sourceTree = "<group>"; };
|
||||
|
|
@ -2505,6 +2511,7 @@
|
|||
D347347D1580E5F8003C7B8C /* history_selected.png */,
|
||||
D3A74E8615C69392001500B9 /* history_selected_landscape~ipad.png */,
|
||||
D3A74E8715C69392001500B9 /* history_selected~ipad.png */,
|
||||
D3C714B2159DB84400705B8E /* hold.wav */,
|
||||
D3432A5C158A4446001C6B0B /* led_connected.png */,
|
||||
D3432A70158A45AF001C6B0B /* led_disconnected.png */,
|
||||
D3432A5D158A4446001C6B0B /* led_error.png */,
|
||||
|
|
@ -2539,6 +2546,8 @@
|
|||
D3C31A1415BD8DED008ED271 /* micro_on_over_landscape.png */,
|
||||
D339889715C6DD1600CAF1E4 /* micro_on_over_landscape~ipad.png */,
|
||||
D3A74E8D15C69392001500B9 /* micro_on_over~ipad.png */,
|
||||
D3804E5E15D92A57008072A5 /* msg.caf */,
|
||||
D3804E5F15D92A57008072A5 /* msg.wav */,
|
||||
D306BC0915CFF79E00FDB80F /* more_default.png */,
|
||||
D306BC0A15CFF79E00FDB80F /* more_over.png */,
|
||||
D306BC0B15CFF79E00FDB80F /* more_selected.png */,
|
||||
|
|
@ -2566,8 +2575,6 @@
|
|||
D3F83F311582223B00336684 /* numpad_two_over.png */,
|
||||
D3F83F2C1582223B00336684 /* numpad_zero_default.png */,
|
||||
D3F83F2D1582223B00336684 /* numpad_zero_over.png */,
|
||||
2242E312125235120061DDCE /* oldphone-mono-30s.caf */,
|
||||
2237D4081084D7A9001383EE /* oldphone-mono.wav */,
|
||||
D3196D3015A321E2007FEEBA /* options_add_default.png */,
|
||||
D3C31A1515BD8DED008ED271 /* options_add_default_landscape.png */,
|
||||
D339889815C6DD1600CAF1E4 /* options_add_default_landscape~ipad.png */,
|
||||
|
|
@ -2624,6 +2631,8 @@
|
|||
D3C31A2215BD8DED008ED271 /* pause_on_over_landscape.png */,
|
||||
D33988A515C6DD1600CAF1E4 /* pause_on_over_landscape~ipad.png */,
|
||||
D3A74E9B15C69392001500B9 /* pause_on_over~ipad.png */,
|
||||
2242E312125235120061DDCE /* ring.caf */,
|
||||
2237D4081084D7A9001383EE /* ring.wav */,
|
||||
22F254801073D99800AC9B3F /* ringback.wav */,
|
||||
70571E1913FABCB000CDD3C2 /* rootca.pem */,
|
||||
D3D6A3A5159B0EFE005F692C /* security_ko.png */,
|
||||
|
|
@ -2680,7 +2689,6 @@
|
|||
D35E757515931E5D0066B1C1 /* switch_camera_default.png */,
|
||||
D35E757615931E5D0066B1C1 /* switch_camera_over.png */,
|
||||
D3A74E5815C68162001500B9 /* toolsbar_background.png */,
|
||||
D3C714B2159DB84400705B8E /* toy-mono.wav */,
|
||||
C9C8254115AE204D00D493FA /* transfer_call_default.png */,
|
||||
D3A74EAA15C69392001500B9 /* transfer_call_default~ipad.png */,
|
||||
C9C8254E15AE256100D493FA /* transfer_call_disabled.png */,
|
||||
|
|
@ -3009,10 +3017,10 @@
|
|||
2274550810700509006EC466 /* linphonerc in Resources */,
|
||||
22F2508F107141E100AC9B3F /* DialerViewController.xib in Resources */,
|
||||
22F254811073D99800AC9B3F /* ringback.wav in Resources */,
|
||||
2237D4091084D7A9001383EE /* oldphone-mono.wav in Resources */,
|
||||
2237D4091084D7A9001383EE /* ring.wav in Resources */,
|
||||
22E0A823111C44E100B04932 /* ConsoleViewController.xib in Resources */,
|
||||
2245F78A1201D38000C4179D /* MoreViewController.xib in Resources */,
|
||||
2242E313125235120061DDCE /* oldphone-mono-30s.caf in Resources */,
|
||||
2242E313125235120061DDCE /* ring.caf in Resources */,
|
||||
2218A92612FBE1340088A667 /* FirstLoginViewController.xib in Resources */,
|
||||
2214783D1386A2030020F8B8 /* Localizable.strings in Resources */,
|
||||
70571E1A13FABCB000CDD3C2 /* rootca.pem in Resources */,
|
||||
|
|
@ -3163,7 +3171,7 @@
|
|||
D3211BBE159CBFD60098460B /* back_default.png in Resources */,
|
||||
D3211BC0159CBFD70098460B /* back_disabled.png in Resources */,
|
||||
D3211BC2159CBFD70098460B /* back_over.png in Resources */,
|
||||
D3C714B3159DB84400705B8E /* toy-mono.wav in Resources */,
|
||||
D3C714B3159DB84400705B8E /* hold.wav in Resources */,
|
||||
D377BBFA15A19DA6002B696B /* video_on_disabled.png in Resources */,
|
||||
D37B96B715A1A6F20005CCD2 /* call_state_delete_default.png in Resources */,
|
||||
D37B96B915A1A6F20005CCD2 /* call_state_delete_over.png in Resources */,
|
||||
|
|
@ -3267,6 +3275,8 @@
|
|||
D3A74E5915C68162001500B9 /* toolsbar_background.png in Resources */,
|
||||
D3A74EE815C69392001500B9 /* contacts_over~ipad.png in Resources */,
|
||||
D30BBD1815D402A7000F93DD /* contact_ok_disabled.png in Resources */,
|
||||
D3804E6015D92A57008072A5 /* msg.caf in Resources */,
|
||||
D3804E6215D92A57008072A5 /* msg.wav in Resources */,
|
||||
D306BC0C15CFF79E00FDB80F /* castel_icon_57.png in Resources */,
|
||||
D306BC0E15CFF79E00FDB80F /* castel_icon_72.png in Resources */,
|
||||
D306BC1015CFF79E00FDB80F /* more_default.png in Resources */,
|
||||
|
|
@ -3462,8 +3472,8 @@
|
|||
D34BD6CD15C13DB70070C209 /* numpad_two_over.png in Resources */,
|
||||
D34BD6CE15C13DB70070C209 /* numpad_zero_default.png in Resources */,
|
||||
D34BD6CF15C13DB70070C209 /* numpad_zero_over.png in Resources */,
|
||||
D34BD6D015C13DB70070C209 /* oldphone-mono-30s.caf in Resources */,
|
||||
D34BD6D115C13DB70070C209 /* oldphone-mono.wav in Resources */,
|
||||
D34BD6D015C13DB70070C209 /* ring.caf in Resources */,
|
||||
D34BD6D115C13DB70070C209 /* ring.wav in Resources */,
|
||||
D34BD6D215C13DB70070C209 /* options_add_default.png in Resources */,
|
||||
D34BD6D315C13DB70070C209 /* options_add_default_landscape.png in Resources */,
|
||||
D34BD6D415C13DB70070C209 /* options_add_disabled.png in Resources */,
|
||||
|
|
@ -3516,7 +3526,7 @@
|
|||
D34BD70E15C13DB70070C209 /* statebar_background_landscape.png in Resources */,
|
||||
D34BD70F15C13DB70070C209 /* switch_camera_default.png in Resources */,
|
||||
D34BD71015C13DB70070C209 /* switch_camera_over.png in Resources */,
|
||||
D34BD71115C13DB70070C209 /* toy-mono.wav in Resources */,
|
||||
D34BD71115C13DB70070C209 /* hold.wav in Resources */,
|
||||
D34BD71215C13DB70070C209 /* transfer_call_default.png in Resources */,
|
||||
D34BD71315C13DB70070C209 /* transfer_call_disabled.png in Resources */,
|
||||
D34BD71415C13DB70070C209 /* transfer_call_over.png in Resources */,
|
||||
|
|
@ -3540,6 +3550,8 @@
|
|||
D3A74E5A15C68162001500B9 /* toolsbar_background.png in Resources */,
|
||||
D3A74EE915C69392001500B9 /* contacts_over~ipad.png in Resources */,
|
||||
D30BBD1915D402A7000F93DD /* contact_ok_disabled.png in Resources */,
|
||||
D3804E6115D92A57008072A5 /* msg.caf in Resources */,
|
||||
D3804E6315D92A57008072A5 /* msg.wav in Resources */,
|
||||
D306BC0D15CFF79E00FDB80F /* castel_icon_57.png in Resources */,
|
||||
D306BC0F15CFF79E00FDB80F /* castel_icon_72.png in Resources */,
|
||||
D306BC1115CFF79E00FDB80F /* more_default.png in Resources */,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue