The LE audio structure have two or more devices, it use CSIP to combine
them with the groupId. It breaks the UI structure, since the UI use the
map to save relationship between the bluetoothDevice and preference.
There are two or more devices using the same UI, it causes UI show the
wrong preference when CSIP do switching of device.
Remove the unuse device when UI refreshing.
Bug: 281697186
Test: Build pass
Test: make RunSettingsRoboTests ROBOTEST_FILTER=AvailableMediaDeviceGroupControllerTest
Change-Id: I798cf9edb590c4a25273913d2f2faf0ed4364ba9
* Extract the common part into HearingAidHelper.
* Remove abstract getHearingDevice(). Change to get the hearing device when needed.
* Move several classes from Bluetooth into Accessibility
Bug: 281783079
Test: make RunSettingsRoboTests ROBOTEST_FILTER="(HearingDeviceAudioRoutingBasePreferenceControllerTest|AccessibilityHearingAidPreferenceControllerTest|HearingAidHelperTest|HearingAidAudioRoutingPreferenceControllerTest|HearingDeviceCallRoutingPreferenceControllerTest)"
Change-Id: I79049107409b7086c6dcc8d48a6323e171ed1535
Non-hearing devices are listed in "pair new hearing devices page" if we click the "See more devices" button and go back from "general pair new devices page".
Root cause:
Two types of Bluetooth scanning happen simultaneously and the scanning results of different scanning methods are handled in the same place. Currently the BLE scanning callback “onScanResult()” directly calls “onDeviceAdded()” method to handle the new scanned devices. This method is mainly called when receiving a broadcast of a new device found in Bluetooth classic scanning. The general pair new devices page uses Bluetooth classic scanning and the pair new hearing devices page uses Bluetooth LE scanning. The life cycle ordering when going back from general pair new devices page to pair new hearing devices page will be "pair new hearing devices page".onStart() -> "general pair new devices page".onStop(). It means the classic scanning is not stopped while the BLE scanning starts and this causes the scanning results from classic scanning unexpectedly added to the list which should only show the scanning results from BLE scanning.
Solution:
Separates the handling part of two scanning methods. Leaves "onDeviceAdded" handling Bluetooth classic scanning results only, and handles BLE scanning results in the “onScanResult” callback directly.
Bug: 279374435
Test: checks the result by switching back from "general pair new devices page" to "pair new hearing devices page"
Test: make RunSettingsRoboTests ROBOTEST_FILTER=DeviceListPreferenceFragmentTest
Change-Id: Iebdde401ffb3dc0569478730a140a5dd7add115b
- Do not register only one BT device for primary to avoid primary
BT devcie change to another.
- Register and unregister all BT devices
Bug: 280236099
Test: atest passed
Change-Id: I610144c7f8f649e40d99cf1dc7f50d1f3b80f109
This reverts commit 345889b5e2.
Reason for revert: Accidental merge, should merge together with prebuilt
Bug: 280626194
Change-Id: I93f66f22b55eb906f8e079de35f2db00b102c788
Dialog still show when activity destroyed will cause leak.
Dismiss dialog when activity onDestroy to fix this issue.
Fix: 279522922
Test: Manually with "Don't keep activities"
Test: Robolectric Test
Change-Id: I445f4b160020823a6f6e2883055218c1224e2c48
The metadata have main_battery and device is not untethered device,
then UI show battery by metadata.
Bug: 273907230
Test: atest AdvancedBluetoothDetailsHeaderControllerTest
Change-Id: I73d8a69c81fe234a5c576ca3769c1b079ac0ceb4
- display disable status directly
- click disabled MainSwitchBar will show devicepolicy dialog
- make sure BT and location use MainSwitchBar correctly
Bug: 260406688
Test: manual
Change-Id: I8bb57213eec6dd5e991af580e1a06ebf8a867c28
The Settings' 2 panel did not support SlicePreference, since it
always open activity with NEW_TASK and it casues the settings can't
set new page at right side.
Bug: 270544054
Test: build pass. local test: the phone pair the buds with fastpair, and
then check the slice preferences.
atest BlockingPrefWithSliceControllerTest (pass)
Change-Id: I0e8abfd284492f04ab322a5bed13741fc6b25b34
Solution: Finish the page immediately to back to previous page when already BONDED the device in
all bluetooth device page.
Bug: 270096758
Test: make RunSettingsRoboTests ROBOTEST_FILTER=ViewAllBluetoothDevicesPreferenceControllerTest
Change-Id: I13a88c3fbe0c6851f9446a9f574a1c18f934cd2e
When the screen rotates, currently the startActivityForResult() within
RequestPermissionActivity could be called multiple times, so the
multiple RequestPermissionHelperActivity will be created, which caused
the issue.
Replace RequestPermissionHelperActivity with AlertDialog (as an
unfinished TODO of RequestPermissionHelperActivity) can fix this issue.
Fix: 243601277
Test: Manually with adb shell commands
Test: Unit test
Change-Id: If1e2b2807b69a87bbcfffa543ee0da134d4c4312
1. Check open from a notification
2. Check open from Bluetooth entry
3. If the inputDeviceIdentifier is not null, open the next page
directly.
4. Add extra to record the class of sender for the future metrics.
Demo: http://screencast/cast/NDU4MTYxOTIzMTg4MzI2NHxiYTQ0ODE5Ny02YQ
Bug: 269212353
Test: manual, atest
[Pass] atest KeyboardSettingsPreferenceControllerTest
[Pass] atest PhysicalKeyboardPreferenceControllerTest
Change-Id: Ie874003260896bbb949806623913e70486e4731d
- Links are not allowed in footer preference title now. So follow the
Wi-Fi UX design to add the string "Change". Let the user to click and
go to the Bluetooth scanninng settings
Bug: 265167737
Test: make RunSettingsRoboTests
ROBOTEST_FILTER=BluetoothSwitchPreferenceControllerTest
Change-Id: If9e666df7b987e0dbe3d550ac0af03b9d79230de
Merged-In: If9e666df7b987e0dbe3d550ac0af03b9d79230de
connected on the same device
Removes the classic audio toggles for dual mode audio devices.
Bug: 257881495
Test: Manual
Change-Id: Ie6794b4d904c74a7c5137ad141172c10188a99f9
Root Cause: Tablet might not support Call
Solution: Check isVoiceCapable() first
Fix: 270472166
Test: make RunSettingsRoboTests ROBOTEST_FILTER=HearingDeviceCallRoutingPreferenceControllerTest
Change-Id: Icf69d286f63a737941447a6c16a08b4bb8c1fe23
Similar functions need to be called when hearing device get connected, so move them into SettingsLib.
Bug: 269122580
Test: make RunSettingsRoboTests ROBOTEST_FILTER=HearingDeviceAudioRoutingBasePreferenceControllerTest
Change-Id: I15296fb81726c96c1d2fec7397e981e71e305450
state
- When the user clicks another broadcast source and wants to join,
we will remove the previous item that created by getAllSource().
And trigger the search again.
Bug: 242267719
Test: make RunSettingsRoboTests ROBOTEST_FILTER=BluetoothBroadcastSourcePreferenceTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=BluetoothFindBroadcastsFragmentTest
Change-Id: I416f0a39e31276876e63360664555f99dd7297c9
Merged-In: I416f0a39e31276876e63360664555f99dd7297c9
* In hearing deivce and flash notifications U features.
Bug: 268144365
Test: open screen reader to read the footer preference
Change-Id: Ifb0809c1e445aea4aeea9db9b4ec09cd6d0d4095