This method check whether it has connected profile, not physical
connection between devices.
It make more sense to use it in settings:
1. We only care about whether it has active profile(i.e. A2dp, hfp..)
2. Sometime when profile is disconnected, BluetoothDevice.isConnected()
still return true. This may make UI flaky.
Bug: 79947085
Test: RunSettingsRoboTests
Change-Id: I44039704508a742c7a8aef0a035afcf169b08939
In the Device details of Settings App and when using two Hearing Aids
devices (left and right sides), this will fix the connect state messages
for these two devices. Also added Robo tests for the changes.
Bug: 116725094
Bug: 117074814
Test: Manual tests and also ran RunSettingsLibRoboTests and RunSettingsRoboTests.
Change-Id: I169cda4a1658b0a67cc7c7367b38d57a021e6953
Merged-In: I0b1a170967ddcce7f388603fd521f6ed1eeba30b
Merged-In: I169cda4a1658b0a67cc7c7367b38d57a021e6953
1. Show up to 3 devices in main page
2. Add "See all" preference to go ot detail page
Bug: 116350449
Test: Screenshot && RunSettingsRoboTests
Change-Id: Iee0de8a2b7f2543e946a117ba2d9ca9dde6c8678
The dialog may become null after onDestroy has been invoked, so
we need to catch this case.
This CL also moves the listener outside to make it easy to test.
Change-Id: I4ce640c5bdaf1f201f9fecb14b3e5e38e10d4b79
Fixes: 115679393
Test: RunSettingsRoboTests
This reverts commit 3029efc5f7.
Reason for revert:
To fix null pointer crash in Pairing dialog. Dialog maybe triggered by intent, in which LocalBluetoothManager couldn't have instance for BluetoothDevice and will return null. As a result, we need to depend on method in CachedBluetoothManager to handle it.
Bug: 115754654
Bug: 112735753
Change-Id: I1ebf1f1c2829cfb75e6c382df5acf785fe54a185
This is a bug from ag/4210612, in which it only update PBAP info
for USER_ENTRY_DIALOG. So in other kind of dialogs it never upload
correct PBAP info to bluetooth backend.
This CL fix it by updating PBAP for all dialogs.
Change-Id: Ia39eee1acaece555e8e5a305ec2c803294d7efbd
Merged-In: Ia39eee1acaece555e8e5a305ec2c803294d7efbd
Bug: 109842273
Bug: 72872376
Test: RunSettingsRoboTests
(cherry picked from commit 7015e20a55)
This means that in some cases RestrictedLockUtils has to be used and in
some RestrictedLockUtilsInternal.
This causes a lot of trivial code changes.
I also updated the ordering of the imports in all affected files.
Bug: 110953302
Test: Built
make -j RunSettingsRoboTests
Change-Id: I9bdf8b89134f853bae4f38c81af436715c73e924
Having consistent import order will reduce chance of merge
conflict between internal and external master
Test: rebuild
Change-Id: I0b1a170967ddcce7f388603fd521f6ed1eeba30b
Some users forgot they had paired devices and couldn't see their BT device
when they search device in "Pair new device". (b/80382940, b/80133137).
Need to change the behavior to let paired devices can be shown on "Available devices".
Bug: 111738593
Test: Bluetooth Pairing Test
Change-Id: Ib499785abaa8e4efc1875be113ac87bdbe0c89ba
1. Use BluetoothDevice.ACCESS_* instead of CachedBluetoothDevice.ACCESS_*
2. Use BluetoothDevice.setPhonebookAccessPermission() directly.
3. Use BluetoothDevice.setMessageAccessPermission() directly.
4. Use BluetoothDevice.getPhonebookAccessPermission() directly.
5. Use BluetoothDevice.getMessageAccessPermission() directly.
6. Use BluetoothDevice.getSimAccessPermission() directly.
Bug: 112517004
Test: make -j42 RunSettingsRoboTests
Change-Id: Ibe6b207b891b9bd2b328a2e2c7264a9a78cb498f
This is a bug from ag/4210612, in which it only update PBAP info
for USER_ENTRY_DIALOG. So in other kind of dialogs it never upload
correct PBAP info to bluetooth backend.
This CL fix it by updating PBAP for all dialogs.
Change-Id: Ia39eee1acaece555e8e5a305ec2c803294d7efbd
Bug: 109842273
Bug: 72872376
Test: RunSettingsRoboTests
(cherry picked from commit 7015e20a55)
- replace mock object with ShadowCachedBluetoothDeviceManager to test CachedBluetoothDevice
- rename cachedDevices to mCachedDevices
Bug: 111848213
Test: make -j50 RunSettingsRoboTests
Change-Id: I3028a6fe06c39c48e7cee33976bdfcab2c8b73c8
- replace mock object with ShadowCachedBluetoothDeviceManager to test CachedBluetoothDevice
- rename cachedDevices to mCachedDevices
Bug: 111848213
Test: make -j50 RunSettingsRoboTests
Change-Id: Ib024a3e9c3af745b1ab0be36361165a547cfa756
1. Clear connected Bluetooth device from preference when Bluetooth state
is off.
2. Do not force to update the list of Bluetooth device when Bluetooth is
disable.
3. Add test to verify following situations:
1. Do not force to update the list of Bluetooth device when Bluetooth
is disable.
2. Force to update the list of Bluetooth device when Bluetooth is
enable.
3. Force to update the list of Bluetooth device when Bluetooth state
is on.
4. Clear the connected Bluetooth device from preference when
Bluetooth state is off.
Bug: 110178164
Test: make -j42 RunSettingsRoboTests
Change-Id: I8b17c5d761e010e4eab620355c8b9185543e85ed
- Dialog needs to use AppCompat theme.
- Activity needs to finish itself when user closed AlertDialog.
If we don't fix it, you can see a window after AlertDialog was dismissed.
Change-Id: Idfbd6b68bcdd3b577f1459657b635b7af9397276
Fixes: 112018696
Test: robo test, manual test
Use isFilterMatched() to decide the prefernce should be added
or removed when receive onProfileConnectionStateChanged()
Bug: 80161203
Test: make -j42 RunSettingsRoboTests
Change-Id: Icccdb9007b587d3f481a23856edd7b2f7c9b04e0
DevicPickerActivity switches to an androidx fragment in layout of bluetooth_device_picker.
But android.app.Activity doesn't support androidx fragment.
So, let DevicePiackerActivity extend androidx FragmentActivity.
Change-Id: I5da98a5e2242b75d2205a786bf373b81dfe6f613
Fixes: 112010509
Test: manual test, robo test
LocalBluetoothAdapter only has a few APIs that is not supported
by BluetoothAdapter, and lots of LocalBluetoothAdapter function
pass parameter to BluetoothAdapter directly.
Do the refactor in Settings, use BluetoothAdapter instead of
LocalBluetoothAdapter.
Bug: 111769754
Test: make -j42 RunSettingsRoboTests
Change-Id: I88e5a8377b5d1106c7679e6a8c3fd1ca1a80ea6f
This CL only changed AlertDialog imports.
So, reviewer can review it easily.
Change-Id: I097bc44394195b14287f4f920c570ac8653f356a
Fixes: 111413092
Test: This CL can't pass Robo test.