Commit Graph

1537 Commits

Author SHA1 Message Date
Angela Wang
14b419b100 Refactor for better readability of using different Bluetooth scanning
We rely on using `filter` is null or not to determine which type of
Bluetooth scanning method is going to be used (Classic of LE). Add a
variable to clearly indicate current scan type for better readibility.

Bug:289189853
Test: make RunSettingsRoboTests ROBOTEST_FILTER=DeviceListPreferenceFragmentTest
Change-Id: I85a26d61410367bd617a0194ba3bfe7ed1b03356
2023-07-19 10:11:08 +00:00
Chaohui Wang
80744abb37 Remove context from BluetoothFeatureProviderImpl
Which is not used.

Bug: 286764889
Test: m Settings
Change-Id: I3f82d53f667d9802585f67f0e028ca52114a055e
2023-07-19 15:14:44 +08:00
Angela Wang
14d35107e8 Merge "Show connecting hearing devices in A11y hearing devices page" into main 2023-07-19 03:19:25 +00:00
Angela Wang
940e02b807 Show connecting hearing devices in A11y hearing devices page
We only show connected hearing devices in the hearing devices page now.
When user pairing a device from pairing page and back to the hearing
devices page after the device is bonded, it's confusing no device shown
in the list because the device is still connecting to profiles. We
should show the connecting device to avoid confusion.

Bug: 283268686
Test: make RunSettingsRoboTests ROBOTEST_FILTER=DeviceListPreferenceFragmentTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=AvailableHearingDeviceUpdaterTest
Change-Id: Id3b29c12b80c282736a3e6ca73bcf317e0652b89
2023-07-18 04:30:59 +00:00
Treehugger Robot
56a76c7038 Merge "Show LE audio toggle in Device Detail by default" into udc-qpr-dev am: 2fdc9c943b am: f07e5f7520
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/24002323

Change-Id: I642988621d5e208cf5acbab6e88ecd3fdae45e41
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-07-17 22:18:35 +00:00
Treehugger Robot
f07e5f7520 Merge "Show LE audio toggle in Device Detail by default" into udc-qpr-dev am: 2fdc9c943b
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/24002323

Change-Id: I7006714cd6b249f8dc791703c3daaddb0ade2f8f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-07-17 03:42:18 +00:00
Treehugger Robot
2fdc9c943b Merge "Show LE audio toggle in Device Detail by default" into udc-qpr-dev 2023-07-17 03:34:51 +00:00
Chaohui Wang
9e62a492f4 Merge "[BT] Correct the filter when addCachedDevices" into udc-qpr-dev am: 683296f180
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/24025004

Change-Id: I342823c900601345cd622bf7e0b0aab0879b9799
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-07-17 03:18:43 +00:00
Chaohui Wang
512caa568a [BT] Correct the filter when addCachedDevices
In Change Ia9750adb6b4c1424d084381e9d7c2ca8e7912391, addCachedDevices()
becomes async, but the filter is set outside of addCachedDevices(),
which makes the filter not apply to addCachedDevices().

Direct pass the filter to addCachedDevices() to fix this issue.

Also migrate the test to Kotlin so we can test coroutine.

Fix: 289876965
Test: manual - check BT pairing page
Test: m RunSettingsRoboTests
Change-Id: I95b16840881747ec9f69e5cd778e456bcc8a7626
(cherry picked from commit 8dd32ab07d)
Merged-In: I95b16840881747ec9f69e5cd778e456bcc8a7626
2023-07-14 05:40:03 +00:00
Chaohui Wang
46075bf8f4 Merge "[BT] Correct the filter when addCachedDevices" into main 2023-07-12 02:40:29 +00:00
SongFerng Wang
5da5fb57cc Merge "Revert "Revert "Update the wording for LE Audio""" into udc-qpr-dev am: 997ef1e5b3 am: 340d592bbf
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/24018266

Change-Id: Ia48ceb51044166be7c09f3b241e181331c77d2ec
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-07-11 14:43:40 +00:00
SongFerng Wang
340d592bbf Merge "Revert "Revert "Update the wording for LE Audio""" into udc-qpr-dev am: 997ef1e5b3
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/24018266

