Bug: 146314855
Test:
1. Pair with a remote device which address is like 00:01:02:03:04:05
2. On remote device allow MAP connection
3. Make sure there is at least 1 unread message in last week on remote device
4. adb shell am instrument -w -e mce_set_message_status_iterations 1 -e device_address
00:01:02:03:04:05 -e class android.bluetooth.BluetoothStressTest#testMceSetMessageStatus
com.android.bluetooth.tests/android.bluetooth.BluetoothTestRunner
Change-Id: I7a3e337142bc39a55c1bfd425e0966e1fb1b9a68
We can't expose APIs if the enclosing class is hidden, so these
annotations are redundant. We need to remove them so that we can enable the
check.
Exempt-From-Owner-Approval: Cherry-pick from goog/master
Bug: 159121253
Test: treehugger (i.e. this shouldn't trigger "API has changed" error.)
Merged-in: Ie1841a670bdf6c6f4b25a1fc5deed8ec2d18cda2
Change-Id: I36e3562b72e64b51e4febd1d42a3bc8e4dc60988
We can't expose APIs if the enclosing class is hidden, so these
annotations are redundant. We need to remove them so that we can enable the
check.
Exempt-From-Owner-Approval:Cherry-pick from goog/master
Bug: 159121253
Test: treehugger (i.e. this shouldn't trigger "API has changed" error.)
Merged-in: Ie1841a670bdf6c6f4b25a1fc5deed8ec2d18cda2
Change-Id: Ie1841a670bdf6c6f4b25a1fc5deed8ec2d18cda2
We can't expose APIs if the enclosing class is hidden, so these
annotations are redundant. We need to remove them so that we can enable the
check.
Bug: 159121253
Test: treehugger (i.e. this shouldn't trigger "API has changed" error.)
Change-Id: Ie1841a670bdf6c6f4b25a1fc5deed8ec2d18cda2
Remember if the pairing app was in the foreground.
Bug: 150156492
Test: pair two devices, unpair on one device, try to reconnect
Change-Id: I6f564857974146e0c18134648eb1e297e8afbc6f
Bug: 157935587
This adds a binder cache for the IBluetooth.getConnectionState() method.
There is no change in bluetooth functionality.
Each atest is run twice. Once with the code to be committed and once
with a special build that sets PropertyInvalidatedCache DEBUG and VERIFY
to true. In the latter case, the test passes if the atest passes and if
there are no errors from the cache verification.
Tag: #feature
Test: atest BluetoothInstrumentationTests
Test results are
Passed: 479, Failed: 0, Ignored: 4, Assumption Failed: 75
Change-Id: I2946297ffab557877dc7ec56206834d7c3776662
onServiceDisconnected method after unbinding the service
Bug: 155120232
Test: atest BluetoothHostTest#testMapClose
Change-Id: I324b4ea6654261eb67d5ec184f6b3456ba3d1aa4
Bug: 153103051
A binder cache recompute() function cannot compute a result based on any
data that is not known to the binder server. If the code depends on
local data that can change, then invalidation will not work properly.
The original getState() method returned OFF if the bluetooth service was
unavailable. This computation now occurs in the getStateInternal()
method, outside of the binder cache query() method.
The recompute() method converts RemoteExceptions to RuntimeExceptions.
Then, the conversion is reversed in getStateInternal(). This double
conversion is needed because the cache recompute() method has no throw
spec.
Test: Create a debug image that enables binder cache VERIFY. Run the
following tests:
* atest BluetoothInstrumentationTests
* atest PtsChreTestCases
* atest UserLifecycleTests
* manual testing connecting to bluetooth devices and toggling airplane
mode.
No cache inconsistencies found. No test failures seen.
Change-Id: I93b9742587c4eb695d9a11fc6ab145f6a40a0ece
Bug: 153103051
A binder cache query function cannot compute a result based on any data
that is not known to the binder server. If the code depends on local
data that can change, then invalidation will not work properly.
The getState() method returns OFF if the bluetooth service is
unavailable. This computation now occurs in the getState() method,
outside of the binder cache query() method.
The query method converts RemoteExceptions to RuntimeExceptions. Then,
the conversion is reversed in getState(). This double conversion is
needed because the cache query() method has no throw spec.
Test: Run 'atest BluetoothInstrumentationTests' with a special debug
image that enables binder cache VERIFY. The test found no cache
inconsistencies.
Change-Id: I80db86f66d8b51fa94207824c8b15972a9066ef5
* Use IBluetoothManager.enableBle() and disableBle() to toggle BLE only
mode instead of updateBleAppCount() then enable().
* Fix BluetoothAdapter.disableBle sometime won't disable Bluetooth.
* Add active log if Bluetooth is disabled via disableBle().
Bug: 139454316
Test: enableBle() -> disableBle() and check Bluetooth is OFF.
Change-Id: I173d5fed1b47ff68a6504741e25754e65cbd1455
* Use IBluetoothManager.enableBle() and disableBle() to toggle BLE only
mode instead of updateBleAppCount() then enable().
* Fix BluetoothAdapter.disableBle sometime won't disable Bluetooth.
* Add active log if Bluetooth is disabled via disableBle().
Bug: 139454316
Test: enableBle() -> disableBle() and check Bluetooth is OFF.
Change-Id: I173d5fed1b47ff68a6504741e25754e65cbd1455