- support tapping to activate for all available media devices including
Hearing aid and Headset
- support tapping to connect for previously connected devices
Bug: 149667096
Test: robotest
Change-Id: I25f74b1b20fbb1876200a561775aa675ff60ac37
This CL before, the bt device still showing on
"previously connected devices" after forgot that bt device.
It because the list of getMostRecentlyConnectedDevices()
will not include BOND_NONE device. We need to remove the
device that not include in list of getMostRecentlyConnectedDevices() .
This CL add removePreferenceIfNecessary() to check the device whether
is contained in getMostRecentlyConnectedDevices(). If not, remove the
preference.
Bug: 149193092
Test: make -j42 RunSettingsRoboTests
Change-Id: I94bedf222b64d9f05dc6f979b79dbc8794c0f97d
This CL include following change:
- Add null check of cacedBluetoothDevice, cachedBluetooth could be null
if the input BluetoothDevice can't found in
CachedBluetoothDeviceManager.
- Move addPreference() and removePreference() to update() method,
because update() will be called to update UI when recevice Bluetooth
device change event.
- Add test case to test CachedBluetoothDevice null check.
Bug: 149068434
Test: make -j42 RunSettingsRoboTests
Change-Id: I90016bf1175925821b0d9b634c62cf796289a734
The profile will auto connect / disconnect when set enable / disable
profile. This CL remove connect / disconnect method.
Bug: 141582844
Test: make -j42 RunSettingsRoboTests
Change-Id: Ib875d126be0d8483fb539e7ba950242a4f38cf81
Use CachedBluetoothDevice.connect() instead of
CachedBluetoothDevice.connect(boolean) to connect
Bluetooth device.
Fixes: 141582844
Test: manually
Change-Id: I8c50678bdfd6de89fb8d56122bfa38bdd5ac5c9d
This CL before, this class use isAvailable() to check whether
should register/unregister callback.
UI will be updated when this callback called.
But in one case, the isAvailable() state will not consistent
on onStart() and onStop().
The isAvailable() state will not consistent when user disconnect
device then forgot the device.
It's will cause callback not unregister when meet this case.
Then callback will duplicate call many times cause UI update not smoth.
This CL use flag to confirm the callback will unreigser on onStop().
Bug: 146617530
Bug: 145647143
Test: make -j42 RunSettingsRoboTests
Change-Id: I2b503ca9a7040b94ccc64ae196dad5a228fcbc6a
This CL is used to check the bluetooth bond state when
fragment is onResume. The bluetooth detail fragment will
finish if the bluetooth bond state is BOND_NONE when
fragment is onResume.
Bug: 146621601
Test: make -j42 RunSettingsRoboTests
Change-Id: I157e1da925dcf527ce2b49ad431079d90b7c4fc3
This CL is used to update Bluetooth api.
- Use BluetoothProfile.CONNECTION_POLICY_ALLOWED instead of
BluetoothProfile.PRIORITY_ON
- Use BluetoothProfile.CONNECTION_POLICY_FORBIDDEN instead of
BluetoothProfile.PRIORITY_OFF
Fixes: 141582844
Test: manually
Change-Id: I527813e38583a4e4a1489090e8a17c6bd50c3e81
This CL uses onProfileConnectionStateChanged() to handle
the case that bonded device is connected in pairing list.
1. Finish BluetoothPairingDetail page if the bonded device is connected
and selected.
2. Remove the devices in BluetoothPairingDetail page if the device is
connected.
Bug: 142519901
Test: make -j42 RunSettingsRoboTests
Change-Id: I51a9f2ebc0b491edb8ea026ff62ec20ae91eee1d
Use mac address to check preference whether is equal instead of use
preference.
Bug: 138547532
Test: make -j42 RunSettingsRoboTests
Change-Id: Iffbbdf063e78a3bf40e74d798ef4dd3a439f8677
Fixes: 139163212
Test: manual test
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.bluetooth
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.accounts
Change-Id: I861434b81c07db785e6f1cfb3e34871ffba41e5f
- Removed the FooterPreferenceMixin from the BluetoothDetailsMacAddressController.
- Added the common api addFooterPreference.
Fixes: 139104386
Test: manual test
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.bluetooth
Change-Id: Iab40fa4c5be674290b1dc6d372c84609ccc2ea49
Add two type SortType.TYPE_DEFAULT and SortType.TYPE_FIFO in BluetoothDevicePreference.
It needs to decide the sort type when you create the BluetoothDevicePreference.
TYPE_DEFAULT - According to the CacheBluetoothDevice state to sort
TYPE_FIFO - According to the timestamp to sort
Bug: 112546918
Test: make -j42 RunSettingsRoboTests
Change-Id: Icd25d9b76a44d5a105f8daf64e5bc1f9ead8cd92
The issue is happened when BT is disabled then navigate to
"Connected devices". BluetoothDeviceUpdater didn't update
UI when BT is disabled. Remove all device from preference when
BT is disabled.
Bug: 80090956
Test: make -j42 RunSettingsRoboTests
Change-Id: Ia1fd8cfbcf95d712a1a702fdf101ff98186b76cd
* Align with the changes of Bluetooth metadata APIs.
* Move metadata utils from Settings to SettingsLib.
Bug: 124448651
Test: make RunSettingsRoboTests
Change-Id: Ic9ad91536ef3ff6807a08bbffa3dd796ef1ad523
If we recycle it in OnStop() and this page isn't destoried,
it will crash when we revisit it.
Fixes: 130185099
Test: RunSettingsRoboTests
Change-Id: I4d3c1c12debcccb1ee7d676a1c5accece0b42e09
notifyHierarchyChanged() is used before when we have
connected/disconnect deivce in same list. So only use it in
DevicePickerFragment.java, not other normal fragments.
Also that call will rebuild whole preference list, which is heavy.
Bug: 119479725
Test: Manual
Change-Id: I06cf221588001b38634fec9f02dee8bc1e561ea8
If it is updated, we need to refresh UI to display latest information
Fixes: 124455912
Test: RunSettingsRoboTests
Change-Id: I73b03f4931e3c2b0d367bbd2d3b2057b26c84b59
1. Update isAvailable() in controller
2. Update method to get fast pair icon
Bug: 124455912
Test: RunSettingsRoboTests
Change-Id: I24a04c8c91d74e9b8b7e8746ad6279fafa37f0a9
1. Add callback to listen to device update
2. Add charging support for bt battery icon
3. When disconnected, only show main icon
Follow CL will update battery icon to show exclamation when it is
low.
Bug: 124455912
Test: RunSettingsRoboTests
Change-Id: I03fb3bf4c4b77711e14b1f2f53733771b525fe4b
Also update detail page to accept cold start:
1. Check whether profile is ready
2. When it is ready, refresh UI
Bug: 123665527
Test: SettingsRoboTests
Change-Id: I39382fd97e9da46fca08cd2e4a3ef15d32703664
As for unthethered headset, get BT data from BT metadata, rather than
CachedBluetoothDevice
Bug: 122460277
Test: RunSettingsRoboTests
Change-Id: Ifb5507cbbce9602726ba272c12d1bf95eff91001
If device supports metadata, then we display advanced UI in Bluetooth
details header. This CL adds layout for this header.
In advanced layout, it will show:
1. Device name
2. Left, right and case icon
3. Left, right and case battery level
Once API is ready, following CL will get metadata from it and set it
to UI.
Bug: 122460277
Test: RunSettingsRoboTests
Change-Id: Ide044cf9705f350b431b2cb3a9ad82cc4425a17e
Move edit icon in bluetooth detail page,
from header back to action bar.
Change-Id: I6afd7c611fe4db8c6c27921b5da316d8a1a000db
Fixes: 76206922
Test: make RunSettingsRoboTests
If DashboardFragment detects blocker controllers, it won't display
until:
1. All blocking controllers finish bg works.
2. Timeout
This CL adds UiBlockerController to control this behavior and
BlockingSlicePreferenceController as an example.
Bug: 120803703
Test: atest SettingsUnitTests
Change-Id: I66fc194776d46ee49b3ec7685f3167834e673ba2
This was broken due to framework changes. Now framework works with
this well.
Change-Id: I2d862d4851efaefcd9866e9fd4b6deb6450f296c
Fixes: 119592320
Test: make RunSettingsRoboTests