diff --git a/Classes/BuschJaegerCallView.h b/Classes/BuschJaegerCallView.h
index dbb4c481d..cfff1135e 100644
--- a/Classes/BuschJaegerCallView.h
+++ b/Classes/BuschJaegerCallView.h
@@ -33,6 +33,8 @@
VideoZoomHandler* videoZoomHandler;
}
+@property (nonatomic, retain) IBOutlet UIView* incomingView;
+@property (nonatomic, retain) IBOutlet UILabel* contactLabel;
@property (nonatomic, retain) IBOutlet UIView* videoView;
@property (nonatomic, retain) IBOutlet UIButton* startCallButton;
@property (nonatomic, retain) IBOutlet UIButton* takeCallButton;
diff --git a/Classes/BuschJaegerCallView.m b/Classes/BuschJaegerCallView.m
index d681e5eaf..628c62f60 100644
--- a/Classes/BuschJaegerCallView.m
+++ b/Classes/BuschJaegerCallView.m
@@ -25,6 +25,8 @@
@implementation BuschJaegerCallView
+@synthesize incomingView;
+@synthesize contactLabel;
@synthesize videoView;
@synthesize startCallButton;
@synthesize takeCallButton;
@@ -123,6 +125,7 @@
name:kLinphoneCallUpdate
object:nil];
+ [incomingView setHidden:YES];
[startCallButton setHidden:NO];
[takeCallButton setHidden:YES];
[microButton setHidden:NO];
@@ -178,6 +181,7 @@
case LinphoneCallIncomingReceived:
{
[self displayIncomingCall:call];
+ break;
}
case LinphoneCallOutgoingInit:
case LinphoneCallConnected:
@@ -199,15 +203,40 @@
}
- (void)displayIncomingCall:(LinphoneCall *)call {
+ [incomingView setHidden:NO];
[startCallButton setHidden:YES];
[takeCallButton setHidden:NO];
[microButton setHidden:YES];
[declineButton setHidden:NO];
[endOrRejectCallButton setHidden:YES];
[videoView setHidden:NO];
+
+
+ NSString *contactName = NSLocalizedString(@"Unknown", nil);
+
+ // Extract caller address
+ const LinphoneAddress* addr = linphone_call_get_remote_address(call);
+ if(addr) {
+ char *address = linphone_address_as_string_uri_only(addr);
+ if(address != NULL) {
+ contactName = [FastAddressBook normalizeSipURI:[NSString stringWithUTF8String:address]];
+ ms_free(address);
+ }
+ }
+
+ // Find caller in outdoor stations
+ NSSet *outstations = [[LinphoneManager instance] configuration].outdoorStations;
+ for(OutdoorStation *os in outstations) {
+ if([[FastAddressBook normalizeSipURI:os.address] isEqualToString:contactName]) {
+ contactName = os.name;
+ break;
+ }
+ }
+ [contactLabel setText:contactName];
}
- (void)displayInCall {
+ [incomingView setHidden:YES];
[startCallButton setHidden:YES];
[takeCallButton setHidden:YES];
[microButton setHidden:NO];
@@ -217,6 +246,7 @@
}
- (void)displayVideoCall {
+ [incomingView setHidden:YES];
[startCallButton setHidden:YES];
[takeCallButton setHidden:YES];
[microButton setHidden:NO];
diff --git a/Classes/BuschJaegerCallView.xib b/Classes/BuschJaegerCallView.xib
index e38409768..288fab755 100644
--- a/Classes/BuschJaegerCallView.xib
+++ b/Classes/BuschJaegerCallView.xib
@@ -13,6 +13,7 @@
IBProxyObject
IBUIButton
+ IBUILabel
IBUIView
@@ -41,7 +42,7 @@
{320, 480}
-
+
_NS:196
+
{{0, 20}, {320, 480}}
@@ -352,6 +405,22 @@
84
+
+
+ incomingView
+
+
+
+ 87
+
+
+
+ contactLabel
+
+
+
+ 88
+
startCall:
@@ -396,6 +465,7 @@
+
@@ -412,12 +482,7 @@
-
-
- 4
-
-
- VideoView
+ ToolsView
8
@@ -461,6 +526,27 @@
Stop Call Button
+
+ 85
+
+
+
+
+
+ IncomingView
+
+
+ 4
+
+
+ VideoView
+
+
+ 86
+
+
+ contactLabel
+
@@ -492,6 +578,8 @@
com.apple.InterfaceBuilder.IBCocoaTouchPlugin
IBBuiltInLabel-Red
+ com.apple.InterfaceBuilder.IBCocoaTouchPlugin
+ com.apple.InterfaceBuilder.IBCocoaTouchPlugin
UIMicroButton
com.apple.InterfaceBuilder.IBCocoaTouchPlugin
@@ -501,7 +589,7 @@
- 84
+ 88
@@ -523,16 +611,22 @@
+ UILabel
UIHangUpButton
UIHangUpButton
+ UIView
UIDigitButton
+ UIToggleButton
UIDigitButton
- UIToggleButton
UIButton
UIButton
UIView
+
+ contactLabel
+ UILabel
+
declineButton
UIHangUpButton
@@ -541,18 +635,22 @@
endOrRejectCallButton
UIHangUpButton
+
+ incomingView
+ UIView
+
lightsButton
UIDigitButton
+
+ microButton
+ UIToggleButton
+
openDoorButton
UIDigitButton
-
- speakerButton
- UIToggleButton
-
startCallButton
UIButton