summaryrefslogtreecommitdiffstats
path: root/device
diff options
context:
space:
mode:
authorSteve Kondik <steve@cyngn.com>2016-03-11 04:05:26 -0800
committerSteve Kondik <steve@cyngn.com>2016-03-11 17:01:09 -0800
commit718ba0bd6de6a0f4b8c63f0146f8978981eb5cb4 (patch)
treeabf1ab9ce750848bcdb65ecf200676f9e1fec00e /device
parent775a7bab3bde0cf64b638100a5b40b22d421bb88 (diff)
parent04e4c5498beb89f54251dbbda6c83622372bd979 (diff)
downloadandroid_system_bt-718ba0bd6de6a0f4b8c63f0146f8978981eb5cb4.tar.gz
android_system_bt-718ba0bd6de6a0f4b8c63f0146f8978981eb5cb4.tar.bz2
android_system_bt-718ba0bd6de6a0f4b8c63f0146f8978981eb5cb4.zip
Merge tag 'android-6.0.1_r22' of https://android.googlesource.com/platform/system/bt into cm-13.0staging/cm-13.0+r22
Android 6.0.1 release 22 Change-Id: I2e682780163afc7e9c88865192a6342027c80586
Diffstat (limited to 'device')
-rw-r--r--device/include/interop.h4
-rw-r--r--device/include/interop_database.h32
-rw-r--r--device/src/interop.c1
3 files changed, 37 insertions, 0 deletions
diff --git a/device/include/interop.h b/device/include/interop.h
index 8391b4942..48aaf9066 100644
--- a/device/include/interop.h
+++ b/device/include/interop.h
@@ -58,6 +58,10 @@ typedef enum {
//Few carkits take long time to start sending AT commands
//Increase AG_CONN TIMEOUT so that AG connection go through
INTEROP_INCREASE_AG_CONN_TIMEOUT,
+ // Devices requiring this workaround do not handle Bluetooth Absolute Volume
+ // control correctly, leading to undesirable (potentially harmful) volume levels
+ // or general lack of controlability.
+ INTEROP_DISABLE_ABSOLUTE_VOLUME
} interop_feature_t;
// Check if a given |addr| matches a known interoperability workaround as identified
diff --git a/device/include/interop_database.h b/device/include/interop_database.h
index a0bdae756..c044db194 100644
--- a/device/include/interop_database.h
+++ b/device/include/interop_database.h
@@ -59,6 +59,38 @@ static const interop_addr_t interop_addr_database[] = {
// BMW car kits (Harman/Becker)
{{0x9c, 0xdf, 0x03, 0,0,0}, 3, INTEROP_AUTO_RETRY_PAIRING},
+ // Ausdom M05 - unacceptably loud volume
+ {{0xa0, 0xe9, 0xdb, 0,0,0}, 3, INTEROP_DISABLE_ABSOLUTE_VOLUME},
+
+ // iKross IKBT83B HS - unacceptably loud volume
+ {{0x00, 0x14, 0x02, 0,0,0}, 3, INTEROP_DISABLE_ABSOLUTE_VOLUME},
+
+ // Jabra EXTREAM2 - unacceptably loud volume
+ {{0x1c, 0x48, 0xf9, 0,0,0}, 3, INTEROP_DISABLE_ABSOLUTE_VOLUME},
+
+ // JayBird BlueBuds X - low granularity on volume control
+ {{0x44, 0x5e, 0xf3, 0,0,0}, 3, INTEROP_DISABLE_ABSOLUTE_VOLUME},
+ {{0xd4, 0x9c, 0x28, 0,0,0}, 3, INTEROP_DISABLE_ABSOLUTE_VOLUME},
+
+ // LG Tone HBS-730 - unacceptably loud volume
+ {{0x00, 0x18, 0x6b, 0,0,0}, 3, INTEROP_DISABLE_ABSOLUTE_VOLUME},
+ {{0xb8, 0xad, 0x3e, 0,0,0}, 3, INTEROP_DISABLE_ABSOLUTE_VOLUME},
+
+ // LG Tone HV-800 - unacceptably loud volume
+ {{0xa0, 0xe9, 0xdb, 0,0,0}, 3, INTEROP_DISABLE_ABSOLUTE_VOLUME},
+
+ // Mpow Cheetah - unacceptably loud volume
+ {{0x00, 0x11, 0xb1, 0,0,0}, 3, INTEROP_DISABLE_ABSOLUTE_VOLUME},
+
+ // SOL REPUBLIC Tracks Air - unable to adjust volume back off from max
+ {{0xa4, 0x15, 0x66, 0,0,0}, 3, INTEROP_DISABLE_ABSOLUTE_VOLUME},
+
+ // Swage Rokitboost HS - unacceptably loud volume
+ {{0x00, 0x14, 0xf1, 0,0,0}, 3, INTEROP_DISABLE_ABSOLUTE_VOLUME},
+
+ // VW Car Kit - not enough granularity with volume
+ {{0x00, 0x26, 0x7e, 0,0,0}, 3, INTEROP_DISABLE_ABSOLUTE_VOLUME},
+
// Apple Magic Mouse
{{0x04, 0x0C, 0xCE, 0,0,0}, 3, INTEROP_DISABLE_SDP_AFTER_PAIRING},
// Bluetooth Laser Travel Mouse
diff --git a/device/src/interop.c b/device/src/interop.c
index 633a3861c..32d819844 100644
--- a/device/src/interop.c
+++ b/device/src/interop.c
@@ -35,6 +35,7 @@ static const char* interop_feature_string(const interop_feature_t feature) {
CASE_RETURN_STR(INTEROP_DISABLE_AUTH_FOR_HID_POINTING)
CASE_RETURN_STR(INTEROP_DISABLE_SNIFF_DURING_SCO)
CASE_RETURN_STR(INTEROP_INCREASE_AG_CONN_TIMEOUT)
+ CASE_RETURN_STR(INTEROP_DISABLE_ABSOLUTE_VOLUME)
}
return "UNKNOWN";