mirror of
https://gitlab.linphone.org/BC/public/linphone-iphone.git
synced 2026-01-26 23:58:17 +00:00
Add level button and long ringtones for notifications
This commit is contained in:
parent
b6b43f3ff5
commit
1175e7b2a0
14 changed files with 239 additions and 12 deletions
|
|
@ -23,6 +23,7 @@
|
|||
#import "User.h"
|
||||
#import "Network.h"
|
||||
#import "History.h"
|
||||
#import "LevelPushButton.h"
|
||||
|
||||
@protocol BuschJaegerConfigurationDelegate <NSObject>
|
||||
|
||||
|
|
@ -43,6 +44,7 @@ typedef enum _BuschJaegerConfigurationRequestType{
|
|||
@property (readonly) NSMutableSet *users;
|
||||
@property (readonly) NSMutableSet *outdoorStations;
|
||||
@property (readonly) Network *network;
|
||||
@property (readonly) LevelPushButton *levelPushButton;
|
||||
|
||||
- (void)reset;
|
||||
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@
|
|||
@synthesize users;
|
||||
@synthesize network;
|
||||
@synthesize history;
|
||||
@synthesize levelPushButton;
|
||||
|
||||
/********
|
||||
[outdoorstation_0]
|
||||
|
|
@ -92,6 +93,7 @@
|
|||
users = [[NSMutableSet alloc] init];
|
||||
history = [[NSMutableSet alloc] init];
|
||||
network = [[Network alloc] init];
|
||||
levelPushButton = [[LevelPushButton alloc] init];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
|
@ -101,6 +103,7 @@
|
|||
[users release];
|
||||
[history release];
|
||||
[network release];
|
||||
[levelPushButton release];
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
|
|
@ -142,7 +145,12 @@
|
|||
[network release];
|
||||
}
|
||||
network = [obj retain];
|
||||
} else {
|
||||
} else if((obj = [LevelPushButton parse:section array:array]) != nil) {
|
||||
if(levelPushButton != nil) {
|
||||
[levelPushButton release];
|
||||
}
|
||||
levelPushButton = [obj retain];
|
||||
}else {
|
||||
[LinphoneLogger log:LinphoneLoggerWarning format:@"Unknown section: %@", section];
|
||||
}
|
||||
}
|
||||
|
|
@ -187,6 +195,10 @@
|
|||
[network release];
|
||||
}
|
||||
network = [[Network alloc] init];
|
||||
if(levelPushButton != nil) {
|
||||
[levelPushButton release];
|
||||
}
|
||||
levelPushButton = [[LevelPushButton alloc] init];
|
||||
}
|
||||
|
||||
- (BOOL)saveFile:(NSString*)file {
|
||||
|
|
@ -198,6 +210,7 @@
|
|||
[data appendString:[usr write]];
|
||||
}
|
||||
[data appendString:[network write]];
|
||||
[data appendString:[levelPushButton write]];
|
||||
|
||||
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
|
||||
NSString *documentsPath = [paths objectAtIndex:0];
|
||||
|
|
|
|||
|
|
@ -98,6 +98,12 @@ static BuschJaegerMainView* mainViewInstance=nil;
|
|||
selector:@selector(callUpdateEvent:)
|
||||
name:kLinphoneCallUpdate
|
||||
object:nil];
|
||||
|
||||
// Set observer
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self
|
||||
selector:@selector(textReceivedEvent:)
|
||||
name:kLinphoneTextReceived
|
||||
object:nil];
|
||||
}
|
||||
|
||||
- (void)vieWillDisappear:(BOOL)animated{
|
||||
|
|
@ -107,6 +113,11 @@ static BuschJaegerMainView* mainViewInstance=nil;
|
|||
[[NSNotificationCenter defaultCenter] removeObserver:self
|
||||
name:kLinphoneCallUpdate
|
||||
object:nil];
|
||||
|
||||
// Remove observer
|
||||
[[NSNotificationCenter defaultCenter] removeObserver:self
|
||||
name:kLinphoneTextReceived
|
||||
object:nil];
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -119,6 +130,11 @@ static BuschJaegerMainView* mainViewInstance=nil;
|
|||
}
|
||||
|
||||
|
||||
- (void)textReceivedEvent: (NSNotification*) notif {
|
||||
[self displayMessage:notif];
|
||||
}
|
||||
|
||||
|
||||
#pragma mark -
|
||||
|
||||
- (void)callUpdate:(LinphoneCall *)call state:(LinphoneCallState)state animated:(BOOL)animated {
|
||||
|
|
@ -160,13 +176,39 @@ static BuschJaegerMainView* mainViewInstance=nil;
|
|||
- (void)displayIncomingCall:(LinphoneCall *)call {
|
||||
if ([[UIDevice currentDevice] respondsToSelector:@selector(isMultitaskingSupported)]
|
||||
&& [UIApplication sharedApplication].applicationState != UIApplicationStateActive) {
|
||||
|
||||
NSString *ringtone = [NSString stringWithFormat:@"%@_loop.wav", [[NSUserDefaults standardUserDefaults] stringForKey:@"ringtone_preference"], nil];
|
||||
|
||||
NSString *contactName = NSLocalizedString(@"Unknown", nil);
|
||||
|
||||
// Extract caller address
|
||||
const LinphoneAddress* addr = linphone_call_get_remote_address(call);
|
||||
if(addr) {
|
||||
char *address = linphone_address_as_string_uri_only(addr);
|
||||
if(address != NULL) {
|
||||
contactName = [FastAddressBook normalizeSipURI:[NSString stringWithUTF8String:address]];
|
||||
ms_free(address);
|
||||
}
|
||||
}
|
||||
|
||||
// Find caller in outdoor stations
|
||||
NSSet *outstations = [[LinphoneManager instance] configuration].outdoorStations;
|
||||
for(OutdoorStation *os in outstations) {
|
||||
if([[FastAddressBook normalizeSipURI:os.address] isEqualToString:contactName]) {
|
||||
contactName = os.name;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
NSString *msg = [NSString stringWithFormat:NSLocalizedString(@"%@ ring!",nil), contactName];
|
||||
|
||||
// Create a new notification
|
||||
UILocalNotification* notif = [[[UILocalNotification alloc] init] autorelease];
|
||||
if (notif) {
|
||||
notif.repeatInterval = 0;
|
||||
notif.alertBody = NSLocalizedString(@"Ding Dong !",nil);
|
||||
notif.alertAction = @"See the answer";
|
||||
notif.soundName = @"01.wav";
|
||||
notif.alertBody = msg;
|
||||
notif.alertAction = NSLocalizedString(@"Answer", nil);
|
||||
notif.soundName = ringtone;
|
||||
NSData *callData = [NSData dataWithBytes:&call length:sizeof(call)];
|
||||
notif.userInfo = [NSDictionary dictionaryWithObject:callData forKey:@"call"];
|
||||
|
||||
|
|
@ -178,6 +220,36 @@ static BuschJaegerMainView* mainViewInstance=nil;
|
|||
}
|
||||
}
|
||||
|
||||
- (void)displayMessage:(id)message {
|
||||
NSString *msg = [NSString stringWithFormat:NSLocalizedString(@"%@ ring!",nil), [LinphoneManager instance].configuration.levelPushButton.name];
|
||||
if ([[UIDevice currentDevice] respondsToSelector:@selector(isMultitaskingSupported)]
|
||||
&& [UIApplication sharedApplication].applicationState != UIApplicationStateActive) {
|
||||
|
||||
NSString *ringtone = [NSString stringWithFormat:@"%@_loop.wav", [[NSUserDefaults standardUserDefaults] stringForKey:@"level_ringtone_preference"], nil];
|
||||
|
||||
// Create a new notification
|
||||
UILocalNotification* notif = [[[UILocalNotification alloc] init] autorelease];
|
||||
if (notif) {
|
||||
notif.repeatInterval = 0;
|
||||
notif.alertBody = msg;
|
||||
notif.alertAction = NSLocalizedString(@"Show", nil);
|
||||
notif.soundName = ringtone;
|
||||
|
||||
[[UIApplication sharedApplication] presentLocalNotificationNow:notif];
|
||||
}
|
||||
} else {
|
||||
UIAlertView* error = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Dring !",nil)
|
||||
message:msg
|
||||
delegate:nil
|
||||
cancelButtonTitle:NSLocalizedString(@"Continue",nil)
|
||||
otherButtonTitles:nil,nil];
|
||||
[error show];
|
||||
[error release];
|
||||
[[LinphoneManager instance] setSpeakerEnabled:TRUE];
|
||||
AudioServicesPlayAlertSound([LinphoneManager instance].sounds.level);
|
||||
}
|
||||
}
|
||||
|
||||
+ (BuschJaegerMainView *) instance {
|
||||
return mainViewInstance;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -172,6 +172,8 @@
|
|||
@"NO", @"enable_srtp_preference",
|
||||
@"YES", @"backgroundmode_preference",
|
||||
@"YES", @"outbound_proxy_preference",
|
||||
@"ringtone_01_1600", @"ringtone_preference",
|
||||
@"ringtone_01_1600", @"level_ringtone_preference",
|
||||
nil];
|
||||
|
||||
[defaultsToRegister addEntriesFromDictionary:appDefaults];
|
||||
|
|
@ -251,8 +253,8 @@
|
|||
NSDictionary *alert = [aps objectForKey:@"alert"];
|
||||
if(alert != nil) {
|
||||
NSString *loc_key = [alert objectForKey:@"loc-key"];
|
||||
/*if we receive a remote notification, it is because our TCP background socket was no more working.
|
||||
As a result, break it and refresh registers in order to make sure to receive incoming INVITE or MESSAGE*/
|
||||
//if we receive a remote notification, it is because our TCP background socket was no more working.
|
||||
//As a result, break it and refresh registers in order to make sure to receive incoming INVITE or MESSAGE
|
||||
LinphoneCore *lc = [LinphoneManager getLc];
|
||||
linphone_core_set_network_reachable(lc, FALSE);
|
||||
linphone_core_set_network_reachable(lc, TRUE);
|
||||
|
|
|
|||
|
|
@ -464,6 +464,14 @@ static void linphone_iphone_registration_state(LinphoneCore *lc, LinphoneProxyCo
|
|||
[[NSNotificationCenter defaultCenter] postNotificationName:kLinphoneTextReceived object:self userInfo:dict];
|
||||
[chat release];
|
||||
*/
|
||||
|
||||
// Post event
|
||||
NSDictionary* dict = [NSDictionary dictionaryWithObjectsAndKeys:
|
||||
[NSValue valueWithPointer:room], @"room",
|
||||
[NSValue valueWithPointer:from], @"from",
|
||||
[NSString stringWithUTF8String:message], @"message",
|
||||
nil];
|
||||
[[NSNotificationCenter defaultCenter] postNotificationName:kLinphoneTextReceived object:self userInfo:dict];
|
||||
}
|
||||
|
||||
static void linphone_iphone_text_received(LinphoneCore *lc, LinphoneChatRoom *room, const LinphoneAddress *from, const char *message) {
|
||||
|
|
@ -1330,9 +1338,6 @@ static void audioRouteChangeListenerCallback (
|
|||
}
|
||||
{
|
||||
NSString *ringtone = [[NSUserDefaults standardUserDefaults] stringForKey:@"ringtone_preference"];
|
||||
if(ringtone == nil) {
|
||||
ringtone = @"ringtone_01_1600";
|
||||
}
|
||||
NSString *path = [[NSBundle mainBundle] pathForResource:ringtone ofType:@"wav"];
|
||||
sounds.call = 0;
|
||||
OSStatus status = AudioServicesCreateSystemSoundID((CFURLRef)[NSURL fileURLWithPath:path], &sounds.call);
|
||||
|
|
@ -1345,9 +1350,6 @@ static void audioRouteChangeListenerCallback (
|
|||
}
|
||||
{
|
||||
NSString *ringtone = [[NSUserDefaults standardUserDefaults] stringForKey:@"level_ringtone_preference"];
|
||||
if(ringtone == nil) {
|
||||
ringtone = @"ringtone_01_1600";
|
||||
}
|
||||
NSString *path = [[NSBundle mainBundle] pathForResource:ringtone ofType:@"wav"];
|
||||
sounds.level = 0;
|
||||
OSStatus status = AudioServicesCreateSystemSoundID((CFURLRef)[NSURL fileURLWithPath:path], &sounds.level);
|
||||
|
|
|
|||
29
Classes/Model/LevelPushButton.h
Normal file
29
Classes/Model/LevelPushButton.h
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
/* LevelPushButton.h
|
||||
*
|
||||
* Copyright (C) 2012 Belledonne Comunications, Grenoble, France
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
@interface LevelPushButton : NSObject
|
||||
|
||||
@property (copy) NSString* name;
|
||||
|
||||
- (NSString*)write;
|
||||
+ (id)parse:(NSString*)section array:(NSArray*)array;
|
||||
|
||||
@end
|
||||
59
Classes/Model/LevelPushButton.m
Normal file
59
Classes/Model/LevelPushButton.m
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
/* LevelPushButton.m
|
||||
*
|
||||
* Copyright (C) 2012 Belledonne Comunications, Grenoble, France
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#import "LevelPushButton.h"
|
||||
#import "BuschJaegerConfiguration.h"
|
||||
#import "Utils.h"
|
||||
|
||||
@implementation LevelPushButton
|
||||
|
||||
@synthesize name;
|
||||
|
||||
- (void)dealloc {
|
||||
[name release];
|
||||
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
- (NSString*)write {
|
||||
NSMutableString *str = [NSMutableString string];
|
||||
[str appendString:[NSString stringWithFormat:@"\n[levelpushbutton]\n"]];
|
||||
[str appendString:[NSString stringWithFormat:@"name=%@\n", name]];
|
||||
return str;
|
||||
}
|
||||
|
||||
+ (id)parse:(NSString*)section array:(NSArray*)array {
|
||||
NSString *param;
|
||||
LevelPushButton *net = nil;
|
||||
if((param = [BuschJaegerConfiguration getRegexValue:@"^\\[(levelpushbutton)\\]$" data:section]) != nil) {
|
||||
net = [[[LevelPushButton alloc] init] autorelease];
|
||||
NSString *param;
|
||||
for(NSString *entry in array) {
|
||||
if((param = [BuschJaegerConfiguration getRegexValue:@"^name=(.*)$" data:entry]) != nil) {
|
||||
net.name = param;
|
||||
} else if([[entry stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]] length] != 0){
|
||||
[LinphoneLogger log:LinphoneLoggerWarning format:@"Unknown entry in %@ section: %@", section, entry];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return net;
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
@ -41,6 +41,16 @@
|
|||
global-history=http://welcome.dyndns.org:8080/history.ini
|
||||
*/
|
||||
|
||||
- (void)dealloc {
|
||||
[domain release];
|
||||
[localAddress release];
|
||||
[globalAddress release];
|
||||
[localHistory release];
|
||||
[globalHistory release];
|
||||
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
- (NSString*)write {
|
||||
NSMutableString *str = [NSMutableString string];
|
||||
[str appendString:[NSString stringWithFormat:@"\n[network]\n"]];
|
||||
|
|
|
|||
BIN
Resources/ringtone_01_1600_loop.wav
Normal file
BIN
Resources/ringtone_01_1600_loop.wav
Normal file
Binary file not shown.
BIN
Resources/ringtone_02_1600_loop.wav
Normal file
BIN
Resources/ringtone_02_1600_loop.wav
Normal file
Binary file not shown.
BIN
Resources/ringtone_03_1600_loop.wav
Normal file
BIN
Resources/ringtone_03_1600_loop.wav
Normal file
Binary file not shown.
BIN
Resources/ringtone_04_1600_loop.wav
Normal file
BIN
Resources/ringtone_04_1600_loop.wav
Normal file
Binary file not shown.
BIN
Resources/ringtone_05_1600_loop.wav
Normal file
BIN
Resources/ringtone_05_1600_loop.wav
Normal file
Binary file not shown.
|
|
@ -126,6 +126,18 @@
|
|||
D32B6E2F15A5C0AC0033019F /* libsqlite3.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D32B6E2E15A5C0AC0033019F /* libsqlite3.dylib */; };
|
||||
D32B9DFC15A2F131000B6DEC /* FastAddressBook.m in Sources */ = {isa = PBXBuildFile; fileRef = D32B9DFB15A2F131000B6DEC /* FastAddressBook.m */; };
|
||||
D32B9DFD15A2F131000B6DEC /* FastAddressBook.m in Sources */ = {isa = PBXBuildFile; fileRef = D32B9DFB15A2F131000B6DEC /* FastAddressBook.m */; };
|
||||
D32EDD9B1600C450009A84C7 /* LevelPushButton.m in Sources */ = {isa = PBXBuildFile; fileRef = D32EDD9A1600C450009A84C7 /* LevelPushButton.m */; };
|
||||
D32EDD9C1600C450009A84C7 /* LevelPushButton.m in Sources */ = {isa = PBXBuildFile; fileRef = D32EDD9A1600C450009A84C7 /* LevelPushButton.m */; };
|
||||
D32EDDA31600C8FC009A84C7 /* ringtone_01_1600_loop.wav in Resources */ = {isa = PBXBuildFile; fileRef = D32EDD9E1600C8FC009A84C7 /* ringtone_01_1600_loop.wav */; };
|
||||
D32EDDA41600C8FC009A84C7 /* ringtone_01_1600_loop.wav in Resources */ = {isa = PBXBuildFile; fileRef = D32EDD9E1600C8FC009A84C7 /* ringtone_01_1600_loop.wav */; };
|
||||
D32EDDA51600C8FC009A84C7 /* ringtone_02_1600_loop.wav in Resources */ = {isa = PBXBuildFile; fileRef = D32EDD9F1600C8FC009A84C7 /* ringtone_02_1600_loop.wav */; };
|
||||
D32EDDA61600C8FC009A84C7 /* ringtone_02_1600_loop.wav in Resources */ = {isa = PBXBuildFile; fileRef = D32EDD9F1600C8FC009A84C7 /* ringtone_02_1600_loop.wav */; };
|
||||
D32EDDA71600C8FC009A84C7 /* ringtone_03_1600_loop.wav in Resources */ = {isa = PBXBuildFile; fileRef = D32EDDA01600C8FC009A84C7 /* ringtone_03_1600_loop.wav */; };
|
||||
D32EDDA81600C8FC009A84C7 /* ringtone_03_1600_loop.wav in Resources */ = {isa = PBXBuildFile; fileRef = D32EDDA01600C8FC009A84C7 /* ringtone_03_1600_loop.wav */; };
|
||||
D32EDDA91600C8FC009A84C7 /* ringtone_04_1600_loop.wav in Resources */ = {isa = PBXBuildFile; fileRef = D32EDDA11600C8FC009A84C7 /* ringtone_04_1600_loop.wav */; };
|
||||
D32EDDAA1600C8FC009A84C7 /* ringtone_04_1600_loop.wav in Resources */ = {isa = PBXBuildFile; fileRef = D32EDDA11600C8FC009A84C7 /* ringtone_04_1600_loop.wav */; };
|
||||
D32EDDAB1600C8FC009A84C7 /* ringtone_05_1600_loop.wav in Resources */ = {isa = PBXBuildFile; fileRef = D32EDDA21600C8FC009A84C7 /* ringtone_05_1600_loop.wav */; };
|
||||
D32EDDAC1600C8FC009A84C7 /* ringtone_05_1600_loop.wav in Resources */ = {isa = PBXBuildFile; fileRef = D32EDDA21600C8FC009A84C7 /* ringtone_05_1600_loop.wav */; };
|
||||
D33BEE1F15FF711B004ED2AF /* linphonerc-factory in Resources */ = {isa = PBXBuildFile; fileRef = D33BEE1C15FF711B004ED2AF /* linphonerc-factory */; };
|
||||
D33BEE2015FF711B004ED2AF /* linphonerc-factory in Resources */ = {isa = PBXBuildFile; fileRef = D33BEE1C15FF711B004ED2AF /* linphonerc-factory */; };
|
||||
D33BEE2115FF711B004ED2AF /* linphonerc-factory~ipad in Resources */ = {isa = PBXBuildFile; fileRef = D33BEE1D15FF711B004ED2AF /* linphonerc-factory~ipad */; };
|
||||
|
|
@ -579,6 +591,13 @@
|
|||
D32B6E2E15A5C0AC0033019F /* libsqlite3.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libsqlite3.dylib; path = usr/lib/libsqlite3.dylib; sourceTree = SDKROOT; };
|
||||
D32B9DFA15A2F131000B6DEC /* FastAddressBook.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FastAddressBook.h; path = Utils/FastAddressBook.h; sourceTree = "<group>"; };
|
||||
D32B9DFB15A2F131000B6DEC /* FastAddressBook.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = FastAddressBook.m; path = Utils/FastAddressBook.m; sourceTree = "<group>"; };
|
||||
D32EDD991600C450009A84C7 /* LevelPushButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LevelPushButton.h; path = Model/LevelPushButton.h; sourceTree = "<group>"; };
|
||||
D32EDD9A1600C450009A84C7 /* LevelPushButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = LevelPushButton.m; path = Model/LevelPushButton.m; sourceTree = "<group>"; };
|
||||
D32EDD9E1600C8FC009A84C7 /* ringtone_01_1600_loop.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; name = ringtone_01_1600_loop.wav; path = Resources/ringtone_01_1600_loop.wav; sourceTree = "<group>"; };
|
||||
D32EDD9F1600C8FC009A84C7 /* ringtone_02_1600_loop.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; name = ringtone_02_1600_loop.wav; path = Resources/ringtone_02_1600_loop.wav; sourceTree = "<group>"; };
|
||||
D32EDDA01600C8FC009A84C7 /* ringtone_03_1600_loop.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; name = ringtone_03_1600_loop.wav; path = Resources/ringtone_03_1600_loop.wav; sourceTree = "<group>"; };
|
||||
D32EDDA11600C8FC009A84C7 /* ringtone_04_1600_loop.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; name = ringtone_04_1600_loop.wav; path = Resources/ringtone_04_1600_loop.wav; sourceTree = "<group>"; };
|
||||
D32EDDA21600C8FC009A84C7 /* ringtone_05_1600_loop.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; name = ringtone_05_1600_loop.wav; path = Resources/ringtone_05_1600_loop.wav; sourceTree = "<group>"; };
|
||||
D33BEE1C15FF711B004ED2AF /* linphonerc-factory */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = "linphonerc-factory"; path = "Resources/linphonerc-factory"; sourceTree = "<group>"; };
|
||||
D33BEE1D15FF711B004ED2AF /* linphonerc-factory~ipad */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = "linphonerc-factory~ipad"; path = "Resources/linphonerc-factory~ipad"; sourceTree = "<group>"; };
|
||||
D33BEE1E15FF711B004ED2AF /* rootca.pem */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = rootca.pem; path = Resources/rootca.pem; sourceTree = "<group>"; };
|
||||
|
|
@ -1289,10 +1308,15 @@
|
|||
D33BEE1D15FF711B004ED2AF /* linphonerc-factory~ipad */,
|
||||
D321FF9815E628CB0098B5F4 /* linphonerc~ipad */,
|
||||
D376EAE316008454007C8226 /* ringtone_01_1600.wav */,
|
||||
D32EDD9E1600C8FC009A84C7 /* ringtone_01_1600_loop.wav */,
|
||||
D376EAE416008454007C8226 /* ringtone_02_1600.wav */,
|
||||
D32EDD9F1600C8FC009A84C7 /* ringtone_02_1600_loop.wav */,
|
||||
D376EAE516008454007C8226 /* ringtone_03_1600.wav */,
|
||||
D32EDDA01600C8FC009A84C7 /* ringtone_03_1600_loop.wav */,
|
||||
D376EAE616008454007C8226 /* ringtone_04_1600.wav */,
|
||||
D32EDDA11600C8FC009A84C7 /* ringtone_04_1600_loop.wav */,
|
||||
D376EAE716008454007C8226 /* ringtone_05_1600.wav */,
|
||||
D32EDDA21600C8FC009A84C7 /* ringtone_05_1600_loop.wav */,
|
||||
D33BEE1E15FF711B004ED2AF /* rootca.pem */,
|
||||
D376EAF716009E2A007C8226 /* snapshot.png */,
|
||||
D376EAE0160082A4007C8226 /* trash.png */,
|
||||
|
|
@ -1333,6 +1357,8 @@
|
|||
children = (
|
||||
D384468715E65CFE00DF89DF /* History.h */,
|
||||
D384468815E65CFE00DF89DF /* History.m */,
|
||||
D32EDD991600C450009A84C7 /* LevelPushButton.h */,
|
||||
D32EDD9A1600C450009A84C7 /* LevelPushButton.m */,
|
||||
D383A44C15E3C98C00CDE5C9 /* Network.h */,
|
||||
D383A44D15E3C98C00CDE5C9 /* Network.m */,
|
||||
D37CD35115E22A470028869A /* OutdoorStation.h */,
|
||||
|
|
@ -1548,6 +1574,11 @@
|
|||
D376EAF016008454007C8226 /* ringtone_05_1600.wav in Resources */,
|
||||
D376EAF816009E2A007C8226 /* bj_save.png in Resources */,
|
||||
D376EAFA16009E2A007C8226 /* snapshot.png in Resources */,
|
||||
D32EDDA31600C8FC009A84C7 /* ringtone_01_1600_loop.wav in Resources */,
|
||||
D32EDDA51600C8FC009A84C7 /* ringtone_02_1600_loop.wav in Resources */,
|
||||
D32EDDA71600C8FC009A84C7 /* ringtone_03_1600_loop.wav in Resources */,
|
||||
D32EDDA91600C8FC009A84C7 /* ringtone_04_1600_loop.wav in Resources */,
|
||||
D32EDDAB1600C8FC009A84C7 /* ringtone_05_1600_loop.wav in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
|
@ -1602,6 +1633,11 @@
|
|||
D376EAF116008454007C8226 /* ringtone_05_1600.wav in Resources */,
|
||||
D376EAF916009E2A007C8226 /* bj_save.png in Resources */,
|
||||
D376EAFB16009E2A007C8226 /* snapshot.png in Resources */,
|
||||
D32EDDA41600C8FC009A84C7 /* ringtone_01_1600_loop.wav in Resources */,
|
||||
D32EDDA61600C8FC009A84C7 /* ringtone_02_1600_loop.wav in Resources */,
|
||||
D32EDDA81600C8FC009A84C7 /* ringtone_03_1600_loop.wav in Resources */,
|
||||
D32EDDAA1600C8FC009A84C7 /* ringtone_04_1600_loop.wav in Resources */,
|
||||
D32EDDAC1600C8FC009A84C7 /* ringtone_05_1600_loop.wav in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
|
@ -1687,6 +1723,7 @@
|
|||
D3FE9F4415E78D720024F3E4 /* BuschJaegerHistoryDetailsView.m in Sources */,
|
||||
D3FE9F4B15E790D80024F3E4 /* UIHistoryDetailsCell.m in Sources */,
|
||||
D376EAF416008DF1007C8226 /* User.m in Sources */,
|
||||
D32EDD9B1600C450009A84C7 /* LevelPushButton.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
|
@ -1740,6 +1777,7 @@
|
|||
D3FE9F4515E78D720024F3E4 /* BuschJaegerHistoryDetailsView.m in Sources */,
|
||||
D3FE9F4C15E790D80024F3E4 /* UIHistoryDetailsCell.m in Sources */,
|
||||
D376EAF516008DF1007C8226 /* User.m in Sources */,
|
||||
D32EDD9C1600C450009A84C7 /* LevelPushButton.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue