forked from mirrors/linphone-iphone
Fix UICallBar
Start Castel commands implementation
This commit is contained in:
parent
519df08e35
commit
2a6326b972
7 changed files with 154 additions and 35 deletions
|
|
@ -71,6 +71,7 @@ typedef struct _LinphoneCallAppData {
|
|||
|
||||
id<IASKSettingsStore> settingsStore;
|
||||
sqlite3 *database;
|
||||
NSDictionary *castelCommands;
|
||||
|
||||
@public
|
||||
CallContext currentCallContextBeforeGoingBackground;
|
||||
|
|
@ -105,6 +106,7 @@ typedef struct _LinphoneCallAppData {
|
|||
@property (readonly) const char* frontCamId;
|
||||
@property (readonly) const char* backCamId;
|
||||
@property (readonly) sqlite3* database;
|
||||
@property (readonly) NSDictionary* castelCommands;
|
||||
|
||||
@end
|
||||
|
||||
|
|
|
|||
|
|
@ -31,6 +31,9 @@
|
|||
#import "LinphoneCoreSettingsStore.h"
|
||||
#import "ChatModel.h"
|
||||
|
||||
#import "GDataXMLNode.h"
|
||||
#import "OrderedDictionary.h"
|
||||
|
||||
#include "linphonecore_utils.h"
|
||||
#include "lpconfig.h"
|
||||
#include "private.h"
|
||||
|
|
@ -67,6 +70,7 @@ extern void libmsbcg729_init();
|
|||
@synthesize settingsStore;
|
||||
@synthesize database;
|
||||
@synthesize fastAddressBook;
|
||||
@synthesize castelCommands;
|
||||
|
||||
struct codec_name_pref_table{
|
||||
const char *name;
|
||||
|
|
@ -164,6 +168,7 @@ struct codec_name_pref_table codec_pref_table[]={
|
|||
[fastAddressBook release];
|
||||
[self closeDatabase];
|
||||
[settingsStore release];
|
||||
[castelCommands release];
|
||||
|
||||
[super dealloc];
|
||||
}
|
||||
|
|
@ -333,6 +338,37 @@ static void linphone_iphone_registration_state(LinphoneCore *lc, LinphoneProxyCo
|
|||
|
||||
- (void)onTextReceived:(LinphoneCore *)lc room:(LinphoneChatRoom *)room from:(const LinphoneAddress *)from message:(const char *)message {
|
||||
|
||||
if(message != NULL) {
|
||||
NSError *error;
|
||||
GDataXMLDocument *doc = [[GDataXMLDocument alloc] initWithXMLString:[NSString stringWithUTF8String:message] options:0 error:&error];
|
||||
if (doc == nil) {
|
||||
[LinphoneLogger log:LinphoneLoggerError format:@"Can't parse XML: %@", [error localizedDescription]];
|
||||
return;
|
||||
}
|
||||
NSArray *commands = [doc nodesForXPath:@"//VDUCMediaConfig/MediaConfig/CommandCode" error:nil];
|
||||
if(castelCommands != nil) {
|
||||
[castelCommands release];
|
||||
castelCommands = nil;
|
||||
}
|
||||
if(commands != nil && [commands count]) {
|
||||
OrderedDictionary *tempDict = [OrderedDictionary dictionaryWithCapacity:[commands count]];
|
||||
castelCommands = tempDict;
|
||||
for(GDataXMLElement *element in commands) {
|
||||
GDataXMLNode *code = [element attributeForName:@"Code"];
|
||||
if(code != nil) {
|
||||
NSArray *labelArray = [element elementsForName:@"Label"];
|
||||
if(labelArray != nil && [labelArray count] == 1) {
|
||||
GDataXMLNode *label = [labelArray objectAtIndex:0];
|
||||
[tempDict setObject:[code stringValue] forKey:[label stringValue]];
|
||||
}
|
||||
}
|
||||
}
|
||||
[[NSNotificationCenter defaultCenter] postNotificationName:@"LinphoneCastelCommands" object:self userInfo:castelCommands];
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
MODIFICATION: Remove Chat
|
||||
char *fromStr = linphone_address_as_string_uri_only(from);
|
||||
if(fromStr == NULL)
|
||||
return;
|
||||
|
|
@ -358,6 +394,7 @@ static void linphone_iphone_registration_state(LinphoneCore *lc, LinphoneProxyCo
|
|||
nil] autorelease];
|
||||
[[NSNotificationCenter defaultCenter] postNotificationName:@"LinphoneTextReceived" object:self userInfo:dict];
|
||||
[chat release];
|
||||
*/
|
||||
}
|
||||
|
||||
static void linphone_iphone_text_received(LinphoneCore *lc, LinphoneChatRoom *room, const LinphoneAddress *from, const char *message) {
|
||||
|
|
|
|||
|
|
@ -229,10 +229,17 @@
|
|||
selector:@selector(callUpdateEvent:)
|
||||
name:@"LinphoneCallUpdate"
|
||||
object:nil];
|
||||
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self
|
||||
selector:@selector(castelCommandsEvent:)
|
||||
name:@"LinphoneCastelCommands"
|
||||
object:nil];
|
||||
// Update on show
|
||||
LinphoneCall* call = linphone_core_get_current_call([LinphoneManager getLc]);
|
||||
LinphoneCallState state = (call != NULL)?linphone_call_get_state(call): 0;
|
||||
[self callUpdate:call state:state];
|
||||
|
||||
[self castelCommandsUpdate:[[LinphoneManager instance] castelCommands]];
|
||||
}
|
||||
|
||||
- (void)viewWillDisappear:(BOOL)animated {
|
||||
|
|
@ -241,8 +248,12 @@
|
|||
[[NSNotificationCenter defaultCenter] removeObserver:self
|
||||
name:@"LinphoneCallUpdate"
|
||||
object:nil];
|
||||
[[NSNotificationCenter defaultCenter] removeObserver:self
|
||||
name:@"LinphoneCastelCommands"
|
||||
object:nil];
|
||||
}
|
||||
|
||||
|
||||
#pragma mark - Event Functions
|
||||
|
||||
- (void)callUpdateEvent:(NSNotification*)notif {
|
||||
|
|
@ -251,8 +262,36 @@
|
|||
[self callUpdate:call state:state];
|
||||
}
|
||||
|
||||
- (void)castelCommandsEvent:(NSNotification*)notif {
|
||||
[self castelCommandsUpdate:[notif userInfo]];
|
||||
}
|
||||
|
||||
#pragma mark -
|
||||
|
||||
#pragma mark -
|
||||
|
||||
- (void)castelCommandsUpdate:(NSDictionary*)castelCommands {
|
||||
[option1Button setHidden:TRUE];
|
||||
[option2Button setHidden:TRUE];
|
||||
[option3Button setHidden:TRUE];
|
||||
if(castelCommands != nil) {
|
||||
NSArray *array = [castelCommands allKeys];
|
||||
if([array count] >= 1) {
|
||||
NSString *label = [array objectAtIndex:0];
|
||||
[option1Button setHidden:FALSE];
|
||||
[option1Button setTitle:label forState:UIControlStateNormal];
|
||||
}
|
||||
if([array count] >= 2) {
|
||||
NSString *label = [array objectAtIndex:1];
|
||||
[option2Button setHidden:FALSE];
|
||||
[option2Button setTitle:label forState:UIControlStateNormal];
|
||||
}
|
||||
if([array count] >= 3) {
|
||||
NSString *label = [array objectAtIndex:2];
|
||||
[option3Button setHidden:FALSE];
|
||||
[option3Button setTitle:label forState:UIControlStateNormal];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
- (void)callUpdate:(LinphoneCall*)call state:(LinphoneCallState)state {
|
||||
if(![LinphoneManager isLcReady]) {
|
||||
|
|
|
|||
|
|
@ -3,19 +3,19 @@
|
|||
<data>
|
||||
<int key="IBDocument.SystemTarget">1296</int>
|
||||
<string key="IBDocument.SystemVersion">11E53</string>
|
||||
<string key="IBDocument.InterfaceBuilderVersion">2182</string>
|
||||
<string key="IBDocument.InterfaceBuilderVersion">2549</string>
|
||||
<string key="IBDocument.AppKitVersion">1138.47</string>
|
||||
<string key="IBDocument.HIToolboxVersion">569.00</string>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="NS.object.0">1181</string>
|
||||
<string key="NS.object.0">1498</string>
|
||||
</object>
|
||||
<array key="IBDocument.IntegratedClassDependencies">
|
||||
<string>IBUIButton</string>
|
||||
<string>IBUIActivityIndicatorView</string>
|
||||
<string>IBUIView</string>
|
||||
<string>IBUIImageView</string>
|
||||
<string>IBProxyObject</string>
|
||||
<string>IBUIActivityIndicatorView</string>
|
||||
<string>IBUIButton</string>
|
||||
<string>IBUIImageView</string>
|
||||
<string>IBUIView</string>
|
||||
</array>
|
||||
<array key="IBDocument.PluginDependencies">
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
|
|
@ -43,7 +43,6 @@
|
|||
<string key="NSFrame">{{0, 335}, {320, 125}}</string>
|
||||
<reference key="NSSuperview" ref="931774220"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<object class="NSColor" key="IBUIBackgroundColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
|
|
@ -803,7 +802,6 @@
|
|||
<string key="NSFrame">{{0, 248}, {480, 72}}</string>
|
||||
<reference key="NSSuperview" ref="837874415"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<object class="NSColor" key="IBUIBackgroundColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
|
|
@ -1237,7 +1235,6 @@
|
|||
<string key="NSFrame">{{285, 0}, {65, 82}}</string>
|
||||
<reference key="NSSuperview" ref="950460796"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<int key="IBUITag">22</int>
|
||||
|
|
@ -1403,7 +1400,6 @@
|
|||
<string key="NSFrame">{{415, 0}, {65, 82}}</string>
|
||||
<reference key="NSSuperview" ref="950460796"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<int key="IBUITag">27</int>
|
||||
|
|
@ -1634,14 +1630,6 @@
|
|||
</object>
|
||||
<int key="connectionID">138</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">dialerButton</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="889778982"/>
|
||||
</object>
|
||||
<int key="connectionID">139</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">optionsAddButton</string>
|
||||
|
|
@ -1658,14 +1646,6 @@
|
|||
</object>
|
||||
<int key="connectionID">149</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">option2Button</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="976589610"/>
|
||||
</object>
|
||||
<int key="connectionID">140</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">option3Button</string>
|
||||
|
|
@ -1674,6 +1654,22 @@
|
|||
</object>
|
||||
<int key="connectionID">151</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">dialerButton</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="976589610"/>
|
||||
</object>
|
||||
<int key="connectionID">152</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">option2Button</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="447196686"/>
|
||||
</object>
|
||||
<int key="connectionID">153</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchEventConnection" key="connection">
|
||||
<string key="label">onPadClick:</string>
|
||||
|
|
@ -2305,7 +2301,7 @@
|
|||
<string key="59.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="6.CustomClassName">UIToggleButton</string>
|
||||
<string key="6.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<real value="2" key="6.IBUIButtonInspectorSelectedStateConfigurationMetadataKey"/>
|
||||
<real value="0.0" key="6.IBUIButtonInspectorSelectedStateConfigurationMetadataKey"/>
|
||||
<string key="62.CustomClassName">UIDigitButton</string>
|
||||
<string key="62.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<real value="0.0" key="62.IBUIButtonInspectorSelectedStateConfigurationMetadataKey"/>
|
||||
|
|
@ -2359,7 +2355,7 @@
|
|||
<nil key="activeLocalization"/>
|
||||
<dictionary class="NSMutableDictionary" key="localizations"/>
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">151</int>
|
||||
<int key="maxID">153</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
|
|
@ -2759,6 +2755,6 @@
|
|||
<string key="video_on_default.png">{160, 134}</string>
|
||||
<string key="video_on_default_landscape.png">{130, 163}</string>
|
||||
</dictionary>
|
||||
<string key="IBCocoaTouchPluginVersion">1181</string>
|
||||
<string key="IBCocoaTouchPluginVersion">1498</string>
|
||||
</data>
|
||||
</archive>
|
||||
|
|
|
|||
|
|
@ -76,10 +76,12 @@
|
|||
selector:@selector(callUpdate:)
|
||||
name:@"LinphoneCallUpdate"
|
||||
object:nil];
|
||||
/* MODIFICATION Remove chat
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self
|
||||
selector:@selector(textReceived:)
|
||||
name:@"LinphoneTextReceived"
|
||||
object:nil];
|
||||
*/
|
||||
[self update];
|
||||
}
|
||||
|
||||
|
|
@ -92,9 +94,11 @@
|
|||
[[NSNotificationCenter defaultCenter] removeObserver:self
|
||||
name:@"LinphoneCallUpdate"
|
||||
object:nil];
|
||||
/* MODIFICATION Remove chat
|
||||
[[NSNotificationCenter defaultCenter] removeObserver:self
|
||||
name:@"LinphoneTextReceived"
|
||||
object:nil];
|
||||
*/
|
||||
}
|
||||
|
||||
- (void)viewDidLoad {
|
||||
|
|
@ -137,10 +141,11 @@
|
|||
[self updateView:[[PhoneMainView instance] firstView]];
|
||||
}
|
||||
|
||||
/* MODIFICATION Remove chat
|
||||
- (void)textReceived:(NSNotification*)notif {
|
||||
[self updateUnreadMessage:[ChatModel unreadMessages]];
|
||||
}
|
||||
|
||||
*/
|
||||
|
||||
#pragma mark -
|
||||
|
||||
|
|
@ -151,10 +156,13 @@
|
|||
} else {
|
||||
[self updateMissedCall:0];
|
||||
}
|
||||
/* MODIFICATION Remove chat
|
||||
[self updateUnreadMessage:[ChatModel unreadMessages]];
|
||||
*/
|
||||
}
|
||||
|
||||
- (void)updateUnreadMessage:(int)unreadMessage{
|
||||
/* MODIFICATION Remove chat
|
||||
if (unreadMessage > 0) {
|
||||
if([chatNotificationView isHidden]) {
|
||||
[chatNotificationView setHidden:FALSE];
|
||||
|
|
@ -171,6 +179,7 @@
|
|||
}];
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
- (void)updateMissedCall:(int)missedCall{
|
||||
|
|
|
|||
38
castel.xsd
Normal file
38
castel.xsd
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1" ?>
|
||||
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<xs:element name="VDUCMediaConfig">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element type="xs:string" name="Label"/>
|
||||
<xs:element name="MediaConfig">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element type="xs:string" name="Label"/>
|
||||
<xs:element name="CommandCode" maxOccurs="3" minOccurs="0">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element type="xs:string" name="Label"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute type="xs:string" name="Code"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element type="xs:byte" name="AudioCodec"/>
|
||||
<xs:element name="withVideo">
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string">
|
||||
<xs:attribute type="xs:float" name="FPS"/>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
<xs:attribute type="xs:int" name="GId"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element type="xs:string" name="Forward" use="optional"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute type="xs:int" name="GId"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:schema>
|
||||
|
|
@ -198,8 +198,6 @@
|
|||
D32B6E2415A5B2020033019F /* chat_send_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = D32B6E2315A5B2020033019F /* chat_send_disabled.png */; };
|
||||
D32B6E2C15A5C0800033019F /* database.sqlite in Resources */ = {isa = PBXBuildFile; fileRef = D32B6E2B15A5C0800033019F /* database.sqlite */; };
|
||||
D32B6E2F15A5C0AC0033019F /* libsqlite3.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D32B6E2E15A5C0AC0033019F /* libsqlite3.dylib */; };
|
||||
D32B6E3815A5C2430033019F /* ChatModel.m in Sources */ = {isa = PBXBuildFile; fileRef = D32B6E3715A5C2430033019F /* ChatModel.m */; };
|
||||
D32B6E3915A5C2430033019F /* ChatModel.m in Sources */ = {isa = PBXBuildFile; fileRef = D32B6E3715A5C2430033019F /* ChatModel.m */; };
|
||||
D32B9DFC15A2F131000B6DEC /* FastAddressBook.m in Sources */ = {isa = PBXBuildFile; fileRef = D32B9DFB15A2F131000B6DEC /* FastAddressBook.m */; };
|
||||
D32B9DFD15A2F131000B6DEC /* FastAddressBook.m in Sources */ = {isa = PBXBuildFile; fileRef = D32B9DFB15A2F131000B6DEC /* FastAddressBook.m */; };
|
||||
D32D5AA715ADE5D9008593F3 /* button_alert_background_default.png in Resources */ = {isa = PBXBuildFile; fileRef = D32D5AA515ADE5D9008593F3 /* button_alert_background_default.png */; };
|
||||
|
|
@ -1399,6 +1397,7 @@
|
|||
D3A8BB7815A6CC3200F96BE5 /* setup_back_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = setup_back_disabled.png; path = Resources/setup_back_disabled.png; sourceTree = "<group>"; };
|
||||
D3A8BB7915A6CC3200F96BE5 /* setup_cancel_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = setup_cancel_disabled.png; path = Resources/setup_cancel_disabled.png; sourceTree = "<group>"; };
|
||||
D3A8BB7A15A6CC3200F96BE5 /* setup_start_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = setup_start_disabled.png; path = Resources/setup_start_disabled.png; sourceTree = "<group>"; };
|
||||
D3B829FC15C148C90036C93E /* castel.xsd */ = {isa = PBXFileReference; lastKnownFileType = text; path = castel.xsd; sourceTree = "<group>"; };
|
||||
D3B9A3DA15A58C440096EA4E /* chat_field.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = chat_field.png; path = Resources/chat_field.png; sourceTree = "<group>"; };
|
||||
D3B9A3DB15A58C440096EA4E /* chat_ok_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = chat_ok_default.png; path = Resources/chat_ok_default.png; sourceTree = "<group>"; };
|
||||
D3B9A3DC15A58C440096EA4E /* chat_ok_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = chat_ok_over.png; path = Resources/chat_ok_over.png; sourceTree = "<group>"; };
|
||||
|
|
@ -2141,6 +2140,7 @@
|
|||
29B97314FDCFA39411CA2CEA /* CustomTemplate */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
D3B829FC15C148C90036C93E /* castel.xsd */,
|
||||
2258633C11410BAC00C5A737 /* README */,
|
||||
22276E8013C73D3100210156 /* libavcodec.a */,
|
||||
22276E8113C73D3100210156 /* libavutil.a */,
|
||||
|
|
@ -3416,7 +3416,6 @@
|
|||
D32B9DFC15A2F131000B6DEC /* FastAddressBook.m in Sources */,
|
||||
D3196D3E15A32BD8007FEEBA /* UITransferButton.m in Sources */,
|
||||
D350F20E15A43BB100149E54 /* WizardViewController.m in Sources */,
|
||||
D32B6E3815A5C2430033019F /* ChatModel.m in Sources */,
|
||||
D389362615A6D19800A3A3AA /* CPAnimationSequence.m in Sources */,
|
||||
D389362815A6D19800A3A3AA /* CPAnimationStep.m in Sources */,
|
||||
D3128FE115AABC7E00A2147A /* ContactDetailsViewController.m in Sources */,
|
||||
|
|
@ -3500,7 +3499,6 @@
|
|||
D32B9DFD15A2F131000B6DEC /* FastAddressBook.m in Sources */,
|
||||
D3196D3F15A32BD8007FEEBA /* UITransferButton.m in Sources */,
|
||||
D350F20F15A43BB100149E54 /* WizardViewController.m in Sources */,
|
||||
D32B6E3915A5C2430033019F /* ChatModel.m in Sources */,
|
||||
D389362715A6D19800A3A3AA /* CPAnimationSequence.m in Sources */,
|
||||
D389362915A6D19800A3A3AA /* CPAnimationStep.m in Sources */,
|
||||
D3128FE215AABC7E00A2147A /* ContactDetailsViewController.m in Sources */,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue