- Mar 28, 2018
-
-
Joseph Pirozzo authored
Process play status updates when seeking forward and backward. Bug: 67568875 Test: seek forward and backward on paired phone and observe updates. Change-Id: Id280f0e877cfea0a0da7603ab6d7bcfaf667d482
-
Joseph Pirozzo authored
Register to be notified when the addressed media player changes so we can update the AVRCP controller. Bug: 72495854 Test: Change media player on phone, verify media source is updated. Change-Id: I932a25b9861734ecc6e1fdcf40f02cdde1fd049a
-
Joseph Pirozzo authored
Correct parameter order. Bug: 77009945 Test: observe log message Change-Id: I69d4bc04936c322707111c825864007b7f257cc4
-
Treehugger Robot authored
-
Treehugger Robot authored
-
- Mar 27, 2018
-
-
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
-
Treehugger Robot authored
-
Treehugger Robot authored
-
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
-
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
-
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
-
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
-
- Mar 26, 2018
-
-
Jakub Pawlowski authored
Bug: 76217773 Change-Id: I50188e9c69dbcd42286097cb6fbc1aa715877c80
-
- Mar 24, 2018
-
-
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
-
- Mar 23, 2018
-
-
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
-
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
-
Jakub Pawlowski authored
Bug: 75311714 Test: Test scenario described in bug Change-Id: Ib2da24134205277ae03cf28394db74758de17e5d
-
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
-
Pavlin Radoslavov authored
Test: Code compilation Bug: 74952724 Change-Id: I022e16940c73181f991d528b9c96e2d26151369f
-
- Mar 22, 2018
-
-
Fukai Wang authored
Test: Run AdapterRepeatedEnableDisable in system/bt/test with kTestRepeatCount set to 1000. Merged-In: I3445a725d66e73e8bcffc7bfabe594f49a6fc863 Change-Id: I3445a725d66e73e8bcffc7bfabe594f49a6fc863
-
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
-
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
-
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
-
Treehugger Robot authored
-
- Mar 21, 2018
-
-
Treehugger Robot authored
-
Jakub Pawlowski authored
Bug: 69623109 Test: connect both hearing aid, change volume, reconnect, verify volume level Change-Id: Ia728ee25993f1bd7ecaae2aa0c1cb78926583a9b
-
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
-
Treehugger Robot authored
-
- Mar 20, 2018
-
-
Hansong Zhang authored
Add setActiveDevice() and isActiveDevice() as it will be used in Settings Bug: 69623109 Test: compilation and instrumentation Change-Id: Ifc92bab2306ed78cb6d203c5e1b0a5887730d24f
-
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
-
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
-
- Mar 19, 2018
-
-
Treehugger Robot authored
-
- Mar 17, 2018
-
-
Pavlin Radoslavov authored
Also: * Added missing assert to check when local codecs are not initialized * Removed unnecessary local copy: BtifAvSource::codec_priorities_ Bug: 74079615 Test: Manual: Enable A2DP Sink profile and initiate the connection from Remote A2DP Source Change-Id: I40ea1aa2164612bbe108ac06be7f6cae8be30a72
-
Pavlin Radoslavov authored
This fixes an issue where the default AVDT_VERSION could be incorrectly assigned to a remote device. Bug: 74002223 Test: Manual: connect to Kinivo BTC450; power off/on the device to reconnect Change-Id: I53817e942638d6e962aa5b8b87b7b31998270857
-
- Mar 16, 2018
-
-
Ajay Panicker authored
Disable sdk_mac for avrcp_headers since libchrome isn't compiled for sdk mac. Test: Compile Change-Id: Ia5b67450e1beb82a78958eca25e6579496bf1ef6
-
Joseph Pirozzo authored
-
Treehugger Robot authored
-
Joseph Pirozzo authored
There is a setting that controls which AVRCP Target version is enabled, use the same setting for both source and sink devices. Bug: 62397951 Test: Observe SDP record on sink device. Change-Id: I65b307d011048ec88b3af8c542ce70601294cca8
-
Ajay Panicker authored
Allows the AVRCP Service Interface to be retrieved via bt_interface_t. Bug: 68854188 Test: Compile Change-Id: I0d9464ea19d3bd382d07134bff057a5515501b95
-
- Mar 15, 2018
-
-
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
-