forked from mirrors/linphone-iphone
implement mini incall view
This commit is contained in:
parent
fce7a0f297
commit
38c6aa938f
18 changed files with 436 additions and 2440 deletions
|
|
@ -79,7 +79,7 @@
|
|||
<object class="IBUIButton" id="292237329">
|
||||
<reference key="NSNextResponder" ref="646889387"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{238, 0}, {72, 37}}</string>
|
||||
<string key="NSFrame">{{238, 4}, {72, 37}}</string>
|
||||
<reference key="NSSuperview" ref="646889387"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@
|
|||
CFTypeRef multiValue = ABRecordCopyValue(person, property);
|
||||
CFIndex valueIdx = ABMultiValueGetIndexForIdentifier(multiValue,identifier);
|
||||
NSString *phoneNumber = (NSString *)ABMultiValueCopyValueAtIndex(multiValue, valueIdx);
|
||||
[phoneControllerDelegate setPhoneNumber:phoneNumber];
|
||||
[phoneControllerDelegate setPhoneNumber:phoneNumber withDisplayName:(NSString*)ABRecordCopyCompositeName(person)];
|
||||
|
||||
[linphoneDelegate selectDialerTab];
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -1,36 +0,0 @@
|
|||
/* FavoriteTableViewController.h
|
||||
*
|
||||
* Copyright (C) 2009 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 Library 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 <UIKit/UIKit.h>
|
||||
#import "GenericTabViewController.h"
|
||||
|
||||
@interface FavoriteTableViewController : GenericTabViewController<ABPeoplePickerNavigationControllerDelegate> {
|
||||
UIButton* add;
|
||||
UIButton* edit;
|
||||
|
||||
|
||||
}
|
||||
- (IBAction)doAddFavorite:(id)sender;
|
||||
- (IBAction)doEditFavorite:(id)sender;
|
||||
|
||||
@property (nonatomic, retain) IBOutlet UIButton* add;
|
||||
@property (nonatomic, retain) IBOutlet UIButton* edit;
|
||||
@end
|
||||
|
||||
|
|
@ -1,242 +0,0 @@
|
|||
/* FavoriteTableViewController.h
|
||||
*
|
||||
* Copyright (C) 2009 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 Library 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 "FavoriteTableViewController.h"
|
||||
|
||||
|
||||
|
||||
@implementation FavoriteTableViewController
|
||||
@synthesize add;
|
||||
@synthesize edit;
|
||||
/*
|
||||
- (id)initWithStyle:(UITableViewStyle)style {
|
||||
// Override initWithStyle: if you create the controller programmatically and want to perform customization that is not appropriate for viewDidLoad.
|
||||
if (self = [super initWithStyle:style]) {
|
||||
}
|
||||
return self;
|
||||
}
|
||||
*/
|
||||
|
||||
/*
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
|
||||
// Uncomment the following line to display an Edit button in the navigation bar for this view controller.
|
||||
// self.navigationItem.rightBarButtonItem = self.editButtonItem;
|
||||
}
|
||||
*/
|
||||
|
||||
/*
|
||||
- (void)viewWillAppear:(BOOL)animated {
|
||||
[super viewWillAppear:animated];
|
||||
}
|
||||
*/
|
||||
/*
|
||||
- (void)viewDidAppear:(BOOL)animated {
|
||||
[super viewDidAppear:animated];
|
||||
}
|
||||
*/
|
||||
/*
|
||||
- (void)viewWillDisappear:(BOOL)animated {
|
||||
[super viewWillDisappear:animated];
|
||||
}
|
||||
*/
|
||||
/*
|
||||
- (void)viewDidDisappear:(BOOL)animated {
|
||||
[super viewDidDisappear:animated];
|
||||
}
|
||||
*/
|
||||
|
||||
/*
|
||||
// Override to allow orientations other than the default portrait orientation.
|
||||
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
|
||||
// Return YES for supported orientations
|
||||
return (interfaceOrientation == UIInterfaceOrientationPortrait);
|
||||
}
|
||||
*/
|
||||
|
||||
- (void)didReceiveMemoryWarning {
|
||||
// Releases the view if it doesn't have a superview.
|
||||
[super didReceiveMemoryWarning];
|
||||
|
||||
// Release any cached data, images, etc that aren't in use.
|
||||
}
|
||||
|
||||
- (void)viewDidUnload {
|
||||
// Release any retained subviews of the main view.
|
||||
// e.g. self.myOutlet = nil;
|
||||
}
|
||||
|
||||
|
||||
- (IBAction)doAddFavorite:(id)sender {
|
||||
ABPeoplePickerNavigationController* peoplePickerController = [[[ABPeoplePickerNavigationController alloc] init] autorelease];
|
||||
[peoplePickerController setPeoplePickerDelegate:self];
|
||||
|
||||
[self presentModalViewController: peoplePickerController animated:true];
|
||||
}
|
||||
- (IBAction)doEditFavorite:(id)sender {
|
||||
if ([ self tableView:self.tableView numberOfRowsInSection:0] <= 0) {
|
||||
return;
|
||||
}
|
||||
if (self.tableView.editing) {
|
||||
[self.tableView setEditing:false animated:true];
|
||||
[self.edit setTitle:@"Edit" forState: UIControlStateNormal];
|
||||
} else {
|
||||
[self.tableView setEditing:true animated:true];
|
||||
[self.edit setTitle:@"Ok" forState: UIControlStateNormal];
|
||||
}
|
||||
}
|
||||
#pragma mark Table view methods
|
||||
|
||||
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
// Customize the number of rows in the table view.
|
||||
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
|
||||
const MSList * friends =linphone_core_get_friend_list(myLinphoneCore);
|
||||
return ms_list_size(friends);
|
||||
}
|
||||
|
||||
|
||||
// Customize the appearance of table view cells.
|
||||
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
|
||||
static NSString *CellIdentifier = @"Cell";
|
||||
|
||||
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
|
||||
if (cell == nil) {
|
||||
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
|
||||
}
|
||||
LinphoneFriend* friend = ms_list_nth_data(linphone_core_get_friend_list(myLinphoneCore), indexPath.row);
|
||||
const char* name = linphone_address_get_username(linphone_friend_get_uri(friend));
|
||||
|
||||
[cell.textLabel setText:[[NSString alloc] initWithCString:name encoding:[NSString defaultCStringEncoding]]];
|
||||
cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton;
|
||||
|
||||
return cell;
|
||||
}
|
||||
/*
|
||||
- (void)tableView:(UITableView *)tableView accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath {
|
||||
if (isEditing) {
|
||||
} else {
|
||||
[super tableView:tableView accessoryButtonTappedForRowWithIndexPath:indexPath];
|
||||
}
|
||||
|
||||
}
|
||||
*/
|
||||
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
// Navigation logic may go here. Create and push another view controller.
|
||||
// AnotherViewController *anotherViewController = [[AnotherViewController alloc] initWithNibName:@"AnotherView" bundle:nil];
|
||||
// [self.navigationController pushViewController:anotherViewController];
|
||||
// [anotherViewController release];
|
||||
LinphoneFriend* friend = ms_list_nth_data(linphone_core_get_friend_list(myLinphoneCore), indexPath.row);
|
||||
const char* name = linphone_address_get_username(linphone_friend_get_uri(friend));
|
||||
[phoneControllerDelegate setPhoneNumber:[[NSString alloc] initWithCString:name encoding:[NSString defaultCStringEncoding]]];
|
||||
[linphoneDelegate selectDialerTab];
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
// Override to support conditional editing of the table view.
|
||||
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
// Return NO if you do not want the specified item to be editable.
|
||||
return YES;
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
|
||||
// Override to support editing the table view.
|
||||
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
|
||||
if (editingStyle == UITableViewCellEditingStyleDelete) {
|
||||
LinphoneFriend* friend = ms_list_nth_data(linphone_core_get_friend_list(myLinphoneCore), indexPath.row);
|
||||
linphone_core_remove_friend(myLinphoneCore, friend);
|
||||
// Delete the row from the data source
|
||||
[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:YES];
|
||||
if ([ self tableView:self.tableView numberOfRowsInSection:0] <= 0) {
|
||||
[self.tableView setEditing:false animated:true];
|
||||
[self.edit setTitle:@"Edit" forState: UIControlStateNormal];
|
||||
}
|
||||
}
|
||||
else if (editingStyle == UITableViewCellEditingStyleInsert) {
|
||||
// Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
// Override to support rearranging the table view.
|
||||
- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath {
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
// Override to support conditional rearranging of the table view.
|
||||
- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
// Return NO if you do not want the item to be re-orderable.
|
||||
return YES;
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker
|
||||
shouldContinueAfterSelectingPerson:(ABRecordRef)person {
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker
|
||||
shouldContinueAfterSelectingPerson:(ABRecordRef)person
|
||||
property:(ABPropertyID)property
|
||||
identifier:(ABMultiValueIdentifier)identifier {
|
||||
|
||||
CFTypeRef multiValue = ABRecordCopyValue(person, property);
|
||||
CFIndex valueIdx = ABMultiValueGetIndexForIdentifier(multiValue,identifier);
|
||||
NSString *phone = (NSString *)ABMultiValueCopyValueAtIndex(multiValue, valueIdx);
|
||||
NSString *phoneUri = [NSString stringWithFormat:@"sip:%s@dummy.net",[phone cStringUsingEncoding:[NSString defaultCStringEncoding]]];
|
||||
NSString* compositeName = ABRecordCopyCompositeName(person);
|
||||
|
||||
LinphoneFriend * newFriend = linphone_friend_new_with_addr([phoneUri cStringUsingEncoding:[NSString defaultCStringEncoding]]);
|
||||
|
||||
linphone_friend_set_name(newFriend,[compositeName cStringUsingEncoding:[NSString defaultCStringEncoding]]);
|
||||
linphone_friend_send_subscribe(newFriend, false);
|
||||
//linphone_friend_set_sip_addr(newFriend, const char *uri);
|
||||
linphone_core_add_friend(myLinphoneCore, newFriend);
|
||||
[self dismissModalViewControllerAnimated:true];
|
||||
return false;
|
||||
}
|
||||
|
||||
- (void)peoplePickerNavigationControllerDidCancel:(ABPeoplePickerNavigationController *)peoplePicker {
|
||||
[self dismissModalViewControllerAnimated:true];
|
||||
}
|
||||
|
||||
- (void)dealloc {
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
|
||||
@end
|
||||
|
||||
|
|
@ -1,382 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.03">
|
||||
<data>
|
||||
<int key="IBDocument.SystemTarget">784</int>
|
||||
<string key="IBDocument.SystemVersion">9L31a</string>
|
||||
<string key="IBDocument.InterfaceBuilderVersion">680</string>
|
||||
<string key="IBDocument.AppKitVersion">949.54</string>
|
||||
<string key="IBDocument.HIToolboxVersion">353.00</string>
|
||||
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<integer value="4"/>
|
||||
<integer value="9"/>
|
||||
</object>
|
||||
<object class="NSArray" key="IBDocument.PluginDependencies">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="IBDocument.Metadata">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBProxyObject" id="372490531">
|
||||
<string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
|
||||
</object>
|
||||
<object class="IBProxyObject" id="975951072">
|
||||
<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
|
||||
</object>
|
||||
<object class="IBUITableView" id="873029372">
|
||||
<reference key="NSNextResponder"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrameSize">{320, 460}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<object class="NSColor" key="IBUIBackgroundColor" id="855852336">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MQA</bytes>
|
||||
</object>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
|
||||
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
|
||||
<bool key="IBUIBouncesZoom">NO</bool>
|
||||
<int key="IBUISeparatorStyle">1</int>
|
||||
<int key="IBUISectionIndexMinimumDisplayRowCount">0</int>
|
||||
<bool key="IBUIShowsSelectionImmediatelyOnTouchBegin">YES</bool>
|
||||
<float key="IBUIRowHeight">4.400000e+01</float>
|
||||
<float key="IBUISectionHeaderHeight">2.200000e+01</float>
|
||||
<float key="IBUISectionFooterHeight">2.200000e+01</float>
|
||||
</object>
|
||||
<object class="IBUIView" id="789622983">
|
||||
<reference key="NSNextResponder"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<object class="NSMutableArray" key="NSSubviews">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBUILabel" id="265048111">
|
||||
<reference key="NSNextResponder" ref="789622983"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrameSize">{320, 44}</string>
|
||||
<reference key="NSSuperview" ref="789622983"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<string key="IBUIText">Favorites</string>
|
||||
<object class="NSColor" key="IBUITextColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MCAwIDAAA</bytes>
|
||||
</object>
|
||||
<nil key="IBUIHighlightedColor"/>
|
||||
<object class="NSColor" key="IBUIShadowColor">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MCAwLjAwOTk5OTk5OTgAA</bytes>
|
||||
</object>
|
||||
<int key="IBUIBaselineAdjustment">1</int>
|
||||
<float key="IBUIMinimumFontSize">1.000000e+01</float>
|
||||
<int key="IBUITextAlignment">1</int>
|
||||
</object>
|
||||
<object class="IBUIButton" id="904182832">
|
||||
<reference key="NSNextResponder" ref="789622983"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{264, 3}, {44, 37}}</string>
|
||||
<reference key="NSSuperview" ref="789622983"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
|
||||
<int key="IBUIContentHorizontalAlignment">0</int>
|
||||
<int key="IBUIContentVerticalAlignment">0</int>
|
||||
<object class="NSFont" key="IBUIFont" id="303503024">
|
||||
<string key="NSName">Helvetica-Bold</string>
|
||||
<double key="NSSize">1.500000e+01</double>
|
||||
<int key="NSfFlags">16</int>
|
||||
</object>
|
||||
<int key="IBUIButtonType">1</int>
|
||||
<string key="IBUINormalTitle">+</string>
|
||||
<reference key="IBUIHighlightedTitleColor" ref="855852336"/>
|
||||
<object class="NSColor" key="IBUINormalTitleColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA</bytes>
|
||||
</object>
|
||||
<object class="NSColor" key="IBUINormalTitleShadowColor" id="186894792">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MC41AA</bytes>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBUIButton" id="162202316">
|
||||
<reference key="NSNextResponder" ref="789622983"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{6, 3}, {61, 37}}</string>
|
||||
<reference key="NSSuperview" ref="789622983"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
|
||||
<int key="IBUIContentHorizontalAlignment">0</int>
|
||||
<int key="IBUIContentVerticalAlignment">0</int>
|
||||
<reference key="IBUIFont" ref="303503024"/>
|
||||
<int key="IBUIButtonType">1</int>
|
||||
<string key="IBUINormalTitle">Edit</string>
|
||||
<reference key="IBUIHighlightedTitleColor" ref="855852336"/>
|
||||
<object class="NSColor" key="IBUINormalTitleColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA</bytes>
|
||||
</object>
|
||||
<reference key="IBUINormalTitleShadowColor" ref="186894792"/>
|
||||
</object>
|
||||
</object>
|
||||
<string key="NSFrameSize">{320, 44}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<object class="NSColor" key="IBUIBackgroundColor">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MC42OTcwODAzMSAwLjk5MDAwMDAxAA</bytes>
|
||||
</object>
|
||||
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBObjectContainer" key="IBDocument.Objects">
|
||||
<object class="NSMutableArray" key="connectionRecords">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">view</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="873029372"/>
|
||||
</object>
|
||||
<int key="connectionID">5</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">dataSource</string>
|
||||
<reference key="source" ref="873029372"/>
|
||||
<reference key="destination" ref="372490531"/>
|
||||
</object>
|
||||
<int key="connectionID">6</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">delegate</string>
|
||||
<reference key="source" ref="873029372"/>
|
||||
<reference key="destination" ref="372490531"/>
|
||||
</object>
|
||||
<int key="connectionID">7</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">header</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="789622983"/>
|
||||
</object>
|
||||
<int key="connectionID">12</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">add</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="904182832"/>
|
||||
</object>
|
||||
<int key="connectionID">13</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchEventConnection" key="connection">
|
||||
<string key="label">doAddFavorite:</string>
|
||||
<reference key="source" ref="904182832"/>
|
||||
<reference key="destination" ref="372490531"/>
|
||||
<int key="IBEventType">7</int>
|
||||
</object>
|
||||
<int key="connectionID">14</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">edit</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="162202316"/>
|
||||
</object>
|
||||
<int key="connectionID">15</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchEventConnection" key="connection">
|
||||
<string key="label">doEditFavorite:</string>
|
||||
<reference key="source" ref="162202316"/>
|
||||
<reference key="destination" ref="372490531"/>
|
||||
<int key="IBEventType">7</int>
|
||||
</object>
|
||||
<int key="connectionID">16</int>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBMutableOrderedSet" key="objectRecords">
|
||||
<object class="NSArray" key="orderedObjects">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">0</int>
|
||||
<object class="NSArray" key="object" id="766671930">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
<reference key="children" ref="1000"/>
|
||||
<nil key="parent"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-1</int>
|
||||
<reference key="object" ref="372490531"/>
|
||||
<reference key="parent" ref="766671930"/>
|
||||
<string type="base64-UTF8" key="objectName">RmlsZSdzIE93bmVyA</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-2</int>
|
||||
<reference key="object" ref="975951072"/>
|
||||
<reference key="parent" ref="766671930"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">4</int>
|
||||
<reference key="object" ref="873029372"/>
|
||||
<reference key="parent" ref="766671930"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">8</int>
|
||||
<reference key="object" ref="789622983"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="265048111"/>
|
||||
<reference ref="904182832"/>
|
||||
<reference ref="162202316"/>
|
||||
</object>
|
||||
<reference key="parent" ref="766671930"/>
|
||||
<string key="objectName">header</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">9</int>
|
||||
<reference key="object" ref="265048111"/>
|
||||
<reference key="parent" ref="789622983"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">10</int>
|
||||
<reference key="object" ref="904182832"/>
|
||||
<reference key="parent" ref="789622983"/>
|
||||
<string key="objectName">add</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">11</int>
|
||||
<reference key="object" ref="162202316"/>
|
||||
<reference key="parent" ref="789622983"/>
|
||||
<string key="objectName">edit</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="flattenedProperties">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSMutableArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>-1.CustomClassName</string>
|
||||
<string>-2.CustomClassName</string>
|
||||
<string>10.IBPluginDependency</string>
|
||||
<string>11.IBPluginDependency</string>
|
||||
<string>4.IBEditorWindowLastContentRect</string>
|
||||
<string>4.IBPluginDependency</string>
|
||||
<string>8.IBEditorWindowLastContentRect</string>
|
||||
<string>8.IBPluginDependency</string>
|
||||
<string>9.IBPluginDependency</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>FavoriteTableViewController</string>
|
||||
<string>UIResponder</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>{{441, 269}, {320, 480}}</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>{{312, 742}, {320, 44}}</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="unlocalizedProperties">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
</object>
|
||||
<nil key="activeLocalization"/>
|
||||
<object class="NSMutableDictionary" key="localizations">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
</object>
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">16</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">FavoriteTableViewController</string>
|
||||
<string key="superclassName">GenericTabViewController</string>
|
||||
<object class="NSMutableDictionary" key="actions">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSMutableArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>doAddFavorite:</string>
|
||||
<string>doEditFavorite:</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="outlets">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSMutableArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>add</string>
|
||||
<string>edit</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>UIButton</string>
|
||||
<string>UIButton</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">Classes/FavoriteTableViewController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">GenericTabViewController</string>
|
||||
<string key="superclassName">UITableViewController</string>
|
||||
<object class="NSMutableDictionary" key="outlets">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSMutableArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>header</string>
|
||||
<string>linphoneDelegate</string>
|
||||
<string>phoneControllerDelegate</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>UIView</string>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">Classes/GenericTabViewController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<int key="IBDocument.localizationMode">0</int>
|
||||
<string key="IBDocument.LastKnownRelativeProjectPath">../linphone.xcodeproj</string>
|
||||
<int key="IBDocument.defaultPropertyAccessControl">3</int>
|
||||
<string key="IBCocoaTouchPluginVersion">3.1</string>
|
||||
</data>
|
||||
</archive>
|
||||
|
|
@ -1,102 +0,0 @@
|
|||
/* IncallViewController.h
|
||||
*
|
||||
* Copyright (C) 2009 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 Library 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 <UIKit/UIKit.h>
|
||||
#import "linphonecore.h"
|
||||
#import "PhoneViewController.h"
|
||||
#import <AddressBookUI/ABPeoplePickerNavigationController.h>
|
||||
|
||||
|
||||
@interface IncallViewController : UIViewController <ABPeoplePickerNavigationControllerDelegate> {
|
||||
LinphoneCore* myLinphoneCore;
|
||||
id<PhoneViewControllerDelegate> phoneviewDelegate;
|
||||
NSTimer *durationRefreasher;
|
||||
|
||||
|
||||
UIView* controlSubView;
|
||||
UIView* padSubView;
|
||||
|
||||
UILabel* peerName;
|
||||
UILabel* peerNumber;
|
||||
UILabel* callDuration;
|
||||
UILabel* status;
|
||||
UIButton* end;
|
||||
UIButton* dialer;
|
||||
UIButton* mute;
|
||||
UIButton* speaker;
|
||||
UIButton* contacts;
|
||||
|
||||
//key pad
|
||||
UIButton* one;
|
||||
UIButton* two;
|
||||
UIButton* three;
|
||||
UIButton* four;
|
||||
UIButton* five;
|
||||
UIButton* six;
|
||||
UIButton* seven;
|
||||
UIButton* eight;
|
||||
UIButton* nine;
|
||||
UIButton* star;
|
||||
UIButton* zero;
|
||||
UIButton* hash;
|
||||
|
||||
UIButton* close;
|
||||
|
||||
bool isMuted;
|
||||
bool isSpeaker;
|
||||
|
||||
ABPeoplePickerNavigationController* myPeoplePickerController;
|
||||
}
|
||||
|
||||
-(void) setLinphoneCore:(LinphoneCore*) lc;
|
||||
-(void) startCall;
|
||||
|
||||
-(void)displayStatus:(NSString*) message;
|
||||
|
||||
- (IBAction)doAction:(id)sender;
|
||||
|
||||
@property (nonatomic, retain) IBOutlet UIView* controlSubView;
|
||||
@property (nonatomic, retain) IBOutlet UIView* padSubView;
|
||||
|
||||
@property (nonatomic, retain) IBOutlet UILabel* peerName;
|
||||
@property (nonatomic, retain) IBOutlet UILabel* peerNumber;
|
||||
@property (nonatomic, retain) IBOutlet UILabel* callDuration;
|
||||
@property (nonatomic, retain) IBOutlet UILabel* status;
|
||||
@property (nonatomic, retain) IBOutlet UIButton* end;
|
||||
@property (nonatomic, retain) IBOutlet UIButton* dialer;
|
||||
@property (nonatomic, retain) IBOutlet UIButton* mute;
|
||||
@property (nonatomic, retain) IBOutlet UIButton* speaker;
|
||||
@property (nonatomic, retain) IBOutlet UIButton* contacts;
|
||||
|
||||
|
||||
@property (nonatomic, retain) IBOutlet UIButton* one;
|
||||
@property (nonatomic, retain) IBOutlet UIButton* two;
|
||||
@property (nonatomic, retain) IBOutlet UIButton* three;
|
||||
@property (nonatomic, retain) IBOutlet UIButton* four;
|
||||
@property (nonatomic, retain) IBOutlet UIButton* five;
|
||||
@property (nonatomic, retain) IBOutlet UIButton* six;
|
||||
@property (nonatomic, retain) IBOutlet UIButton* seven;
|
||||
@property (nonatomic, retain) IBOutlet UIButton* eight;
|
||||
@property (nonatomic, retain) IBOutlet UIButton* nine;
|
||||
@property (nonatomic, retain) IBOutlet UIButton* star;
|
||||
@property (nonatomic, retain) IBOutlet UIButton* zero;
|
||||
@property (nonatomic, retain) IBOutlet UIButton* hash;
|
||||
@property (nonatomic, retain) IBOutlet UIButton* close;
|
||||
|
||||
@property (nonatomic, retain) id<PhoneViewControllerDelegate> phoneviewDelegate;
|
||||
@end
|
||||
|
|
@ -1,243 +0,0 @@
|
|||
/* IncallViewController.h
|
||||
*
|
||||
* Copyright (C) 2009 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 Library 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 "IncallViewController.h"
|
||||
#import <AudioToolbox/AudioToolbox.h>
|
||||
#import "linphonecore.h"
|
||||
|
||||
|
||||
|
||||
@implementation IncallViewController
|
||||
@synthesize phoneviewDelegate;
|
||||
|
||||
@synthesize controlSubView;
|
||||
@synthesize padSubView;
|
||||
|
||||
@synthesize peerName;
|
||||
@synthesize peerNumber;
|
||||
@synthesize callDuration;
|
||||
@synthesize status;
|
||||
@synthesize end;
|
||||
@synthesize close;
|
||||
@synthesize mute;
|
||||
@synthesize dialer;
|
||||
@synthesize speaker;
|
||||
@synthesize contacts;
|
||||
|
||||
@synthesize one;
|
||||
@synthesize two;
|
||||
@synthesize three;
|
||||
@synthesize four;
|
||||
@synthesize five;
|
||||
@synthesize six;
|
||||
@synthesize seven;
|
||||
@synthesize eight;
|
||||
@synthesize nine;
|
||||
@synthesize star;
|
||||
@synthesize zero;
|
||||
@synthesize hash;
|
||||
|
||||
|
||||
/*
|
||||
// The designated initializer. Override if you create the controller programmatically and want to perform customization that is not appropriate for viewDidLoad.
|
||||
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
|
||||
if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) {
|
||||
// Custom initialization
|
||||
|
||||
}
|
||||
return self;
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
isMuted = false;
|
||||
isSpeaker = false;
|
||||
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
// Override to allow orientations other than the default portrait orientation.
|
||||
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
|
||||
// Return YES for supported orientations
|
||||
return (interfaceOrientation == UIInterfaceOrientationPortrait);
|
||||
}
|
||||
*/
|
||||
|
||||
- (void)didReceiveMemoryWarning {
|
||||
// Releases the view if it doesn't have a superview.
|
||||
[super didReceiveMemoryWarning];
|
||||
|
||||
// Release any cached data, images, etc that aren't in use.
|
||||
}
|
||||
|
||||
- (void)viewDidUnload {
|
||||
// Release any retained subviews of the main view.
|
||||
// e.g. self.myOutlet = nil;
|
||||
if (durationRefreasher != nil) {
|
||||
[ durationRefreasher invalidate];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
-(void) setLinphoneCore:(LinphoneCore*) lc {
|
||||
myLinphoneCore = lc;
|
||||
}
|
||||
|
||||
-(void)displayStatus:(NSString*) message {
|
||||
[status setText:message];
|
||||
}
|
||||
|
||||
-(void) startCall {
|
||||
const LinphoneAddress* address = linphone_core_get_remote_uri(myLinphoneCore);
|
||||
const char* displayName = linphone_address_get_display_name(address)?linphone_address_get_display_name(address):"";
|
||||
[peerName setText:[NSString stringWithCString:displayName length:strlen(displayName)]];
|
||||
|
||||
const char* username = linphone_address_get_username(address)!=0?linphone_address_get_username(address):"";
|
||||
[peerNumber setText:[NSString stringWithCString:username length:strlen(username)]];
|
||||
// start scheduler
|
||||
durationRefreasher = [NSTimer scheduledTimerWithTimeInterval:1
|
||||
target:self
|
||||
selector:@selector(updateCallDuration)
|
||||
userInfo:nil
|
||||
repeats:YES];
|
||||
|
||||
}
|
||||
|
||||
-(void)updateCallDuration {
|
||||
int lDuration = linphone_core_get_current_call_duration(myLinphoneCore);
|
||||
if (lDuration < 60) {
|
||||
[callDuration setText:[NSString stringWithFormat: @"%i s", lDuration]];
|
||||
} else {
|
||||
[callDuration setText:[NSString stringWithFormat: @"%i:%i", lDuration/60,lDuration - 60 *(lDuration/60)]];
|
||||
}
|
||||
}
|
||||
|
||||
- (IBAction)doAction:(id)sender {
|
||||
|
||||
if (linphone_core_in_call(myLinphoneCore)) {
|
||||
//incall behavior
|
||||
if (sender == one) {
|
||||
linphone_core_send_dtmf(myLinphoneCore,'1');
|
||||
} else if (sender == two) {
|
||||
linphone_core_send_dtmf(myLinphoneCore,'2');
|
||||
} else if (sender == three) {
|
||||
linphone_core_send_dtmf(myLinphoneCore,'3');
|
||||
} else if (sender == four) {
|
||||
linphone_core_send_dtmf(myLinphoneCore,'4');
|
||||
} else if (sender == five) {
|
||||
linphone_core_send_dtmf(myLinphoneCore,'5');
|
||||
} else if (sender == six) {
|
||||
linphone_core_send_dtmf(myLinphoneCore,'6');
|
||||
} else if (sender == seven) {
|
||||
linphone_core_send_dtmf(myLinphoneCore,'7');
|
||||
} else if (sender == eight) {
|
||||
linphone_core_send_dtmf(myLinphoneCore,'8');
|
||||
} else if (sender == nine) {
|
||||
linphone_core_send_dtmf(myLinphoneCore,'9');
|
||||
} else if (sender == star) {
|
||||
linphone_core_send_dtmf(myLinphoneCore,'*');
|
||||
} else if (sender == zero) {
|
||||
linphone_core_send_dtmf(myLinphoneCore,'0');
|
||||
} else if (sender == hash) {
|
||||
linphone_core_send_dtmf(myLinphoneCore,'#');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (sender == end) {
|
||||
linphone_core_terminate_call(myLinphoneCore,NULL);
|
||||
} else if (sender == dialer) {
|
||||
[controlSubView setHidden:true];
|
||||
[padSubView setHidden:false];
|
||||
|
||||
} else if (sender == contacts) {
|
||||
// start people picker
|
||||
myPeoplePickerController = [[[ABPeoplePickerNavigationController alloc] init] autorelease];
|
||||
[myPeoplePickerController setPeoplePickerDelegate:self];
|
||||
|
||||
[self presentModalViewController: myPeoplePickerController animated:true];
|
||||
} else if (sender == close) {
|
||||
[controlSubView setHidden:false];
|
||||
[padSubView setHidden:true];
|
||||
} else if (sender == mute) {
|
||||
isMuted = isMuted?false:true;
|
||||
linphone_core_mute_mic(myLinphoneCore,isMuted);
|
||||
// swithc buttun state
|
||||
UIImage * tmpImage = [mute backgroundImageForState: UIControlStateNormal];
|
||||
[mute setBackgroundImage:[mute backgroundImageForState: UIControlStateHighlighted] forState:UIControlStateNormal];
|
||||
[mute setBackgroundImage:tmpImage forState:UIControlStateHighlighted];
|
||||
|
||||
} else if (sender == speaker) {
|
||||
isSpeaker = isSpeaker?false:true;
|
||||
if (isSpeaker) {
|
||||
//redirect audio to speaker
|
||||
UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker;
|
||||
AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute
|
||||
, sizeof (audioRouteOverride)
|
||||
, &audioRouteOverride);
|
||||
} else {
|
||||
//Cancel audio route redirection
|
||||
UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_None;
|
||||
AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute
|
||||
, sizeof (audioRouteOverride)
|
||||
, &audioRouteOverride);
|
||||
}
|
||||
// switch button state
|
||||
UIImage * tmpImage = [speaker backgroundImageForState: UIControlStateNormal];
|
||||
[speaker setBackgroundImage:[speaker backgroundImageForState: UIControlStateHighlighted] forState:UIControlStateNormal];
|
||||
[speaker setBackgroundImage:tmpImage forState:UIControlStateHighlighted];
|
||||
|
||||
}else {
|
||||
NSLog(@"unknown event from incall view");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// handle people picker behavior
|
||||
|
||||
- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker
|
||||
shouldContinueAfterSelectingPerson:(ABRecordRef)person {
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker
|
||||
shouldContinueAfterSelectingPerson:(ABRecordRef)person
|
||||
property:(ABPropertyID)property
|
||||
identifier:(ABMultiValueIdentifier)identifier {
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
- (void)peoplePickerNavigationControllerDidCancel:(ABPeoplePickerNavigationController *)peoplePicker {
|
||||
[self dismissModalViewControllerAnimated:true];
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
- (void)dealloc {
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
|
||||
@end
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -23,6 +23,7 @@
|
|||
@protocol PhoneViewControllerDelegate
|
||||
|
||||
-(void)setPhoneNumber:(NSString*)number;
|
||||
-(void)setPhoneNumber:(NSString*)number withDisplayName:(NSString*) name;
|
||||
-(void)dismissIncallView;
|
||||
-(void)displayStatus:(NSString*) message;
|
||||
@end
|
||||
|
|
@ -33,6 +34,15 @@
|
|||
@private
|
||||
//UI definition
|
||||
UITextField* address;
|
||||
NSString* displayName;
|
||||
|
||||
UIView* incallView;
|
||||
UILabel* callDuration;
|
||||
UIButton* mute;
|
||||
UIButton* speaker;
|
||||
UILabel* peerLabel;
|
||||
NSTimer *durationRefreasher;
|
||||
|
||||
UIButton* call;
|
||||
UIButton* hangup;
|
||||
|
||||
|
|
@ -53,6 +63,10 @@
|
|||
UIButton* hash;
|
||||
|
||||
UIButton* back;
|
||||
|
||||
bool isMuted;
|
||||
bool isSpeaker;
|
||||
|
||||
/*
|
||||
* lib linphone main context
|
||||
*/
|
||||
|
|
@ -65,6 +79,13 @@
|
|||
@property (nonatomic, retain) IBOutlet UIButton* hangup;
|
||||
@property (nonatomic, retain) IBOutlet UILabel* status;
|
||||
|
||||
@property (nonatomic, retain) IBOutlet UIView* incallView;
|
||||
@property (nonatomic, retain) IBOutlet UILabel* callDuration;
|
||||
@property (nonatomic, retain) IBOutlet UIButton* mute;
|
||||
@property (nonatomic, retain) IBOutlet UIButton* speaker;
|
||||
@property (nonatomic, retain) IBOutlet UILabel* peerLabel;
|
||||
|
||||
|
||||
@property (nonatomic, retain) IBOutlet UIButton* one;
|
||||
@property (nonatomic, retain) IBOutlet UIButton* two;
|
||||
@property (nonatomic, retain) IBOutlet UIButton* three;
|
||||
|
|
@ -102,7 +123,11 @@
|
|||
|
||||
- (IBAction)doKeyPadUp:(id)sender;
|
||||
|
||||
-(void) muteAction:(bool) value;
|
||||
-(void) speakerAction:(bool) value;
|
||||
|
||||
-(void) dismissAlertDialog:(UIAlertView*)alertView;
|
||||
|
||||
|
||||
|
||||
@end
|
||||
|
|
|
|||
|
|
@ -31,6 +31,12 @@
|
|||
@synthesize hangup;
|
||||
@synthesize status;
|
||||
|
||||
@synthesize incallView;
|
||||
@synthesize callDuration;
|
||||
@synthesize mute;
|
||||
@synthesize speaker;
|
||||
@synthesize peerLabel;
|
||||
|
||||
@synthesize one;
|
||||
@synthesize two;
|
||||
@synthesize three;
|
||||
|
|
@ -48,6 +54,14 @@
|
|||
|
||||
-(void)setPhoneNumber:(NSString*)number {
|
||||
[address setText:number];
|
||||
if (displayName) {
|
||||
[displayName release];
|
||||
displayName=nil;
|
||||
}
|
||||
}
|
||||
-(void)setPhoneNumber:(NSString*)number withDisplayName:(NSString*) name {
|
||||
[self setPhoneNumber:number];
|
||||
displayName = name;
|
||||
}
|
||||
|
||||
-(void)dismissIncallView {
|
||||
|
|
@ -59,22 +73,39 @@
|
|||
|
||||
if (sender == call) {
|
||||
if (!linphone_core_in_call(mCore)) {
|
||||
const char* lCallee = [[address text] cStringUsingEncoding:[NSString defaultCStringEncoding]];
|
||||
linphone_core_invite(mCore,lCallee) ;
|
||||
if ([address.text length] == 0) return; //just return
|
||||
if ([address.text hasPrefix:@"sip:"]) {
|
||||
linphone_core_invite(mCore, [address.text cStringUsingEncoding:[NSString defaultCStringEncoding]]);
|
||||
} else {
|
||||
char normalizedUserName[256];
|
||||
LinphoneProxyConfig* proxyCfg;
|
||||
//get default proxy
|
||||
linphone_core_get_default_proxy(mCore,&proxyCfg);
|
||||
NSString* toUserName = [NSString stringWithString:[address text]];
|
||||
linphone_proxy_config_normalize_number(proxyCfg,[toUserName cStringUsingEncoding:[NSString defaultCStringEncoding]],normalizedUserName,sizeof(normalizedUserName));
|
||||
LinphoneAddress* tmpAddress = linphone_address_new(linphone_core_get_identity(mCore));
|
||||
linphone_address_set_username(tmpAddress,normalizedUserName);
|
||||
linphone_address_set_display_name(tmpAddress,displayName?[displayName cStringUsingEncoding:[NSString defaultCStringEncoding]]:nil);
|
||||
linphone_core_invite(mCore,linphone_address_as_string(tmpAddress)) ;
|
||||
linphone_address_destroy(tmpAddress);
|
||||
}
|
||||
if (linphone_core_inc_invite_pending(mCore)) {
|
||||
} else if (linphone_core_inc_invite_pending(mCore)) {
|
||||
linphone_core_accept_call(mCore,NULL);
|
||||
}
|
||||
//Cancel audio route redirection
|
||||
UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_None;
|
||||
|
||||
AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute
|
||||
, sizeof (audioRouteOverride)
|
||||
, &audioRouteOverride);
|
||||
|
||||
}
|
||||
//Cancel audio route redirection
|
||||
|
||||
} else if (sender == hangup) {
|
||||
linphone_core_terminate_call(mCore,NULL);
|
||||
} else if (sender == mute) {
|
||||
[self muteAction:!isMuted];
|
||||
|
||||
} else if (sender == speaker) {
|
||||
[self speakerAction:!isSpeaker];
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -200,14 +231,6 @@
|
|||
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
if (myIncallViewController == nil) {
|
||||
myIncallViewController = [[IncallViewController alloc] initWithNibName:@"IncallViewController" bundle:[NSBundle mainBundle]];
|
||||
[myIncallViewController setPhoneviewDelegate:self];
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -245,6 +268,17 @@
|
|||
[alertView dismissWithClickedButtonIndex:0 animated:TRUE];
|
||||
}
|
||||
|
||||
|
||||
-(void)updateCallDuration {
|
||||
int lDuration = linphone_core_get_current_call_duration(mCore);
|
||||
if (lDuration < 60) {
|
||||
[callDuration setText:[NSString stringWithFormat: @"%i s", lDuration]];
|
||||
} else {
|
||||
[callDuration setText:[NSString stringWithFormat: @"%i:%i", lDuration/60,lDuration - 60 *(lDuration/60)]];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
- (void)dealloc {
|
||||
[address dealloc];
|
||||
[call dealloc];
|
||||
|
|
@ -295,10 +329,43 @@
|
|||
break;
|
||||
case GSTATE_CALL_IN_CONNECTED:
|
||||
case GSTATE_CALL_OUT_CONNECTED: {
|
||||
[self muteAction:false];
|
||||
[self speakerAction:false];
|
||||
|
||||
const LinphoneAddress* callAddress = linphone_core_get_remote_uri(mCore);
|
||||
const char* callDisplayName = linphone_address_get_display_name(callAddress)?linphone_address_get_display_name(callAddress):"";
|
||||
if (callDisplayName && callDisplayName[0] != '\000') {
|
||||
|
||||
[peerLabel setText:[NSString stringWithCString:callDisplayName length:strlen(callDisplayName)]];
|
||||
} else {
|
||||
const char* username = linphone_address_get_username(callAddress)!=0?linphone_address_get_username(callAddress):"";
|
||||
[peerLabel setText:[NSString stringWithCString:username length:strlen(username)]];
|
||||
}
|
||||
// start scheduler
|
||||
durationRefreasher = [NSTimer scheduledTimerWithTimeInterval:1
|
||||
target:self
|
||||
selector:@selector(updateCallDuration)
|
||||
userInfo:nil
|
||||
repeats:YES];
|
||||
[address setHidden:true];
|
||||
[incallView setHidden:false];
|
||||
[call setEnabled:false];
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case GSTATE_CALL_END: {
|
||||
[address setHidden:false];
|
||||
[incallView setHidden:true];
|
||||
[call setEnabled:true];
|
||||
|
||||
if (durationRefreasher != nil) {
|
||||
[ durationRefreasher invalidate];
|
||||
durationRefreasher=nil;
|
||||
}
|
||||
[peerLabel setText:@""];
|
||||
[callDuration setText:@""];
|
||||
|
||||
break;
|
||||
}
|
||||
default:
|
||||
|
|
@ -307,5 +374,35 @@
|
|||
|
||||
}
|
||||
|
||||
-(void) muteAction:(bool) value {
|
||||
linphone_core_mute_mic(mCore,value);
|
||||
if (value) {
|
||||
[mute setImage:[UIImage imageNamed:@"mic_muted.png"] forState:UIControlStateNormal];
|
||||
} else {
|
||||
[mute setImage:[UIImage imageNamed:@"mic_active.png"] forState:UIControlStateNormal];
|
||||
}
|
||||
isMuted=value;
|
||||
// swithc buttun state
|
||||
};
|
||||
|
||||
-(void) speakerAction:(bool) value {
|
||||
if (value) {
|
||||
//redirect audio to speaker
|
||||
UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker;
|
||||
AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute
|
||||
, sizeof (audioRouteOverride)
|
||||
, &audioRouteOverride);
|
||||
[speaker setImage:[UIImage imageNamed:@"Speaker-32-on.png"] forState:UIControlStateNormal];
|
||||
} else {
|
||||
//Cancel audio route redirection
|
||||
UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_None;
|
||||
AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute
|
||||
, sizeof (audioRouteOverride)
|
||||
, &audioRouteOverride);
|
||||
[speaker setImage:[UIImage imageNamed:@"Speaker-32-off.png"] forState:UIControlStateNormal];
|
||||
}
|
||||
isSpeaker=value;
|
||||
|
||||
};
|
||||
|
||||
@end
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
<string key="IBDocument.HIToolboxVersion">353.00</string>
|
||||
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<integer value="80"/>
|
||||
<integer value="1"/>
|
||||
</object>
|
||||
<object class="NSArray" key="IBDocument.PluginDependencies">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
|
|
@ -37,26 +37,49 @@
|
|||
<int key="NSvFlags">292</int>
|
||||
<object class="NSMutableArray" key="NSSubviews">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBUIView" id="116730630">
|
||||
<object class="IBUIView" id="232448859">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">-2147483356</int>
|
||||
<object class="NSMutableArray" key="NSSubviews">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBUILabel" id="397196327">
|
||||
<reference key="NSNextResponder" ref="232448859"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{18, -6}, {282, 49}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<object class="NSColor" key="IBUIBackgroundColor">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MSAwAA</bytes>
|
||||
<object class="NSColorSpace" key="NSCustomColorSpace" id="146567718">
|
||||
<int key="NSID">2</int>
|
||||
</object>
|
||||
</object>
|
||||
<string key="NSFrameSize">{320, 40}</string>
|
||||
<reference key="NSSuperview" ref="232448859"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<string key="IBUIText">who</string>
|
||||
<object class="NSColor" key="IBUITextColor" id="246311853">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MCAwIDAAA</bytes>
|
||||
</object>
|
||||
<object class="IBUIButton" id="661303162">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<nil key="IBUIHighlightedColor"/>
|
||||
<int key="IBUIBaselineAdjustment">1</int>
|
||||
<float key="IBUIMinimumFontSize">1.000000e+01</float>
|
||||
<int key="IBUITextAlignment">1</int>
|
||||
</object>
|
||||
<object class="IBUILabel" id="323870097">
|
||||
<reference key="NSNextResponder" ref="232448859"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{0, 331}, {160, 60}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<string key="NSFrame">{{98, 46}, {124, 21}}</string>
|
||||
<reference key="NSSuperview" ref="232448859"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<string key="IBUIText">how long</string>
|
||||
<reference key="IBUITextColor" ref="246311853"/>
|
||||
<nil key="IBUIHighlightedColor"/>
|
||||
<int key="IBUIBaselineAdjustment">1</int>
|
||||
<float key="IBUIMinimumFontSize">1.000000e+01</float>
|
||||
<int key="IBUITextAlignment">1</int>
|
||||
</object>
|
||||
<object class="IBUIButton" id="963349321">
|
||||
<reference key="NSNextResponder" ref="232448859"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{241, 38}, {72, 37}}</string>
|
||||
<reference key="NSSuperview" ref="232448859"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
|
||||
<int key="IBUIContentHorizontalAlignment">0</int>
|
||||
|
|
@ -66,7 +89,6 @@
|
|||
<double key="NSSize">1.500000e+01</double>
|
||||
<int key="NSfFlags">16</int>
|
||||
</object>
|
||||
<int key="IBUIButtonType">1</int>
|
||||
<object class="NSColor" key="IBUIHighlightedTitleColor" id="923326808">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MQA</bytes>
|
||||
|
|
@ -79,6 +101,58 @@
|
|||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MC41AA</bytes>
|
||||
</object>
|
||||
<object class="NSCustomResource" key="IBUINormalImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">Speaker-32-off.png</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBUIButton" id="743511023">
|
||||
<reference key="NSNextResponder" ref="232448859"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{0, 38}, {72, 37}}</string>
|
||||
<reference key="NSSuperview" ref="232448859"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
|
||||
<int key="IBUIContentHorizontalAlignment">0</int>
|
||||
<int key="IBUIContentVerticalAlignment">0</int>
|
||||
<reference key="IBUIFont" ref="551268947"/>
|
||||
<reference key="IBUIHighlightedTitleColor" ref="923326808"/>
|
||||
<object class="NSColor" key="IBUINormalTitleColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA</bytes>
|
||||
</object>
|
||||
<reference key="IBUINormalTitleShadowColor" ref="177190558"/>
|
||||
<object class="NSCustomResource" key="IBUINormalImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">mic_active.png</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<string key="NSFrameSize">{320, 90}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<object class="NSColor" key="IBUIBackgroundColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MC45MDE5NjA3OSAwLjkwMTk2MDc5IDAuOTAxOTYwNzkAA</bytes>
|
||||
</object>
|
||||
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
|
||||
</object>
|
||||
<object class="IBUIButton" id="661303162">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{0, 331}, {160, 60}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
|
||||
<int key="IBUIContentHorizontalAlignment">0</int>
|
||||
<int key="IBUIContentVerticalAlignment">0</int>
|
||||
<reference key="IBUIFont" ref="551268947"/>
|
||||
<int key="IBUIButtonType">1</int>
|
||||
<reference key="IBUIHighlightedTitleColor" ref="923326808"/>
|
||||
<object class="NSColor" key="IBUINormalTitleColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA</bytes>
|
||||
</object>
|
||||
<reference key="IBUINormalTitleShadowColor" ref="177190558"/>
|
||||
<object class="NSCustomResource" key="IBUINormalImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">green.png</string>
|
||||
|
|
@ -93,10 +167,7 @@
|
|||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<string key="IBUIText">status</string>
|
||||
<object class="NSColor" key="IBUITextColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MCAwIDAAA</bytes>
|
||||
</object>
|
||||
<reference key="IBUITextColor" ref="246311853"/>
|
||||
<nil key="IBUIHighlightedColor"/>
|
||||
<int key="IBUIBaselineAdjustment">1</int>
|
||||
<float key="IBUIMinimumFontSize">1.000000e+01</float>
|
||||
|
|
@ -104,7 +175,7 @@
|
|||
<object class="IBUIButton" id="1070392235">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{213, 89}, {107, 60}}</string>
|
||||
<string key="NSFrame">{{213, 90}, {107, 60}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
|
||||
|
|
@ -123,7 +194,7 @@
|
|||
<object class="IBUIButton" id="539158319">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{0, 149}, {107, 60}}</string>
|
||||
<string key="NSFrame">{{0, 150}, {107, 60}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
|
||||
|
|
@ -142,7 +213,7 @@
|
|||
<object class="IBUIButton" id="539781036">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{107, 149}, {106, 60}}</string>
|
||||
<string key="NSFrame">{{107, 150}, {106, 60}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
|
||||
|
|
@ -161,7 +232,7 @@
|
|||
<object class="IBUIButton" id="573280603">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{213, 149}, {107, 60}}</string>
|
||||
<string key="NSFrame">{{213, 150}, {107, 60}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
|
||||
|
|
@ -180,7 +251,7 @@
|
|||
<object class="IBUIButton" id="150499342">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{0, 209}, {107, 60}}</string>
|
||||
<string key="NSFrame">{{0, 210}, {107, 60}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
|
||||
|
|
@ -199,7 +270,7 @@
|
|||
<object class="IBUIButton" id="624378925">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{213, 209}, {107, 60}}</string>
|
||||
<string key="NSFrame">{{213, 210}, {107, 60}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
|
||||
|
|
@ -218,7 +289,7 @@
|
|||
<object class="IBUIButton" id="607229252">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{107, 89}, {106, 60}}</string>
|
||||
<string key="NSFrame">{{107, 90}, {106, 60}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
|
||||
|
|
@ -237,7 +308,7 @@
|
|||
<object class="IBUIButton" id="201618948">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{0, 89}, {107, 60}}</string>
|
||||
<string key="NSFrame">{{0, 90}, {107, 60}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<object class="NSColor" key="IBUIBackgroundColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
|
|
@ -260,7 +331,7 @@
|
|||
<object class="IBUIButton" id="465571136">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{0, 269}, {107, 60}}</string>
|
||||
<string key="NSFrame">{{0, 270}, {107, 60}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
|
||||
|
|
@ -279,7 +350,7 @@
|
|||
<object class="IBUIButton" id="602859574">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{107, 269}, {106, 60}}</string>
|
||||
<string key="NSFrame">{{107, 270}, {106, 60}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
|
||||
|
|
@ -298,7 +369,7 @@
|
|||
<object class="IBUIButton" id="310945439">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{213, 269}, {107, 60}}</string>
|
||||
<string key="NSFrame">{{213, 270}, {107, 60}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
|
||||
|
|
@ -317,7 +388,7 @@
|
|||
<object class="IBUIButton" id="616388880">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{107, 209}, {106, 60}}</string>
|
||||
<string key="NSFrame">{{107, 210}, {106, 60}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
|
||||
|
|
@ -336,7 +407,7 @@
|
|||
<object class="IBUIButton" id="319430047">
|
||||
<reference key="NSNextResponder" ref="191373211"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{160, 333}, {160, 60}}</string>
|
||||
<string key="NSFrame">{{160, 331}, {160, 60}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
|
||||
|
|
@ -369,7 +440,9 @@
|
|||
<object class="NSColor" key="IBUITextColor">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MAA</bytes>
|
||||
<reference key="NSCustomColorSpace" ref="146567718"/>
|
||||
<object class="NSColorSpace" key="NSCustomColorSpace">
|
||||
<int key="NSID">2</int>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSFont" key="IBUIFont">
|
||||
<string key="NSName">Helvetica</string>
|
||||
|
|
@ -675,6 +748,64 @@
|
|||
</object>
|
||||
<int key="connectionID">110</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">incallView</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="232448859"/>
|
||||
</object>
|
||||
<int key="connectionID">119</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">peerLabel</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="397196327"/>
|
||||
</object>
|
||||
<int key="connectionID">120</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">callDuration</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="323870097"/>
|
||||
</object>
|
||||
<int key="connectionID">121</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">speaker</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="963349321"/>
|
||||
</object>
|
||||
<int key="connectionID">123</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchEventConnection" key="connection">
|
||||
<string key="label">doAction:</string>
|
||||
<reference key="source" ref="963349321"/>
|
||||
<reference key="destination" ref="372490531"/>
|
||||
<int key="IBEventType">7</int>
|
||||
</object>
|
||||
<int key="connectionID">124</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">mute</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="743511023"/>
|
||||
</object>
|
||||
<int key="connectionID">125</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchEventConnection" key="connection">
|
||||
<string key="label">doAction:</string>
|
||||
<reference key="source" ref="743511023"/>
|
||||
<reference key="destination" ref="372490531"/>
|
||||
<int key="IBEventType">7</int>
|
||||
</object>
|
||||
<int key="connectionID">126</int>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBMutableOrderedSet" key="objectRecords">
|
||||
<object class="NSArray" key="orderedObjects">
|
||||
|
|
@ -712,7 +843,6 @@
|
|||
<reference key="object" ref="191373211"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="116730630"/>
|
||||
<reference ref="1070392235"/>
|
||||
<reference ref="539158319"/>
|
||||
<reference ref="539781036"/>
|
||||
|
|
@ -729,6 +859,7 @@
|
|||
<reference ref="319430047"/>
|
||||
<reference ref="465571136"/>
|
||||
<reference ref="751637181"/>
|
||||
<reference ref="232448859"/>
|
||||
</object>
|
||||
<reference key="parent" ref="627403670"/>
|
||||
</object>
|
||||
|
|
@ -798,15 +929,6 @@
|
|||
<reference key="parent" ref="191373211"/>
|
||||
<string key="objectName">Call</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">104</int>
|
||||
<reference key="object" ref="116730630"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
</object>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
<string key="objectName">AddressView</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">35</int>
|
||||
<reference key="object" ref="616388880"/>
|
||||
|
|
@ -823,6 +945,43 @@
|
|||
<reference key="parent" ref="191373211"/>
|
||||
<string key="objectName">Address</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">114</int>
|
||||
<reference key="object" ref="232448859"/>
|
||||
<object class="NSMutableArray" key="children">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="963349321"/>
|
||||
<reference ref="743511023"/>
|
||||
<reference ref="323870097"/>
|
||||
<reference ref="397196327"/>
|
||||
</object>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
<string key="objectName">inCall</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">117</int>
|
||||
<reference key="object" ref="963349321"/>
|
||||
<reference key="parent" ref="232448859"/>
|
||||
<string key="objectName">speaker</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">118</int>
|
||||
<reference key="object" ref="743511023"/>
|
||||
<reference key="parent" ref="232448859"/>
|
||||
<string key="objectName">mute</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">116</int>
|
||||
<reference key="object" ref="323870097"/>
|
||||
<reference key="parent" ref="232448859"/>
|
||||
<string key="objectName">duration</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">115</int>
|
||||
<reference key="object" ref="397196327"/>
|
||||
<reference key="parent" ref="232448859"/>
|
||||
<string key="objectName">display</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="flattenedProperties">
|
||||
|
|
@ -834,8 +993,14 @@
|
|||
<string>1.IBEditorWindowLastContentRect</string>
|
||||
<string>1.IBPluginDependency</string>
|
||||
<string>1.IBUserGuides</string>
|
||||
<string>104.IBPluginDependency</string>
|
||||
<string>107.IBPluginDependency</string>
|
||||
<string>114.IBEditorWindowLastContentRect</string>
|
||||
<string>114.IBPluginDependency</string>
|
||||
<string>114.IBUserGuides</string>
|
||||
<string>115.IBPluginDependency</string>
|
||||
<string>116.IBPluginDependency</string>
|
||||
<string>117.IBPluginDependency</string>
|
||||
<string>118.IBPluginDependency</string>
|
||||
<string>29.IBPluginDependency</string>
|
||||
<string>30.IBPluginDependency</string>
|
||||
<string>31.IBPluginDependency</string>
|
||||
|
|
@ -867,6 +1032,22 @@
|
|||
<float key="location">4.100000e+02</float>
|
||||
<int key="affinity">1</int>
|
||||
</object>
|
||||
<object class="IBUserGuide">
|
||||
<reference key="view" ref="191373211"/>
|
||||
<float key="location">9.000000e+01</float>
|
||||
<int key="affinity">1</int>
|
||||
</object>
|
||||
</object>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>{{32, 282}, {320, 90}}</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<object class="NSMutableArray">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBUserGuide">
|
||||
<reference key="view" ref="232448859"/>
|
||||
<float key="location">9.000000e+01</float>
|
||||
<int key="affinity">1</int>
|
||||
</object>
|
||||
</object>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
|
|
@ -885,7 +1066,9 @@
|
|||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>{{204, 440}, {320, 480}}</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string>{{41, 282}, {320, 480}}</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
</object>
|
||||
</object>
|
||||
|
|
@ -909,7 +1092,7 @@
|
|||
</object>
|
||||
</object>
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">113</int>
|
||||
<int key="maxID">126</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
|
|
@ -939,15 +1122,20 @@
|
|||
<string>address</string>
|
||||
<string>back</string>
|
||||
<string>call</string>
|
||||
<string>callDuration</string>
|
||||
<string>eight</string>
|
||||
<string>five</string>
|
||||
<string>four</string>
|
||||
<string>hangup</string>
|
||||
<string>hash</string>
|
||||
<string>incallView</string>
|
||||
<string>mute</string>
|
||||
<string>nine</string>
|
||||
<string>one</string>
|
||||
<string>peerLabel</string>
|
||||
<string>seven</string>
|
||||
<string>six</string>
|
||||
<string>speaker</string>
|
||||
<string>star</string>
|
||||
<string>status</string>
|
||||
<string>three</string>
|
||||
|
|
@ -959,14 +1147,19 @@
|
|||
<string>UITextField</string>
|
||||
<string>UIButton</string>
|
||||
<string>UIButton</string>
|
||||
<string>UILabel</string>
|
||||
<string>UIButton</string>
|
||||
<string>UIButton</string>
|
||||
<string>UIButton</string>
|
||||
<string>UIButton</string>
|
||||
<string>UIButton</string>
|
||||
<string>UIView</string>
|
||||
<string>UIButton</string>
|
||||
<string>UIButton</string>
|
||||
<string>UIButton</string>
|
||||
<string>UILabel</string>
|
||||
<string>UIButton</string>
|
||||
<string>UIButton</string>
|
||||
<string>UIButton</string>
|
||||
<string>UIButton</string>
|
||||
<string>UILabel</string>
|
||||
|
|
|
|||
|
|
@ -20,12 +20,10 @@
|
|||
#import "PhoneViewController.h"
|
||||
#import "linphoneAppDelegate.h"
|
||||
#import "ContactPickerDelegate.h"
|
||||
#import "IncallViewController.h"
|
||||
#import "AddressBook/ABPerson.h"
|
||||
#import <AVFoundation/AVAudioSession.h>
|
||||
#import <AudioToolbox/AudioToolbox.h>
|
||||
#import "osip2/osip.h"
|
||||
#import "FavoriteTableViewController.h"
|
||||
extern void ms_au_register_card();
|
||||
//generic log handler for debug version
|
||||
void linphone_iphone_log_handler(OrtpLogLevel lev, const char *fmt, va_list args){
|
||||
|
|
@ -48,8 +46,9 @@ void linphone_iphone_show(struct _LinphoneCore * lc) {
|
|||
//nop
|
||||
}
|
||||
void linphone_iphone_call_received(LinphoneCore *lc, const char *from){
|
||||
[((linphoneAppDelegate*) linphone_core_get_user_data(lc)) newIncomingCall:[[NSString alloc] initWithCString:from encoding:[NSString defaultCStringEncoding]]];
|
||||
|
||||
LinphoneAddress* fromAddr = linphone_address_new(from);
|
||||
[((linphoneAppDelegate*) linphone_core_get_user_data(lc)) newIncomingCall:[[NSString alloc] initWithCString:linphone_address_get_username(fromAddr) encoding:[NSString defaultCStringEncoding]]];
|
||||
linphone_address_destroy(fromAddr);
|
||||
|
||||
};
|
||||
void linphone_iphone_general_state(LinphoneCore *lc, LinphoneGeneralState *gstate) {
|
||||
|
|
|
|||
|
|
@ -48,32 +48,28 @@
|
|||
<object class="IBUITabBarController" id="952473143">
|
||||
<object class="IBUISimulatedTabBarMetrics" key="IBUISimulatedBottomBarMetrics"/>
|
||||
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
|
||||
<object class="IBUIViewController" key="IBUISelectedViewController" id="258574391">
|
||||
<object class="IBUITabBarItem" key="IBUITabBarItem" id="64474689">
|
||||
<string key="IBUITitle">Dialer</string>
|
||||
<object class="NSCustomResource" key="IBUIImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">linphone2.png</string>
|
||||
</object>
|
||||
<reference key="IBUITabBar"/>
|
||||
</object>
|
||||
<reference key="IBUIParentViewController" ref="952473143"/>
|
||||
<string key="IBUINibName">PhoneViewController</string>
|
||||
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="IBUIViewControllers">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBUIViewController" id="156830991">
|
||||
<object class="IBUIViewController" key="IBUISelectedViewController" id="156830991">
|
||||
<string key="IBUITitle">History</string>
|
||||
<object class="IBUITabBarItem" key="IBUITabBarItem" id="1041279701">
|
||||
<string key="IBUITitle">history</string>
|
||||
<string key="IBUITitle">History</string>
|
||||
<reference key="IBUITabBar"/>
|
||||
</object>
|
||||
<reference key="IBUIParentViewController" ref="952473143"/>
|
||||
<string key="IBUINibName">CallHistoryTableViewController</string>
|
||||
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
|
||||
</object>
|
||||
<reference ref="258574391"/>
|
||||
<object class="NSMutableArray" key="IBUIViewControllers">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<reference ref="156830991"/>
|
||||
<object class="IBUIViewController" id="258574391">
|
||||
<object class="IBUITabBarItem" key="IBUITabBarItem" id="64474689">
|
||||
<string key="IBUITitle">Dialer</string>
|
||||
<reference key="IBUITabBar"/>
|
||||
</object>
|
||||
<reference key="IBUIParentViewController" ref="952473143"/>
|
||||
<string key="IBUINibName">PhoneViewController</string>
|
||||
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
|
||||
</object>
|
||||
<object class="IBUIViewController" id="383050823">
|
||||
<object class="IBUITabBarItem" key="IBUITabBarItem" id="672878446">
|
||||
<reference key="IBUITabBar"/>
|
||||
|
|
@ -83,8 +79,8 @@
|
|||
</object>
|
||||
<object class="IBUIViewController" id="555899988">
|
||||
<object class="IBUITabBarItem" key="IBUITabBarItem" id="534357631">
|
||||
<string key="IBUITitle">About</string>
|
||||
<reference key="IBUITabBar"/>
|
||||
<int key="IBUISystemItemIdentifier">0</int>
|
||||
</object>
|
||||
<reference key="IBUIParentViewController" ref="952473143"/>
|
||||
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
|
||||
|
|
@ -326,6 +322,14 @@
|
|||
<object class="IBPartialClassDescription">
|
||||
<string key="className">CallHistoryTableViewController</string>
|
||||
<string key="superclassName">GenericTabViewController</string>
|
||||
<object class="NSMutableDictionary" key="actions">
|
||||
<string key="NS.key.0">doAction:</string>
|
||||
<string key="NS.object.0">id</string>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="outlets">
|
||||
<string key="NS.key.0">clear</string>
|
||||
<string key="NS.object.0">UIButton</string>
|
||||
</object>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">Classes/CallHistoryTableViewController.h</string>
|
||||
|
|
@ -379,15 +383,20 @@
|
|||
<string>address</string>
|
||||
<string>back</string>
|
||||
<string>call</string>
|
||||
<string>callDuration</string>
|
||||
<string>eight</string>
|
||||
<string>five</string>
|
||||
<string>four</string>
|
||||
<string>hangup</string>
|
||||
<string>hash</string>
|
||||
<string>incallView</string>
|
||||
<string>mute</string>
|
||||
<string>nine</string>
|
||||
<string>one</string>
|
||||
<string>peerLabel</string>
|
||||
<string>seven</string>
|
||||
<string>six</string>
|
||||
<string>speaker</string>
|
||||
<string>star</string>
|
||||
<string>status</string>
|
||||
<string>three</string>
|
||||
|
|
@ -399,14 +408,19 @@
|
|||
<string>UITextField</string>
|
||||
<string>UIButton</string>
|
||||
<string>UIButton</string>
|
||||
<string>UILabel</string>
|
||||
<string>UIButton</string>
|
||||
<string>UIButton</string>
|
||||
<string>UIButton</string>
|
||||
<string>UIButton</string>
|
||||
<string>UIButton</string>
|
||||
<string>UIView</string>
|
||||
<string>UIButton</string>
|
||||
<string>UIButton</string>
|
||||
<string>UIButton</string>
|
||||
<string>UILabel</string>
|
||||
<string>UIButton</string>
|
||||
<string>UIButton</string>
|
||||
<string>UIButton</string>
|
||||
<string>UIButton</string>
|
||||
<string>UILabel</string>
|
||||
|
|
|
|||
BIN
Resources/Speaker-32-off.png
Normal file
BIN
Resources/Speaker-32-off.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 615 B |
BIN
Resources/Speaker-32-on.png
Normal file
BIN
Resources/Speaker-32-on.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 569 B |
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
|
|
@ -26,8 +26,6 @@
|
|||
2242D91710D66BF300E9963F /* out_call.png in Resources */ = {isa = PBXBuildFile; fileRef = 2242D91510D66BF300E9963F /* out_call.png */; };
|
||||
2242D91A10D66C2100E9963F /* mic_active.png in Resources */ = {isa = PBXBuildFile; fileRef = 2242D91810D66C2100E9963F /* mic_active.png */; };
|
||||
2242D91B10D66C2100E9963F /* mic_muted.png in Resources */ = {isa = PBXBuildFile; fileRef = 2242D91910D66C2100E9963F /* mic_muted.png */; };
|
||||
2242D9C310D68DFD00E9963F /* FavoriteTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 2242D9C110D68DFD00E9963F /* FavoriteTableViewController.m */; };
|
||||
2242D9C410D68DFD00E9963F /* FavoriteTableViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2242D9C210D68DFD00E9963F /* FavoriteTableViewController.xib */; };
|
||||
2242D9C910D691F900E9963F /* GenericTabViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 2242D9C810D691F900E9963F /* GenericTabViewController.m */; };
|
||||
2245667810768B7300F10948 /* linphone2.png in Resources */ = {isa = PBXBuildFile; fileRef = 2245667710768B7300F10948 /* linphone2.png */; };
|
||||
2245667A10768B9000F10948 /* linphone.png in Resources */ = {isa = PBXBuildFile; fileRef = 2245667910768B9000F10948 /* linphone.png */; };
|
||||
|
|
@ -43,8 +41,8 @@
|
|||
22B5EFA310CE50BD00777D97 /* AddressBookUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 22B5EFA210CE50BD00777D97 /* AddressBookUI.framework */; };
|
||||
22B5EFE510CE5E5800777D97 /* ContactPickerDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 22B5EFE410CE5E5800777D97 /* ContactPickerDelegate.m */; };
|
||||
22B5F03510CE6B2F00777D97 /* AddressBook.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 22B5F03410CE6B2F00777D97 /* AddressBook.framework */; };
|
||||
22B5F1E110CFA3C700777D97 /* IncallViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 22B5F1E010CFA3C700777D97 /* IncallViewController.xib */; };
|
||||
22B5F1EA10CFD55A00777D97 /* IncallViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 22B5F1E810CFD55A00777D97 /* IncallViewController.m */; };
|
||||
22E0A785111C1BA800B04932 /* Speaker-32-on.png in Resources */ = {isa = PBXBuildFile; fileRef = 22E0A783111C1BA800B04932 /* Speaker-32-on.png */; };
|
||||
22E0A786111C1BA800B04932 /* Speaker-32-off.png in Resources */ = {isa = PBXBuildFile; fileRef = 22E0A784111C1BA800B04932 /* Speaker-32-off.png */; };
|
||||
22F2508E107141E100AC9B3F /* PhoneViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 22F2508C107141E100AC9B3F /* PhoneViewController.m */; };
|
||||
22F2508F107141E100AC9B3F /* PhoneViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 22F2508D107141E100AC9B3F /* PhoneViewController.xib */; };
|
||||
22F254811073D99800AC9B3F /* ringback.wav in Resources */ = {isa = PBXBuildFile; fileRef = 22F254801073D99800AC9B3F /* ringback.wav */; };
|
||||
|
|
@ -188,13 +186,10 @@
|
|||
220FAD3010765B400068D98F /* libspeexdsp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libspeexdsp.a; path = "../liblinphone-sdk/armv6-apple-darwin/lib/libspeexdsp.a"; sourceTree = SOURCE_ROOT; };
|
||||
220FAE4A10767A6A0068D98F /* PhoneMainView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = PhoneMainView.xib; sourceTree = "<group>"; };
|
||||
2237D4081084D7A9001383EE /* oldphone-mono.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; name = "oldphone-mono.wav"; path = "rings/oldphone-mono.wav"; sourceTree = "<group>"; };
|
||||
2242D91410D66BF300E9963F /* in_call.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = in_call.png; sourceTree = "<group>"; };
|
||||
2242D91510D66BF300E9963F /* out_call.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = out_call.png; sourceTree = "<group>"; };
|
||||
2242D91410D66BF300E9963F /* in_call.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = in_call.png; path = Resources/in_call.png; sourceTree = "<group>"; };
|
||||
2242D91510D66BF300E9963F /* out_call.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = out_call.png; path = Resources/out_call.png; sourceTree = "<group>"; };
|
||||
2242D91810D66C2100E9963F /* mic_active.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = mic_active.png; path = ../linphone/pixmaps/mic_active.png; sourceTree = SOURCE_ROOT; };
|
||||
2242D91910D66C2100E9963F /* mic_muted.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = mic_muted.png; path = ../linphone/pixmaps/mic_muted.png; sourceTree = SOURCE_ROOT; };
|
||||
2242D9C010D68DFD00E9963F /* FavoriteTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FavoriteTableViewController.h; sourceTree = "<group>"; };
|
||||
2242D9C110D68DFD00E9963F /* FavoriteTableViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FavoriteTableViewController.m; sourceTree = "<group>"; };
|
||||
2242D9C210D68DFD00E9963F /* FavoriteTableViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = FavoriteTableViewController.xib; sourceTree = "<group>"; };
|
||||
2242D9C710D691F900E9963F /* GenericTabViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GenericTabViewController.h; sourceTree = "<group>"; };
|
||||
2242D9C810D691F900E9963F /* GenericTabViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GenericTabViewController.m; sourceTree = "<group>"; };
|
||||
2245667710768B7300F10948 /* linphone2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = linphone2.png; path = ../linphone/pixmaps/linphone2.png; sourceTree = SOURCE_ROOT; };
|
||||
|
|
@ -215,9 +210,8 @@
|
|||
22B5EFE310CE5E5800777D97 /* ContactPickerDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ContactPickerDelegate.h; sourceTree = "<group>"; };
|
||||
22B5EFE410CE5E5800777D97 /* ContactPickerDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ContactPickerDelegate.m; sourceTree = "<group>"; };
|
||||
22B5F03410CE6B2F00777D97 /* AddressBook.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AddressBook.framework; path = System/Library/Frameworks/AddressBook.framework; sourceTree = SDKROOT; };
|
||||
22B5F1E010CFA3C700777D97 /* IncallViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = IncallViewController.xib; sourceTree = "<group>"; };
|
||||
22B5F1E710CFD55A00777D97 /* IncallViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IncallViewController.h; sourceTree = "<group>"; };
|
||||
22B5F1E810CFD55A00777D97 /* IncallViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IncallViewController.m; sourceTree = "<group>"; };
|
||||
22E0A783111C1BA800B04932 /* Speaker-32-on.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Speaker-32-on.png"; path = "Resources/Speaker-32-on.png"; sourceTree = "<group>"; };
|
||||
22E0A784111C1BA800B04932 /* Speaker-32-off.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Speaker-32-off.png"; path = "Resources/Speaker-32-off.png"; sourceTree = "<group>"; };
|
||||
22F2508B107141E100AC9B3F /* PhoneViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PhoneViewController.h; sourceTree = "<group>"; };
|
||||
22F2508C107141E100AC9B3F /* PhoneViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PhoneViewController.m; sourceTree = "<group>"; };
|
||||
22F2508D107141E100AC9B3F /* PhoneViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = PhoneViewController.xib; sourceTree = "<group>"; };
|
||||
|
|
@ -270,15 +264,9 @@
|
|||
22F2508D107141E100AC9B3F /* PhoneViewController.xib */,
|
||||
22B5EFE310CE5E5800777D97 /* ContactPickerDelegate.h */,
|
||||
22B5EFE410CE5E5800777D97 /* ContactPickerDelegate.m */,
|
||||
22B5F1E710CFD55A00777D97 /* IncallViewController.h */,
|
||||
22B5F1E810CFD55A00777D97 /* IncallViewController.m */,
|
||||
22B5F1E010CFA3C700777D97 /* IncallViewController.xib */,
|
||||
227BCDBF10D4004600FBFD76 /* CallHistoryTableViewController.h */,
|
||||
227BCDC010D4004600FBFD76 /* CallHistoryTableViewController.m */,
|
||||
227BCDC110D4004600FBFD76 /* CallHistoryTableViewController.xib */,
|
||||
2242D9C010D68DFD00E9963F /* FavoriteTableViewController.h */,
|
||||
2242D9C110D68DFD00E9963F /* FavoriteTableViewController.m */,
|
||||
2242D9C210D68DFD00E9963F /* FavoriteTableViewController.xib */,
|
||||
2242D9C710D691F900E9963F /* GenericTabViewController.h */,
|
||||
2242D9C810D691F900E9963F /* GenericTabViewController.m */,
|
||||
);
|
||||
|
|
@ -544,6 +532,8 @@
|
|||
29B97317FDCFA39411CA2CEA /* Resources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
22E0A783111C1BA800B04932 /* Speaker-32-on.png */,
|
||||
22E0A784111C1BA800B04932 /* Speaker-32-off.png */,
|
||||
2242D91810D66C2100E9963F /* mic_active.png */,
|
||||
2242D91910D66C2100E9963F /* mic_muted.png */,
|
||||
2242D91410D66BF300E9963F /* in_call.png */,
|
||||
|
|
@ -625,13 +615,13 @@
|
|||
22F51EF6107FA66500F98953 /* untitled.plist in Resources */,
|
||||
2237D4091084D7A9001383EE /* oldphone-mono.wav in Resources */,
|
||||
2273798810A48EF000526073 /* oldphone.wav in Resources */,
|
||||
22B5F1E110CFA3C700777D97 /* IncallViewController.xib in Resources */,
|
||||
227BCDC310D4004600FBFD76 /* CallHistoryTableViewController.xib in Resources */,
|
||||
2242D91610D66BF300E9963F /* in_call.png in Resources */,
|
||||
2242D91710D66BF300E9963F /* out_call.png in Resources */,
|
||||
2242D91A10D66C2100E9963F /* mic_active.png in Resources */,
|
||||
2242D91B10D66C2100E9963F /* mic_muted.png in Resources */,
|
||||
2242D9C410D68DFD00E9963F /* FavoriteTableViewController.xib in Resources */,
|
||||
22E0A785111C1BA800B04932 /* Speaker-32-on.png in Resources */,
|
||||
22E0A786111C1BA800B04932 /* Speaker-32-off.png in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
|
@ -646,9 +636,7 @@
|
|||
1D3623260D0F684500981E51 /* linphoneAppDelegate.m in Sources */,
|
||||
22F2508E107141E100AC9B3F /* PhoneViewController.m in Sources */,
|
||||
22B5EFE510CE5E5800777D97 /* ContactPickerDelegate.m in Sources */,
|
||||
22B5F1EA10CFD55A00777D97 /* IncallViewController.m in Sources */,
|
||||
227BCDC210D4004600FBFD76 /* CallHistoryTableViewController.m in Sources */,
|
||||
2242D9C310D68DFD00E9963F /* FavoriteTableViewController.m in Sources */,
|
||||
2242D9C910D691F900E9963F /* GenericTabViewController.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue