Skip to content
Snippets Groups Projects
  1. Mar 26, 2018
    • Ajay Panicker's avatar
      Add a property to enable the New AVRCP Profile (1/2) · 572d739e
      Ajay Panicker authored
      You can now use the new AVRCP Profile by setting
      persist.bluetooth.enablenewavrcp to true.
      
      Also fix a misundestanding with connection_handler.cc. AVRCP Control
      callbacks return a null address when disconnecting.
      
      Bug: 68854188
      Test: Check to see that the profile is used when property is true and is
            not used when property is false.
      Change-Id: I4aa285c6bf009716cc80a80b813ba0acd3d8f9d8
      (cherry picked from commit ce1a2b3f8d44a017c13a55b5e53abb51886297ad)
      Merged-In: I4aa285c6bf009716cc80a80b813ba0acd3d8f9d8
      572d739e
    • Ajay Panicker's avatar
      Implement the JNI layer for the AVRCP Service (2/3) · c12821c7
      Ajay Panicker authored
      Allows the AVRCP Service Interface to be retrieved via bt_interface_t.
      
      Bug: 68854188
      Test: Compile
      Change-Id: I0d9464ea19d3bd382d07134bff057a5515501b95
      (cherry picked from commit 66401790c29f13b30c15f035933366f36637df21)
      Merged-In: I0d9464ea19d3bd382d07134bff057a5515501b95
      c12821c7
  2. Mar 24, 2018
    • Jakub Pawlowski's avatar
      Use proper HCI_ERR_* constants in advertisement termination handling · 1afeb16b
      Jakub Pawlowski authored
      There is no functional change, just making the code pretty, and updating
      names to match 5.0 specification.
      
      Test: sl4a AdvertisingSetTest:test_reenabling
      Bug: 74198564
      Change-Id: I1811e19bd18470adda55f7af7cfee23bcc4d1871
      (cherry picked from commit 8e6b9a9760efa5aba116355b4216610e75a54a49)
      1afeb16b
    • Jakub Pawlowski's avatar
      Guard ACPF with proper checks · 1014501a
      Jakub Pawlowski authored
      Fail on calls to  ACPF when it's not supported in controller.
      Right now we sent such commands when starting/stopping the regular scan.
      
      Bug: 69116550
      Test: Enable bluetooth on platform without ACPF, start/stop scan
      Change-Id: I334114d36a8af8c8f58d230f75ab3a00f009c4c5
      (cherry picked from commit cf811d66915a6d2c76a7ada2b7f64f0c4014e671)
      1014501a
    • Nitin Shivpure's avatar
      HOGP: Update status to OK, if link is already encrypted · 9798f308
      Nitin Shivpure authored
      Usecase:
      1) Connect to HOGP device. (Because of some condition encryption fails with Connection
         Timeout, remote device turned off when connection was initiated)
      2) Try to connect again to HoGP device
      
      Expected Result:
      Connection should be successful
      
      Observed Result:
      UI stuck in connecting state and connection never succeeds.
      
      Root cause:
      When encryption fails in previous iteration, encryption happens before HoGP Server starts
      security procedure, leading to Encryption Complete event being received with wrong status.
      
      Fix:
      Update the status to success when sending encryption complete event if link is already
      encrypted
      
      Test: Issue is not seen after above steps
      
      Fixes: 76133015
      Change-Id: Ib404cf157289170ea300eae40f51393606c35105
      (cherry picked from commit 17d692578102d73bcf30b00442cdd456e92a7912)
      9798f308
  3. Mar 23, 2018
  4. Mar 22, 2018
    • TreeHugger Robot's avatar
    • Ajay Panicker's avatar
      Add the AVRCP Target Service to btif · 7fa75930
      Ajay Panicker authored
      This class provides a management interface for the AVRCP Target Service.
      
      Bug: 68854188
      Test: Compiles
      Change-Id: Id639ca6530ea986b5d67203f448ae7a0eecc6f8a
      (cherry picked from commit 84a282706dd36559012af5f00641133725c57776)
      Merged-In: If86210bf3e600dfd641291917c137a0d0764d057
      7fa75930
    • TreeHugger Robot's avatar
    • Fukai Wang's avatar
      Add btm_free() to clean up btm properly · 5b17e64d
      Fukai Wang authored
      Test: Run AdapterRepeatedEnableDisable in system/bt/test with
      kTestRepeatCount set to 1000.
      Bug: 76161326
      
      Merged-In: I3445a725d66e73e8bcffc7bfabe594f49a6fc863
      Change-Id: I3445a725d66e73e8bcffc7bfabe594f49a6fc863
      (cherry picked from commit 8a9013350fdf5c5724af6cc93b41b1cc1432ee83)
      5b17e64d
    • Pavlin Radoslavov's avatar
      Added Start/End Session steps to A2DP session setup · a666f864
      Pavlin Radoslavov authored
      Start/End session is called when setting/changing the Active (remote)
      device.
      
      Also:
       * For A2DP Source, btif_a2dp_source_setup_codec() is called only for
         Start session. All other calls to btif_a2dp_source_setup_codec are
         removed.
       * Updated the btif_a2dp_source_setup_codec() implementation to
         call btif_a2dp_source_audio_tx_flush_req() and flush the incoming audio
         data. This removes 2 seconds hold-up delay when switching the active
         device and streaming audio.
       * Removed unnecessary lock inside btif/src/btif_a2dp_sink.cc
      
      Bug: 74952724
      Test: Manual - Connect two headsets, switch active device,
            connect/disconnect.
      Change-Id: I43702e1ddc108628de93161905465647471f554c
      Merged-In: I43702e1ddc108628de93161905465647471f554c
      (cherry picked from commit 03adb3f7ba37d637329d3c13aa4a3bb1ec28f143)
      a666f864
    • Ajay Panicker's avatar
      Set the default AVRCP Version to 1.5 · dd1c97ee
      Ajay Panicker authored
      Bug: 76027180
      Test: Compile and connect to remote device and see in SDP that the
            version reported is 1.5
      
      Change-Id: I9ec88ca2127c3be055d7f64ccb8b3848cfed3fdf
      (cherry picked from commit c90de7ada786f8e53b8d0b256ac3ac5ba81768c8)
      dd1c97ee
    • Ajay Panicker's avatar
      Add the AVRCP Connection Handler · 84f9c4c5
      Ajay Panicker authored
      This class handles connecting and disconnecting AVRCP Devices as well as
      SDP lookups and feature selection.
      
      Bug: 68854188
      Test: run_host_unit_tests.py && run_unit_tests.sh net_test_avrcp
      Change-Id: I950587123d2875c4333b415c379c7c1fb0c29ca5
      (cherry picked from commit 8e521034ded85c26152a18dd591192df3b80d958)
      Merged-In: I43720566bc7b96a4796a1f571757f2a8c198be17
      84f9c4c5
    • Jakub Pawlowski's avatar
      Gracefully recover on bad attempt to cancel LE connection · f61687c2
      Jakub Pawlowski authored
      According to logs some devices are stuck when in BLE_CONN_CANCEL state.
      That is they sent "LE Create Connection Cancel" request, and are
      awaiting "LE Connection Complete" event with invalid handle forever.
      But they wait and wait, and the event never arrive. That's because
      "LE Create Connection Cancel" was sent, when connection attempt is not
      pending. In such case, we should act upon command complete status, and
      decide to leave BLE_CONN_CANCEL state.
      
      To properly fix this issue, one would have to implement a proper queue
      for managing LE connection attempt state, preferably for scratch. This
      fix just give option of graceful recovery.
      
      Test: sl4a GattConnectTest
      Bug: 75290221
      Change-Id: I7e7a377c789ac0a587390320fbf504267cca8727
      (cherry picked from commit b0a9f9f23f7405bc088695e1d91763aced70b9fd)
      f61687c2
    • Ajay Panicker's avatar
      AVRCP: Fix size for Register Notification Response packets · b170116c
      Ajay Panicker authored
      Bug: 68854188
      Test: ./run_host_unit_tests.py && ./run_unit_test.sh net_test_btpackets
      Change-Id: I62d864e2c27d809944f160dc45906b90cbb84f3d
      (cherry picked from commit 142763fa10b721c0d51d7585fc01bf127f5b9e32)
      b170116c
    • TreeHugger Robot's avatar
    • Hansong Zhang's avatar
      Hearing Aid: Add API for active device · 56a457bd
      Hansong Zhang authored
      Add setActiveDevice() and isActiveDevice() as it will be used in
      Settings
      
      Bug: 69623109
      Test: compilation and instrumentation
      Change-Id: Ifc92bab2306ed78cb6d203c5e1b0a5887730d24f
      (cherry picked from commit a68d747b4e0c0b47c755a86fd9dd94b390205333)
      56a457bd
    • Jakub Pawlowski's avatar
      Write volume to Hearing Aid during connection setup · 00dfd1e4
      Jakub Pawlowski authored
      Bug: 69623109
      Test: connect both hearing aid, change volume, reconnect, verify volume
      level
      Change-Id: Ia728ee25993f1bd7ecaae2aa0c1cb78926583a9b
      
      (cherry picked from commit 2107aedcf20ba461f3e3289a2d33559413809b1d)
      00dfd1e4
  5. Mar 19, 2018
  6. Mar 16, 2018
  7. Mar 15, 2018
    • Jakub Pawlowski's avatar
      Remove unnecessary CHECK in BleAdvertisingManager::Get() · e0a9f70d
      Jakub Pawlowski authored
      It is causing race conditions. Weak pointer is already taking care of
      making sure the instance is valid, even if it was not yet initialized.
      
      Bug: 74863151
      Test: compilation
      Change-Id: Iddb69f8a38d80044d1bdd7699fad020f710914be
      (cherry picked from commit 68ef745a3af2fcdee03db4441016e5b5e0039c74)
      e0a9f70d
    • Jakub Pawlowski's avatar
      Hearing Aid Audio Source 24000 sample rate support · 5ad2313b
      Jakub Pawlowski authored
      Bug: 69623109
      Test: compile, connect to hearing aid
      Change-Id: I8751be8b92d2a902407726b6ec7fc1c8ecbcaebb
      (cherry picked from commit c454fe706457048777bb4eb36089e3989964fe5a)
      5ad2313b
    • Jakub Pawlowski's avatar
      Hearing Aid Manager implementation · a0ad6713
      Jakub Pawlowski authored
      Test: connect to Hearing Aid, play some music, make phone call
      Bug: 69623109
      Change-Id: I924ce288f1aa28c0d59edffa7a00f90271a808ab
      (cherry picked from commit 2c2c78944081b7bedd9fdd06f0dc7e8b4b86bf5e)
      a0ad6713
    • Nitin Shivpure's avatar
      SMP: Update device type as BLE while deriving LTK from LK · cd330825
      Nitin Shivpure authored
      Usecase:
      1) Install the same system version and CtsVerifier.apk on 2 DUT's
      2) Pair both DUT's using BT Settings Menu.
      3) On DUT execute  Bluetooth Test -> Bluetooth LE Secure Server Test ->
         Bluetooth LE Sever Test.
      4) On remote device execute Bluetooth Test-> Bluetooth LE Secure Client
         Test -> Bluetooth LE Client Test
      
      Expected Result:
      All test cases can be passed.
      
      Observed Result:
      All test cases cannot be passed.
      
      Root Cause:
      DUT supports secure connection & LE privacy and during BR/EDR pairing LTK is
      derived from LK, but device type is not updated and is still BR/EDR instead of LE.
      Later when Gatt server starts advertisement with random address so while creating
      LE connection from gatt client to gatt server, gatt client is not able to resolve
      random address due to incorrect device type, It re-initiate LE paring with
      gatt server.
      
      Fix:
      Updating device type as BLE while deriving LTK from LK.
      
      Test: CTS test case can pass with above steps.
      
      Fixes: 74728232
      Change-Id: I1f2c5b54d17a58615f7c2ceb954e54619b165489
      cd330825
    • Jakub Pawlowski's avatar
      Eliminate error on quallcom debug logs from controller · 5b2e7cf9
      Jakub Pawlowski authored
      Bug: 74858307
      Change-Id: If975a5d76d42e6142534e87fd63b30f9ce8894d8
      (cherry-picked from 9ed8697aaf24891b27951a7cb260ca3aceea2db8)
      5b2e7cf9
  8. Mar 14, 2018
  9. Mar 13, 2018
    • Stanley Tng's avatar
      Fix crash in l2c_rcv_acl_data during LE CoC SL4A Test · 9162eef3
      Stanley Tng authored
      When the incoming ACL messages is not setup yet, we should not further
      processed it after we queue it. Otherwise, we will get be accessing the
      null data structure for the connection.
      
      Bug: 74240858
      Test: Run SL4A test: act.py -c $MY_SL4A_CONFIG -tc BleCocTest:test_coc_secured_connection_throughput
      Change-Id: I12e6d5dd30f05a74807afe6b4af1b9599c59886a
      (cherry picked from commit 38d25bb3e41ac90ceab8052a3829f46d2925ee6a)
      9162eef3
Loading