This patch focused on fixing compile errors and some runtime errors.
Test: We can't test it now. But we will have an integration test later.
Bug: 110259478
Change-Id: I16c471ddcd0fa1460c665b7f74d86fcace5ee67b
- Add LocalBluetoothManager null check for device that
not support Bluetooth
- Add test to verify when LocalBluetoothManager is null
will not crash
Bug: 110712414
Test: make -j42 RunSettingsRoboTests
Change-Id: Ib506a0206cfcfdfec60bdfcf9a1944338a7ab729
Doesn't set the preference context for savedDockUpdater.
We will throw IllegalStateException now.
Change-Id: I684cd2a917ce94e033be578349c3cc1d8650ccea
Fix: 110609074
Test: m -j SettingsRoboTests RunSettingsRoboTests
Set the preference context to apply correct theme to preference.
Bug: 110016611
Test: m -j SettingsRoboTests RunSettingsRoboTests
Change-Id: Ifb680fdc0ff40f86886f91320b4187e9873efbf4
This reverts commit ca85cc9d27.
Reason for revert: This patch should be submitted with whole topic.
Bug: 80227045
Change-Id: I446329aa3370b64b2a943a0f970d0236258455a3
Count the dock devices in previously connected device controller.
Change-Id: I08d82ec715698ecf894a4a7cd0631c5f1de0f591
Fix: 80227045
Test: m -j SettingsRoboTests RunSettingsRoboTests
Bluetooth fragment was manually setting intent information,
which meant that the result didn't fire an intent properly.
This type of regression or mistake will be caught in the fix for
b/77921040.
Change-Id: I49f87f40acbfc3f74ea2e97835f2644d443169e2
Fixes: 80317645
Test: robotests
Count the dock devices in previously connected device controller.
Fix: 80227045
Test: m -j SettingsRoboTests RunSettingsRoboTests
Change-Id: I08d82ec715698ecf894a4a7cd0631c5f1de0f591
Merged-In: I08d82ec715698ecf894a4a7cd0631c5f1de0f591
- Remove BaseNfcPreferenceController.
- NfcPreferenceController inherit from TogglePreferenceController.
- AndroidBeamPreferenceController inherit from BasePreferenceController.
- Override getIntentFilter in NfcPreferenceController to listen changes.
- Add an API (hasAsyncUpdate) into BasePreferenceController to
distinguish the setting which is updated asynchronously.
Change-Id: I1abe4410169e305a0d6106e24c54e7f2e763fc91
Merged-In: I7c9c48ea7f1ad01a02524beabf9d30baa3db891f
Fixes: 67997761
Fixes: 74887543
Test: RunSettingsRoboTests
- Remove BaseNfcPreferenceController.
- NfcPreferenceController inherit from TogglePreferenceController.
- AndroidBeamPreferenceController inherit from BasePreferenceController.
- Override getIntentFilter in NfcPreferenceController to listen changes.
- Add an API (hasAsyncUpdate) into BasePreferenceController to
distinguish the setting which is updated asynchronously.
Change-Id: I7c9c48ea7f1ad01a02524beabf9d30baa3db891f
Fixes: 67997761
Fixes: 74887543
Test: RunSettingsRoboTests
* Set preference title by bluetooth state
* Enable bluetooth discoverable mode in Connected device page
* Add more test cases for DiscoverableFooterPreferenceController
Bug: 79294219
Test: make -j50 RunSettingsRoboTests
Change-Id: I6d4f8ec3870c43bf48e9666eabd60068aa8950bb
Merged-In: I6d4f8ec3870c43bf48e9666eabd60068aa8950bb
Dynamically showing "driving mode" in "Connection preferences" summary.
In cl/196700988, when driving mode is available/not available will using
Settings.System to set flag.
Example :
driving mode is available : Settings.System.putInt(mContentResolver,
DRIVING_MODE_SETTINGS_ENABLED, 1)
driving mode is not available : Settings.System.putInt(mContentResolver,
DRIVING_MODE_SETTINGS_ENABLED, 0);
This CL using Settings.System to get driving mode state that used to dynamically
showing "driving mode"
Bug: 79299421
Test: make -j50 RunSettingsRoboTests ROBOTEST_FILTER=AdvancedConnectedDeviceControllerTest
Change-Id: I702fa4fbc752c7b470184cf58f2e604f9f28c057
Merged-In: I702fa4fbc752c7b470184cf58f2e604f9f28c057
* For fix the TreeHugger error in pi-dev, cherry pick the ag/4042235 in
master and fix TreeHugger error. Change android.support.v7.* to androidx.*
* Set preference title by bluetooth state
* Enable bluetooth discoverable mode in Connected device page
* Add more test cases for DiscoverableFooterPreferenceController
Bug: 79294219
Test: make -j50 RunSettingsRoboTests
Change-Id: I6d4f8ec3870c43bf48e9666eabd60068aa8950bb
* For fix the TreeHugger error in pi-dev, cherry pick the ag/4042014 in
master and fix TreeHugger error. Change android.support.v7.* to androidx.*
* Dynamicly add preference in controller
* Add test cases for DiscoverableFooterPreferenceController
Bug: 79294219
Test: make -j50 RunSettingsRoboTests
Change-Id: Id4c1e86c9a0a0cd69d8106a18f2cf4a0fa31782b
* For fix the TreeHugger error in pi-dev, cherry pick the ag/4062037 in
master and fix TreeHugger "Automatic merge failed" error
* Dynamically showing "driving mode" in "Connection preferences" summary.
In cl/196700988, when driving mode is available/not available will using Settings.System to set flag.
Example :
driving mode is available : Settings.System.putInt(mContentResolver, DRIVING_MODE_SETTINGS_ENABLED, 1)
driving mode is not available : Settings.System.putInt(mContentResolver, DRIVING_MODE_SETTINGS_ENABLED, 0);
This CL using Settings.System to get driving mode state that used to dynamically showing "driving mode"
Bug: 79299421
Test: make -j50 RunSettingsRoboTests ROBOTEST_FILTER=AdvancedConnectedDeviceControllerTest
Change-Id: I702fa4fbc752c7b470184cf58f2e604f9f28c057
* Using getConnectedDevicesSummaryResourceId() to get the resource id to shown the summary.
Bug: 79299421
Test: make -j50 RunSettingsRoboTests
Change-Id: I268de4d989fe01eff463a5ec1c0a174e094e56c0
* For fix the "Automatic merge failed" in pi-dev, cherry pick the ag/4036738 in
master. Change android.support.* to androidx.*
* Add AdvancedConnectedDeviceController that used to show which component is available
* Add getConnectedDevices Summary Resource Id() to decide which string should be shown.
Here have 4 cases to shown the string.
case 1: driving mode available and NFC is availalbe, show "Bluetooth, driving mode, NFC"
case 2: driving mode available and NFC is not availalbe, show "Bluetooth, driving mode"
case 3: driving mode not available and NFC is availalbe, show "Bluetooth, NFC"
case 4: driving mode not available and NFC not availalbe, show "Bluetooth"
* Add test to verify the summary string is correct in each condition
* Add test to verify getAvailabilityStatus() is AVAILABLE.
Bug: 79299421
Test: make -j50 RunSettingsRoboTests ROBOTEST_FILTER=AdvancedConnectedDeviceControllerTest
Change-Id: I1048355bbd344db3ab645dd1537b4259eff57f38
* Add AdvancedConnectedDeviceController that used to show which component is available
* Add getConnectedDevices Summary Resource Id() to decide which string should be shown.
Here have 4 cases to shown the string.
case 1: driving mode available and NFC is availalbe, show "Bluetooth, driving mode, NFC"
case 2: driving mode available and NFC is not availalbe, show "Bluetooth, driving mode"
case 3: driving mode not available and NFC is availalbe, show "Bluetooth, NFC"
case 4: driving mode not available and NFC not availalbe, show "Bluetooth"
* Add test to verify the summary string is correct in each condition
* Add test to verify getAvailabilityStatus() is AVAILABLE.
Bug: 79299421
Test: make -j50 RunSettingsRoboTests ROBOTEST_FILTER=AdvancedConnectedDeviceControllerTest
Change-Id: I1048355bbd344db3ab645dd1537b4259eff57f38
Merged-In: I1048355bbd344db3ab645dd1537b4259eff57f38
* Add PreviouslyConnectedDevicePreferenceController to handle the preference should be
enable or disable.
Example: If there are no previously connected devices disable the preference otherwise
enable it.
* Add PreviouslyConnectedDevicePreferenceControllerTest
1. Verify the callback can be registered and unregistered
2. Verify the preference is enable when there
have more than 1 previously connected device
3. Verify the preference is disable when there
have no previously connected device
Bug: 78250052
Test: make -j50 RunSettingsRoboTests
Change-Id: I31b5d416aaf907c3bbf1cb61de6e7401463e3df7
Merged-In: I31b5d416aaf907c3bbf1cb61de6e7401463e3df7
* For fix the TreeHugger error in pi-dev, cherry pick the ag/3935357 in
master and fix TreeHugger error.
* Add PreviouslyConnectedDevicePreferenceController to handle the preference should be
enable or disable.
Example: If there are no previously connected devices disable the preference otherwise
enable it.
* Add PreviouslyConnectedDevicePreferenceControllerTest
1. Verify the callback can be registered and unregistered
2. Verify the preference is enable when there
have more than 1 previously connected device
3. Verify the preference is disable when there
have no previously connected device
Bug: 78250052
Test: make -j50 RunSettingsRoboTests
Change-Id: I31b5d416aaf907c3bbf1cb61de6e7401463e3df7
* Bluetooth and NFC added back to "Connection preferences"
Bug: 79299421
Test: make -j50 RunSettingsRoboTests
Change-Id: I8f4c389c28c7cc752f198be2b59b28b6e9af2c90
Merged-In: I8f4c389c28c7cc752f198be2b59b28b6e9af2c90
* For fix the TreeHugger error in pi-dev, cherry pick the ag/4023339 in
master and fix TreeHugger "Automatic merge failed" error.
* Bluetooth and NFC added back to "Connection preferences"
Bug: 79299421
Test: make -j50 RunSettingsRoboTests
Change-Id: I8f4c389c28c7cc752f198be2b59b28b6e9af2c90
* Add BluetoothDeviceRenamePreferenceController in bluetooth_screen.xml
* Refactor BluetoothDeviceRenamePreferenceController and BluetoothDeviceNamePreferenceController.
Let these controllers can be init in xml.
Bug: 78247352
Test: make -j50 RunSettingsRoboTests
Change-Id: Iddd0cac1e973bbd82cb30fe4c18e8b359ba4ba2b
Distinguish between settings which are permanently unavailable on
the device, and temporarily unavailable. This enables us to restrict
which setting slices are exposed in onSliceGetDescendants.
The primary changes in this CL are renaming:
"DISABLED_UNSUPPORTED" -> "UNSUPPORTED_ON_DEVICE"
to be more clear the the setting will cannot be accessed on the device, and,
adding a new enum to encapsulate settings which are currently unavailable, but
could be enabled in the future.
Also remove UNAVAILABLE_UNKNOWN. Devs should never need this enum.
Bug: 78910582
Fixes: 79245656
Test: robotests
Change-Id: I42c2cedab66be2d76999795f46470a079cc1ec71
Merged-In: I58821a6cfd6134b3b351657b6edf5f74ead00643
Distinguish between settings which are permanently unavailable on
the device, and temporarily unavailable. This enables us to restrict
which setting slices are exposed in onSliceGetDescendants.
The primary changes in this CL are renaming:
"DISABLED_UNSUPPORTED" -> "UNSUPPORTED_ON_DEVICE"
to be more clear the the setting will cannot be accessed on the device, and,
adding a new enum to encapsulate settings which are currently unavailable, but
could be enabled in the future.
Also remove UNAVAILABLE_UNKNOWN. Devs should never need this enum.
Bug: 78910582
Bug: 79245656
Test: robotests
Change-Id: I58821a6cfd6134b3b351657b6edf5f74ead00643
* Change the title when in call/media state.
Example: call state show "Available call devices"
media state show "Available media devices"
* Use isAudioModeOngoingCall() utility function for checking if it is in call status
* Add register test to verify when in onStart() and onStop()
the BluetoothCallback can be register and unregister.
* Add title string test to verify when in call or media state,
the title can be changed to corresponding string
Bug: 78150641
Test: make -j40 RunSettingsRoboTests
Change-Id: I6be72cf0cae75525084ac3c5be8524c709f51f7d
Merged-In: I6be72cf0cae75525084ac3c5be8524c709f51f7d
For make this method usage more clear,
setTitle(charSequence) rename as setTitleText,
add java doc: it is only for user generated string
setTitle(int) rename as setTitleRes.
Change-Id: I972cb6a8ff90873dfdc25c23f6dc3d68103c8e4e
Fixes: 78347436
Test: make RunSettingsRoboTests