Commit Graph

92 Commits

Author SHA1 Message Date
Haijie Hong
026d698a91 Don't show footer for headset when bonding loss
Test: local tested
Flag: EXEMPT minor fix
Bug: 380801155
Change-Id: I5bb1bbcb08723a5ac5c8b82d2428df7a7f3e275d
2025-03-21 16:14:50 +08:00
Haijie Hong
519f1752f0 Show bond loss UI in device details
Bug: 380801155
Test: atest BluetoothDetailsFragmentTest
Flag: EXEMPT minor change
Change-Id: I458778e1a3adde4ec1ddd8b84b8dc7f1d91621f5
2025-03-18 11:41:52 +08:00
Ze Li
6a29b1c779 [Battery refactor] Move stylus related functions to BluetoothUtils as util functions.
Test: com.android.settings.bluetooth.BluetoothDeviceDetailsFragment, com.android.settings.connecteddevice.stylus.StylusDevicesControllerTest
Bug: 397847825
Flag: EXEMPT utils function
Change-Id: I6819844cd686fe29b8b1c760c3e4035787a2b903
2025-02-20 15:35:01 +08:00
Haijie Hong
cdcf50e3d2 Add audio sharing entrypoint in device details
BUG: 383935069
Test: local tested
Flag: com.android.settingslib.flags.enable_le_audio_sharing
Change-Id: Ib90422d262eba84c3a308d8e4c5652d8c5f96808
2025-01-08 13:03:12 +08:00
Haijie Hong
2d2770b835 Merge "Don't update UI if getActivity returns null" into main 2025-01-02 17:37:50 -08:00
Haijie Hong
6c7bd9109d Don't update UI if getActivity returns null
Flag: EXEMPT minor fix
Test: local test
Bug: 383016400
Change-Id: I4d62da1a6d74db18f2c7cd20eb2e5b3825556fc5
2025-01-02 00:53:44 -08:00
Angela Wang
5ccc566161 Migrate SeekBarPreference to SliderPreference
Flag: EXEMPT flag by System prop
Bug: 349675952
Bug: 384648854
Test: manually check the UI
Test: atest AmbientVolumePreferenceTest
Change-Id: Ibe8ba3f8e46337b9771fd4921aee4dea21612e06
2024-12-20 01:17:22 -08:00
Haijie Hong
67ac0faf3d Add loading screen for Device details fragment to avoid ANR
BUG: 343317785
Test: local tested
Flag: com.android.settings.flags.enable_bluetooth_device_details_polish
Change-Id: Iad57fc2fe4cb0a3f90e8d01310b9c7ad20d02233
2024-11-29 22:04:31 +08:00
Haijie Hong
d5c7d17e07 Fix junk when loading more settings item
BUG: 377531818
Test: local tested
Flag: com.android.settings.flags.enable_bluetooth_device_details_polish
Change-Id: Ib6f97c589473aa0c7576af966a78068da273deec
2024-11-25 11:48:19 +08:00
Haijie Hong
77132f0e61 Merge "Remove extra space around profiles and audio category" into main 2024-10-30 08:13:38 +00:00
Haijie Hong
2c9e4d373e Remove extra space around profiles and audio category
BUG: 376021212
Test: local test
Flag: com.android.settings.flags.enable_bluetooth_device_details_polish
Change-Id: If3e18ce26c688087158542e28e4981cf821fa2b8
2024-10-30 05:31:55 +00:00
Haijie Hong
6c1481e5e7 Exit device details page when bond state is BOND_NONE
BUG: 356222570
Test: local test
Flag: EXEMPT minor bug fix
Change-Id: I1485aa78eb1323eefabf1eb023e24459faed51a6
2024-10-28 16:38:34 +08:00
Haijie Hong
7764a3e5af Fix coroutine scope expired and UI animation issue
BUG: 375365790
BUG: 375146578
BUG: 375304695
BUG: 375544752
Test: atest BluetoothDeviceDetailsViewModelTest
Flag: com.android.settings.flags.enable_bluetooth_device_details_polish
Change-Id: Ib3bc6699f256288b6c4995b78cc25a16f1af0792
2024-10-28 03:16:26 +00:00
Haijie Hong
cd7627c9ff Make bluetooth profile toggles configurable
BUG: 343317785
Test: atest BluetoothDetailsProfilesControllerTest
Flag: com.android.settings.flags.enable_bluetooth_device_details_polish
Change-Id: I5aea110f7a42ffee20a56dbd9d5621f44311cc66
2024-09-09 13:23:12 +08:00
Haijie Hong
91536001ba Merge "Clean up legacy bluetooth setting flags" into main 2024-08-21 05:45:25 +00:00
Haijie Hong
7723d99684 Merge "Catch IllegalArgumentException when unregister callback" into main 2024-08-20 10:39:13 +00:00
Haijie Hong
52b6929334 Catch IllegalArgumentException when unregister callback
BUG: 359585188
Test: local test
Flag: EXEMPT minor fix
Change-Id: Ie2e485b922b2bf1163d47c14040e6e3d48f55f86
2024-08-20 17:17:29 +08:00
Haijie Hong
15a9f1437d Clean up legacy bluetooth setting flags
BUG: 359415806
Test: atest SettingsRoboTests
Flag: EXEMPT clean up
Change-Id: I7c47d80e61cfb0e3b473106e0784cc96ba639452
2024-08-20 15:38:32 +08:00
Haijie Hong
7cd4a3987f Add device details more settings page
BUG: 343317785
Test: atest DeviceDetailsFragmentFormatterTest
Flag: com.android.settings.flags.enable_bluetooth_device_details_polish
Change-Id: Ia9eff049e73e039ac5d0fb26096ab4e9add60315
2024-08-19 23:41:16 +08:00
Haijie Hong
41f7c222b6 Rearrange bluetooth device details fragment according to config
BUG: 343317785
Test: atest DeviceDetailsFragmentFormatterTest
Flag: com.android.settings.flags.enable_bluetooth_device_details_polish
Change-Id: I440f85b2c402920e851915ff56fa7b3f5356e807
2024-08-14 16:06:15 +08:00
Haijie Hong
c2ed6d3242 Move rename button next to the device name
BUG: 343317785
Test: atest GeneralBluetoothDetailsHeaderControllerTest
Flag: com.android.settings.flags.enable_bluetooth_device_details_polish
Change-Id: I87f030ca48d3edac13759fe51499b7e400dbb795
2024-08-12 12:31:45 +08:00
Haijie Hong
a074f27499 Add device to to cached device manager if it's not present
Bug: 346923808
Test: atest BluetoothDeviceDetailsFragmentTest
Flag: EXEMPT minor bug fix
Change-Id: Ia4987bc7ec93cb6b54d188922b7232d83d528f2f
2024-06-25 10:42:38 +00:00
Haijie Hong
99a7e76561 Refresh ANC UI if metadata is changed
Test: I didn't find any existed unit test for ANC, I manually tested in phone.
Bug: 341000840
Change-Id: If09abae5835225f3d9190a05d8308dbaa9e9b63d
2024-05-24 09:50:54 +00:00
Haijie Hong
1ab367d3a0 Exit bluetooth device details page when bluetooth is off
Bug: 333836213
Test: atest BluetoothDeviceDetailsFragmentTest
Change-Id: I4632c10a8f6f828885825e1ee46df6537a0c050c
2024-04-15 13:29:42 +08:00
Angela Wang
82e4ed3bd1 Selects presets in device details page (1/2)
Enables users to select their presets in Bluetooth device details page if the device supports HAP.