Change-Id: Iac910dd53cfa1ee4b67548d7cfd025c6809a88e8
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-07-11 14:14:27 +00:00
SongFerng Wang
997ef1e5b3 Merge "Revert "Revert "Update the wording for LE Audio""" into udc-qpr-dev 2023-07-11 13:33:14 +00:00
Chaohui Wang
8dd32ab07d [BT] Correct the filter when addCachedDevices
In Change Ia9750adb6b4c1424d084381e9d7c2ca8e7912391, addCachedDevices()
becomes async, but the filter is set outside of addCachedDevices(),
which makes the filter not apply to addCachedDevices().

Direct pass the filter to addCachedDevices() to fix this issue.

Also migrate the test to Kotlin so we can test coroutine.

Fix: 289876965
Test: manual - check BT pairing page
Test: m RunSettingsRoboTests
Change-Id: I95b16840881747ec9f69e5cd778e456bcc8a7626
2023-07-11 19:30:04 +08:00
SongFerng Wang
513f38cb17 Revert "Revert "Update the wording for LE Audio""
This reverts commit c123b2e5a8.

Reason for revert: Since the phase 2 launch plan was moved to next timeline at b/289884263.

Change-Id: I54ff20c0d9599da7f47e2254f721be6007a9204a
2023-07-11 08:20:23 +00:00
Patty Huang
698ce52a17 Show LE audio toggle in Device Detail by default
Bug: 289884263
Test: make RunSettingsRoboTests ROBOTEST_FILTER=BluetoothLeAudioDeviceDetailsPreferenceControllerTest
Test: Checks the LE Audio toggle is shown in Device Detail by default
Change-Id: I3affeebd9b2c59d24f4eaa76a1a22a714e968976
2023-07-10 11:05:35 +08:00
Treehugger Robot
89889d73d4 Merge "Do not show LE audio toggle in Device Detail by default" into udc-d1-dev am: 1f9f114495 am: 20b82c3646 am: 07678daaf7
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/23898723

Change-Id: I8d284b59c2d74a91e58d1e47eddc86f16ea5ed49
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-07-07 12:05:39 +00:00
Treehugger Robot
07678daaf7 Merge "Do not show LE audio toggle in Device Detail by default" into udc-d1-dev am: 1f9f114495 am: 20b82c3646
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/23898723

Change-Id: I302b91cd8502cca57a28e74cbbf72cf962d6468f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-07-07 11:21:28 +00:00
Treehugger Robot
5da1b03545 Merge "Do not show LE audio toggle in Device Detail by default" into udc-d1-dev am: 1f9f114495
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/23898723

Change-Id: I2398f07f2f4936ab26a59a2df285ea3dae05bb94
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-07-07 10:42:29 +00:00
Treehugger Robot
20b82c3646 Merge "Do not show LE audio toggle in Device Detail by default" into udc-d1-dev am: 1f9f114495
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/23898723

Change-Id: I3536f29c771b9233790e6852ab6dc4cb0b58b531
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-07-07 10:38:02 +00:00
Patty Huang
627a584f39 Do not show LE audio toggle in Device Detail by default
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
2023-07-05 11:51:50 +08:00
Yuyang Huang
de771725c4 Merge "Enable/Disable ASHA profile with LE audio toggle" 2023-06-30 18:16:28 +00:00
SongFerng Wang
4b970a47ec Merge "Revert "Update the wording for LE Audio"" into udc-qpr-dev am: 73c811b289
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/23844564

Change-Id: I3890bf56ae360167ab88442c444a49d438edc8f9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-29 03:15:08 +00:00
SongFerng Wang
c123b2e5a8 Revert "Update the wording for LE Audio"
This reverts commit f4c5c8ef5e.

Reason for revert: at stage3, removing this summary.
Bug: 289184862
Change-Id: I6b18a7e2dee9d8fcfb331e53d7a57cc43574da54
2023-06-28 10:06:59 +00:00
Yuyang Huang
f79e084bd0 Enable/Disable ASHA profile with LE audio toggle
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
2023-06-27 23:32:06 +00:00
Treehugger Robot
f75356ca21 Merge "Stop the searching of broadcast" into udc-qpr-dev am: c97fe1a27f
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/23744199

Change-Id: I74132b143b5312886d27ddf6f8e5eb3bb74ce9c7
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-25 18:52:19 +00:00
SongFerngWang
dbe58e96dc Stop the searching of broadcast
- When the user leaves the page, stop the searching
- After the buds are added into broadcast, then stop the searching
Bug: 287136134
Test: build pass. manually testing

Change-Id: I305a9c6ba8cca1bd5c3c0e1d78ad4a84f9a155b7
2023-06-20 11:33:45 +00:00
Chaohui Wang
8429e8cc79 Merge "Update the OWNERS for bluetooth & connecteddevice" am: 6b2f2ab205 am: 7fdf1c4b17 am: b1231c5f15 am: 6bceb29408 am: c1f06b5e28
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/2629910

Change-Id: Ie6831edecd10cceb2cdf3e3d9ac242cdbd462dd6
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-19 12:05:27 +00:00
Chaohui Wang
c1f06b5e28 Merge "Update the OWNERS for bluetooth & connecteddevice" am: 6b2f2ab205 am: 7fdf1c4b17 am: b1231c5f15 am: 6bceb29408
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/2629910

Change-Id: I95132b6df6fe214a0bae54b9c7be69efa77292b3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-19 11:28:16 +00:00
Chaohui Wang
6bceb29408 Merge "Update the OWNERS for bluetooth & connecteddevice" am: 6b2f2ab205 am: 7fdf1c4b17 am: b1231c5f15
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/2629910

Change-Id: I936a6e4a4f24a7f8c238662ec09a02f7a3e985e5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-19 10:45:36 +00:00
Chaohui Wang
b1231c5f15 Merge "Update the OWNERS for bluetooth & connecteddevice" am: 6b2f2ab205 am: 7fdf1c4b17
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/2629910

Change-Id: I9e87eec0995e9dde010a51e3a7ccbaf68839a696
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-19 09:56:38 +00:00
Chaohui Wang
d7147fd952 [LE Broadcast] Fix crash when scan QR code am: c91d017080 am: fd264a7696
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/23729065

Change-Id: Ica82921f80d6c5d796974d34d9a0e710e38eddf8
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-19 07:44:49 +00:00
Chaohui Wang
85c1dea20a Update the OWNERS for bluetooth & connecteddevice
Bug: N/A
Test: N/A
Change-Id: I72b4b6f47586b2dd13cfcc4a642c817c93e4ded0
2023-06-19 07:35:20 +00:00
Chaohui Wang
542ef9e5b2 [LE Broadcast] Fix crash when scan QR code am: c91d017080
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/23729065

Change-Id: I6e14d7a963c2a81b48111d6103502288b23215b8
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-19 07:05:44 +00:00
Chaohui Wang
c91d017080 [LE Broadcast] Fix crash when scan QR code
Crash happens when rotated screen.

QrCodeScanModeFragment should only have default constructor.

Remove unused params to fix.

To start this page,
adb shell am start \
    -a android.settings.BLUETOOTH_LE_AUDIO_QR_CODE_SCANNER

Fix: 287363885
Test: Manually
Change-Id: I3c4bcfdb8ae6ddf750e16d8e7565cb9d45d11788
2023-06-16 16:10:53 +00:00
Chaohui Wang
bb47f32011 Fix bluetooth settings pairing page stuck
There is heavy work to do when add device to list in the
DeviceListPreferenceFragment, off load these work from main thread
to solve the issue.

Make devicePreferenceMap a ConcurrentHashMap to avoid potential race
condition.

Also no longer use getCachedPreference(key) since we not put anything
into the cache, the fallback flow is always used.

Also in BluetoothDevicePreference.onPreferenceAttributesChanged(), move
more heavy work to background thread.

Using System.currentTimeMillis() to sort devices could cause flaky
because System.currentTimeMillis() could be same for different device,
use AtomicInteger instead.

Fix: 286628533
Test: Following the step in bug
Change-Id: Ia9750adb6b4c1424d084381e9d7c2ca8e7912391
2023-06-15 08:43:17 +00:00
SongFerng Wang
afc0ea3952 Merge "When config is changed, update the profile's visibility" into udc-d1-dev am: a210c84eb8
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/23599970

