Skip to content
Snippets Groups Projects
  1. Apr 05, 2018
  2. Apr 03, 2018
    • Ajay Panicker's avatar
      Persist VFS ID's between directory changes. · c3b14ee2
      Ajay Panicker authored
      Some carkits don't honor the fact that VFS ID's only are consistent to
      the folder they are currently browsing. Now a UID will remain valid
      until the connection ends.
      
      Bug: 68812037
      Test: Run net_test_avrcp
      Change-Id: I67898277327b54eaeca2121b9ff173b22bd4ba71
      c3b14ee2
  3. Apr 02, 2018
  4. Mar 30, 2018
  5. Mar 29, 2018
    • Jakub Pawlowski's avatar
      Use RawAddress.ToString() instead of manual conversion · cd418ea6
      Jakub Pawlowski authored
      Test: compilation
      Change-Id: I66040a4f3d339ac0473052d916b9a0b4e3045e8e
      cd418ea6
    • Jakub Pawlowski's avatar
      Unpair both transports of dual mode device, when LE address provided · cf3d2d85
      Jakub Pawlowski authored
      In bta_dm_remove_device, if the device is not connected, and we don't
      know the transport for given address, we make two calls to
      BTM_ReadConnectedTransportAddress, to determine the device address on
      the other transport.
      If the address provided is LE, first call will fill the other_address
      variable with the Classic address, and the second call will fill it back
      with LE addres. This mean we never try to remove Classic entry, instead
      we remove LE entry twice.
      
      Bug: 67907612
      Test: establish LE connnection between two phones, trigger Bonding.
        After bonding complete, try to remove bond using LE address. Verify
        config file is cleaned of both LE and classic entry.
      
      Change-Id: Ia5dd53f96b95478a07009cecc5b4a3c79f15c59b
      cf3d2d85
    • Treehugger Robot's avatar
      Merge changes I88d0862f,Ic9a2c8d8 · ed1a198f
      Treehugger Robot authored
      * changes:
        Use proper media ID when changing path
        Add missing AVRCP Set Addressed Player Response
      ed1a198f
    • Ajay Panicker's avatar
      Use proper media ID when changing path · 3c25e8d1
      Ajay Panicker authored
      Use the current media ID on the path stack to retrieve folder contents.
      
      Bug: 77237565
      Test: run host native test net-test-avrcp
      Change-Id: I88d0862f76d18a071a8530cd31954447b4e180fc
      3c25e8d1
  6. Mar 28, 2018
  7. Mar 27, 2018
    • AnubhavGupta's avatar
      Open acceptor channel for RC on cleanup · aeae74ce
      AnubhavGupta authored
      Usecase:
      1. Install Fitbit app
      2. Pair and connect with RD1
      3. Start streaming
      4. Pair and connect Fitbit watch
      
      Failure:
      No Stable Avctp connection with Fitbit Watch after pairing
      
      Rootcause:
      If there will be no listening acceptor
      then some Remotes unable to connect AVRC
      connection upon remote restart.
      
      Fix:
      Open acceptor channel for RC on cleanup
      as if there will be no listening acceptor
      then some Remotes unable to connect AVRC
      connection upon remote restart.
      
      Test: 1. Install Fitbit app
      2. Pair and connect with RD1
      3. Start streaming
      4. Pair and connect Fitbit watch
      
      Fixes: 63605621
      Change-Id: Ia6cefc29ca64b00f2f5fe2f9816d71604c511415
      aeae74ce
    • Treehugger Robot's avatar
    • Treehugger Robot's avatar
    • Srinu Jella's avatar
      Serialize the commands during Pairing process · 485f6429
      Srinu Jella authored
      Steps:
      1. Pair and connect with HID mouse.
      2. Once the settings UI shows paired and connected
      3. Try to unpair the device, but UI still shows connected.
      
      Failure: Unable to unpair HID mouse due to LMP
      response timeout occurred for  remote version and remote
      feature request.
      
      Root Cause: Remote version, Remote features, Authentication
      requested commands go simultaneously to the remote device
      which can't handle the multiple commands at a time.
      
      Fix: Serialize the Remote version, Remote features, Authentication
      requested commands.
      
      Test: Tested manually with apple magic mouse.
      Bug: 35125883
      
      Change-Id: I4448c291a60ee637dc5927806547e67f26571d86
      485f6429
    • Pavlin Radoslavov's avatar
      Suppress unnecessary A2DP codec reconfiguration · d578ae12
      Pavlin Radoslavov authored
      If OTA A2DP codec configuration is accepted from the remote
      device, then don't trigger codec reconfiguration.
      
      Bug: 74521894
      Test: Manual: accept connection and codec config from A2DP Sink
      Change-Id: Ic2f6ff08d130adf85cad68a54ab9fbc0a711534c
      d578ae12
    • Pavlin Radoslavov's avatar
      A2DP Sink: add a mechanism for selecting the codec · ebc2dab0
      Pavlin Radoslavov authored
      Use the existing mechanism for selecting the A2DP Source codec to
      select the A2DP Sink codec when the local device is A2DP Sink.
      
      * Added new method BtaAvCo::SelectSinkCodec() similar to
        SelectSourceCodec() and use the new method to select the actual
        codec based on the AVDTP Codec capability discovery.
      * Renamed method BtaAvCo::UpdateSelectableCodec() to
        UpdateSelectableSourceCodec() and added similar
        UpdateSelectableSinkCodec()
      * Renamed method BtaAvCo::AttemptCodecSelection() to
        AttemptSourceCodecSelection() and added similar
        AttemptSinkCodecSelection
      * Renamed AudioSinkHasContentProtection() to AudioSepHasContentProtection()
        because it can be used for either A2DP Source or Sink
      * Removed method BtaAvCo::FindPeerSourceSepForCurrentCodec() because it
        is not needed anymore.
      * Added new method A2dpCodecs::findSinkCodecConfig() similar to
        findSourceCodecConfig()
      * Added new function A2DP_SinkCodecIndex() similar to
        A2DP_SourceCodecIndex()
      * Added new method A2dpCodecs::setSinkCodecConfig()
      * Reorganize the SBC and AAC Source/Sink codec config classes:
        - Virtual method A2dpCodecConfig::setCodecConfig() is now implemented
          for Sink codecs as well: SBC Sink, AAC Sink
        - Renamed A2dpCodecConfigSbc to A2dpCodecConfigSbcSource
        - Renamed A2dpCodecConfigAac to A2dpCodecConfigAacSource
        - Added base class A2dpCodecConfigSbcBase. That class implements
          method setCodecConfig() for both A2dpCodecConfigSbcSource and
          A2dpCodecConfigSbcSink
        - Added base class A2dpCodecConfigAacBase. That class implements
          method setCodecConfig() for both A2dpCodecConfigAacSource and
          A2dpCodecConfigAacSink
        - Updated the A2dpCodecConfigAacBase::setCodecConfig() so it computes
          correctly the AAC Variable Bit Rate Support flag in the result codec
          config: The Variable Bit Rate Support is disabled if either side
          disables it.
      * Removed A2DP_BuildSrc2SinkConfig() because it is not needed anymore.
        The correspinding A2DP_BuildSrc2SinkConfigSbc() and
        A2DP_BuildSrc2SinkConfigAac() are removed as well.
      * Renamed a2dp_sbc_caps inside a2dp_sbc.cc to a2dp_sbc_source_caps
      * Renamed a2dp_aac_caps inside a2dp_aac.cc to a2dp_aac_source_caps
      * Added corresponding unit tests
      
      Bug: 74521894
      Test: Manual: initiate connection from A2DP Sink.
            Unit tests in system/bt: test/run_unit_tests.sh net_test_stack
      
      Change-Id: I3fc541a068993c123e8d61c209896bb758fd3764
      ebc2dab0
    • Jack He's avatar
      HFP: Save discovered HFP version to config file · 483217bf
      Jack He authored
      * Store discovered HFP version to btif config file so that a
        reconnection session knows the HFP version before SDP
      * Check stored HFP version when RFCOMM channel is open before any AT
        command is processed
      * Set peer HFP version to 0 on control block allocation
      
      Bug: 67938255
      Test: Connect with HFP 1.7 headsets
      Change-Id: I43e7aa04dee17ea7ba9e7d3992ec0860c11d23bc
      483217bf
  8. Mar 26, 2018
  9. Mar 24, 2018
  10. Mar 23, 2018
    • Jakub Pawlowski's avatar
      Guard ACPF with proper checks · 0ba77f48
      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
      0ba77f48
    • Nitin Shivpure's avatar
      HOGP: Update status to OK, if link is already encrypted · 3edf4305
      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
      3edf4305
    • Jakub Pawlowski's avatar
      bta_gattc_sdp_callback move null check above first usage · 3f20715f
      Jakub Pawlowski authored
      Bug: 75311714
      Test: Test scenario described in bug
      Change-Id: Ib2da24134205277ae03cf28394db74758de17e5d
      3f20715f
    • Jakub Pawlowski's avatar
      LE Advertising Report parsing enhancements · d6fb14ae
      Jakub Pawlowski authored
      Reject invalid data length for advertisement data.
      Also, don't attempt to resolve anonymous advertising addresses.
      
      Test: LE scanning tests
      Bug: 73193883
      Change-Id: I1cb330bc30fdcaebc86527cd2656c9dd7932b318
      d6fb14ae
    • Pavlin Radoslavov's avatar
      Remove deinit_pending flag that is not needed/used · 57659d88
      Pavlin Radoslavov authored
      Test: Code compilation
      Bug: 74952724
      Change-Id: I022e16940c73181f991d528b9c96e2d26151369f
      57659d88
  11. Mar 22, 2018
    • Fukai Wang's avatar
      Add btm_free() to clean up btm properly · e2866f6a
      Fukai Wang authored
      Test: Run AdapterRepeatedEnableDisable in system/bt/test with
      kTestRepeatCount set to 1000.
      
      Merged-In: I3445a725d66e73e8bcffc7bfabe594f49a6fc863
      Change-Id: I3445a725d66e73e8bcffc7bfabe594f49a6fc863
      e2866f6a
    • Jakub Pawlowski's avatar
      Gracefully recover on bad attempt to cancel LE connection · a363b7f2
      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
      a363b7f2
    • Pavlin Radoslavov's avatar
      Add Start/End Session for A2DP offload audio interface · 9b9ee65e
      Pavlin Radoslavov authored
      * Added explicit btif_a2dp_audio_interface_start_session() and
        btif_a2dp_audio_interface_end_session() and call them as appropriate.
      * Removed unnecessary btif_a2dp_audio_interface_deinit() calls.
      
      Bug: 74952724
      Test: Manual: audio streaming without A2DP offload
      Change-Id: I74b8c340ee258b09b9e1acbcb1cc75906ddc03fc
      9b9ee65e
    • Pavlin Radoslavov's avatar
      Added Start/End Session steps when A2DP codec is changed · fbde2e4a
      Pavlin Radoslavov authored
      If the A2DP codec is changed for the active device, then
      the current session is restarted by calling End/Start Session.
      
      Also:
       * Updated btav_a2dp_codec_config_t string representation to
         include the codec priority.
       * Fixed A2dpCodecConfig::setCodecPriority() and setDefaultCodecPriority()
         so the codec priority for the current codec_config_ is updated.
       * Fixed A2dpCodecs::setCodecUserConfig() so the restart_input flag
         is set as appropriate.
       * Use btav_a2dp_codec_config_t::ToString() as appropritate to print
         the codec config instead of explicitly printing each field.
      
      Bug: 74988739
      Test: Manual: Connect two headsets, change codecs, switch active device.
      Change-Id: I6652168f3c48e5b431e00aa8f554929afbdcdbcf
      fbde2e4a
    • Treehugger Robot's avatar
Loading