This CL only contains the UI elements. The full functionality will be introduce in the next CL.

Bug: 300015207
Test: atest BluetoothDetailsHearingDeviceControllerTest
Test: atest BluetoothDetailsHearingAidsPresetsControllerTest
Change-Id: I1ab4781191b0c9e1033a29c30ca61671878bb7e1
2024-02-29 09:17:32 +00:00
Angela Wang
4af270b231 Separate category controller out of HearingDeviceControlsController
We're going to add more different device controls (such as hearing aids presets, volume offset controls or microphone volume controls) into "device_controls_general" PreferenceCategory. It's better to keep the category controller separated from the child controller to better maintain the visibility of the whole category and have a clearer stucture of these controllers.

Bug: 300015207
Test: atest BluetoothDetailsHearingDeviceControllerTest
Test: atest BluetoothDetailsHearingDeviceSettingsControllerTest
Test: atest BluetoothDeviceDetailsFragmentTest
Change-Id: I7f35b02a1120aefa8307e500f7abfce3b8055fbf
2024-02-29 09:17:30 +00:00
Jason Hsu
2eba5be9b4 Merge "Fix corss-link hearing device settings" into main 2024-02-03 09:57:04 +00:00
jasonwshsu
917682603c Fix corss-link hearing device settings
Root Cause: There are two device details entries in Connected devices and Hearing devices page which can both go to the same page, it will have the endless loop problem.