Change-Id: I4969b792e002832c372f30e0f5e7694463b569cd
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-09 03:08:44 +00:00
SongFerngWang
7dc3cf0b32 When config is changed, update the profile's visibility
Bug: 286328464
Test: build pass
Change-Id: I2beef587a71f9fdc1b1e8a97b9b5656dbb52a9f3
2023-06-08 10:40:54 +00:00
TreeHugger Robot
060250ded2 Merge "[Settings] Fix crash when user enter bluetooth page quickly." into udc-dev am: 3e374cc7a7 am: 9b68c3c9c1
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/23601556

Change-Id: Ie63476cbbc3efc7d3d00a7b9bcc0c1772d33e327
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-07 13:44:52 +00:00
TreeHugger Robot
9b68c3c9c1 Merge "[Settings] Fix crash when user enter bluetooth page quickly." into udc-dev am: 3e374cc7a7
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/23601556

Change-Id: I5f9975f49ec0793eabf171c5dba0791683ab0d15
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-07 13:03:22 +00:00
tom hsu
bf7865b27e [Settings] Fix crash when user enter bluetooth page quickly.
- When SliceManager try to pinSlice, process may not have the permssion
   yet, so in Androix lib it use try/catch to avoid Security exception.
   However, if SliceManger quickly unpinSlice after pinSlice, process
   may still not get the permission yet, then due to no security
   exception, it cause the settings crash.

Bug: 283065718
Test: atest passed
Test: Manual test passed
Change-Id: I2293fca73e65dfaa34237abe57e0c6a3fe0f62bb
2023-06-07 09:37:21 +00:00
SongFerng Wang
fb0186c690 Merge "Add the log and moving it into onResume" into udc-d1-dev am: add7deceb2
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/23579644

Change-Id: I991eb37e42817dba11b4b0404fa5915e6a35ab36
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-07 03:36:07 +00:00
SongFerng Wang
add7deceb2 Merge "Add the log and moving it into onResume" into udc-d1-dev 2023-06-07 02:45:20 +00:00
SongFerng Wang
8b1bfeef73 Merge "ForgetDeviceDialogFragment check whether device is null or not" into udc-d1-dev am: 4929da451c
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/23578859

Change-Id: Ibff4ceef103e798e1e27ee413009ccac92a79cfe
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-07 02:09:50 +00:00
SongFerngWang
ea85e3b2fa Add the log and moving it into onResume
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
2023-06-07 01:45:31 +00:00
SongFerngWang
13cd052693 ForgetDeviceDialogFragment check whether device is null or not
Bug: 280687867
Test: build pass
Change-Id: I4134569854165f20f6287406d9ed627b2c15c05b
2023-06-06 09:53:36 +00:00
TreeHugger Robot
aac695129e Merge "Default show LE audio toggle in Device Detail" into udc-d1-dev am: df23aab9bf
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/23486040

Change-Id: I5202aa1f9202a906ef197a0f60209edf73df7ab5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-06-02 15:56:27 +00:00
Patty Huang
3e980c7c8f Default show LE audio toggle in Device Detail
Bug: 284790607
Test: make RunSettingsRoboTests ROBOTEST_FILTER=BluetoothLeAudioDeviceDetailsPreferenceControllerTest
Test: Checks the LE Audio toggle is shown in Device Detail by default
Change-Id: Id301815513e8066941d3e4c44ab2e7b4d5ed011b
2023-06-01 20:36:34 +08:00
SongFerng Wang
40a0d96640 Merge "The BluetoothDevicePreference register the MetadataChanged" into udc-dev am: 71a5715e3e am: 535a91afff
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/23405361

Change-Id: I4a30565d621e5e4535da4c7e0ac5dd22bee5da42
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-05-24 10:56:58 +00:00
SongFerngWang
1872151b4f The BluetoothDevicePreference register the MetadataChanged
The bluetooth device preference needs to refresh UI after MetadataChanged
Fix: 282877247
Test: make RunSettingsRoboTests ROBOTEST_FILTER=BluetoothDevicePreferenceTest

Change-Id: I02cb07a6b255242e4877089ce2f3b7559ce02362
2023-05-24 04:49:41 +00:00