mirror of
https://gitlab.linphone.org/BC/public/linphone-iphone.git
synced 2026-01-26 07:38:09 +00:00
Remove delagate stuff ... working on incall view
This commit is contained in:
parent
075c6f6a0a
commit
f88aff3f18
35 changed files with 1439 additions and 1373 deletions
|
|
@ -185,9 +185,13 @@
|
|||
|
||||
NSString* dispName = [[NSString alloc] initWithCString:displayName encoding:[NSString defaultCStringEncoding]];
|
||||
|
||||
[[LinphoneManager instance].callDelegate displayDialerFromUI:self
|
||||
|
||||
[[LinphoneManager instance] changeView:PhoneView_Dialer];
|
||||
|
||||
//TODO
|
||||
/*[[LinphoneManager instance].callDelegate displayDialerFromUI:self
|
||||
forUser:phoneNumber
|
||||
withDisplayName:dispName];
|
||||
withDisplayName:dispName];*/
|
||||
[phoneNumber release];
|
||||
[dispName release];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,12 +17,12 @@
|
|||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "LinphoneUI/UIMuteButton.h"
|
||||
#import "LinphoneUI/UIMicroButton.h"
|
||||
#import "LinphoneUI/UISpeakerButton.h"
|
||||
|
||||
@interface ConferenceCallDetailView : UIViewController<UITableViewDelegate, UITableViewDataSource> {
|
||||
|
||||
UIMuteButton* mute;
|
||||
UIMicroButton* mute;
|
||||
UISpeakerButton* speaker;
|
||||
UIButton* back;
|
||||
UIButton* hangup;
|
||||
|
|
|
|||
|
|
@ -62,8 +62,9 @@ NSTimer *callQualityRefresher;
|
|||
|
||||
table.rowHeight = 80;
|
||||
|
||||
[mute initWithOnImage:[UIImage imageNamed:@"micro_inverse.png"] offImage:[UIImage imageNamed:@"micro.png"] debugName:"MUTE button"];
|
||||
/*[mute initWithOnImage:[UIImage imageNamed:@"micro_inverse.png"] offImage:[UIImage imageNamed:@"micro.png"] debugName:"MUTE button"];
|
||||
[speaker initWithOnImage:[UIImage imageNamed:@"HP_inverse.png"] offImage:[UIImage imageNamed:@"HP.png"] debugName:"SPEAKER button"];
|
||||
*/
|
||||
}
|
||||
|
||||
-(void) backButtonPressed {
|
||||
|
|
|
|||
|
|
@ -1,30 +0,0 @@
|
|||
/* ContactPickerDelegate.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 General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
#import <Foundation/Foundation.h>
|
||||
#import <AddressBookUI/ABPeoplePickerNavigationController.h>
|
||||
#import "PhoneViewController.h"
|
||||
#import "linphoneAppDelegate.h"
|
||||
|
||||
|
||||
@interface ContactPickerDelegate : NSObject<ABPeoplePickerNavigationControllerDelegate> {
|
||||
|
||||
}
|
||||
|
||||
|
||||
@end
|
||||
|
|
@ -1,53 +0,0 @@
|
|||
/* ContactPickerDelegate.m
|
||||
*
|
||||
* 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 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 "ContactPickerDelegate.h"
|
||||
#import "LinphoneManager.h"
|
||||
|
||||
@implementation ContactPickerDelegate
|
||||
|
||||
|
||||
- (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 *phoneNumber = (NSString *)ABMultiValueCopyValueAtIndex(multiValue, valueIdx);
|
||||
[[LinphoneManager instance].callDelegate displayDialerFromUI:nil
|
||||
forUser:phoneNumber
|
||||
withDisplayName:[(NSString*)ABRecordCopyCompositeName(person) autorelease]];
|
||||
[phoneNumber release];
|
||||
CFRelease(multiValue);
|
||||
return false;
|
||||
}
|
||||
|
||||
- (void)peoplePickerNavigationControllerDidCancel:(ABPeoplePickerNavigationController *)peoplePicker {
|
||||
[[LinphoneManager instance].callDelegate displayDialerFromUI:nil
|
||||
forUser:nil
|
||||
withDisplayName:@""];
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
@ -90,6 +90,7 @@ void sync_toc_address_book (ABAddressBookRef addressBook, CFDictionaryRef info,
|
|||
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
OrderedDictionary *subDic = [addressBookMap objectForKey: [addressBookMap keyAtIndex: [indexPath section]]];
|
||||
ABRecordRef lPerson = [subDic objectForKey: [subDic keyAtIndex:[indexPath row]]];
|
||||
// TODO
|
||||
}
|
||||
|
||||
- (void)dealloc {
|
||||
|
|
|
|||
|
|
@ -19,17 +19,14 @@
|
|||
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "LinphoneAppDelegate.h"
|
||||
#import "LinphoneUIDelegates.h"
|
||||
|
||||
|
||||
@interface FirstLoginViewController : UIViewController <UITextFieldDelegate>{
|
||||
UIButton* ok;
|
||||
UIButton* site;
|
||||
UITextField* username;
|
||||
UIView* activityIndicator;
|
||||
|
||||
|
||||
}
|
||||
|
||||
-(void) doOk:(id)sender;
|
||||
|
||||
@property (nonatomic, retain) IBOutlet UIButton* ok;
|
||||
|
|
@ -37,4 +34,5 @@
|
|||
@property (nonatomic, retain) IBOutlet UITextField* username;
|
||||
@property (nonatomic, retain) IBOutlet UITextField* passwd;
|
||||
@property (nonatomic, retain) IBOutlet UIView* activityIndicator;
|
||||
|
||||
@end
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
/* IncallViewController.h
|
||||
/* InCallViewController.h
|
||||
*
|
||||
* Copyright (C) 2009 Belledonne Comunications, Grenoble, France
|
||||
*
|
||||
|
|
@ -16,24 +16,28 @@
|
|||
* 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 <AddressBookUI/ABPeoplePickerNavigationController.h>
|
||||
|
||||
#import "linphonecore.h"
|
||||
#import "PhoneViewController.h"
|
||||
#import "ConferenceCallDetailView.h"
|
||||
#import <AddressBookUI/ABPeoplePickerNavigationController.h>
|
||||
#include "UILinphone.h"
|
||||
#import "UIToggleVideoButton.h"
|
||||
#import "VideoZoomHandler.h"
|
||||
|
||||
#include "UILinphone.h"
|
||||
|
||||
@class VideoViewController;
|
||||
|
||||
@interface InCallViewController : UIViewController <ABPeoplePickerNavigationControllerDelegate,LinphoneUICallDelegate, UITableViewDelegate, UITableViewDataSource, UIActionSheetCustomDelegate> {
|
||||
@interface InCallViewController : UIViewController <ABPeoplePickerNavigationControllerDelegate, UITableViewDelegate, UITableViewDataSource, UIActionSheetCustomDelegate> {
|
||||
|
||||
|
||||
UIView* controlSubView, *hangUpView;
|
||||
|
||||
UIButton* endCtrl;
|
||||
UIButton* dialer;
|
||||
UIMuteButton* mute;
|
||||
UIMicroButton* mute;
|
||||
UIButton* pause;
|
||||
UISpeakerButton* speaker;
|
||||
UIButton* contacts;
|
||||
|
|
@ -97,8 +101,6 @@
|
|||
VideoZoomHandler* videoZoomHandler;
|
||||
}
|
||||
|
||||
-(void)displayStatus:(NSString*) message;
|
||||
|
||||
- (IBAction)doAction:(id)sender;
|
||||
|
||||
+(LinphoneCall*) retrieveCallAtIndex: (NSInteger) index inConference:(bool) conf;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
/* IncallViewController.h
|
||||
/* InCallViewController.h
|
||||
*
|
||||
* Copyright (C) 2009 Belledonne Comunications, Grenoble, France
|
||||
*
|
||||
|
|
@ -15,20 +15,21 @@
|
|||
* 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 "VideoViewController.h"
|
||||
#import "LinphoneManager.h"
|
||||
#import <AudioToolbox/AudioToolbox.h>
|
||||
#import <AddressBook/AddressBook.h>
|
||||
#import "linphonecore.h"
|
||||
#include "LinphoneManager.h"
|
||||
#include "private.h"
|
||||
#import "ContactPickerDelegate.h"
|
||||
#import <QuartzCore/CAAnimation.h>
|
||||
#import <QuartzCore/QuartzCore.h>
|
||||
#import <OpenGLES/EAGL.h>
|
||||
#import <OpenGLES/EAGLDrawable.h>
|
||||
|
||||
#include "linphonecore.h"
|
||||
#include "private.h"
|
||||
|
||||
#define STRINGIFY(x) #x
|
||||
#define TOSTRING(x) STRINGIFY(x)
|
||||
#define AT __FILE__ ":" TOSTRING(__LINE__)
|
||||
|
|
@ -397,10 +398,14 @@ void addAnimationFadeTransition(UIView* view, float duration) {
|
|||
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
//Controls
|
||||
[mute initWithOnImage:[UIImage imageNamed:@"micro_inverse.png"] offImage:[UIImage imageNamed:@"micro.png"] debugName:"MUTE button"];
|
||||
[speaker initWithOnImage:[UIImage imageNamed:@"HP_inverse.png"] offImage:[UIImage imageNamed:@"HP.png"] debugName:"SPEAKER button"];
|
||||
|
||||
// Set observer
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(callUpdate:) name:@"LinphoneCallUpdate" object:nil];
|
||||
|
||||
//Controls
|
||||
/*[mute initWithOnImage:[UIImage imageNamed:@"micro_inverse.png"] offImage:[UIImage imageNamed:@"micro.png"] debugName:"MUTE button"];
|
||||
[speaker initWithOnImage:[UIImage imageNamed:@"HP_inverse.png"] offImage:[UIImage imageNamed:@"HP.png"] debugName:"SPEAKER button"];
|
||||
*/
|
||||
verified = [[UIImage imageNamed:@"secured.png"] retain];
|
||||
unverified = [[UIImage imageNamed:@"unverified.png"] retain];
|
||||
|
||||
|
|
@ -420,7 +425,6 @@ void addAnimationFadeTransition(UIView* view, float duration) {
|
|||
|
||||
[addCall addTarget:self action:@selector(addCallPressed) forControlEvents:UIControlEventTouchUpInside];
|
||||
[mergeCalls addTarget:self action:@selector(mergeCallsPressed) forControlEvents:UIControlEventTouchUpInside];
|
||||
[pause addTarget:self action:@selector(pauseCallPressed) forControlEvents:UIControlEventTouchUpInside];
|
||||
[LinphoneManager set:mergeCalls hidden:YES withName:"MERGE button" andReason:"initialisation"];
|
||||
|
||||
if ([LinphoneManager runningOnIpad]) {
|
||||
|
|
@ -517,7 +521,7 @@ void addAnimationFadeTransition(UIView* view, float duration) {
|
|||
visibleActionSheet = nil;
|
||||
|
||||
[UICallButton enableTransforMode:YES];
|
||||
[[LinphoneManager instance] displayDialer];
|
||||
[[LinphoneManager instance] changeView:PhoneView_Dialer];
|
||||
} else {
|
||||
// add 'Other' option
|
||||
[visibleActionSheet addButtonWithTitle:NSLocalizedString(@"Other...",nil)];
|
||||
|
|
@ -537,46 +541,15 @@ void addAnimationFadeTransition(UIView* view, float duration) {
|
|||
|
||||
-(void) addCallPressed {
|
||||
[LinphoneManager logUIElementPressed:"CALL button"];
|
||||
[[LinphoneManager instance] displayDialer];
|
||||
[[LinphoneManager instance] changeView:PhoneView_Dialer];
|
||||
}
|
||||
|
||||
|
||||
-(void) mergeCallsPressed {
|
||||
[LinphoneManager logUIElementPressed:"MERGE button"];
|
||||
LinphoneCore* lc = [LinphoneManager getLc];
|
||||
linphone_core_add_all_to_conference(lc);
|
||||
}
|
||||
|
||||
-(void) pauseCallPressed {
|
||||
[LinphoneManager logUIElementPressed:"PAUSE button"];
|
||||
LinphoneCore* lc = [LinphoneManager getLc];
|
||||
|
||||
LinphoneCall* currentCall = linphone_core_get_current_call(lc);
|
||||
if (currentCall) {
|
||||
if (linphone_call_get_state(currentCall) == LinphoneCallStreamsRunning) {
|
||||
[pause setSelected:NO];
|
||||
linphone_core_pause_call(lc, currentCall);
|
||||
|
||||
// hide video view
|
||||
[self disableVideoDisplay];
|
||||
}
|
||||
} else {
|
||||
if (linphone_core_get_calls_nb(lc) == 1) {
|
||||
LinphoneCall* c = (LinphoneCall*) linphone_core_get_calls(lc)->data;
|
||||
if (linphone_call_get_state(c) == LinphoneCallPaused) {
|
||||
linphone_core_resume_call(lc, c);
|
||||
[pause setSelected:YES];
|
||||
|
||||
const LinphoneCallParams* p = linphone_call_get_current_params(c);
|
||||
if (linphone_call_params_video_enabled(p)) {
|
||||
[self enableVideoDisplay];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
-(void)updateCallsDurations {
|
||||
[self updateUIFromLinphoneState: NO];
|
||||
}
|
||||
|
|
@ -646,12 +619,7 @@ void addAnimationFadeTransition(UIView* view, float duration) {
|
|||
- (void)viewDidUnload {
|
||||
[verified release];
|
||||
[unverified release];
|
||||
}
|
||||
|
||||
|
||||
|
||||
-(void) displayStatus:(NSString*) message; {
|
||||
|
||||
[[NSNotificationCenter defaultCenter] removeObserver:self];
|
||||
}
|
||||
|
||||
-(void) displayPad:(bool) enable {
|
||||
|
|
@ -719,6 +687,108 @@ static void hideSpinner(LinphoneCall* lc, void* user_data);
|
|||
}*/
|
||||
}
|
||||
|
||||
|
||||
- (void)callUpdate: (NSNotification*) notif {
|
||||
LinphoneCallWrapper *callWrapper = [notif.userInfo objectForKey: @"call"];
|
||||
LinphoneCall *call = callWrapper->call;
|
||||
LinphoneCallState state = [[notif.userInfo objectForKey: @"state"] intValue];
|
||||
|
||||
const char* lUserNameChars=linphone_address_get_username(linphone_call_get_remote_address(call));
|
||||
NSString* lUserName = lUserNameChars?[[[NSString alloc] initWithUTF8String:lUserNameChars] autorelease]:NSLocalizedString(@"Unknown",nil);
|
||||
const char* lDisplayNameChars = linphone_address_get_display_name(linphone_call_get_remote_address(call));
|
||||
NSString* lDisplayName = [lDisplayNameChars?[[NSString alloc] initWithUTF8String:lDisplayNameChars]:@"" autorelease];
|
||||
|
||||
bool canHideInCallView = (linphone_core_get_calls([LinphoneManager getLc]) == NULL);
|
||||
|
||||
switch (state) {
|
||||
case LinphoneCallIncomingReceived:
|
||||
[self displayIncomingCall:call
|
||||
NotificationFromUI:nil
|
||||
forUser:lUserName
|
||||
withDisplayName:lDisplayName];
|
||||
break;
|
||||
|
||||
case LinphoneCallOutgoingInit:
|
||||
[self displayCall:call
|
||||
InProgressFromUI:nil
|
||||
forUser:lUserName
|
||||
withDisplayName:lDisplayName];
|
||||
break;
|
||||
case LinphoneCallPausedByRemote:
|
||||
case LinphoneCallConnected:
|
||||
[self displayInCall: call
|
||||
FromUI:nil
|
||||
forUser:lUserName
|
||||
withDisplayName:lDisplayName];
|
||||
break;
|
||||
case LinphoneCallUpdatedByRemote:
|
||||
{
|
||||
const LinphoneCallParams* current = linphone_call_get_current_params(call);
|
||||
const LinphoneCallParams* remote = linphone_call_get_remote_params(call);
|
||||
|
||||
/* remote wants to add video */
|
||||
if (!linphone_call_params_video_enabled(current) &&
|
||||
linphone_call_params_video_enabled(remote) &&
|
||||
!linphone_core_get_video_policy([LinphoneManager getLc])->automatically_accept) {
|
||||
linphone_core_defer_call_update([LinphoneManager getLc], call);
|
||||
[self displayAskToEnableVideoCall:call forUser:lUserName withDisplayName:lDisplayName];
|
||||
} else if (linphone_call_params_video_enabled(current) && !linphone_call_params_video_enabled(remote)) {
|
||||
[self displayInCall:call FromUI:nil forUser:lUserName withDisplayName:lDisplayName];
|
||||
}
|
||||
break;
|
||||
}
|
||||
case LinphoneCallUpdated:
|
||||
{
|
||||
const LinphoneCallParams* current = linphone_call_get_current_params(call);
|
||||
if (linphone_call_params_video_enabled(current)) {
|
||||
[self displayVideoCall:call FromUI:nil forUser:lUserName withDisplayName:lDisplayName];
|
||||
} else {
|
||||
[self displayInCall:call FromUI:nil forUser:lUserName withDisplayName:lDisplayName];
|
||||
}
|
||||
break;
|
||||
|
||||
}
|
||||
case LinphoneCallError: {
|
||||
if (canHideInCallView) {
|
||||
[self displayDialerFromUI:nil
|
||||
forUser:@""
|
||||
withDisplayName:@""];
|
||||
} else {
|
||||
[self displayInCall:call
|
||||
FromUI:nil
|
||||
forUser:lUserName
|
||||
withDisplayName:lDisplayName];
|
||||
}
|
||||
break;
|
||||
}
|
||||
case LinphoneCallEnd:
|
||||
if (canHideInCallView) {
|
||||
[self displayDialerFromUI:nil
|
||||
forUser:@""
|
||||
withDisplayName:@""];
|
||||
} else {
|
||||
[self displayInCall:call
|
||||
FromUI:nil
|
||||
forUser:lUserName
|
||||
withDisplayName:lDisplayName];
|
||||
}
|
||||
break;
|
||||
case LinphoneCallStreamsRunning:
|
||||
//check video
|
||||
if (linphone_call_params_video_enabled(linphone_call_get_current_params(call))) {
|
||||
[self displayVideoCall:call FromUI:nil
|
||||
forUser:lUserName
|
||||
withDisplayName:lDisplayName];
|
||||
} else {
|
||||
[self displayInCall:call FromUI:nil forUser:lUserName withDisplayName:lDisplayName];
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
static void hideSpinner(LinphoneCall* call, void* user_data) {
|
||||
InCallViewController* thiz = (InCallViewController*) user_data;
|
||||
[thiz hideSpinnerIndicator:call];
|
||||
|
|
@ -798,7 +868,8 @@ static void hideSpinner(LinphoneCall* call, void* user_data) {
|
|||
} else if (sender == contacts) {
|
||||
// start people picker
|
||||
myPeoplePickerController = [[[ABPeoplePickerNavigationController alloc] init] autorelease];
|
||||
[myPeoplePickerController setPeoplePickerDelegate:[[ContactPickerDelegate alloc] init] ];
|
||||
// TODO
|
||||
//[myPeoplePickerController setPeoplePickerDelegate:[[ContactPickerDelegate alloc] init] ];
|
||||
|
||||
[self presentModalViewController: myPeoplePickerController animated:true];
|
||||
} else if (sender == close) {
|
||||
|
|
@ -831,6 +902,7 @@ static void hideSpinner(LinphoneCall* call, void* user_data) {
|
|||
|
||||
- (void)dealloc {
|
||||
[super dealloc];
|
||||
[[NSNotificationCenter defaultCenter] removeObserver:self];
|
||||
}
|
||||
|
||||
+(LinphoneCall*) retrieveCallAtIndex: (NSInteger) index inConference:(bool) conf{
|
||||
|
|
@ -1177,7 +1249,7 @@ static void hideSpinner(LinphoneCall* call, void* user_data) {
|
|||
// user must jhave pressed 'other...' button as we did not find a call
|
||||
// with the correct indice
|
||||
[UICallButton enableTransforMode:YES];
|
||||
[[LinphoneManager instance] displayDialer];
|
||||
[[LinphoneManager instance] changeView:PhoneView_Dialer];
|
||||
break;
|
||||
}
|
||||
default:
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -20,7 +20,6 @@
|
|||
#import "PhoneMainView.h"
|
||||
#import "PhoneViewController.h"
|
||||
#import "linphoneAppDelegate.h"
|
||||
#import "ContactPickerDelegate.h"
|
||||
#import "AddressBook/ABPerson.h"
|
||||
|
||||
#import "CoreTelephony/CTCallCenter.h"
|
||||
|
|
|
|||
|
|
@ -19,8 +19,18 @@
|
|||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
#import "UIMicroButton.h"
|
||||
|
||||
@interface LinphoneCallBar : UIViewController {
|
||||
|
||||
UIButton* pauseButton;
|
||||
UIButton* videoButton;
|
||||
UIMicroButton* microButton;
|
||||
UIButton* speakerButton;
|
||||
}
|
||||
|
||||
@property (nonatomic, retain) IBOutlet UIButton* pauseButton;
|
||||
@property (nonatomic, retain) IBOutlet UIButton* videoButton;
|
||||
@property (nonatomic, retain) IBOutlet UIMicroButton* microButton;
|
||||
@property (nonatomic, retain) IBOutlet UIButton* speakerButton;
|
||||
-(IBAction) onPauseClick: (id) event;
|
||||
@end
|
||||
|
|
|
|||
|
|
@ -18,7 +18,135 @@
|
|||
*/
|
||||
|
||||
#import "LinphoneCallBar.h"
|
||||
#import "LinphoneManager.h"
|
||||
|
||||
#include "linphonecore.h"
|
||||
#include "private.h"
|
||||
|
||||
#define STRINGIFY(x) #x
|
||||
#define TOSTRING(x) STRINGIFY(x)
|
||||
#define AT __FILE__ ":" TOSTRING(__LINE__)
|
||||
|
||||
@implementation LinphoneCallBar
|
||||
|
||||
@synthesize pauseButton;
|
||||
@synthesize videoButton;
|
||||
@synthesize microButton;
|
||||
@synthesize speakerButton;
|
||||
|
||||
- (void) viewDidLoad {
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(callUpdate:) name:@"LinphoneCallUpdate" object:nil];
|
||||
}
|
||||
|
||||
bool isInConference2(LinphoneCall* call) {
|
||||
if (!call)
|
||||
return false;
|
||||
return linphone_call_get_current_params(call)->in_conference;
|
||||
}
|
||||
|
||||
int callCount2(LinphoneCore* lc) {
|
||||
int count = 0;
|
||||
const MSList* calls = linphone_core_get_calls(lc);
|
||||
|
||||
while (calls != 0) {
|
||||
if (!isInConference2((LinphoneCall*)calls->data)) {
|
||||
count++;
|
||||
}
|
||||
calls = calls->next;
|
||||
}
|
||||
return count;
|
||||
}
|
||||
|
||||
-(IBAction) onPauseClick: (id) event {
|
||||
[LinphoneManager logUIElementPressed:"PAUSE button"];
|
||||
|
||||
LinphoneCore* lc = [LinphoneManager getLc];
|
||||
LinphoneCall* currentCall = linphone_core_get_current_call(lc);
|
||||
if (currentCall) {
|
||||
if (linphone_call_get_state(currentCall) == LinphoneCallStreamsRunning) {
|
||||
[pauseButton setSelected:NO];
|
||||
linphone_core_pause_call(lc, currentCall);
|
||||
|
||||
// hide video view
|
||||
//TODO
|
||||
//[self disableVideoDisplay];
|
||||
}
|
||||
} else {
|
||||
if (linphone_core_get_calls_nb(lc) == 1) {
|
||||
LinphoneCall* c = (LinphoneCall*) linphone_core_get_calls(lc)->data;
|
||||
if (linphone_call_get_state(c) == LinphoneCallPaused) {
|
||||
linphone_core_resume_call(lc, c);
|
||||
[pauseButton setSelected:YES];
|
||||
|
||||
const LinphoneCallParams* p = linphone_call_get_current_params(c);
|
||||
if (linphone_call_params_video_enabled(p)) {
|
||||
//TODO
|
||||
//[self enableVideoDisplay];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
- (void) callUpdate: (NSNotification*) notif {
|
||||
bool fullUpdate = true;
|
||||
// check LinphoneCore is initialized
|
||||
LinphoneCore* lc = nil;
|
||||
@try {
|
||||
lc = [LinphoneManager getLc];
|
||||
} @catch (NSException* exc) {
|
||||
return;
|
||||
}
|
||||
// 1 call: show pause button, otherwise show merge btn
|
||||
[LinphoneManager set:pauseButton enabled:(callCount2(lc) == 1) withName:"PAUSE button" andReason:"call count"];
|
||||
//TODO
|
||||
//[LinphoneManager set:mergeCalls hidden:!pause.hidden withName:"MERGE button" andReason:"call count"];
|
||||
|
||||
LinphoneCall* currentCall = linphone_core_get_current_call([LinphoneManager getLc]);
|
||||
int callsCount = linphone_core_get_calls_nb(lc);
|
||||
|
||||
// hide pause/resume if in conference
|
||||
if (currentCall) {
|
||||
[microButton reset];
|
||||
if (linphone_core_is_in_conference(lc)) {
|
||||
[LinphoneManager set:pauseButton enabled:FALSE withName:"PAUSE button" andReason:"is in conference"];
|
||||
}
|
||||
else if (callCount2(lc) == callsCount && callsCount == 1) {
|
||||
[LinphoneManager set:pauseButton enabled:TRUE withName:"PAUSE button" andReason:"call count == 1"];
|
||||
pauseButton.selected = NO;
|
||||
} else {
|
||||
[LinphoneManager set:pauseButton enabled:FALSE withName:"PAUSE button" andReason:AT];
|
||||
}
|
||||
|
||||
if (fullUpdate) {
|
||||
//TODO
|
||||
//videoUpdateIndicator.hidden = YES;
|
||||
LinphoneCallState state = linphone_call_get_state(currentCall);
|
||||
if (state == LinphoneCallStreamsRunning || state == LinphoneCallUpdated || state == LinphoneCallUpdatedByRemote) {
|
||||
if (linphone_call_params_video_enabled(linphone_call_get_current_params(currentCall))) {
|
||||
[videoButton setSelected:TRUE];
|
||||
} else {
|
||||
[videoButton setSelected:FALSE];
|
||||
}
|
||||
[videoButton setEnabled:YES];
|
||||
} else {
|
||||
[videoButton setEnabled:NO];
|
||||
//[videoCallQuality setImage:nil];
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (callsCount == 1) {
|
||||
LinphoneCall* c = (LinphoneCall*)linphone_core_get_calls(lc)->data;
|
||||
if (linphone_call_get_state(c) == LinphoneCallPaused ||
|
||||
linphone_call_get_state(c) == LinphoneCallPausing) {
|
||||
pauseButton.selected = YES;
|
||||
}
|
||||
[LinphoneManager set:pauseButton enabled:TRUE withName:"PAUSE button" andReason:AT];
|
||||
} else {
|
||||
[LinphoneManager set:pauseButton enabled:FALSE withName:"PAUSE button" andReason:AT];
|
||||
}
|
||||
[videoButton setEnabled:NO];
|
||||
}
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
|
|||
|
|
@ -31,17 +31,17 @@
|
|||
<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
</object>
|
||||
<object class="IBUIView" id="590484871">
|
||||
<object class="IBUIView" id="931774220">
|
||||
<reference key="NSNextResponder"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<array class="NSMutableArray" key="NSSubviews">
|
||||
<object class="IBUIView" id="109354525">
|
||||
<reference key="NSNextResponder" ref="590484871"/>
|
||||
<object class="IBUIView" id="464536687">
|
||||
<reference key="NSNextResponder" ref="931774220"/>
|
||||
<int key="NSvFlags">-2147483356</int>
|
||||
<string key="NSFrameSize">{320, 135}</string>
|
||||
<reference key="NSSuperview" ref="590484871"/>
|
||||
<reference key="NSSuperview" ref="931774220"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="1013099198"/>
|
||||
<reference key="NSNextKeyView" ref="262544423"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<object class="NSColor" key="IBUIBackgroundColor">
|
||||
<int key="NSColorSpace">3</int>
|
||||
|
|
@ -54,13 +54,13 @@
|
|||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
</object>
|
||||
<object class="IBUIButton" id="1013099198">
|
||||
<reference key="NSNextResponder" ref="590484871"/>
|
||||
<object class="IBUIButton" id="262544423">
|
||||
<reference key="NSNextResponder" ref="931774220"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrameSize">{80, 67}</string>
|
||||
<reference key="NSSuperview" ref="590484871"/>
|
||||
<reference key="NSSuperview" ref="931774220"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="1023772893"/>
|
||||
<reference key="NSNextKeyView" ref="693636558"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<object class="IBUIAccessibilityConfiguration" key="IBUIAccessibilityConfiguration">
|
||||
|
|
@ -69,7 +69,8 @@
|
|||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<int key="IBUIContentHorizontalAlignment">0</int>
|
||||
<int key="IBUIContentVerticalAlignment">0</int>
|
||||
<object class="NSColor" key="IBUIHighlightedTitleColor" id="855460971">
|
||||
<bool key="IBUIAdjustsImageWhenHighlighted">NO</bool>
|
||||
<object class="NSColor" key="IBUIHighlightedTitleColor" id="707105299">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MQA</bytes>
|
||||
</object>
|
||||
|
|
@ -77,7 +78,7 @@
|
|||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA</bytes>
|
||||
</object>
|
||||
<object class="NSColor" key="IBUINormalTitleShadowColor" id="829474675">
|
||||
<object class="NSColor" key="IBUINormalTitleShadowColor" id="838911807">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MC41AA</bytes>
|
||||
</object>
|
||||
|
|
@ -93,23 +94,23 @@
|
|||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">video-OFF-actif.png</string>
|
||||
</object>
|
||||
<object class="IBUIFontDescription" key="IBUIFontDescription" id="950385486">
|
||||
<object class="IBUIFontDescription" key="IBUIFontDescription" id="794091713">
|
||||
<int key="type">2</int>
|
||||
<double key="pointSize">15</double>
|
||||
</object>
|
||||
<object class="NSFont" key="IBUIFont" id="839162475">
|
||||
<object class="NSFont" key="IBUIFont" id="993152718">
|
||||
<string key="NSName">Helvetica-Bold</string>
|
||||
<double key="NSSize">15</double>
|
||||
<int key="NSfFlags">16</int>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBUIButton" id="1023772893">
|
||||
<reference key="NSNextResponder" ref="590484871"/>
|
||||
<object class="IBUIButton" id="693636558">
|
||||
<reference key="NSNextResponder" ref="931774220"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{80, 0}, {80, 67}}</string>
|
||||
<reference key="NSSuperview" ref="590484871"/>
|
||||
<reference key="NSSuperview" ref="931774220"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="908144004"/>
|
||||
<reference key="NSNextKeyView" ref="264394465"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<object class="IBUIAccessibilityConfiguration" key="IBUIAccessibilityConfiguration">
|
||||
|
|
@ -118,12 +119,13 @@
|
|||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<int key="IBUIContentHorizontalAlignment">0</int>
|
||||
<int key="IBUIContentVerticalAlignment">0</int>
|
||||
<reference key="IBUIHighlightedTitleColor" ref="855460971"/>
|
||||
<bool key="IBUIAdjustsImageWhenHighlighted">NO</bool>
|
||||
<reference key="IBUIHighlightedTitleColor" ref="707105299"/>
|
||||
<object class="NSColor" key="IBUINormalTitleColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA</bytes>
|
||||
</object>
|
||||
<reference key="IBUINormalTitleShadowColor" ref="829474675"/>
|
||||
<reference key="IBUINormalTitleShadowColor" ref="838911807"/>
|
||||
<object class="NSCustomResource" key="IBUIHighlightedBackgroundImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">micro-ON-over.png</string>
|
||||
|
|
@ -136,16 +138,16 @@
|
|||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">micro-OFF-actif.png</string>
|
||||
</object>
|
||||
<reference key="IBUIFontDescription" ref="950385486"/>
|
||||
<reference key="IBUIFont" ref="839162475"/>
|
||||
<reference key="IBUIFontDescription" ref="794091713"/>
|
||||
<reference key="IBUIFont" ref="993152718"/>
|
||||
</object>
|
||||
<object class="IBUIButton" id="908144004">
|
||||
<reference key="NSNextResponder" ref="590484871"/>
|
||||
<object class="IBUIButton" id="264394465">
|
||||
<reference key="NSNextResponder" ref="931774220"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{160, 0}, {80, 67}}</string>
|
||||
<reference key="NSSuperview" ref="590484871"/>
|
||||
<reference key="NSSuperview" ref="931774220"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="1057022694"/>
|
||||
<reference key="NSNextKeyView" ref="62185125"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<object class="IBUIAccessibilityConfiguration" key="IBUIAccessibilityConfiguration">
|
||||
|
|
@ -154,31 +156,32 @@
|
|||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<int key="IBUIContentHorizontalAlignment">0</int>
|
||||
<int key="IBUIContentVerticalAlignment">0</int>
|
||||
<reference key="IBUIHighlightedTitleColor" ref="855460971"/>
|
||||
<bool key="IBUIAdjustsImageWhenHighlighted">NO</bool>
|
||||
<reference key="IBUIHighlightedTitleColor" ref="707105299"/>
|
||||
<object class="NSColor" key="IBUINormalTitleColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA</bytes>
|
||||
</object>
|
||||
<reference key="IBUINormalTitleShadowColor" ref="829474675"/>
|
||||
<reference key="IBUINormalTitleShadowColor" ref="838911807"/>
|
||||
<object class="NSCustomResource" key="IBUIHighlightedBackgroundImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">speacker-ON-over.png</string>
|
||||
</object>
|
||||
<object class="NSCustomResource" key="IBUISelectedBackgroundImage" id="86150103">
|
||||
<object class="NSCustomResource" key="IBUISelectedBackgroundImage" id="314442052">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">speacker-OFF-actif.png</string>
|
||||
</object>
|
||||
<reference key="IBUINormalBackgroundImage" ref="86150103"/>
|
||||
<reference key="IBUIFontDescription" ref="950385486"/>
|
||||
<reference key="IBUIFont" ref="839162475"/>
|
||||
<reference key="IBUINormalBackgroundImage" ref="314442052"/>
|
||||
<reference key="IBUIFontDescription" ref="794091713"/>
|
||||
<reference key="IBUIFont" ref="993152718"/>
|
||||
</object>
|
||||
<object class="IBUIButton" id="1057022694">
|
||||
<reference key="NSNextResponder" ref="590484871"/>
|
||||
<object class="IBUIButton" id="62185125">
|
||||
<reference key="NSNextResponder" ref="931774220"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{240, 0}, {80, 67}}</string>
|
||||
<reference key="NSSuperview" ref="590484871"/>
|
||||
<reference key="NSSuperview" ref="931774220"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="98146943"/>
|
||||
<reference key="NSNextKeyView" ref="542459126"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<object class="IBUIAccessibilityConfiguration" key="IBUIAccessibilityConfiguration">
|
||||
|
|
@ -187,31 +190,32 @@
|
|||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<int key="IBUIContentHorizontalAlignment">0</int>
|
||||
<int key="IBUIContentVerticalAlignment">0</int>
|
||||
<reference key="IBUIHighlightedTitleColor" ref="855460971"/>
|
||||
<bool key="IBUIAdjustsImageWhenHighlighted">NO</bool>
|
||||
<reference key="IBUIHighlightedTitleColor" ref="707105299"/>
|
||||
<object class="NSColor" key="IBUINormalTitleColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA</bytes>
|
||||
</object>
|
||||
<reference key="IBUINormalTitleShadowColor" ref="829474675"/>
|
||||
<object class="NSCustomResource" key="IBUIHighlightedBackgroundImage" id="1002842964">
|
||||
<reference key="IBUINormalTitleShadowColor" ref="838911807"/>
|
||||
<object class="NSCustomResource" key="IBUIHighlightedBackgroundImage" id="387794121">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">add-call-over.png</string>
|
||||
</object>
|
||||
<reference key="IBUISelectedBackgroundImage" ref="1002842964"/>
|
||||
<reference key="IBUISelectedBackgroundImage" ref="387794121"/>
|
||||
<object class="NSCustomResource" key="IBUINormalBackgroundImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">add-call-actif.png</string>
|
||||
</object>
|
||||
<reference key="IBUIFontDescription" ref="950385486"/>
|
||||
<reference key="IBUIFont" ref="839162475"/>
|
||||
<reference key="IBUIFontDescription" ref="794091713"/>
|
||||
<reference key="IBUIFont" ref="993152718"/>
|
||||
</object>
|
||||
<object class="IBUIButton" id="98146943">
|
||||
<reference key="NSNextResponder" ref="590484871"/>
|
||||
<object class="IBUIButton" id="542459126">
|
||||
<reference key="NSNextResponder" ref="931774220"/>
|
||||
<int key="NSvFlags">264</int>
|
||||
<string key="NSFrame">{{0, 67}, {105, 68}}</string>
|
||||
<reference key="NSSuperview" ref="590484871"/>
|
||||
<reference key="NSSuperview" ref="931774220"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="616216167"/>
|
||||
<reference key="NSNextKeyView" ref="99607181"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<object class="IBUIAccessibilityConfiguration" key="IBUIAccessibilityConfiguration">
|
||||
|
|
@ -220,13 +224,14 @@
|
|||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<int key="IBUIContentHorizontalAlignment">0</int>
|
||||
<int key="IBUIContentVerticalAlignment">0</int>
|
||||
<reference key="IBUIHighlightedTitleColor" ref="855460971"/>
|
||||
<bool key="IBUIAdjustsImageWhenHighlighted">NO</bool>
|
||||
<reference key="IBUIHighlightedTitleColor" ref="707105299"/>
|
||||
<object class="NSColor" key="IBUINormalTitleColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA</bytes>
|
||||
</object>
|
||||
<reference key="IBUINormalTitleShadowColor" ref="829474675"/>
|
||||
<object class="NSCustomResource" key="IBUIHighlightedBackgroundImage" id="106950836">
|
||||
<reference key="IBUINormalTitleShadowColor" ref="838911807"/>
|
||||
<object class="NSCustomResource" key="IBUIHighlightedBackgroundImage" id="509735403">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">pause-over.png</string>
|
||||
</object>
|
||||
|
|
@ -234,17 +239,17 @@
|
|||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">pause-actif.png</string>
|
||||
</object>
|
||||
<reference key="IBUINormalBackgroundImage" ref="106950836"/>
|
||||
<reference key="IBUIFontDescription" ref="950385486"/>
|
||||
<reference key="IBUIFont" ref="839162475"/>
|
||||
<reference key="IBUINormalBackgroundImage" ref="509735403"/>
|
||||
<reference key="IBUIFontDescription" ref="794091713"/>
|
||||
<reference key="IBUIFont" ref="993152718"/>
|
||||
</object>
|
||||
<object class="IBUIButton" id="616216167">
|
||||
<reference key="NSNextResponder" ref="590484871"/>
|
||||
<object class="IBUIButton" id="99607181">
|
||||
<reference key="NSNextResponder" ref="931774220"/>
|
||||
<int key="NSvFlags">264</int>
|
||||
<string key="NSFrame">{{105, 67}, {111, 68}}</string>
|
||||
<reference key="NSSuperview" ref="590484871"/>
|
||||
<reference key="NSSuperview" ref="931774220"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="583527516"/>
|
||||
<reference key="NSNextKeyView" ref="976589610"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<object class="IBUIAccessibilityConfiguration" key="IBUIAccessibilityConfiguration">
|
||||
|
|
@ -253,13 +258,14 @@
|
|||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<int key="IBUIContentHorizontalAlignment">0</int>
|
||||
<int key="IBUIContentVerticalAlignment">0</int>
|
||||
<reference key="IBUIHighlightedTitleColor" ref="855460971"/>
|
||||
<bool key="IBUIAdjustsImageWhenHighlighted">NO</bool>
|
||||
<reference key="IBUIHighlightedTitleColor" ref="707105299"/>
|
||||
<object class="NSColor" key="IBUINormalTitleColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA</bytes>
|
||||
</object>
|
||||
<reference key="IBUINormalTitleShadowColor" ref="829474675"/>
|
||||
<object class="NSCustomResource" key="IBUIHighlightedBackgroundImage" id="107972492">
|
||||
<reference key="IBUINormalTitleShadowColor" ref="838911807"/>
|
||||
<object class="NSCustomResource" key="IBUIHighlightedBackgroundImage" id="462657270">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">raccrocher-over.png</string>
|
||||
</object>
|
||||
|
|
@ -267,16 +273,17 @@
|
|||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">raccrocher-actif.png</string>
|
||||
</object>
|
||||
<reference key="IBUINormalBackgroundImage" ref="107972492"/>
|
||||
<reference key="IBUIFontDescription" ref="950385486"/>
|
||||
<reference key="IBUIFont" ref="839162475"/>
|
||||
<reference key="IBUINormalBackgroundImage" ref="462657270"/>
|
||||
<reference key="IBUIFontDescription" ref="794091713"/>
|
||||
<reference key="IBUIFont" ref="993152718"/>
|
||||
</object>
|
||||
<object class="IBUIButton" id="583527516">
|
||||
<reference key="NSNextResponder" ref="590484871"/>
|
||||
<object class="IBUIButton" id="976589610">
|
||||
<reference key="NSNextResponder" ref="931774220"/>
|
||||
<int key="NSvFlags">264</int>
|
||||
<string key="NSFrame">{{215, 67}, {105, 68}}</string>
|
||||
<reference key="NSSuperview" ref="590484871"/>
|
||||
<reference key="NSSuperview" ref="931774220"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<object class="IBUIAccessibilityConfiguration" key="IBUIAccessibilityConfiguration">
|
||||
|
|
@ -285,13 +292,14 @@
|
|||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<int key="IBUIContentHorizontalAlignment">0</int>
|
||||
<int key="IBUIContentVerticalAlignment">0</int>
|
||||
<reference key="IBUIHighlightedTitleColor" ref="855460971"/>
|
||||
<bool key="IBUIAdjustsImageWhenHighlighted">NO</bool>
|
||||
<reference key="IBUIHighlightedTitleColor" ref="707105299"/>
|
||||
<object class="NSColor" key="IBUINormalTitleColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA</bytes>
|
||||
</object>
|
||||
<reference key="IBUINormalTitleShadowColor" ref="829474675"/>
|
||||
<object class="NSCustomResource" key="IBUIHighlightedBackgroundImage" id="401528858">
|
||||
<reference key="IBUINormalTitleShadowColor" ref="838911807"/>
|
||||
<object class="NSCustomResource" key="IBUIHighlightedBackgroundImage" id="1031230911">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">dialer-meteo-sortir-over.png</string>
|
||||
</object>
|
||||
|
|
@ -299,15 +307,15 @@
|
|||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">dialer-meteo-sortir-actif.png</string>
|
||||
</object>
|
||||
<reference key="IBUINormalBackgroundImage" ref="401528858"/>
|
||||
<reference key="IBUIFontDescription" ref="950385486"/>
|
||||
<reference key="IBUIFont" ref="839162475"/>
|
||||
<reference key="IBUINormalBackgroundImage" ref="1031230911"/>
|
||||
<reference key="IBUIFontDescription" ref="794091713"/>
|
||||
<reference key="IBUIFont" ref="993152718"/>
|
||||
</object>
|
||||
</array>
|
||||
<string key="NSFrameSize">{320, 135}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="109354525"/>
|
||||
<reference key="NSNextKeyView" ref="464536687"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<object class="NSColor" key="IBUIBackgroundColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
|
|
@ -323,10 +331,51 @@
|
|||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">view</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="590484871"/>
|
||||
<reference key="destination" ref="931774220"/>
|
||||
</object>
|
||||
<int key="connectionID">13</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">pauseButton</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="542459126"/>
|
||||
</object>
|
||||
<int key="connectionID">15</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">speakerButton</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="264394465"/>
|
||||
</object>
|
||||
<int key="connectionID">16</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">videoButton</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="262544423"/>
|
||||
</object>
|
||||
<int key="connectionID">17</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">microButton</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="693636558"/>
|
||||
</object>
|
||||
<int key="connectionID">14</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchEventConnection" key="connection">
|
||||
<string key="label">onPauseClick:</string>
|
||||
<reference key="source" ref="542459126"/>
|
||||
<reference key="destination" ref="372490531"/>
|
||||
<int key="IBEventType">7</int>
|
||||
</object>
|
||||
<int key="connectionID">18</int>
|
||||
</object>
|
||||
</array>
|
||||
<object class="IBMutableOrderedSet" key="objectRecords">
|
||||
<array key="orderedObjects">
|
||||
|
|
@ -349,67 +398,68 @@
|
|||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">4</int>
|
||||
<reference key="object" ref="590484871"/>
|
||||
<reference key="object" ref="931774220"/>
|
||||
<array class="NSMutableArray" key="children">
|
||||
<reference ref="109354525"/>
|
||||
<reference ref="583527516"/>
|
||||
<reference ref="616216167"/>
|
||||
<reference ref="98146943"/>
|
||||
<reference ref="908144004"/>
|
||||
<reference ref="1057022694"/>
|
||||
<reference ref="1023772893"/>
|
||||
<reference ref="1013099198"/>
|
||||
<reference ref="464536687"/>
|
||||
<reference ref="976589610"/>
|
||||
<reference ref="99607181"/>
|
||||
<reference ref="542459126"/>
|
||||
<reference ref="264394465"/>
|
||||
<reference ref="62185125"/>
|
||||
<reference ref="262544423"/>
|
||||
<reference ref="693636558"/>
|
||||
</array>
|
||||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">callTabBar</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">5</int>
|
||||
<reference key="object" ref="109354525"/>
|
||||
<reference key="parent" ref="590484871"/>
|
||||
<reference key="object" ref="464536687"/>
|
||||
<array class="NSMutableArray" key="children"/>
|
||||
<reference key="parent" ref="931774220"/>
|
||||
<string key="objectName">mask</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">6</int>
|
||||
<reference key="object" ref="583527516"/>
|
||||
<reference key="parent" ref="590484871"/>
|
||||
<reference key="object" ref="976589610"/>
|
||||
<reference key="parent" ref="931774220"/>
|
||||
<string key="objectName">back</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">7</int>
|
||||
<reference key="object" ref="616216167"/>
|
||||
<reference key="parent" ref="590484871"/>
|
||||
<reference key="object" ref="99607181"/>
|
||||
<reference key="parent" ref="931774220"/>
|
||||
<string key="objectName">hangup</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">8</int>
|
||||
<reference key="object" ref="98146943"/>
|
||||
<reference key="parent" ref="590484871"/>
|
||||
<reference key="object" ref="542459126"/>
|
||||
<reference key="parent" ref="931774220"/>
|
||||
<string key="objectName">pause</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">9</int>
|
||||
<reference key="object" ref="908144004"/>
|
||||
<reference key="parent" ref="590484871"/>
|
||||
<reference key="object" ref="264394465"/>
|
||||
<reference key="parent" ref="931774220"/>
|
||||
<string key="objectName">speaker</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">10</int>
|
||||
<reference key="object" ref="1057022694"/>
|
||||
<reference key="parent" ref="590484871"/>
|
||||
<reference key="object" ref="62185125"/>
|
||||
<reference key="parent" ref="931774220"/>
|
||||
<string key="objectName">addCall</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">11</int>
|
||||
<reference key="object" ref="1023772893"/>
|
||||
<reference key="parent" ref="590484871"/>
|
||||
<string key="objectName">micro</string>
|
||||
<int key="objectID">12</int>
|
||||
<reference key="object" ref="262544423"/>
|
||||
<reference key="parent" ref="931774220"/>
|
||||
<string key="objectName">video</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">12</int>
|
||||
<reference key="object" ref="1013099198"/>
|
||||
<reference key="parent" ref="590484871"/>
|
||||
<string key="objectName">video</string>
|
||||
<int key="objectID">11</int>
|
||||
<reference key="object" ref="693636558"/>
|
||||
<reference key="parent" ref="931774220"/>
|
||||
<string key="objectName">micro</string>
|
||||
</object>
|
||||
</array>
|
||||
</object>
|
||||
|
|
@ -420,18 +470,22 @@
|
|||
<string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="10.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<real value="2" key="10.IBUIButtonInspectorSelectedStateConfigurationMetadataKey"/>
|
||||
<string key="11.CustomClassName">UIMicroButton</string>
|
||||
<string key="11.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<real value="0.0" key="11.IBUIButtonInspectorSelectedStateConfigurationMetadataKey"/>
|
||||
<string key="12.CustomClassName">UIToggleVideoButton</string>
|
||||
<string key="12.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<real value="0.0" key="12.IBUIButtonInspectorSelectedStateConfigurationMetadataKey"/>
|
||||
<string key="4.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="5.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="6.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<real value="1" key="6.IBUIButtonInspectorSelectedStateConfigurationMetadataKey"/>
|
||||
<string key="7.CustomClassName">UIHangUpButton</string>
|
||||
<string key="7.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<real value="2" key="7.IBUIButtonInspectorSelectedStateConfigurationMetadataKey"/>
|
||||
<string key="8.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<real value="2" key="8.IBUIButtonInspectorSelectedStateConfigurationMetadataKey"/>
|
||||
<string key="9.CustomClassName">UISpeakerButton</string>
|
||||
<string key="9.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<real value="0.0" key="9.IBUIButtonInspectorSelectedStateConfigurationMetadataKey"/>
|
||||
</dictionary>
|
||||
|
|
@ -439,18 +493,104 @@
|
|||
<nil key="activeLocalization"/>
|
||||
<dictionary class="NSMutableDictionary" key="localizations"/>
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">13</int>
|
||||
<int key="maxID">18</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">LinphoneCallBar</string>
|
||||
<string key="superclassName">UIViewController</string>
|
||||
<object class="NSMutableDictionary" key="actions">
|
||||
<string key="NS.key.0">onPauseClick:</string>
|
||||
<string key="NS.object.0">id</string>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="actionInfosByName">
|
||||
<string key="NS.key.0">onPauseClick:</string>
|
||||
<object class="IBActionInfo" key="NS.object.0">
|
||||
<string key="name">onPauseClick:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
</object>
|
||||
<dictionary class="NSMutableDictionary" key="outlets">
|
||||
<string key="microButton">UIMicroButton</string>
|
||||
<string key="pauseButton">UIButton</string>
|
||||
<string key="speakerButton">UIButton</string>
|
||||
<string key="videoButton">UIButton</string>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
|
||||
<object class="IBToOneOutletInfo" key="microButton">
|
||||
<string key="name">microButton</string>
|
||||
<string key="candidateClassName">UIMicroButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="pauseButton">
|
||||
<string key="name">pauseButton</string>
|
||||
<string key="candidateClassName">UIButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="speakerButton">
|
||||
<string key="name">speakerButton</string>
|
||||
<string key="candidateClassName">UIButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="videoButton">
|
||||
<string key="name">videoButton</string>
|
||||
<string key="candidateClassName">UIButton</string>
|
||||
</object>
|
||||
</dictionary>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">./Classes/LinphoneCallBar.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIHangUpButton</string>
|
||||
<string key="superclassName">UIButton</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">./Classes/UIHangUpButton.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIMicroButton</string>
|
||||
<string key="superclassName">UIToggleButton</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">./Classes/UIMicroButton.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UISpeakerButton</string>
|
||||
<string key="superclassName">UIToggleButton</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">./Classes/UISpeakerButton.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIToggleButton</string>
|
||||
<string key="superclassName">UIButton</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">./Classes/UIToggleButton.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIToggleVideoButton</string>
|
||||
<string key="superclassName">UIButton</string>
|
||||
<object class="NSMutableDictionary" key="outlets">
|
||||
<string key="NS.key.0">videoUpdateIndicator</string>
|
||||
<string key="NS.object.0">UIActivityIndicatorView</string>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="toOneOutletInfosByName">
|
||||
<string key="NS.key.0">videoUpdateIndicator</string>
|
||||
<object class="IBToOneOutletInfo" key="NS.object.0">
|
||||
<string key="name">videoUpdateIndicator</string>
|
||||
<string key="candidateClassName">UIActivityIndicatorView</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">./Classes/UIToggleVideoButton.h</string>
|
||||
</object>
|
||||
</object>
|
||||
</array>
|
||||
</object>
|
||||
<int key="IBDocument.localizationMode">0</int>
|
||||
|
|
|
|||
|
|
@ -63,11 +63,16 @@
|
|||
|
||||
- (void) viewDidUnload {
|
||||
[[NSNotificationCenter defaultCenter] removeObserver:self];
|
||||
[historyButton release];
|
||||
[contactsButton release];
|
||||
[dialerButton release];
|
||||
[settingsButton release];
|
||||
[chatButton release];
|
||||
}
|
||||
|
||||
- (void) dealloc {
|
||||
[super dealloc];
|
||||
[[NSNotificationCenter defaultCenter] removeObserver:self];
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
- (IBAction) onHistoryClick: (id) sender {
|
||||
|
|
|
|||
|
|
@ -20,9 +20,9 @@
|
|||
#import <Foundation/Foundation.h>
|
||||
#import <AVFoundation/AVAudioSession.h>
|
||||
#import <SystemConfiguration/SCNetworkReachability.h>
|
||||
#include "linphonecore.h"
|
||||
#import "LogView.h"
|
||||
#import "LinphoneUIDelegates.h"
|
||||
|
||||
#include "linphonecore.h"
|
||||
|
||||
typedef enum _PhoneView {
|
||||
PhoneView_Dialer,
|
||||
|
|
@ -58,6 +58,12 @@ typedef struct _LinphoneCallAppData {
|
|||
int transferButtonIndex;
|
||||
} LinphoneCallAppData;
|
||||
|
||||
@interface LinphoneCallWrapper : NSObject {
|
||||
@public
|
||||
LinphoneCall* call;
|
||||
}
|
||||
- (id) initWithCall: (LinphoneCall*) call;
|
||||
@end
|
||||
|
||||
@interface LinphoneManager : NSObject <AVAudioSessionDelegate> {
|
||||
@protected
|
||||
|
|
@ -66,7 +72,6 @@ typedef struct _LinphoneCallAppData {
|
|||
NSTimer* mIterateTimer;
|
||||
id<LogView> mLogView;
|
||||
bool isbackgroundModeEnabled;
|
||||
id<LinphoneUICallDelegate> callDelegate;
|
||||
|
||||
UIViewController* mCurrentViewController;
|
||||
Connectivity connectivity;
|
||||
|
|
@ -85,10 +90,9 @@ typedef struct _LinphoneCallAppData {
|
|||
+(LinphoneCore*) getLc;
|
||||
+(BOOL) runningOnIpad;
|
||||
+(void) set:(UIView*)view hidden: (BOOL) hidden withName:(const char*)name andReason:(const char*) reason;
|
||||
+(void) set:(UIButton*)view enabled: (BOOL) enabled withName:(const char*)name andReason:(const char*) reason;
|
||||
+(void) logUIElementPressed:(const char*) name;
|
||||
|
||||
-(void) displayDialer;
|
||||
|
||||
-(void) registerLogView:(id<LogView>) view;
|
||||
|
||||
-(void) startLibLinphone;
|
||||
|
|
@ -106,9 +110,9 @@ typedef struct _LinphoneCallAppData {
|
|||
-(void) refreshRegisters;
|
||||
|
||||
-(void) changeView:(PhoneView) view;
|
||||
-(void) changeView:(PhoneView) view dict:(NSDictionary *)dict;
|
||||
-(PhoneView) currentView;
|
||||
|
||||
@property (nonatomic, retain) id<LinphoneUICallDelegate> callDelegate;
|
||||
@property Connectivity connectivity;
|
||||
@property (readonly) const char* frontCamId;
|
||||
@property (readonly) const char* backCamId;
|
||||
|
|
|
|||
|
|
@ -49,8 +49,20 @@ extern void libmssilk_init();
|
|||
#if HAVE_G729
|
||||
extern void libmsbcg729_init();
|
||||
#endif
|
||||
|
||||
@implementation LinphoneCallWrapper
|
||||
|
||||
- (id) initWithCall: (LinphoneCall*) acall {
|
||||
if((self = [super init]) != nil) {
|
||||
call = acall;
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
@implementation LinphoneManager
|
||||
@synthesize callDelegate;
|
||||
|
||||
@synthesize connectivity;
|
||||
@synthesize frontCamId;
|
||||
@synthesize backCamId;
|
||||
|
|
@ -69,16 +81,23 @@ extern void libmsbcg729_init();
|
|||
}
|
||||
|
||||
-(void) changeView:(PhoneView) view {
|
||||
[self changeView:view dict:nil];
|
||||
}
|
||||
|
||||
-(void) changeView:(PhoneView) view dict:(NSDictionary *)dict {
|
||||
currentView = view;
|
||||
NSDictionary* dict = [NSDictionary dictionaryWithObject: [NSNumber numberWithInt:currentView] forKey:@"view"];
|
||||
[[NSNotificationCenter defaultCenter] postNotificationName:@"LinphoneMainViewChange" object:self userInfo:dict];
|
||||
|
||||
NSMutableDictionary* mdict = [NSMutableDictionary dictionaryWithObject: [NSNumber numberWithInt:currentView] forKey:@"view"];
|
||||
if(dict != nil)
|
||||
[mdict addEntriesFromDictionary:dict];
|
||||
|
||||
[[NSNotificationCenter defaultCenter] postNotificationName:@"LinphoneMainViewChange" object:self userInfo:mdict];
|
||||
}
|
||||
|
||||
-(PhoneView) currentView {
|
||||
return currentView;
|
||||
}
|
||||
|
||||
|
||||
-(NSString*) getDisplayNameFromAddressBook:(NSString*) number andUpdateCallLog:(LinphoneCallLog*)log {
|
||||
//1 normalize
|
||||
NSString* lNormalizedNumber = [FastAddressBook normalizePhoneNumber:number];
|
||||
|
|
@ -151,6 +170,7 @@ extern void libmsbcg729_init();
|
|||
}
|
||||
|
||||
-(void) onCall:(LinphoneCall*) call StateChanged: (LinphoneCallState) new_state withMessage: (const char *) message {
|
||||
// Handling wrapper
|
||||
if(new_state == LinphoneCallReleased) {
|
||||
if(linphone_call_get_user_pointer(call) != NULL) {
|
||||
free (linphone_call_get_user_pointer(call));
|
||||
|
|
@ -158,85 +178,43 @@ extern void libmsbcg729_init();
|
|||
}
|
||||
return;
|
||||
}
|
||||
|
||||
const char* lUserNameChars=linphone_address_get_username(linphone_call_get_remote_address(call));
|
||||
NSString* lUserName = lUserNameChars?[[[NSString alloc] initWithUTF8String:lUserNameChars] autorelease]:NSLocalizedString(@"Unknown",nil);
|
||||
if (new_state == LinphoneCallIncomingReceived) {
|
||||
[self updateCallWithAddressBookData:call]; // display name is updated
|
||||
}
|
||||
const char* lDisplayNameChars = linphone_address_get_display_name(linphone_call_get_remote_address(call));
|
||||
NSString* lDisplayName = [lDisplayNameChars?[[NSString alloc] initWithUTF8String:lDisplayNameChars]:@"" autorelease];
|
||||
|
||||
bool canHideInCallView = (linphone_core_get_calls([LinphoneManager getLc]) == NULL);
|
||||
|
||||
if (!linphone_call_get_user_pointer(call)) {
|
||||
LinphoneCallAppData* data = (LinphoneCallAppData*) malloc(sizeof(LinphoneCallAppData));
|
||||
data->batteryWarningShown = FALSE;
|
||||
linphone_call_set_user_pointer(call, data);
|
||||
}
|
||||
|
||||
switch (new_state) {
|
||||
case LinphoneCallIncomingReceived:
|
||||
[callDelegate displayIncomingCall:call
|
||||
NotificationFromUI:mCurrentViewController
|
||||
forUser:lUserName
|
||||
withDisplayName:lDisplayName];
|
||||
break;
|
||||
|
||||
case LinphoneCallOutgoingInit:
|
||||
[callDelegate displayCall:call
|
||||
InProgressFromUI:mCurrentViewController
|
||||
forUser:lUserName
|
||||
withDisplayName:lDisplayName];
|
||||
break;
|
||||
case LinphoneCallPausedByRemote:
|
||||
case LinphoneCallConnected:
|
||||
[callDelegate displayInCall: call
|
||||
FromUI:mCurrentViewController
|
||||
forUser:lUserName
|
||||
withDisplayName:lDisplayName];
|
||||
break;
|
||||
case LinphoneCallUpdatedByRemote:
|
||||
{
|
||||
const LinphoneCallParams* current = linphone_call_get_current_params(call);
|
||||
const LinphoneCallParams* remote = linphone_call_get_remote_params(call);
|
||||
|
||||
/* remote wants to add video */
|
||||
if (!linphone_call_params_video_enabled(current) && linphone_call_params_video_enabled(remote) && !linphone_core_get_video_policy(theLinphoneCore)->automatically_accept) {
|
||||
linphone_core_defer_call_update(theLinphoneCore, call);
|
||||
[callDelegate displayAskToEnableVideoCall:call forUser:lUserName withDisplayName:lDisplayName];
|
||||
} else if (linphone_call_params_video_enabled(current) && !linphone_call_params_video_enabled(remote)) {
|
||||
[callDelegate displayInCall:call FromUI:mCurrentViewController forUser:lUserName withDisplayName:lDisplayName];
|
||||
}
|
||||
break;
|
||||
}
|
||||
case LinphoneCallUpdated:
|
||||
{
|
||||
const LinphoneCallParams* current = linphone_call_get_current_params(call);
|
||||
if (linphone_call_params_video_enabled(current)) {
|
||||
[callDelegate displayVideoCall:call FromUI:mCurrentViewController forUser:lUserName withDisplayName:lDisplayName];
|
||||
if (new_state == LinphoneCallIncomingReceived) {
|
||||
[self updateCallWithAddressBookData:call]; // display name is updated
|
||||
}
|
||||
|
||||
// Post event
|
||||
NSDictionary* dict = [[NSDictionary alloc] initWithObjectsAndKeys:
|
||||
[[[LinphoneCallWrapper alloc] initWithCall: call] autorelease], @"call",
|
||||
[NSNumber numberWithInt:new_state], @"state",
|
||||
[[NSString stringWithFormat:@"%c", message] autorelease], @"message",
|
||||
nil];
|
||||
[[NSNotificationCenter defaultCenter] postNotificationName:@"LinphoneCallUpdate" object:self userInfo:dict];
|
||||
|
||||
const char* lUserNameChars=linphone_address_get_username(linphone_call_get_remote_address(call));
|
||||
NSString* lUserName = lUserNameChars?[[[NSString alloc] initWithUTF8String:lUserNameChars] autorelease]:NSLocalizedString(@"Unknown",nil);
|
||||
switch (new_state) {
|
||||
case LinphoneCallError: {
|
||||
/*
|
||||
NSString* lTitle= state->message!=nil?[NSString stringWithCString:state->message length:strlen(state->message)]: @"Error";
|
||||
NSString* lMessage=lTitle;
|
||||
*/
|
||||
NSString* lMessage;
|
||||
NSString* lTitle;
|
||||
LinphoneProxyConfig* proxyCfg;
|
||||
//get default proxy
|
||||
linphone_core_get_default_proxy([LinphoneManager getLc],&proxyCfg);
|
||||
if (proxyCfg == nil) {
|
||||
lMessage=NSLocalizedString(@"Please make sure your device is connected to the internet and double check your SIP account configuration in the settings.",nil );
|
||||
} else {
|
||||
[callDelegate displayInCall:call FromUI:mCurrentViewController forUser:lUserName withDisplayName:lDisplayName];
|
||||
lMessage=[NSString stringWithFormat : NSLocalizedString(@"Cannot call %@",nil),lUserName];
|
||||
}
|
||||
break;
|
||||
|
||||
}
|
||||
case LinphoneCallError: {
|
||||
/*
|
||||
NSString* lTitle= state->message!=nil?[NSString stringWithCString:state->message length:strlen(state->message)]: @"Error";
|
||||
NSString* lMessage=lTitle;
|
||||
*/
|
||||
NSString* lMessage;
|
||||
NSString* lTitle;
|
||||
LinphoneProxyConfig* proxyCfg;
|
||||
//get default proxy
|
||||
linphone_core_get_default_proxy([LinphoneManager getLc],&proxyCfg);
|
||||
if (proxyCfg == nil) {
|
||||
lMessage=NSLocalizedString(@"Please make sure your device is connected to the internet and double check your SIP account configuration in the settings.",nil);
|
||||
} else {
|
||||
lMessage=[NSString stringWithFormat : NSLocalizedString(@"Cannot call %@",nil),lUserName];
|
||||
}
|
||||
|
||||
|
||||
if (linphone_call_get_reason(call) == LinphoneReasonNotFound) {
|
||||
lMessage=[NSString stringWithFormat : NSLocalizedString(@"'%@' not registered to Service",nil), lUserName];
|
||||
} else {
|
||||
|
|
@ -244,59 +222,20 @@ extern void libmsbcg729_init();
|
|||
lMessage=[NSString stringWithFormat : NSLocalizedString(@"%@\nReason was: %s",nil),lMessage, message];
|
||||
}
|
||||
}
|
||||
lTitle=NSLocalizedString(@"Call failed",nil);
|
||||
|
||||
UIAlertView* error = [[UIAlertView alloc] initWithTitle:lTitle
|
||||
message:lMessage
|
||||
delegate:nil
|
||||
cancelButtonTitle:NSLocalizedString(@"Dismiss",nil)
|
||||
otherButtonTitles:nil];
|
||||
[error show];
|
||||
lTitle=NSLocalizedString(@"Call failed",nil);
|
||||
UIAlertView* error = [[UIAlertView alloc] initWithTitle:lTitle
|
||||
message:lMessage
|
||||
delegate:nil
|
||||
cancelButtonTitle:NSLocalizedString(@"Dismiss",nil)
|
||||
otherButtonTitles:nil];
|
||||
[error show];
|
||||
[error release];
|
||||
if (canHideInCallView) {
|
||||
[callDelegate displayDialerFromUI:mCurrentViewController
|
||||
forUser:@""
|
||||
withDisplayName:@""];
|
||||
} else {
|
||||
[callDelegate displayInCall:call
|
||||
FromUI:mCurrentViewController
|
||||
forUser:lUserName
|
||||
withDisplayName:lDisplayName];
|
||||
}
|
||||
break;
|
||||
}
|
||||
case LinphoneCallEnd:
|
||||
if (canHideInCallView) {
|
||||
[callDelegate displayDialerFromUI:mCurrentViewController
|
||||
forUser:@""
|
||||
withDisplayName:@""];
|
||||
} else {
|
||||
[callDelegate displayInCall:call
|
||||
FromUI:mCurrentViewController
|
||||
forUser:lUserName
|
||||
withDisplayName:lDisplayName];
|
||||
}
|
||||
break;
|
||||
case LinphoneCallStreamsRunning:
|
||||
//check video
|
||||
if (linphone_call_params_video_enabled(linphone_call_get_current_params(call))) {
|
||||
[callDelegate displayVideoCall:call FromUI:mCurrentViewController
|
||||
forUser:lUserName
|
||||
withDisplayName:lDisplayName];
|
||||
} else {
|
||||
[callDelegate displayInCall:call FromUI:mCurrentViewController forUser:lUserName withDisplayName:lDisplayName];
|
||||
}
|
||||
break;
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
-(void) displayDialer {
|
||||
[callDelegate displayDialerFromUI:mCurrentViewController
|
||||
forUser:@""
|
||||
withDisplayName:@""];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+(LinphoneCore*) getLc {
|
||||
|
|
@ -306,12 +245,18 @@ extern void libmsbcg729_init();
|
|||
return theLinphoneCore;
|
||||
}
|
||||
|
||||
-(void) addLog:(NSString*) log {
|
||||
- (void)addLog:(NSString*) log {
|
||||
[mLogView addLog:log];
|
||||
}
|
||||
-(void)displayStatus:(NSString*) message {
|
||||
[callDelegate displayStatus:message];
|
||||
|
||||
- (void)displayStatus:(NSString*) message {
|
||||
// Post event
|
||||
NSDictionary* dict = [[NSDictionary alloc] initWithObjectsAndKeys:
|
||||
message, @"message",
|
||||
nil];
|
||||
[[NSNotificationCenter defaultCenter] postNotificationName:@"LinphoneDisplayStatus" object:self userInfo:dict];
|
||||
}
|
||||
|
||||
//generic log handler for debug version
|
||||
static void linphone_iphone_log_handler(int lev, const char *fmt, va_list args){
|
||||
NSString* format = [[NSString alloc] initWithCString:fmt encoding:[NSString defaultCStringEncoding]];
|
||||
|
|
@ -1062,6 +1007,13 @@ void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach
|
|||
return NO;
|
||||
}
|
||||
|
||||
+(void) set:(UIButton*)view enabled: (BOOL) enabled withName:(const char*)name andReason:(const char*) reason{
|
||||
if (view.enabled != enabled) {
|
||||
ms_message("UI - '%s' is now '%s' ('%s')", name, enabled ? "ENABLED" : "DISABLED", reason);
|
||||
[view setEnabled:enabled];
|
||||
}
|
||||
}
|
||||
|
||||
+(void) set:(UIView*)view hidden: (BOOL) hidden withName:(const char*)name andReason:(const char*) reason{
|
||||
if (view.hidden != hidden) {
|
||||
ms_message("UI - '%s' is now '%s' ('%s')", name, hidden ? "HIDDEN" : "SHOWN", reason);
|
||||
|
|
|
|||
|
|
@ -1,34 +0,0 @@
|
|||
/* LinphoneUIControler.h
|
||||
*
|
||||
* Copyright (C) 2011 Belledonne Comunications, Grenoble, France
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
#import <UIKit/UIKit.h>
|
||||
#include "linphonecore.h"
|
||||
|
||||
@protocol LinphoneUICallDelegate
|
||||
// UI changes
|
||||
-(void) displayDialerFromUI:(UIViewController*) viewCtrl forUser:(NSString*) username withDisplayName:(NSString*) displayName;
|
||||
-(void) displayCall: (LinphoneCall*) call InProgressFromUI:(UIViewController*) viewCtrl forUser:(NSString*) username withDisplayName:(NSString*) displayName;
|
||||
-(void) displayIncomingCall: (LinphoneCall*) call NotificationFromUI:(UIViewController*) viewCtrl forUser:(NSString*) username withDisplayName:(NSString*) displayName;
|
||||
-(void) displayInCall: (LinphoneCall*) call FromUI:(UIViewController*) viewCtrl forUser:(NSString*) username withDisplayName:(NSString*) displayName;
|
||||
-(void) displayVideoCall:(LinphoneCall*) call FromUI:(UIViewController*) viewCtrl forUser:(NSString*) username withDisplayName:(NSString*) displayName;
|
||||
//status reporting
|
||||
-(void) displayStatus:(NSString*) message;
|
||||
-(void) displayAskToEnableVideoCall:(LinphoneCall*) call forUser:(NSString*) username withDisplayName:(NSString*) displayName;
|
||||
-(void) firstVideoFrameDecoded:(LinphoneCall*) call;
|
||||
@end
|
||||
|
||||
|
|
@ -21,10 +21,9 @@
|
|||
#import "UIHangUpButton.h"
|
||||
#import "UIDigitButton.h"
|
||||
#import "UIToggleButton.h"
|
||||
#import "UIMuteButton.h"
|
||||
#import "UIMicroButton.h"
|
||||
#import "UISpeakerButton.h"
|
||||
#import "UIDuration.h"
|
||||
#import "UIEraseButton.h"
|
||||
#import "LinphoneUIDelegates.h"
|
||||
#import "UICamSwitch.h"
|
||||
#import "UIPauseResumeButton.h"
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@
|
|||
#import "UIToggleButton.h"
|
||||
|
||||
|
||||
@interface UIMuteButton : UIToggleButton<UIToggleButtonDelegate> {
|
||||
@interface UIMicroButton : UIToggleButton<UIToggleButtonDelegate> {
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -15,42 +15,33 @@
|
|||
* 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 "UIMuteButton.h"
|
||||
#include "LinphoneManager.h"
|
||||
*/
|
||||
|
||||
#import "UIMicroButton.h"
|
||||
|
||||
@implementation UIMuteButton
|
||||
#import "LinphoneManager.h"
|
||||
|
||||
@implementation UIMicroButton
|
||||
|
||||
|
||||
-(void) onOn {
|
||||
linphone_core_mute_mic([LinphoneManager getLc], true);
|
||||
}
|
||||
-(void) onOff {
|
||||
- (void)onOn {
|
||||
linphone_core_mute_mic([LinphoneManager getLc], false);
|
||||
}
|
||||
-(bool) isInitialStateOn {
|
||||
@try {
|
||||
return true == linphone_core_is_mic_muted([LinphoneManager getLc]);
|
||||
} @catch(NSException* e) {
|
||||
//not ready yet
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
- (void)onOff {
|
||||
linphone_core_mute_mic([LinphoneManager getLc], true);
|
||||
}
|
||||
|
||||
/*
|
||||
// Only override drawRect: if you perform custom drawing.
|
||||
// An empty implementation adversely affects performance during animation.
|
||||
- (void)drawRect:(CGRect)rect {
|
||||
// Drawing code.
|
||||
- (bool)isInitialStateOn {
|
||||
@try {
|
||||
return linphone_core_is_mic_muted([LinphoneManager getLc]) == false;
|
||||
} @catch(NSException* e) {
|
||||
//not ready yet
|
||||
return true;
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
- (void)dealloc {
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
|
||||
@end
|
||||
|
|
@ -35,14 +35,16 @@ static void audioRouteChangeListenerCallback (
|
|||
|
||||
}
|
||||
|
||||
-(void) initWithOnImage:(UIImage*) onImage offImage:(UIImage*) offImage debugName:(const char *)name{
|
||||
[super initWithOnImage:onImage offImage:offImage debugName:name];
|
||||
- (id)init {
|
||||
if((self = [super init]) != nil) {
|
||||
|
||||
AudioSessionInitialize(NULL, NULL, NULL, NULL);
|
||||
OSStatus lStatus = AudioSessionAddPropertyListener(routeChangeID, audioRouteChangeListenerCallback, self);
|
||||
if (lStatus) {
|
||||
ms_error ("cannot register route change handler [%ld]",lStatus);
|
||||
}
|
||||
AudioSessionInitialize(NULL, NULL, NULL, NULL);
|
||||
OSStatus lStatus = AudioSessionAddPropertyListener(routeChangeID, audioRouteChangeListenerCallback, self);
|
||||
if (lStatus) {
|
||||
ms_error ("cannot register route change handler [%ld]",lStatus);
|
||||
}
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -25,18 +25,9 @@
|
|||
-(bool) isInitialStateOn;
|
||||
@end
|
||||
|
||||
@interface UIToggleButton : UIButton <UIToggleButtonDelegate> {
|
||||
@private
|
||||
UIImage* mOnImage;
|
||||
UIImage* mOffImage;
|
||||
bool mIsOn;
|
||||
const char* debugName;
|
||||
|
||||
|
||||
@interface UIToggleButton : UIButton <UIToggleButtonDelegate> {
|
||||
}
|
||||
-(void) initWithOnImage:(UIImage*) onImage offImage:(UIImage*) offImage debugName:(const char*) name;
|
||||
-(bool) reset;
|
||||
-(bool) isOn;
|
||||
-(bool) toggle;
|
||||
|
||||
@end
|
||||
|
|
|
|||
|
|
@ -16,60 +16,55 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#import "UIToggleButton.h"
|
||||
#include "linphonecore.h"
|
||||
|
||||
@implementation UIToggleButton
|
||||
|
||||
-(void) touchUp:(id) sender {
|
||||
- (void)touchUp:(id) sender {
|
||||
[self toggle];
|
||||
}
|
||||
-(bool) isOn {
|
||||
return mIsOn;
|
||||
}
|
||||
-(bool) toggle {
|
||||
ms_message("UI - Toggle button '%s' state change %d -> %d",
|
||||
debugName, mIsOn, !mIsOn);
|
||||
if (mIsOn) {
|
||||
[self setImage:mOffImage forState:UIControlStateNormal];
|
||||
mIsOn=!mIsOn;
|
||||
|
||||
- (bool)toggle {
|
||||
if (self.selected) {
|
||||
self.selected=!self.selected;
|
||||
[self onOff];
|
||||
} else {
|
||||
[self setImage:mOnImage forState:UIControlStateNormal];
|
||||
mIsOn=!mIsOn;
|
||||
self.selected=!self.selected;
|
||||
[self onOn];
|
||||
}
|
||||
return mIsOn;
|
||||
|
||||
}
|
||||
-(bool) reset {
|
||||
mIsOn = [self isInitialStateOn];
|
||||
[self setImage:mIsOn?mOnImage:mOffImage forState:UIControlStateNormal];
|
||||
return mIsOn;
|
||||
return self.selected;
|
||||
}
|
||||
|
||||
-(void) initWithOnImage:(UIImage*) onImage offImage:(UIImage*) offImage debugName:(const char *)name{
|
||||
mOnImage = [onImage retain];
|
||||
mOffImage = [offImage retain];
|
||||
mIsOn=false;
|
||||
debugName = name;
|
||||
[self reset];
|
||||
- (bool)reset {
|
||||
self.selected = [self isInitialStateOn];
|
||||
return self.selected;
|
||||
}
|
||||
|
||||
- (id) init {
|
||||
[self reset];
|
||||
[self addTarget:self action:@selector(touchUp:) forControlEvents:UIControlEventTouchUpInside];
|
||||
|
||||
return self;
|
||||
}
|
||||
/*
|
||||
// Only override drawRect: if you perform custom drawing.
|
||||
// An empty implementation adversely affects performance during animation.
|
||||
- (void)drawRect:(CGRect)rect {
|
||||
// Drawing code.
|
||||
}
|
||||
*/
|
||||
|
||||
- (id)initWithFrame:(CGRect)frame {
|
||||
self = [super initWithFrame:frame];
|
||||
if (self) {
|
||||
[self init];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (id)initWithCoder:(NSCoder *)decoder {
|
||||
self = [super initWithCoder:decoder];
|
||||
if (self) {
|
||||
[self init];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void)dealloc {
|
||||
[super dealloc];
|
||||
[mOffImage release];
|
||||
[mOffImage release];
|
||||
}
|
||||
|
||||
-(void) onOn {
|
||||
|
|
@ -86,5 +81,4 @@
|
|||
return false;
|
||||
}
|
||||
|
||||
|
||||
@end
|
||||
|
|
|
|||
|
|
@ -55,14 +55,15 @@
|
|||
[self addTarget:self action:@selector(touchUp:) forControlEvents:UIControlEventTouchUpInside];
|
||||
return self;
|
||||
}
|
||||
|
||||
- (id)initWithFrame:(CGRect)frame {
|
||||
|
||||
self = [super initWithFrame:frame];
|
||||
if (self) {
|
||||
[self init];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (id)initWithCoder:(NSCoder *)decoder {
|
||||
self = [super initWithCoder:decoder];
|
||||
if (self) {
|
||||
|
|
|
|||
|
|
@ -21,7 +21,6 @@
|
|||
#include "ConsoleViewController.h"
|
||||
#import "LinphoneManager.h"
|
||||
|
||||
|
||||
@implementation MoreViewController
|
||||
@synthesize web;
|
||||
@synthesize credit;
|
||||
|
|
@ -29,7 +28,6 @@
|
|||
@synthesize creditText;
|
||||
@synthesize weburi;
|
||||
|
||||
|
||||
//Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
|
|
@ -40,8 +38,6 @@
|
|||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
// Override to allow orientations other than the default portrait orientation.
|
||||
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
|
||||
|
|
@ -62,16 +58,12 @@
|
|||
// e.g. self.myOutlet = nil;
|
||||
}
|
||||
|
||||
|
||||
- (void)dealloc {
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
|
||||
|
||||
-(void) enableLogView {
|
||||
isLogViewEnabled = true;
|
||||
|
||||
}
|
||||
|
||||
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
|
||||
|
|
@ -99,9 +91,6 @@
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
if (indexPath.section == 0) {
|
||||
return credit;
|
||||
|
|
|
|||
|
|
@ -29,20 +29,23 @@
|
|||
@private
|
||||
NSMutableDictionary *viewDescriptions;
|
||||
NSArray *views;
|
||||
UIViewController *callTabBarController;
|
||||
|
||||
UIViewController *statusBarController;
|
||||
|
||||
UIViewController *callTabBarController;
|
||||
UIViewController *mainTabBarController;
|
||||
UIView *addCallTabBar;
|
||||
UIViewController *incomingCallTabBarController;
|
||||
|
||||
}
|
||||
@property (nonatomic, retain) IBOutlet UIView* statusBarView;
|
||||
@property (nonatomic, retain) IBOutlet UIView* contentView;
|
||||
@property (nonatomic, retain) IBOutlet UIView* tabBarView;
|
||||
|
||||
@property (nonatomic, retain) IBOutlet UIViewController* callTabBarController;
|
||||
@property (nonatomic, retain) IBOutlet UIViewController* statusBarController;
|
||||
|
||||
@property (nonatomic, retain) IBOutlet UIViewController* callTabBarController;
|
||||
@property (nonatomic, retain) IBOutlet UIViewController* mainTabBarController;
|
||||
@property (nonatomic, retain) IBOutlet UIView* addCallTabBar;
|
||||
@property (nonatomic, retain) IBOutlet UIViewController* incomingCallTabBarController;
|
||||
|
||||
-(void) changeView: (NSNotification*) notif;
|
||||
@end
|
||||
|
|
|
|||
|
|
@ -45,13 +45,14 @@ typedef enum _TabBar {
|
|||
@synthesize contentView;
|
||||
@synthesize tabBarView;
|
||||
|
||||
@synthesize callTabBarController;
|
||||
@synthesize statusBarController;
|
||||
@synthesize mainTabBarController;
|
||||
@synthesize addCallTabBar;
|
||||
|
||||
- (void) changeView: (NSNotification*) notif {
|
||||
PhoneView view = [[notif.userInfo objectForKey: @"PhoneView"] intValue];
|
||||
@synthesize callTabBarController;
|
||||
@synthesize mainTabBarController;
|
||||
@synthesize incomingCallTabBarController;
|
||||
|
||||
- (void)changeView: (NSNotification*) notif {
|
||||
PhoneView view = [[notif.userInfo objectForKey: @"view"] intValue];
|
||||
ViewsDescription *description = [viewDescriptions objectForKey:[NSNumber numberWithInt: view]];
|
||||
|
||||
for (UIView *view in contentView.subviews) {
|
||||
|
|
@ -101,7 +102,7 @@ typedef enum _TabBar {
|
|||
contentView.frame = contentFrame;
|
||||
}
|
||||
|
||||
-(void)viewDidLoad {
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
UIView *dumb;
|
||||
|
||||
|
|
@ -174,11 +175,11 @@ typedef enum _TabBar {
|
|||
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(changeView:) name:@"LinphoneMainViewChange" object:nil];
|
||||
}
|
||||
|
||||
- (void) viewDidUnload {
|
||||
- (void)viewDidUnload {
|
||||
[[NSNotificationCenter defaultCenter] removeObserver:self];
|
||||
}
|
||||
|
||||
- (void) dealloc {
|
||||
- (void)dealloc {
|
||||
[super dealloc];
|
||||
[viewDescriptions dealloc];
|
||||
[statusBarView dealloc];
|
||||
|
|
|
|||
|
|
@ -161,7 +161,7 @@
|
|||
<int key="type">2</int>
|
||||
<double key="pointSize">15</double>
|
||||
</object>
|
||||
<object class="NSFont" key="IBUIFont" id="869093493">
|
||||
<object class="NSFont" key="IBUIFont" id="756910294">
|
||||
<string key="NSName">Helvetica-Bold</string>
|
||||
<double key="NSSize">15</double>
|
||||
<int key="NSfFlags">16</int>
|
||||
|
|
@ -196,7 +196,7 @@
|
|||
<string key="NSResourceName">refuser-actif.png</string>
|
||||
</object>
|
||||
<reference key="IBUIFontDescription" ref="9235248"/>
|
||||
<reference key="IBUIFont" ref="869093493"/>
|
||||
<reference key="IBUIFont" ref="756910294"/>
|
||||
</object>
|
||||
</object>
|
||||
<string key="NSFrameSize">{320, 77}</string>
|
||||
|
|
@ -263,7 +263,7 @@
|
|||
<string key="NSResourceName">contact-actif-add-call.png</string>
|
||||
</object>
|
||||
<reference key="IBUIFontDescription" ref="9235248"/>
|
||||
<reference key="IBUIFont" ref="869093493"/>
|
||||
<reference key="IBUIFont" ref="756910294"/>
|
||||
</object>
|
||||
<object class="IBUIButton" id="242616498">
|
||||
<reference key="NSNextResponder" ref="909644813"/>
|
||||
|
|
@ -294,7 +294,7 @@
|
|||
<string key="NSResourceName">cancel-actif.png</string>
|
||||
</object>
|
||||
<reference key="IBUIFontDescription" ref="9235248"/>
|
||||
<reference key="IBUIFont" ref="869093493"/>
|
||||
<reference key="IBUIFont" ref="756910294"/>
|
||||
</object>
|
||||
<object class="IBUIButton" id="143858935">
|
||||
<reference key="NSNextResponder" ref="909644813"/>
|
||||
|
|
@ -327,7 +327,7 @@
|
|||
</object>
|
||||
<reference key="IBUINormalBackgroundImage" ref="754280770"/>
|
||||
<reference key="IBUIFontDescription" ref="9235248"/>
|
||||
<reference key="IBUIFont" ref="869093493"/>
|
||||
<reference key="IBUIFont" ref="756910294"/>
|
||||
</object>
|
||||
</object>
|
||||
<string key="NSFrameSize">{320, 72}</string>
|
||||
|
|
@ -352,7 +352,7 @@
|
|||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<bool key="IBUIHorizontal">NO</bool>
|
||||
</object>
|
||||
<object class="IBUIViewController" id="233122513">
|
||||
<object class="IBUIViewController" id="355474761">
|
||||
<bool key="IBUIAutoresizesArchivedViewToFullSize">NO</bool>
|
||||
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
|
||||
<object class="IBUISimulatedOrientationMetrics" key="IBUISimulatedOrientationMetrics">
|
||||
|
|
@ -400,14 +400,6 @@
|
|||
</object>
|
||||
<int key="connectionID">159</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">addCallTabBar</string>
|
||||
<reference key="source" ref="841351856"/>
|
||||
<reference key="destination" ref="909644813"/>
|
||||
</object>
|
||||
<int key="connectionID">164</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">statusBarView</string>
|
||||
|
|
@ -436,7 +428,7 @@
|
|||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">callTabBarController</string>
|
||||
<reference key="source" ref="841351856"/>
|
||||
<reference key="destination" ref="233122513"/>
|
||||
<reference key="destination" ref="355474761"/>
|
||||
</object>
|
||||
<int key="connectionID">196</int>
|
||||
</object>
|
||||
|
|
@ -583,7 +575,7 @@
|
|||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">194</int>
|
||||
<reference key="object" ref="233122513"/>
|
||||
<reference key="object" ref="355474761"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">callBarController</string>
|
||||
</object>
|
||||
|
|
@ -682,112 +674,6 @@
|
|||
<object class="IBPartialClassDescription">
|
||||
<string key="className">LinphoneMainBar</string>
|
||||
<string key="superclassName">UIViewController</string>
|
||||
<object class="NSMutableDictionary" key="actions">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>onChatClick:</string>
|
||||
<string>onContactsClick:</string>
|
||||
<string>onDialerClick:</string>
|
||||
<string>onHistoryClick:</string>
|
||||
<string>onSettingsClick:</string>
|
||||
</object>
|
||||
<object class="NSArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
<string>id</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="actionInfosByName">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>onChatClick:</string>
|
||||
<string>onContactsClick:</string>
|
||||
<string>onDialerClick:</string>
|
||||
<string>onHistoryClick:</string>
|
||||
<string>onSettingsClick:</string>
|
||||
</object>
|
||||
<object class="NSArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">onChatClick:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">onContactsClick:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">onDialerClick:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">onHistoryClick:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo">
|
||||
<string key="name">onSettingsClick:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="outlets">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>chatButton</string>
|
||||
<string>contactsButton</string>
|
||||
<string>dialerButton</string>
|
||||
<string>historyButton</string>
|
||||
<string>settingsButton</string>
|
||||
</object>
|
||||
<object class="NSArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>UIButton</string>
|
||||
<string>UIButton</string>
|
||||
<string>UIButton</string>
|
||||
<string>UIButton</string>
|
||||
<string>UIButton</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="toOneOutletInfosByName">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>chatButton</string>
|
||||
<string>contactsButton</string>
|
||||
<string>dialerButton</string>
|
||||
<string>historyButton</string>
|
||||
<string>settingsButton</string>
|
||||
</object>
|
||||
<object class="NSArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBToOneOutletInfo">
|
||||
<string key="name">chatButton</string>
|
||||
<string key="candidateClassName">UIButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo">
|
||||
<string key="name">contactsButton</string>
|
||||
<string key="candidateClassName">UIButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo">
|
||||
<string key="name">dialerButton</string>
|
||||
<string key="candidateClassName">UIButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo">
|
||||
<string key="name">historyButton</string>
|
||||
<string key="candidateClassName">UIButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo">
|
||||
<string key="name">settingsButton</string>
|
||||
<string key="candidateClassName">UIButton</string>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">./Classes/LinphoneMainBar.h</string>
|
||||
|
|
@ -847,9 +733,9 @@
|
|||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>addCallTabBar</string>
|
||||
<string>callTabBarController</string>
|
||||
<string>contentView</string>
|
||||
<string>incomingCallTabBarController</string>
|
||||
<string>mainTabBarController</string>
|
||||
<string>statusBarController</string>
|
||||
<string>statusBarView</string>
|
||||
|
|
@ -857,11 +743,11 @@
|
|||
</object>
|
||||
<object class="NSArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>UIView</string>
|
||||
<string>UIViewController</string>
|
||||
<string>UIView</string>
|
||||
<string>UIViewController</string>
|
||||
<string>UIViewController</string>
|
||||
<string>UIViewController</string>
|
||||
<string>UIView</string>
|
||||
<string>UIView</string>
|
||||
</object>
|
||||
|
|
@ -870,9 +756,9 @@
|
|||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="NSArray" key="dict.sortedKeys">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>addCallTabBar</string>
|
||||
<string>callTabBarController</string>
|
||||
<string>contentView</string>
|
||||
<string>incomingCallTabBarController</string>
|
||||
<string>mainTabBarController</string>
|
||||
<string>statusBarController</string>
|
||||
<string>statusBarView</string>
|
||||
|
|
@ -880,10 +766,6 @@
|
|||
</object>
|
||||
<object class="NSArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<object class="IBToOneOutletInfo">
|
||||
<string key="name">addCallTabBar</string>
|
||||
<string key="candidateClassName">UIView</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo">
|
||||
<string key="name">callTabBarController</string>
|
||||
<string key="candidateClassName">UIViewController</string>
|
||||
|
|
@ -892,6 +774,10 @@
|
|||
<string key="name">contentView</string>
|
||||
<string key="candidateClassName">UIView</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo">
|
||||
<string key="name">incomingCallTabBarController</string>
|
||||
<string key="candidateClassName">UIViewController</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo">
|
||||
<string key="name">mainTabBarController</string>
|
||||
<string key="candidateClassName">UIViewController</string>
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@
|
|||
@class FirstLoginViewController;
|
||||
|
||||
|
||||
@interface PhoneViewController : UIViewController <UITextFieldDelegate,LinphoneUICallDelegate, UIActionSheetCustomDelegate> {
|
||||
@interface PhoneViewController : UIViewController <UITextFieldDelegate, UIActionSheetCustomDelegate> {
|
||||
|
||||
@private
|
||||
//UI definition
|
||||
|
|
@ -62,7 +62,6 @@
|
|||
|
||||
UIActionSheet *mIncomingCallActionSheet;
|
||||
FirstLoginViewController* myFirstLoginViewController;
|
||||
InCallViewController* mIncallViewController;
|
||||
MainScreenWithVideoPreview* mMainScreenWithVideoPreview;
|
||||
|
||||
UIButton* switchCamera;
|
||||
|
|
|
|||
|
|
@ -102,6 +102,9 @@
|
|||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
|
||||
// Set observer
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(callUpdate:) name:@"LinphoneCallUpdate" object:nil];
|
||||
|
||||
[mDisplayName release];
|
||||
mDisplayName = [UILabel alloc];
|
||||
[zero initWithNumber:'0' addressField:address dtmf:false];
|
||||
|
|
@ -121,10 +124,6 @@
|
|||
[erase initWithAddressField:address];
|
||||
[backToCallView addTarget:self action:@selector(backToCallViewPressed) forControlEvents:UIControlEventTouchUpInside];
|
||||
|
||||
if (mIncallViewController == nil)
|
||||
mIncallViewController = [[InCallViewController alloc] initWithNibName:[LinphoneManager runningOnIpad]?@"InCallViewController-ipad":@"InCallViewController"
|
||||
bundle:[NSBundle mainBundle]];
|
||||
|
||||
/*if (statusSubViewController == nil) {
|
||||
statusSubViewController = [[StatusSubViewController alloc] initWithNibName:@"StatusSubViewController"
|
||||
bundle:[NSBundle mainBundle]];
|
||||
|
|
@ -144,6 +143,7 @@
|
|||
- (void)viewDidUnload {
|
||||
// Release any retained subviews of the main view.
|
||||
// e.g. self.myOutlet = nil;
|
||||
[[NSNotificationCenter defaultCenter] removeObserver:self];
|
||||
}
|
||||
|
||||
- (BOOL)textFieldShouldReturn:(UITextField *)theTextField {
|
||||
|
|
@ -160,6 +160,107 @@
|
|||
[super viewWillAppear:animated];
|
||||
}
|
||||
|
||||
- (void)callUpdate: (NSNotification*) notif {
|
||||
LinphoneCallWrapper *callWrapper = [notif.userInfo objectForKey: @"call"];
|
||||
LinphoneCall *call = callWrapper->call;
|
||||
LinphoneCallState state = [[notif.userInfo objectForKey: @"state"] intValue];
|
||||
|
||||
const char* lUserNameChars=linphone_address_get_username(linphone_call_get_remote_address(call));
|
||||
NSString* lUserName = lUserNameChars?[[[NSString alloc] initWithUTF8String:lUserNameChars] autorelease]:NSLocalizedString(@"Unknown",nil);
|
||||
const char* lDisplayNameChars = linphone_address_get_display_name(linphone_call_get_remote_address(call));
|
||||
NSString* lDisplayName = [lDisplayNameChars?[[NSString alloc] initWithUTF8String:lDisplayNameChars]:@"" autorelease];
|
||||
|
||||
bool canHideInCallView = (linphone_core_get_calls([LinphoneManager getLc]) == NULL);
|
||||
|
||||
switch (state) {
|
||||
case LinphoneCallIncomingReceived:
|
||||
[self displayIncomingCall:call
|
||||
NotificationFromUI:nil
|
||||
forUser:lUserName
|
||||
withDisplayName:lDisplayName];
|
||||
break;
|
||||
|
||||
case LinphoneCallOutgoingInit:
|
||||
[self displayCall:call
|
||||
InProgressFromUI:nil
|
||||
forUser:lUserName
|
||||
withDisplayName:lDisplayName];
|
||||
break;
|
||||
case LinphoneCallPausedByRemote:
|
||||
case LinphoneCallConnected:
|
||||
[self displayInCall: call
|
||||
FromUI:nil
|
||||
forUser:lUserName
|
||||
withDisplayName:lDisplayName];
|
||||
break;
|
||||
case LinphoneCallUpdatedByRemote:
|
||||
{
|
||||
const LinphoneCallParams* current = linphone_call_get_current_params(call);
|
||||
const LinphoneCallParams* remote = linphone_call_get_remote_params(call);
|
||||
|
||||
/* remote wants to add video */
|
||||
if (!linphone_call_params_video_enabled(current) &&
|
||||
linphone_call_params_video_enabled(remote) &&
|
||||
!linphone_core_get_video_policy([LinphoneManager getLc])->automatically_accept) {
|
||||
linphone_core_defer_call_update([LinphoneManager getLc], call);
|
||||
[self displayAskToEnableVideoCall:call forUser:lUserName withDisplayName:lDisplayName];
|
||||
} else if (linphone_call_params_video_enabled(current) && !linphone_call_params_video_enabled(remote)) {
|
||||
[self displayInCall:call FromUI:nil forUser:lUserName withDisplayName:lDisplayName];
|
||||
}
|
||||
break;
|
||||
}
|
||||
case LinphoneCallUpdated:
|
||||
{
|
||||
const LinphoneCallParams* current = linphone_call_get_current_params(call);
|
||||
if (linphone_call_params_video_enabled(current)) {
|
||||
[self displayVideoCall:call FromUI:nil forUser:lUserName withDisplayName:lDisplayName];
|
||||
} else {
|
||||
[self displayInCall:call FromUI:nil forUser:lUserName withDisplayName:lDisplayName];
|
||||
}
|
||||
break;
|
||||
|
||||
}
|
||||
case LinphoneCallError: {
|
||||
if (canHideInCallView) {
|
||||
[self displayDialerFromUI:nil
|
||||
forUser:@""
|
||||
withDisplayName:@""];
|
||||
} else {
|
||||
[self displayInCall:call
|
||||
FromUI:nil
|
||||
forUser:lUserName
|
||||
withDisplayName:lDisplayName];
|
||||
}
|
||||
break;
|
||||
}
|
||||
case LinphoneCallEnd:
|
||||
if (canHideInCallView) {
|
||||
[self displayDialerFromUI:nil
|
||||
forUser:@""
|
||||
withDisplayName:@""];
|
||||
} else {
|
||||
[self displayInCall:call
|
||||
FromUI:nil
|
||||
forUser:lUserName
|
||||
withDisplayName:lDisplayName];
|
||||
}
|
||||
break;
|
||||
case LinphoneCallStreamsRunning:
|
||||
//check video
|
||||
if (linphone_call_params_video_enabled(linphone_call_get_current_params(call))) {
|
||||
[self displayVideoCall:call FromUI:nil
|
||||
forUser:lUserName
|
||||
withDisplayName:lDisplayName];
|
||||
} else {
|
||||
[self displayInCall:call FromUI:nil forUser:lUserName withDisplayName:lDisplayName];
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
- (void)displayDialerFromUI:(UIViewController*) viewCtrl forUser:(NSString*) username withDisplayName:(NSString*) displayName {
|
||||
|
||||
//cancel local notification, just in case
|
||||
|
|
@ -186,19 +287,12 @@
|
|||
//first login case, dismmis first login view
|
||||
[self dismissModalViewControllerAnimated:true];
|
||||
};
|
||||
[mIncallViewController displayDialerFromUI:viewCtrl
|
||||
forUser:username
|
||||
withDisplayName:displayName];
|
||||
|
||||
//[myTabBarController setSelectedIndex:DIALER_TAB_INDEX];
|
||||
[[LinphoneManager instance] changeView:PhoneView_Dialer];
|
||||
|
||||
[mMainScreenWithVideoPreview showPreview:YES];
|
||||
}
|
||||
|
||||
- (void)displayStatus:(NSString*) message {
|
||||
[mIncallViewController displayStatus:message];
|
||||
}
|
||||
|
||||
- (void)displayIncomingCall:(LinphoneCall*) call NotificationFromUI:(UIViewController*) viewCtrl forUser:(NSString*) username withDisplayName:(NSString*) displayName {
|
||||
[mMainScreenWithVideoPreview showPreview:NO];
|
||||
if ([[UIDevice currentDevice] respondsToSelector:@selector(isMultitaskingSupported)]
|
||||
|
|
@ -245,7 +339,7 @@
|
|||
|
||||
- (void)backToCallViewPressed {
|
||||
[UICallButton enableTransforMode:NO];
|
||||
[self presentModalViewController:(UIViewController*)mIncallViewController animated:true];
|
||||
[[LinphoneManager instance] changeView:PhoneView_InCall];
|
||||
|
||||
LinphoneCall* call = linphone_core_get_current_call([LinphoneManager getLc]);
|
||||
|
||||
|
|
@ -261,29 +355,20 @@
|
|||
|
||||
- (void)displayCall: (LinphoneCall*) call InProgressFromUI:(UIViewController*) viewCtrl forUser:(NSString*) username withDisplayName:(NSString*) displayName {
|
||||
[mMainScreenWithVideoPreview showPreview:NO];
|
||||
if (self.presentedViewController != (UIViewController*)mIncallViewController) {
|
||||
[self presentModalViewController:(UIViewController*)mIncallViewController animated:true];
|
||||
if ([[LinphoneManager instance]currentView] != PhoneView_InCall) {
|
||||
[[LinphoneManager instance] changeView:PhoneView_InCall];
|
||||
}
|
||||
[mIncallViewController displayCall:call InProgressFromUI:viewCtrl
|
||||
forUser:username
|
||||
withDisplayName:displayName];
|
||||
|
||||
[mMainScreenWithVideoPreview showPreview:NO];
|
||||
|
||||
}
|
||||
|
||||
- (void)displayInCall: (LinphoneCall*) call FromUI:(UIViewController*) viewCtrl forUser:(NSString*) username withDisplayName:(NSString*) displayName {
|
||||
[mMainScreenWithVideoPreview showPreview:NO];
|
||||
if (self.presentedViewController != (UIViewController*)mIncallViewController && (call == 0x0 ||
|
||||
if ([[LinphoneManager instance]currentView] != PhoneView_InCall && (call == 0x0 ||
|
||||
linphone_call_get_dir(call)==LinphoneCallIncoming)){
|
||||
[self presentModalViewController:(UIViewController*)mIncallViewController animated:true];
|
||||
|
||||
[[LinphoneManager instance] changeView:PhoneView_InCall];
|
||||
}
|
||||
|
||||
[mIncallViewController displayInCall:call FromUI:viewCtrl
|
||||
forUser:username
|
||||
withDisplayName:displayName];
|
||||
|
||||
[LinphoneManager set:callLarge hidden:YES withName:"CALL_LARGE button" andReason:__FUNCTION__];
|
||||
[LinphoneManager set:switchCamera hidden:YES withName:"SWITCH_CAMERA button" andReason:__FUNCTION__];
|
||||
[LinphoneManager set:callShort hidden:NO withName:"CALL_SHORT button" andReason:__FUNCTION__];
|
||||
|
|
@ -295,20 +380,14 @@
|
|||
|
||||
- (void)displayVideoCall:(LinphoneCall*) call FromUI:(UIViewController*) viewCtrl forUser:(NSString*) username withDisplayName:(NSString*) displayName {
|
||||
[mMainScreenWithVideoPreview showPreview:NO];
|
||||
[mIncallViewController displayVideoCall:call FromUI:viewCtrl
|
||||
forUser:username
|
||||
withDisplayName:displayName];
|
||||
|
||||
[mMainScreenWithVideoPreview showPreview:NO];
|
||||
[self updateCallAndBackButtons];
|
||||
}
|
||||
|
||||
- (void)displayAskToEnableVideoCall:(LinphoneCall*) call forUser:(NSString*) username withDisplayName:(NSString*) displayName {
|
||||
[mIncallViewController displayAskToEnableVideoCall:call forUser:username withDisplayName:displayName];
|
||||
}
|
||||
|
||||
|
||||
|
||||
- (void)actionSheet:(UIActionSheet *)actionSheet ofType:(enum CallDelegateType)type clickedButtonAtIndex:(NSInteger)buttonIndex withUserDatas:(void *)datas {
|
||||
if (type != CD_NEW_CALL)
|
||||
return;
|
||||
|
|
@ -323,8 +402,9 @@
|
|||
}
|
||||
|
||||
- (void)dealloc {
|
||||
[[NSNotificationCenter defaultCenter] removeObserver:self];
|
||||
[address dealloc];
|
||||
[ mDisplayName dealloc];
|
||||
[mDisplayName dealloc];
|
||||
[dialerView dealloc];
|
||||
[callShort dealloc];
|
||||
[callLarge dealloc];
|
||||
|
|
@ -342,7 +422,6 @@
|
|||
[zero dealloc];
|
||||
[hash dealloc];
|
||||
[myTabBarController release];
|
||||
[mIncallViewController release];
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
|
|
@ -371,7 +450,7 @@
|
|||
}
|
||||
|
||||
- (void)firstVideoFrameDecoded: (LinphoneCall*) call {
|
||||
[mIncallViewController firstVideoFrameDecoded:call];
|
||||
// [mIncallViewController firstVideoFrameDecoded:call];
|
||||
}
|
||||
|
||||
- (IBAction)onAddContact: (id) event {
|
||||
|
|
|
|||
|
|
@ -127,7 +127,6 @@
|
|||
<string key="NSFrame">{{215, 0}, {105, 72}}</string>
|
||||
<reference key="NSSuperview" ref="32193173"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
|
|
@ -770,6 +769,14 @@
|
|||
</object>
|
||||
<int key="connectionID">186</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">callLarge</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="375677999"/>
|
||||
</object>
|
||||
<int key="connectionID">189</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">delegate</string>
|
||||
|
|
@ -1106,7 +1113,7 @@
|
|||
<reference key="dict.values" ref="0"/>
|
||||
</object>
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">188</int>
|
||||
<int key="maxID">189</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
|
|
|
|||
|
|
@ -23,21 +23,21 @@
|
|||
UIView* mPortrait;
|
||||
UIView* mDisplay;
|
||||
UIView* mPreview;
|
||||
UIMuteButton* mMute;
|
||||
UIMicroButton* mMute;
|
||||
UIHangUpButton* mHangUp;
|
||||
UICamSwitch* mCamSwitch;
|
||||
|
||||
UIView* mLandscapeRight;
|
||||
UIView* mDisplayLandRight;
|
||||
UIView* mPreviewLandRight;
|
||||
UIMuteButton* mMuteLandRight;
|
||||
UIMicroButton* mMuteLandRight;
|
||||
UIHangUpButton* mHangUpLandRight;
|
||||
UICamSwitch* mCamSwitchLandRight;
|
||||
|
||||
UIView* mLandscapeLeft;
|
||||
UIView* mDisplayLandLeft;
|
||||
UIView* mPreviewLandLeft;
|
||||
UIMuteButton* mMuteLandLeft;
|
||||
UIMicroButton* mMuteLandLeft;
|
||||
UIHangUpButton* mHangUpLandLeft;
|
||||
UICamSwitch* mCamSwitchLandLeft;
|
||||
BOOL isFirst;
|
||||
|
|
@ -48,7 +48,7 @@
|
|||
@property (nonatomic, retain) IBOutlet UIView* mPortrait;
|
||||
@property (nonatomic, retain) IBOutlet UIView* mDisplay;
|
||||
@property (nonatomic, retain) IBOutlet UIView* mPreview;
|
||||
@property (nonatomic, retain) IBOutlet UIMuteButton* mMute;
|
||||
@property (nonatomic, retain) IBOutlet UIMicroButton* mMute;
|
||||
@property (nonatomic, retain) IBOutlet UIHangUpButton* mHangUp;
|
||||
@property (nonatomic, retain) IBOutlet UICamSwitch* mCamSwitch;
|
||||
@property (nonatomic, retain) IBOutlet UIImageView *mCallQuality;
|
||||
|
|
@ -56,7 +56,7 @@
|
|||
@property (nonatomic, retain) IBOutlet UIView* mLandscapeRight;
|
||||
@property (nonatomic, retain) IBOutlet UIView* mDisplayLandRight;
|
||||
@property (nonatomic, retain) IBOutlet UIView* mPreviewLandRight;
|
||||
@property (nonatomic, retain) IBOutlet UIMuteButton* mMuteLandRight;
|
||||
@property (nonatomic, retain) IBOutlet UIMicroButton* mMuteLandRight;
|
||||
@property (nonatomic, retain) IBOutlet UIHangUpButton* mHangUpLandRight;
|
||||
@property (nonatomic, retain) IBOutlet UICamSwitch* mCamSwitchLandRight;
|
||||
@property (nonatomic, retain) IBOutlet UIImageView *mCallQualityLandRight;
|
||||
|
|
@ -64,7 +64,7 @@
|
|||
@property (nonatomic, retain) IBOutlet UIView* mLandscapeLeft;
|
||||
@property (nonatomic, retain) IBOutlet UIView* mDisplayLandLeft;
|
||||
@property (nonatomic, retain) IBOutlet UIView* mPreviewLandLeft;
|
||||
@property (nonatomic, retain) IBOutlet UIMuteButton* mMuteLandLeft;
|
||||
@property (nonatomic, retain) IBOutlet UIMicroButton* mMuteLandLeft;
|
||||
@property (nonatomic, retain) IBOutlet UIHangUpButton* mHangUpLandLeft;
|
||||
@property (nonatomic, retain) IBOutlet UICamSwitch* mCamSwitchLandLeft;
|
||||
@property (retain, nonatomic) IBOutlet UIImageView *mCallQualityLandLeft;
|
||||
|
|
|
|||
|
|
@ -78,9 +78,9 @@ NSTimer *callQualityRefresher;
|
|||
- (void)viewDidLoad
|
||||
{
|
||||
[super viewDidLoad];
|
||||
[mMute initWithOnImage:[UIImage imageNamed:@"micro_inverse.png"] offImage:[UIImage imageNamed:@"micro.png"] debugName:"MUTE button"];
|
||||
/*[mMute initWithOnImage:[UIImage imageNamed:@"micro_inverse.png"] offImage:[UIImage imageNamed:@"micro.png"] debugName:"MUTE button"];
|
||||
[mMuteLandRight initWithOnImage:[UIImage imageNamed:@"micro_inverse.png"] offImage:[UIImage imageNamed:@"micro.png"] debugName:"MUTE2 button"];
|
||||
[mMuteLandLeft initWithOnImage:[UIImage imageNamed:@"micro_inverse.png"] offImage:[UIImage imageNamed:@"micro.png"] debugName:"MUTE3 button"];
|
||||
[mMuteLandLeft initWithOnImage:[UIImage imageNamed:@"micro_inverse.png"] offImage:[UIImage imageNamed:@"micro.png"] debugName:"MUTE3 button"];*/
|
||||
[mCamSwitch setPreview:mPreview];
|
||||
[mCamSwitchLandRight setPreview:mPreviewLandRight];
|
||||
[mCamSwitchLandLeft setPreview:mPreviewLandLeft];
|
||||
|
|
|
|||
|
|
@ -56,8 +56,7 @@
|
|||
2214783D1386A2030020F8B8 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 2214783B1386A2030020F8B8 /* Localizable.strings */; };
|
||||
2214EB7A12F846B1002A5394 /* UICallButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 2214EB7912F846B1002A5394 /* UICallButton.m */; };
|
||||
2214EB8912F84EBB002A5394 /* UIHangUpButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 2214EB8812F84EBB002A5394 /* UIHangUpButton.m */; };
|
||||
2214EBDA12F8558F002A5394 /* UIToggleButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 2214EBD912F8558F002A5394 /* UIToggleButton.m */; };
|
||||
2214EBF312F86360002A5394 /* UIMuteButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 2214EBF212F86360002A5394 /* UIMuteButton.m */; };
|
||||
2214EBF312F86360002A5394 /* UIMicroButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 2214EBF212F86360002A5394 /* UIMicroButton.m */; };
|
||||
2218A92512FBE1340088A667 /* FirstLoginViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 2218A92312FBE1340088A667 /* FirstLoginViewController.m */; };
|
||||
2218A92612FBE1340088A667 /* FirstLoginViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2218A92412FBE1340088A667 /* FirstLoginViewController.xib */; };
|
||||
22226C12118197C0000CA27B /* startcall-green.png in Resources */ = {isa = PBXBuildFile; fileRef = 22226C11118197C0000CA27B /* startcall-green.png */; };
|
||||
|
|
@ -105,7 +104,6 @@
|
|||
22AA8AFE13D7125600B30535 /* libmsx264.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 22AA8AFC13D7125500B30535 /* libmsx264.a */; };
|
||||
22AA8B0113D83F6300B30535 /* UICamSwitch.m in Sources */ = {isa = PBXBuildFile; fileRef = 22AA8B0013D83F6300B30535 /* UICamSwitch.m */; };
|
||||
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 */; };
|
||||
22BB1A69132FF16A005CD7AA /* UIEraseButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 22BB1A68132FF16A005CD7AA /* UIEraseButton.m */; };
|
||||
22C755601317E59C007BC101 /* UIBluetoothButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 22C7555F1317E59C007BC101 /* UIBluetoothButton.m */; };
|
||||
|
|
@ -138,15 +136,13 @@
|
|||
22D8F144147548E2008C97DB /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; };
|
||||
22D8F145147548E2008C97DB /* LinphoneAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D3623250D0F684500981E51 /* LinphoneAppDelegate.m */; };
|
||||
22D8F146147548E2008C97DB /* PhoneViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 22F2508C107141E100AC9B3F /* PhoneViewController.m */; };
|
||||
22D8F147147548E2008C97DB /* ContactPickerDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 22B5EFE410CE5E5800777D97 /* ContactPickerDelegate.m */; };
|
||||
22D8F14A147548E2008C97DB /* MoreViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 22E0A81C111C44E100B04932 /* MoreViewController.m */; };
|
||||
22D8F14B147548E2008C97DB /* ConsoleViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 22E0A81F111C44E100B04932 /* ConsoleViewController.m */; };
|
||||
22D8F14C147548E2008C97DB /* UIDigitButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 2248E90D12F7E4CF00220D9C /* UIDigitButton.m */; };
|
||||
22D8F14D147548E2008C97DB /* LinphoneManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 2248E99E12F801C200220D9C /* LinphoneManager.m */; };
|
||||
22D8F14E147548E2008C97DB /* UICallButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 2214EB7912F846B1002A5394 /* UICallButton.m */; };
|
||||
22D8F14F147548E2008C97DB /* UIHangUpButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 2214EB8812F84EBB002A5394 /* UIHangUpButton.m */; };
|
||||
22D8F150147548E2008C97DB /* UIToggleButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 2214EBD912F8558F002A5394 /* UIToggleButton.m */; };
|
||||
22D8F151147548E2008C97DB /* UIMuteButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 2214EBF212F86360002A5394 /* UIMuteButton.m */; };
|
||||
22D8F151147548E2008C97DB /* UIMicroButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 2214EBF212F86360002A5394 /* UIMicroButton.m */; };
|
||||
22D8F152147548E2008C97DB /* UISpeakerButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 22968A5E12F875C600588287 /* UISpeakerButton.m */; };
|
||||
22D8F153147548E2008C97DB /* UIDuration.m in Sources */ = {isa = PBXBuildFile; fileRef = 22968A8712F87C2000588287 /* UIDuration.m */; };
|
||||
22D8F154147548E2008C97DB /* FirstLoginViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 2218A92312FBE1340088A667 /* FirstLoginViewController.m */; };
|
||||
|
|
@ -264,6 +260,8 @@
|
|||
D326483F1588950F00930C67 /* LinphoneCallBar.m in Sources */ = {isa = PBXBuildFile; fileRef = D326483C1588950F00930C67 /* LinphoneCallBar.m */; };
|
||||
D32648401588950F00930C67 /* LinphoneCallBar.xib in Resources */ = {isa = PBXBuildFile; fileRef = D326483D1588950F00930C67 /* LinphoneCallBar.xib */; };
|
||||
D32648411588950F00930C67 /* LinphoneCallBar.xib in Resources */ = {isa = PBXBuildFile; fileRef = D326483D1588950F00930C67 /* LinphoneCallBar.xib */; };
|
||||
D32648441588F6FC00930C67 /* UIToggleButton.m in Sources */ = {isa = PBXBuildFile; fileRef = D32648431588F6FB00930C67 /* UIToggleButton.m */; };
|
||||
D32648451588F6FC00930C67 /* UIToggleButton.m in Sources */ = {isa = PBXBuildFile; fileRef = D32648431588F6FB00930C67 /* UIToggleButton.m */; };
|
||||
D347347A1580DDF1003C7B8C /* PhoneMainView.xib in Resources */ = {isa = PBXBuildFile; fileRef = D34734791580DDF1003C7B8C /* PhoneMainView.xib */; };
|
||||
D347347E1580E5F8003C7B8C /* history-actif.png in Resources */ = {isa = PBXBuildFile; fileRef = D347347C1580E5F8003C7B8C /* history-actif.png */; };
|
||||
D347347F1580E5F8003C7B8C /* history-selectionne.png in Resources */ = {isa = PBXBuildFile; fileRef = D347347D1580E5F8003C7B8C /* history-selectionne.png */; };
|
||||
|
|
@ -635,11 +633,8 @@
|
|||
2214EB8712F84EBB002A5394 /* UIHangUpButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIHangUpButton.h; sourceTree = "<group>"; };
|
||||
2214EB8812F84EBB002A5394 /* UIHangUpButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIHangUpButton.m; sourceTree = "<group>"; };
|
||||
2214EB8A12F84FE9002A5394 /* UILinphone.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UILinphone.h; sourceTree = "<group>"; };
|
||||
2214EBD812F8558F002A5394 /* UIToggleButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIToggleButton.h; sourceTree = "<group>"; };
|
||||
2214EBD912F8558F002A5394 /* UIToggleButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIToggleButton.m; sourceTree = "<group>"; };
|
||||
2214EBF112F86360002A5394 /* UIMuteButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIMuteButton.h; sourceTree = "<group>"; };
|
||||
2214EBF212F86360002A5394 /* UIMuteButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIMuteButton.m; sourceTree = "<group>"; };
|
||||
2218A5C412F9597B0088A667 /* LinphoneUIDelegates.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LinphoneUIDelegates.h; sourceTree = "<group>"; };
|
||||
2214EBF112F86360002A5394 /* UIMicroButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIMicroButton.h; sourceTree = "<group>"; };
|
||||
2214EBF212F86360002A5394 /* UIMicroButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIMicroButton.m; sourceTree = "<group>"; };
|
||||
2218A5CE12F973450088A667 /* LogView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LogView.h; sourceTree = "<group>"; };
|
||||
2218A92212FBE1340088A667 /* FirstLoginViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FirstLoginViewController.h; sourceTree = "<group>"; };
|
||||
2218A92312FBE1340088A667 /* FirstLoginViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FirstLoginViewController.m; sourceTree = "<group>"; };
|
||||
|
|
@ -696,8 +691,6 @@
|
|||
22AA8AFF13D83F6300B30535 /* UICamSwitch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UICamSwitch.h; sourceTree = "<group>"; };
|
||||
22AA8B0013D83F6300B30535 /* UICamSwitch.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UICamSwitch.m; sourceTree = "<group>"; };
|
||||
22B5EFA210CE50BD00777D97 /* AddressBookUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AddressBookUI.framework; path = System/Library/Frameworks/AddressBookUI.framework; sourceTree = SDKROOT; };
|
||||
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; };
|
||||
22BB1A67132FF16A005CD7AA /* UIEraseButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIEraseButton.h; sourceTree = "<group>"; };
|
||||
22BB1A68132FF16A005CD7AA /* UIEraseButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIEraseButton.m; sourceTree = "<group>"; };
|
||||
|
|
@ -842,6 +835,8 @@
|
|||
D326483B1588950F00930C67 /* LinphoneCallBar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LinphoneCallBar.h; sourceTree = "<group>"; };
|
||||
D326483C1588950F00930C67 /* LinphoneCallBar.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LinphoneCallBar.m; sourceTree = "<group>"; };
|
||||
D326483D1588950F00930C67 /* LinphoneCallBar.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = LinphoneCallBar.xib; sourceTree = "<group>"; };
|
||||
D32648421588F6FA00930C67 /* UIToggleButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIToggleButton.h; sourceTree = "<group>"; };
|
||||
D32648431588F6FB00930C67 /* UIToggleButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIToggleButton.m; sourceTree = "<group>"; };
|
||||
D34734791580DDF1003C7B8C /* PhoneMainView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = PhoneMainView.xib; sourceTree = "<group>"; };
|
||||
D347347C1580E5F8003C7B8C /* history-actif.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "history-actif.png"; path = "Resources/history-actif.png"; sourceTree = "<group>"; };
|
||||
D347347D1580E5F8003C7B8C /* history-selectionne.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "history-selectionne.png"; path = "Resources/history-selectionne.png"; sourceTree = "<group>"; };
|
||||
|
|
@ -1074,8 +1069,6 @@
|
|||
22E0A820111C44E100B04932 /* ConsoleViewController.h */,
|
||||
22E0A81F111C44E100B04932 /* ConsoleViewController.m */,
|
||||
22E0A81E111C44E100B04932 /* ConsoleViewController.xib */,
|
||||
22B5EFE310CE5E5800777D97 /* ContactPickerDelegate.h */,
|
||||
22B5EFE410CE5E5800777D97 /* ContactPickerDelegate.m */,
|
||||
D35497FB15875372000081D8 /* ContactsController.h */,
|
||||
D35497FC15875372000081D8 /* ContactsController.m */,
|
||||
D35497FD15875372000081D8 /* ContactsController.xib */,
|
||||
|
|
@ -1342,7 +1335,6 @@
|
|||
D354981E1587716B000081D8 /* LinphoneStatusBar.h */,
|
||||
D354981F1587716B000081D8 /* LinphoneStatusBar.m */,
|
||||
D35498201587716B000081D8 /* LinphoneStatusBar.xib */,
|
||||
2218A5C412F9597B0088A667 /* LinphoneUIDelegates.h */,
|
||||
2218A5CE12F973450088A667 /* LogView.h */,
|
||||
22C7555E1317E59C007BC101 /* UIBluetoothButton.h */,
|
||||
22C7555F1317E59C007BC101 /* UIBluetoothButton.m */,
|
||||
|
|
@ -1359,12 +1351,12 @@
|
|||
2214EB8712F84EBB002A5394 /* UIHangUpButton.h */,
|
||||
2214EB8812F84EBB002A5394 /* UIHangUpButton.m */,
|
||||
2214EB8A12F84FE9002A5394 /* UILinphone.h */,
|
||||
2214EBF112F86360002A5394 /* UIMuteButton.h */,
|
||||
2214EBF212F86360002A5394 /* UIMuteButton.m */,
|
||||
2214EBF112F86360002A5394 /* UIMicroButton.h */,
|
||||
2214EBF212F86360002A5394 /* UIMicroButton.m */,
|
||||
22968A5D12F875C600588287 /* UISpeakerButton.h */,
|
||||
22968A5E12F875C600588287 /* UISpeakerButton.m */,
|
||||
2214EBD812F8558F002A5394 /* UIToggleButton.h */,
|
||||
2214EBD912F8558F002A5394 /* UIToggleButton.m */,
|
||||
D32648421588F6FA00930C67 /* UIToggleButton.h */,
|
||||
D32648431588F6FB00930C67 /* UIToggleButton.m */,
|
||||
340751E5150F38FC00B89C47 /* UIToggleVideoButton.h */,
|
||||
340751E6150F38FD00B89C47 /* UIToggleVideoButton.m */,
|
||||
);
|
||||
|
|
@ -2086,15 +2078,13 @@
|
|||
1D60589B0D05DD56006BFB54 /* main.m in Sources */,
|
||||
1D3623260D0F684500981E51 /* LinphoneAppDelegate.m in Sources */,
|
||||
22F2508E107141E100AC9B3F /* PhoneViewController.m in Sources */,
|
||||
22B5EFE510CE5E5800777D97 /* ContactPickerDelegate.m in Sources */,
|
||||
22E0A822111C44E100B04932 /* MoreViewController.m in Sources */,
|
||||
22E0A824111C44E100B04932 /* ConsoleViewController.m in Sources */,
|
||||
2248E90E12F7E4CF00220D9C /* UIDigitButton.m in Sources */,
|
||||
2248E99F12F801C200220D9C /* LinphoneManager.m in Sources */,
|
||||
2214EB7A12F846B1002A5394 /* UICallButton.m in Sources */,
|
||||
2214EB8912F84EBB002A5394 /* UIHangUpButton.m in Sources */,
|
||||
2214EBDA12F8558F002A5394 /* UIToggleButton.m in Sources */,
|
||||
2214EBF312F86360002A5394 /* UIMuteButton.m in Sources */,
|
||||
2214EBF312F86360002A5394 /* UIMicroButton.m in Sources */,
|
||||
22968A5F12F875C600588287 /* UISpeakerButton.m in Sources */,
|
||||
22968A8812F87C2000588287 /* UIDuration.m in Sources */,
|
||||
2218A92512FBE1340088A667 /* FirstLoginViewController.m in Sources */,
|
||||
|
|
@ -2119,6 +2109,7 @@
|
|||
D3A55FBC15877E5E003FD403 /* ContactCell.m in Sources */,
|
||||
D326483815887D5200930C67 /* OrderedDictionary.m in Sources */,
|
||||
D326483E1588950F00930C67 /* LinphoneCallBar.m in Sources */,
|
||||
D32648441588F6FC00930C67 /* UIToggleButton.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
|
@ -2129,15 +2120,13 @@
|
|||
22D8F144147548E2008C97DB /* main.m in Sources */,
|
||||
22D8F145147548E2008C97DB /* LinphoneAppDelegate.m in Sources */,
|
||||
22D8F146147548E2008C97DB /* PhoneViewController.m in Sources */,
|
||||
22D8F147147548E2008C97DB /* ContactPickerDelegate.m in Sources */,
|
||||
22D8F14A147548E2008C97DB /* MoreViewController.m in Sources */,
|
||||
22D8F14B147548E2008C97DB /* ConsoleViewController.m in Sources */,
|
||||
22D8F14C147548E2008C97DB /* UIDigitButton.m in Sources */,
|
||||
22D8F14D147548E2008C97DB /* LinphoneManager.m in Sources */,
|
||||
22D8F14E147548E2008C97DB /* UICallButton.m in Sources */,
|
||||
22D8F14F147548E2008C97DB /* UIHangUpButton.m in Sources */,
|
||||
22D8F150147548E2008C97DB /* UIToggleButton.m in Sources */,
|
||||
22D8F151147548E2008C97DB /* UIMuteButton.m in Sources */,
|
||||
22D8F151147548E2008C97DB /* UIMicroButton.m in Sources */,
|
||||
22D8F152147548E2008C97DB /* UISpeakerButton.m in Sources */,
|
||||
22D8F153147548E2008C97DB /* UIDuration.m in Sources */,
|
||||
22D8F154147548E2008C97DB /* FirstLoginViewController.m in Sources */,
|
||||
|
|
@ -2162,6 +2151,7 @@
|
|||
D3A55FBD15877E5E003FD403 /* ContactCell.m in Sources */,
|
||||
D326483915887D5200930C67 /* OrderedDictionary.m in Sources */,
|
||||
D326483F1588950F00930C67 /* LinphoneCallBar.m in Sources */,
|
||||
D32648451588F6FC00930C67 /* UIToggleButton.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue