Root Cause: CsipDeviceManager only refreshes UI when switching member device content.
Solution:
* CsipDeviceManager needs to call refresh() on main device when it's new
member device added.
* UI widget Settings/BluetoothDevice also need to monitor it's member device status to refresh UI.
Bug: 344947362
Test: atest BluetoothDevicePreferenceTest
Flag: EXEMPT bugfix
Change-Id: I58f9e2fc209d4e87631784d0538b1647228f4c1a
The original method name implied that the returned profiles were guaranteed to be connectable. However, it actually filters profiles based on user can access the profile in the UI and initiate the connection. Change the method name to getUiAccessibleProfiles() aligns the name with the actual behavior.
Flag: EXEMPT simple renaming
Bug: 356530795
Test: m
Change-Id: Ib7d29a4bf9c213ddcecc567864583165ab97a099
After the code change of ag/28283226, they hide the LE Audio toggle for
LE Audio only device since turning off the profile may cause this device
no functioning. But the dual mode hearing devices(LE Audio + Asha) are
wrongly recognized as LE Audio only devices since
HearingAidProfile.accessProfileEnabled() return false. This make the
users lost the ability to switch between profiles they preferred.
Make HearingAidProfile.accessProfileEnabled() return true and hide the
Hearing Aid toggle by default since it's also meaningless to turn off
the Asha profile for Asha-only devices.
Flag: com.android.settingslib.flags.asha_profile_access_profile_enabled_true
Bug: 356530795
Test: manual checking the UI
Test: atest BluetoothDetailsProfilesControllerTest
Change-Id: Ica350b4c16c1b07945399bfee1038f7b0824baed
Test: make RunSettingsRoboTests ROBOTEST_FILTER=BluetoothDetailsProfilesControllerTest
Test: manual test with le toggle and check bass profile is
enabled/disabled
Bug: 300227308
Change-Id: If61b1edadb24b53661bb74173c243826f31956ae
Use LE audio connection by default, and allow to have the differenct
configuration per project (system property). As using LE audio connection by
default, the toggle, "Show LE audio toggle in Device Details", would be
useless, hide this toggle based on the project configuration
Bug: 300012501
Test: make RunSettingsRoboTests ROBOTEST_FILTER=BluetoothLeDeviceDetailsPreferenceControllerTest
Change-Id: Ia4df48d6a71b5b9f11bd91a69971c8393412da13
Config LE audio UI per devices. Change to use system properties instead
Bug: 300807171
Test: make RunSettingsRoboTests ROBOTEST_FILTER=BluetoothLeAudioDeviceDetailsPreferenceControllerTest
Change-Id: Id0d624f516b9fdbe2380e5f10da5c69b08eea6a4
This reverts commit c123b2e5a8.
Reason for revert: Since the phase 2 launch plan was moved to next timeline at b/289884263.
Change-Id: I54ff20c0d9599da7f47e2254f721be6007a9204a
Bug: 289884263
Test: make RunSettingsRoboTests ROBOTEST_FILTER=BluetoothLeAudioDeviceDetailsPreferenceControllerTest
Test: Checks the LE Audio toggle is shown in Device Detail by default
Change-Id: I3affeebd9b2c59d24f4eaa76a1a22a714e968976
LE audio has more capability and better quality than ASHA has. When LE audio turned on, ASHA should be off to avoid media streaming profile conflict.
Bug: 287525854
Test: manual
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:f79e084bd0a3f9cd332d8218ac040d8c6c60f658)
Merged-In: I3c5c9012c167b920e484b39374fe8174191b094d
Change-Id: I3c5c9012c167b920e484b39374fe8174191b094d
Bug: 289884263
Bug: 289957406
Test: make RunSettingsRoboTests ROBOTEST_FILTER=BluetoothLeAudioDeviceDetailsPreferenceControllerTest
Test: Checks the LE Audio toggle is not shown in Device Detail by default
Change-Id: I2c6430c791dd852d238d7122a72f218f395c4a0b
This reverts commit f4c5c8ef5e.
Reason for revert: at stage3, removing this summary.
Bug: 289184862
Change-Id: I6b18a7e2dee9d8fcfb331e53d7a57cc43574da54
LE audio has more capability and better quality than ASHA has. When LE audio turned on, ASHA should be off to avoid media streaming profile conflict.
Bug: 287525854
Change-Id: I3c5c9012c167b920e484b39374fe8174191b094d
Test: manual
Since user can open two settings app(one is via settings app button and other one is via quick settings) and user can switch them to foreground by the recent page. If user can goto the deviceDetails at Settings_A and then changes the config value at settings_B, then the user goes back Settings_A to check the UI. If config is in the init, the UI can't refresh the UI.
Bug: 285086232
Test: build pass.
Change-Id: I2284940eddcd02c543522b60f951c0d8d25775fd
Bug: 284790607
Test: make RunSettingsRoboTests ROBOTEST_FILTER=BluetoothLeAudioDeviceDetailsPreferenceControllerTest
Test: Checks the LE Audio toggle is shown in Device Detail by default
Change-Id: Id301815513e8066941d3e4c44ab2e7b4d5ed011b
Since the LE audio have two or more devices in the same group and
the UI show their status at one preference, the UI need to register
callback for each of the devices, and also refresh the deviceList.
Bug: 278155752
Test: local test to pairing the device and check the battery part
Change-Id: I2fcde92a1f68b8437465b234820f7bad13dfc444
This reverts commit 6edb515a9f.
Reason for revert: we need this change and need to merge together with prebuilt
Bug: 280626194
Change-Id: Id883c6c7c778154038c249f7be8e9fabf52299c3
This reverts commit 345889b5e2.
Reason for revert: Accidental merge, should merge together with prebuilt
Bug: 280626194
Change-Id: I93f66f22b55eb906f8e079de35f2db00b102c788