Diff between 2ce0bb3c23e65e8a2dd910b517a94dc0c7da00c5 and ea3e91cf13da8f5e716534aa01c88b47e9443839

Changed Files

File Additions Deletions Status
android/hal-handsfree.c +4 -0 modified
android/hal-ipc-api.txt +2 -1 modified
android/hal-msg.h +1 -0 modified
android/handsfree.c +3 -0 modified

Full Patch

diff --git a/android/hal-handsfree.c b/android/hal-handsfree.c
index bb64da0..3a5eec6 100644
--- a/android/hal-handsfree.c
+++ b/android/hal-handsfree.c
@@ -122,7 +122,11 @@ static void handle_dial(void *buf, uint16_t len, int fd)
 	if (ev->number_len)
 		number = (char *) ev->number;
 
+#if ANDROID_VERSION >= PLATFORM_VER(5, 0, 0)
+	cbs->dial_call_cmd_cb(number, (bt_bdaddr_t *) (ev->bdaddr));
+#else
 	cbs->dial_call_cmd_cb(number);
+#endif
 }
 
 static void handle_dtmf(void *buf, uint16_t len, int fd)
diff --git a/android/hal-ipc-api.txt b/android/hal-ipc-api.txt
index a78a097..174bf79 100644
--- a/android/hal-ipc-api.txt
+++ b/android/hal-ipc-api.txt
@@ -1032,7 +1032,8 @@ Notifications:
 
 	Opcode 0x87 - Dial Call Command notification
 
-		Notification parameters: Number (string)
+		Notification parameters: Remote address (6 octets)
+		                         Number (string)
 
 	Opcode 0x88 - DTMF Command notification
 
diff --git a/android/hal-msg.h b/android/hal-msg.h
index 889b45e..a1cfff1 100644
--- a/android/hal-msg.h
+++ b/android/hal-msg.h
@@ -1368,6 +1368,7 @@ struct hal_ev_handsfree_volume {
 
 #define HAL_EV_HANDSFREE_DIAL		0x87
 struct hal_ev_handsfree_dial {
+	uint8_t bdaddr[6];
 	uint16_t number_len;
 	uint8_t number[0];
 } __attribute__((packed));
diff --git a/android/handsfree.c b/android/handsfree.c
index c5aa99a..121d37a 100644
--- a/android/handsfree.c
+++ b/android/handsfree.c
@@ -537,6 +537,8 @@ static void at_cmd_d(struct hfp_context *context,
 						(char *) ev->number, 255))
 			break;
 
+		bdaddr2android(&dev->bdaddr, ev->bdaddr);
+
 		ev->number_len = strlen((char *) ev->number);
 
 		if (ev->number[ev->number_len - 1] != ';')
@@ -794,6 +796,7 @@ static void at_cmd_bldn(struct hfp_context *context,
 		if (hfp_context_has_next(context))
 			break;
 
+		bdaddr2android(&dev->bdaddr, ev.bdaddr);
 		ev.number_len = 0;
 
 		ipc_send_notif(hal_ipc, HAL_SERVICE_ID_HANDSFREE,