If an app starts multiple scans with same callback then
there is a collision in mLeScanClients hash map which
results in leaking first scan. This change fixes it by
not allowing the second scan with same callback.
BUG: 62389939
BUG: 38198694
Test: Tested applications which started multiple scans with
same callback.
Change-Id: I569069a40b6f8b4b8bb070731225e732c6b23ec8
* Allow Java based programs to create an opportunistic GATT client
* Such client does not hold a GATT connection. It automatically
disconnects when no other GATT connections are active for the
remote device.
Bug: 63347806
Test: make, run battery service
Change-Id: Ib9333817d7f17a1fa3ddacfa51c680890bac19ec
Merged-In: Ib9333817d7f17a1fa3ddacfa51c680890bac19ec
(cherry picked from commit 13f52c8118)
* Allow Java based programs to create an opportunistic GATT client
* Such client does not hold a GATT connection. It automatically
disconnects when no other GATT connections are active for the
remote device.
Bug: 63347806
Test: make, run battery service
Change-Id: Ib9333817d7f17a1fa3ddacfa51c680890bac19ec
* Add related constants to BluetoothHeadset
Bug: 35874078
Test: make, test with supporting headsets
Change-Id: I9f49ea28efdf6de0e751a377d879fe13a47655d5
Merged-In: I9f49ea28efdf6de0e751a377d879fe13a47655d5
(cherry picked from commit 679d0bc8f9)
* Add related constants to BluetoothHeadset
Bug: 35874078
Test: make, test with supporting headsets
Change-Id: Ied089a065bf9caa0d03f681950fefa2ea990bb3e
Merged-In: Ied089a065bf9caa0d03f681950fefa2ea990bb3e
(cherry picked from commit 0fcbba25b7)
* Per HFP 1.7.1 spec page 102 of 144
EXTRA_HF_INDICATORS_IND_ID should be int
EXTRA_HF_INDICATORS_IND_VALUE should be int
Bug: 35874078
Test: make, PTS test, unit tests
runtest -c com.android.bluetooth.btservice.RemoteDevicesTest bluetooth
Change-Id: Idd316a82bab164b6ea1701bb261b1cc3dee196f1
Merged-In: Idd316a82bab164b6ea1701bb261b1cc3dee196f1
(cherry picked from commit 73795440a5)
* Add BluetoothDevice.getBatteryLevel() API to retreive battery level
information of remote device
* Add BluetoothDevice.ACTION_BATTERY_LEVEL_CHANGED intent to notify user
that remote device's battery level has changed
Bug: 35874078
Test: make, pair with devices and use them
Change-Id: I41051ee25383f5f3a1e505aef6f8c526385f58bd
Merged-In: I41051ee25383f5f3a1e505aef6f8c526385f58bd
(cherry picked from commit 1d312bfa78)
* Add related constants to BluetoothHeadset
Bug: 35874078
Test: make, test with supporting headsets
Change-Id: I9f49ea28efdf6de0e751a377d879fe13a47655d5
* Add related constants to BluetoothHeadset
Bug: 35874078
Test: make, test with supporting headsets
Change-Id: Ied089a065bf9caa0d03f681950fefa2ea990bb3e
* Per HFP 1.7.1 spec page 102 of 144
EXTRA_HF_INDICATORS_IND_ID should be int
EXTRA_HF_INDICATORS_IND_VALUE should be int
Bug: 35874078
Test: make, PTS test, unit tests
runtest -c com.android.bluetooth.btservice.RemoteDevicesTest bluetooth
Change-Id: Idd316a82bab164b6ea1701bb261b1cc3dee196f1
* Add BluetoothDevice.getBatteryLevel() API to retreive battery level
information of remote device
* Add BluetoothDevice.ACTION_BATTERY_LEVEL_CHANGED intent to notify user
that remote device's battery level has changed
Bug: 35874078
Test: make, pair with devices and use them
Change-Id: I41051ee25383f5f3a1e505aef6f8c526385f58bd
It was somewhat unclear which is the preferred method of retrieving a
BluetoothAdapter. Make it clear that using BluetoothManager is
preferred, and remove references to the old method in BluetoothManager
docs since it is only avaialable in API 18 or higher.
Test: recompile, check that documentation is updated
Fix: 33355430
Change-Id: Ia20b4e45dca03bc2f13c2ab477799b89c5e14f45
Make it clear in BluetoothLeScanner on how to get results
when starting a scan for a PendingIntent.
Bug: 38365430
Test: make offline-sdk-docs
Change-Id: I0bf88d751c89a8a478db985713357e153ac08595
Most @SystemApi methods should be protected with system (or higher)
permissions, so annotate common methods with @RequiresPermission to
make automatic verification easier.
Verification is really only relevant when calling into system
services (where permissions checking can happen on the other side of
a Binder call), so annotate managers with the new @SystemService
annotation, which is now automatically documented.
This is purely a docs change; no logic changes are being made.
Test: make -j32 update-api && make -j32 offline-sdk-docs
Bug: 62263906
Change-Id: I2554227202d84465676aa4ab0dd336b5c45fc651
* Normally, Android only allows SCO audio to be connected in several
allowed cases (e.g. in call, in ringing, in virtual call state, etc)
* Sometimes, it is necessary to force a SCO audio connection (e.g.
during PTS test)
* This change adds setForceScoAudio(boolean) hidden, system only method
to allow such behaviour
Bug: 38040125
Test: PTS HFP tests
Change-Id: I28f295c98da5bebb837c2a5423c7acde81af73f7
Provides an interface for application to send Set Idle
and Get Idle commands to remote HID Device. Support for these
two commands was missing from existing code, so existing code
design is reused to add support for these two commands.
Without this support following mandatory PTS test cases for HID 1.0
cannot be passed, TC_HOS_HID_BV_05/06.
Test: Executed PTS tests TC_HOS_HID_BV_05/06 and confirmed if they can
pass
Bug: 34344715
Change-Id: I548362cc328498920b2dae740f1a76b2cc2d6a67
The MIN and MAX values need to be swapped else
the parameter check in setInterval would always
fail
Bug: 37579882
Change-Id: I48538c2a61be88caaf04abd94074b3d9eb6dde96
Move Bluetooth battery stats tracking to AppScanStats for a more
unified tracking system.
Bug: 37720787
Test: cts-tradefed run cts-dev -m CtsIncidentHostTestCases -t com.android.server.cts.BatteryStatsValidationTest#testBleScans
Perform BLE scan and check battery stats
Change-Id: Ie6c682374e6e258c291d3a11eede649c7747ef40
Restores previous behaviour where GATT callbacks are invoked on the
binder thread and not the calling process main looper thread.
This fixes performance regressions as well as some
NetworkOnMainThreadException's for some applications.
Bug: 37544152
Bug: 37871717
Test: Covered by prior API tests.
Change-Id: Id8ab705dd4d7f00030e6ac29e056dde5180670e9
(cherry picked from commit 6bdc550e27)