Solution: Only show hearing device settings comes from Connected devices page.

Bug: 320709814
Test: make RunSettingsRoboTests ROBOTEST_FILTER=BluetoothDeviceDetailsFragmentTest
Change-Id: I26941d0d16ab3bb0df0cb2c481c25c6c41340261
2024-01-28 01:01:41 +08:00
Haijie Hong
76d8145f15 Add BT extra options in device details page
Bug: 319562236
Test: make RunSettingsRoboTests ROBOTEST_FILTER=BluetoothDetailsExtraOptionsControllerTest
Change-Id: Ifab39d2bd19044d60f090f4a0419d1e20b2ad925
2024-01-17 19:02:20 +08:00
Haijie Hong
c2694e1ff6 Fix scrolling to wrong position issue in Bluetooth Device Details page
Bug: 294355795
Test: tested locally
Change-Id: Ic80fb7974cf30adb3112aeb826c2b5bcb0067afc
2023-09-27 08:34:37 +00:00
Guojing Yuan
756d23cad1 [CDM] Add Permissions Sync toggle
Bug: 290063372

Test: manually tested the toggle
Change-Id: I75d4370eed98275e2f99d65620229bdb57193fb8
2023-09-12 18:02:38 +00:00
Chaohui Wang
cc2133ba8e Clean up unused fields from EntityHeaderController
Bug: 295260929
Test: manual - on pages with header
Test: robo test
Change-Id: Icebd63dbb5d3d44b4b46d3bececb8b65b30b4883
2023-08-21 13:58:07 +08:00
Vlad Popa
d32044a8c1 Merge "Add list preference for BT audio device type selection" into main 2023-08-11 00:21:56 +00:00
Vlad Popa
a145082250 Add list preference for BT audio device type selection
Since BT devices do not populate the device type reliably we offer the
user the possibility to categorize the audio type of the selected
device. This is can be used by the AudioManager for enabling/disabling
the computation of sound dose.

Test: atest BluetoothDetailsAudioDeviceTypeControllerTest
Bug: 287011781

Change-Id: I797a92e1af4025596ef1c603ed4ab59813e3cbf0
2023-08-10 15:20:52 -07:00
Chaohui Wang
8e2ae547d6 Clean up FeatureFactory.getFeature()
Bug: 286764889
Test: m Settings
Change-Id: I7e472e6b0ca6b7a735c1b92742ddf06c545176fc
2023-08-08 08:41:48 +00:00
jasonwshsu
212470d0a6 Move 'Audio Output' to Accessibility hearing device page
* 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
2023-05-12 13:46:53 +08:00
SongFerngWang
c054498357 Replace the SlicePreference with Preference am: 794fc58235
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/22755956

