summaryrefslogtreecommitdiffstats
path: root/bta
diff options
context:
space:
mode:
authorSyed Ibrahim M <syedibra@broadcom.com>2012-05-28 18:28:23 +0530
committerMatthew Xie <mattx@google.com>2012-07-14 11:19:21 -0700
commit001b6bbb50d8d371015efc12401ae1a2014b5f20 (patch)
tree806898e1b5542c0bb2beee1f82933fec64bc5a2c /bta
parent4583aa99e8985f15f81c3e069a29ac0fa7cc1f83 (diff)
downloadexternal_bluetooth_bluedroid-001b6bbb50d8d371015efc12401ae1a2014b5f20.zip
external_bluetooth_bluedroid-001b6bbb50d8d371015efc12401ae1a2014b5f20.tar.gz
external_bluetooth_bluedroid-001b6bbb50d8d371015efc12401ae1a2014b5f20.tar.bz2
Modified the BT stack to check for HID_VIRTUAL_UNPLUG SDP attribute and send a virtual unplug for all HID devices for device disconnect event;
Change-Id: I0068958800103037998eeaa01a45aad1f1605729
Diffstat (limited to 'bta')
-rw-r--r--bta/hh/bta_hh_act.c3
-rw-r--r--bta/include/bta_hh_api.h1
2 files changed, 4 insertions, 0 deletions
diff --git a/bta/hh/bta_hh_act.c b/bta/hh/bta_hh_act.c
index 163597e..0b771ab 100644
--- a/bta/hh/bta_hh_act.c
+++ b/bta/hh/bta_hh_act.c
@@ -873,12 +873,14 @@ void bta_hh_maint_dev_act(tBTA_HH_DEV_CB *p_cb, tBTA_HH_DATA *p_data)
p_dev_info->app_id);
/* update cb_index[] map */
bta_hh_cb.cb_index[dev_handle] = p_cb->index;
+ dev_info.attr_mask = p_dev_info->attr_mask;
}
}
else /* device already been added */
{
dev_info.handle = p_cb->hid_handle;
dev_info.status = BTA_HH_OK;
+ dev_info.attr_mask = p_dev_info->attr_mask;
}
#if BTA_HH_DEBUG
bta_hh_trace_dev_db();
@@ -899,6 +901,7 @@ void bta_hh_maint_dev_act(tBTA_HH_DEV_CB *p_cb, tBTA_HH_DATA *p_data)
bta_hh_clean_up_kdev(p_cb);
}
}
+ dev_info.attr_mask = 0; /* Reset the attribute mask */
break;
default:
diff --git a/bta/include/bta_hh_api.h b/bta/include/bta_hh_api.h
index dd9a528..7be05db 100644
--- a/bta/include/bta_hh_api.h
+++ b/bta/include/bta_hh_api.h
@@ -173,6 +173,7 @@ typedef struct
BD_ADDR bda; /* HID device bd address */
tBTA_HH_STATUS status; /* operation status */
UINT8 handle; /* device handle */
+ UINT16 attr_mask; /* HID Device attribute Mask*/
} tBTA_HH_CONN;
typedef tBTA_HH_CONN tBTA_HH_DEV_INFO;