Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 861ffa75 authored by Ian Pedowitz's avatar Ian Pedowitz
Browse files

Revert "Blacklist devices for absolute volume control"

This reverts commit c8f864e6.

Change-Id: Ia184c82fda022b3592753872a86be12a1cefc7d0
parent c8f864e6
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -37,8 +37,6 @@
#include "btif_util.h"
#include "btif_av.h"
#include "hardware/bt_rc.h"
#include "bt_common.h"
#include "device/include/interop.h"
#include "uinput.h"

/*****************************************************************************
@@ -326,8 +324,11 @@ void handle_rc_features()
    bt_bdaddr_t rc_addr;
    bdcpy(rc_addr.address, btif_rc_cb.rc_addr);

    if (interop_match(INTEROP_DISABLE_ABSOLUTE_VOLUME, &rc_addr))
        btif_rc_cb.rc_features &= ~BTA_AV_FEAT_ADV_CTRL;
    // TODO(eisenbach): If devices need to be blacklisted for absolute
    // volume, it should be added to device/include/interop_database.h
    // For now, everything goes... If blacklisting is necessary, exclude
    // the following bit here:
    //    btif_rc_cb.rc_features &= ~BTA_AV_FEAT_ADV_CTRL;

    if (btif_rc_cb.rc_features & BTA_AV_FEAT_BROWSE)
    {
+1 −6
Original line number Diff line number Diff line
@@ -32,12 +32,7 @@ typedef enum {
  // requiring multiple retries to complete pairing. To avoid degrading the user
  // experience for those devices, automatically re-try pairing if page
  // timeouts are received during pairing.
  INTEROP_AUTO_RETRY_PAIRING,

  // 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_AUTO_RETRY_PAIRING
} interop_feature_t;

// Check if a given |addr| matches a known interoperability workaround as identified
+1 −17
Original line number Diff line number Diff line
@@ -43,21 +43,5 @@ static const interop_entry_t interop_database[] = {
  {{0x80, 0xe4, 0xda, 0x70,   0,0}, 4, INTEROP_DISABLE_LE_SECURE_CONNECTIONS},

  // BMW car kits (Harman/Becker)
  {{0x9c, 0xdf, 0x03,       0,0,0}, 3, INTEROP_AUTO_RETRY_PAIRING},

  // JayBird BlueBuds X - low granularity on volume control
  {{0x44, 0x5e, 0xf3,       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},

  // SOL REPUBLIC Tracks Air - unable to adjust volume back off from max
  {{0xa4, 0x15, 0x66,       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},
  {{0x9c, 0xdf, 0x03,       0,0,0}, 3, INTEROP_AUTO_RETRY_PAIRING}
};
+0 −1
Original line number Diff line number Diff line
@@ -31,7 +31,6 @@ static const char* interop_feature_string(const interop_feature_t feature) {
  switch (feature) {
    CASE_RETURN_STR(INTEROP_DISABLE_LE_SECURE_CONNECTIONS)
    CASE_RETURN_STR(INTEROP_AUTO_RETRY_PAIRING)
    CASE_RETURN_STR(INTEROP_DISABLE_ABSOLUTE_VOLUME)
  }

  return "UNKNOWN";