Change-Id: I5e9032624347b27acb02eafd28002744d92b5f2f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-25 06:23:25 +00:00
SongFerngWang
794fc58235 Replace the SlicePreference with Preference
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
2023-04-21 23:08:06 +08:00
TreeHugger Robot
f145881a7d Merge "Open the settings page for a specific physical keyboard" into udc-dev 2023-03-29 05:31:49 +00:00
danielwbhuang
cc749159df Open the settings page for a specific physical keyboard
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
2023-03-28 14:15:08 +00:00
jasonwshsu
fd76efc7fd Update the strings for bluetooth hearing device details page in U
Bug: 270086620
Test: flash rom and check the device details page UI for hearing device
Change-Id: Iae1a7fae9f51ed8318d757ed7b3eefe0261b28a1
2023-03-21 15:10:38 +08:00
Andy Hung
65680a2fd7 Bluetooth Settings: Restore Spatial Audio Settings
No need to gate under feature flag, it only shows if
Spatial Audio exists on device.

Test: Connect BT headset and see spatial audio settings
Bug: 264709855
Change-Id: Iddda3eb430b62880036bbe8c680addca07a60ab2
2023-01-06 16:21:29 -08:00
Vania Januar
b837d57b02 Set title for Bluetooth Details page to "Stylus" for styluses.
Bug: 254835745
Test: BluetoothDeviceDetailsFragmentTest
Change-Id: I725877b0bcf44fa7be805e16fb2d695c9d6074dc
2022-12-29 12:31:59 +00:00
Vania Januar
57822a67a8 Pass CachedBluetoothDevice into StylusDevicesController.
Styluses can now be identified using the newly added DEVICE_TYPE_STYLUS
metadata.

Bug: 251200056
Test: StylusDevicesControllerTest
Change-Id: Ie89f6419cd16ed97299944b35497c6b2ee764dab
2022-12-29 12:31:31 +00:00
jasonwshsu
a7d5801d28 [hearing devices page][Audio routing] Add feature flag to control visibility of the hearing device controls and audio output
* Setup basic xml for hearing device controls and audio output in bluetooth detail device page.
* Use same PreferenceCategory with spatial audio and rename to
  `feature_controls_group`

Bug: 237625815
Test: make RunSettingsRoboTests ROBOTEST_FILTER=BluetoothDetailsHearingDeviceControlsControllerTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=BluetoothDetailsAudioRoutingControllerTest
Change-Id: Ibe71757b53b9d65c6ab6efa1053d035e78882b68
2022-12-20 11:05:23 +00:00
TreeHugger Robot
beee3044d8 Merge "Implement new keyboard settings UI." 2022-12-13 05:28:07 +00:00
danielwbhuang
1639782df6 Implement new keyboard settings UI.
Add enabled input method locales page
Add keyboard layout picker page
Add keyboard settings entry in BT device detail

Bug: 242680718
Test: local test
Change-Id: I07e068ecde553d394697b25cb573f806229f6f52
2022-12-13 10:47:07 +08:00
Vania Januar
2df165a58a Add a stylus controller to Bluetooth Device Details.
Feature is currently flagged behing SETTINGS_SHOW_STYLUS_PREFERENCES.

Bug: 251201006
Test: SettingsRoboTests StylusDevicesControllerTest
DD: go/stylus-connected-devices-doc
Change-Id: I438b7fe5ca1c94f9dfb506c8918d0e6cb005ca33
2022-11-30 16:06:14 +00:00
TreeHugger Robot
88313aed6c Merge "Fix the bluetooth extra control slice not visible" into tm-qpr-dev am: 3cb39ca221 am: 3ed6cb001b
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/20252603

Change-Id: Ic52873bd9940c0c8e60ab14bd617838c27d92916
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-10-31 09:27:59 +00:00
Alan Huang
4a7690919c Fix the bluetooth extra control slice not visible
The bluetooth extra control slice requires a parameter for the page width, but sometimes the onGlobalLayout callback is after the the fragment refresh the preference available state. Thus, setting the extra control slice to invisible, because the uri is not been set yet. So, add the displayPreference call to update the visibility of the slicePreference.

Bug: 251450477
Test: manual build and QA automation testing.
Change-Id: If7e5f426fc8b1d6887a5977600eaeaf3ede553d1
2022-10-21 03:25:35 +00:00