diff --git a/android/hal-handsfree.c b/android/hal-handsfree.c
index dc40a17..bb64da0 100644
--- a/android/hal-handsfree.c
+++ b/android/hal-handsfree.c
struct hal_ev_handsfree_volume *ev = buf;
if (cbs->volume_cmd_cb)
+#if ANDROID_VERSION >= PLATFORM_VER(5, 0, 0)
+ cbs->volume_cmd_cb(ev->type, ev->volume,
+ (bt_bdaddr_t *) (ev->bdaddr));
+#else
cbs->volume_cmd_cb(ev->type, ev->volume);
+#endif
}
static void handle_dial(void *buf, uint16_t len, int fd)
diff --git a/android/hal-ipc-api.txt b/android/hal-ipc-api.txt
index a27a9d6..a78a097 100644
--- a/android/hal-ipc-api.txt
+++ b/android/hal-ipc-api.txt
Notification parameters: Volume type (1 octet)
Volume (1 octet)
+ Remote address (6 octets)
Valid volume types: 0x00 = Speaker
0x01 = Microphone
diff --git a/android/hal-msg.h b/android/hal-msg.h
index 0abbb1f..889b45e 100644
--- a/android/hal-msg.h
+++ b/android/hal-msg.h
struct hal_ev_handsfree_volume {
uint8_t type;
uint8_t volume;
+ uint8_t bdaddr[6];
} __attribute__((packed));
#define HAL_EV_HANDSFREE_DIAL 0x87
diff --git a/android/handsfree.c b/android/handsfree.c
index babcdf2..c5aa99a 100644
--- a/android/handsfree.c
+++ b/android/handsfree.c
ev.type = HAL_HANDSFREE_VOLUME_TYPE_MIC;
ev.volume = val;
+ bdaddr2android(&dev->bdaddr, ev.bdaddr);
ipc_send_notif(hal_ipc, HAL_SERVICE_ID_HANDSFREE,
HAL_EV_HANDSFREE_VOLUME, sizeof(ev), &ev);
ev.type = HAL_HANDSFREE_VOLUME_TYPE_SPEAKER;
ev.volume = val;
+ bdaddr2android(&dev->bdaddr, ev.bdaddr);
ipc_send_notif(hal_ipc, HAL_SERVICE_ID_HANDSFREE,
HAL_EV_HANDSFREE_VOLUME, sizeof(ev), &ev);