The onServiceConnected is called, but the constructor is not finished.
Bug: 247058040
Test: build pass. local test and don't encounter the crash
Change-Id: I806446a893fd3ca18ee926b0bc7d2ceed2717902
The information including device mode, device side, and entry page id where binding process starts. We only log the info once after the hearing aid is bonded. Without forgetting the bluetooth device, it won't log the info again if you disconnect and then reconnect it.
Bug: 237344016
Test: m statsd_testdrive & statsd_testdrive 513
Change-Id: I57a17fd3a6b26855615ab8698c7d3a95e8438603
Merged-In: I57a17fd3a6b26855615ab8698c7d3a95e8438603
always have them.
We're mainly interested in the activeDeviceChanged log for b/243755182
but it'll be good to have all the logs.
This is almost the same as Id1b12dbf802cae07120f1d6cc2c0b2e3967a1c75,
but with these changes:
- In BluetoothControllerImpl#onActiveDeviceChanged, check for null
- Add @NonNull or @Nullable annotations to BluetoothCallback
- Add a test case for #onActiveDeviceChanged with a null device
Bug: 246876230
Bug: 243755182
Fixes: 234774643
Test: dumped log buffer from device after connecting + disconnecting
bluetooth devices
Test: BluetoothControllerImplTest
Change-Id: I8643bd0061559c3cfc90f0741de12949be3f68f2
This reverts commit 2d0a8f3b06.
Reason for revert: b/246876230
It looks like the log are not working because the device can be null. This mean the log never worked before too.
Change-Id: Ia786886420db3dbcdb31e4f1a641088b2fedf897
1. dispatchDataChanged will not build devices again, we need to
do that to update volume quicker.
2. dismiss dialog only when Media change to pause or stop.
Bug: 243759774
Test: verified on device
Change-Id: I9b93c7e21c899f011418ee51cec3be08c30004fa
Root Cause: Only set deviceSide() and deviceMode() when connection state change.
Solution: Set deviceSide() and deviceMode() together with setHiSyncId() when HearingAidService connected and addDevice() into CachedBluetoothDevice.
Bug: 243621489
Test: make RunSettingsLibRoboTests ROBOTEST_FILTER=HearingAidDeviceManagerTest
Change-Id: Iaa5a00311006c6e6bb9aaf565224627df1c5beaa
The settings and systemUI use the LocalBluetoothLeBroadcast and
they use different sharedPreferences since the context is different.
It causes the data are not consistent.
Solution: Add data into ContentProvider, and listen the data changed
by the ContentObserver.
Bug: 243107842
Test: build pass. manual test in local.
atest SettingsBackupTest
atest SettingsValidatorsTest
Change-Id: I5f8367f3eb8e2dafa2986004dd8540de41409192
Merged-In: I5f8367f3eb8e2dafa2986004dd8540de41409192
always have them.
We're mainly interested in the activeDeviceChanged log for b/243755182
but it'll be good to have all the logs.
Bug: 243755182
Fixes: 234774643
Test: dumped log buffer from device
Test: BluetoothControllerImplTest
Change-Id: Id1b12dbf802cae07120f1d6cc2c0b2e3967a1c75
CP from the AOSP aosp/2203113.
Bug: 244524317
Test: NA
Change-Id: I18e25daa8cc41b692e944cb7c13b4c5582a7270e
Merged-In: I18e25daa8cc41b692e944cb7c13b4c5582a7270e
SystemUI currently only shows the RAT type indicator for the active
network, which may change. At the same time, the Resources system does
not track the active mobile network, which means that
`context.getResources().getConfiguration()` may return a `Configuration`
object with an incorrect MCC/MNC for the current active subscription.
This CL creates a `MobileContextProvider` class, which will lazily
generate `Context`s with a correctly overridden MCC/MNC, so that
resource overlays properly load individual carrier iconography when the
active data subscription changes.
We also will load each individual mobile icon with the proper context,
in case there is ever a need to show the RAT type indicator for multiple
subscriptions at once.
Lastly, this CL adds a new "mccmnc" arg string to demo mode so that we
can easily validate RAT type indicator overlays.
Test: atest MobileContextProviderTest
Test: use the new `mccmnc` string in sysui demo mode to manually verify
Fixes: 240555502
Change-Id: If1f7d31a46f19f335b9545ca33638786a423ba0d
This adds mitigations to prevent system files being exfiltrated
via the settings content provider when a content URI is provided
as a chosen user image.
The mitigations are:
1) Copy the image to a new URI rather than the existing takePictureUri
prior to cropping.
2) Only allow a system handler to respond to the CROP intent.
This is a fixed version of ag/17005706, to address b/239513606.
Bug: 187702830
Test: atest AvatarPhotoControllerTest
Change-Id: I21f1b25154dc00a305bdadb96fdf22edff31d9b8
This reverts commit 1325574d3a.
Reason for revert: regression if multiple crop system crop handlers are present
Test: atest AvatarPhotoControllerTest
Change-Id: I4dac3ac8d27d2b6d664614dcfa9488d2dad7ee7d
- To clear the groupId after device unpaired.
- switchMemberDeviceContent don't change the member list.
Bug: 240103816
Test: build pass.
[pass] make RunSettingsLibRoboTests -j40 ROBOTEST_FILTER=CachedBluetoothDeviceManagerTest
[psss] make RunSettingsLibRoboTests -j40 ROBOTEST_FILTER=CachedBluetoothDeviceTest
Change-Id: I65dc254f33236fa7fad08a07e56187962700e6c6