Commit Graph

177 Commits

Author SHA1 Message Date
Fan Zhang
176ccd0c35 Clean up: fix incorrect @VisibleForTesting imports
Test: rebuild and robotests
Change-Id: I33d7ee1c0622c01f592920baaf01d44ad19d9a13
2018-07-13 13:08:53 -07:00
tmfang
27c84de325 Settings Fragment Migration (Build pass app)
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
2018-07-11 18:24:51 -07:00
TreeHugger Robot
7ec809192c Merge "Add error handle for device that not support Bluetooth" 2018-07-02 16:49:16 +00:00
hughchen
34066fa21a Add error handle for device that not support Bluetooth
- 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
2018-06-28 11:57:36 +08:00
Ivan Chiang
06036361e5 Fix crash of Connected Devices page
Doesn't set the preference context for savedDockUpdater.
We will throw IllegalStateException now.

Change-Id: I684cd2a917ce94e033be578349c3cc1d8650ccea
Fix: 110609074
Test: m -j SettingsRoboTests RunSettingsRoboTests
2018-06-22 13:01:07 +08:00
TreeHugger Robot
44505ef8cd Merge "DO NOT MERGE Revert "DO NOT MERGE Revert "Fix gray out previously connected device preference issue""" into pi-dev 2018-06-21 02:30:43 +00:00
Fan Zhang
c7162cd24d Reorder and clean up imports.
Test: rebuild
Change-Id: I178485c84ae7146f991fd77b6d7504b029942a68
2018-06-18 15:45:09 -07:00
Ivan Chiang
71ae12a1de Apply the correct theme to DockPreference
Set the preference context to apply correct theme to preference.

Bug: 110016611
Test: m -j SettingsRoboTests RunSettingsRoboTests
Change-Id: Ifb680fdc0ff40f86886f91320b4187e9873efbf4
2018-06-13 11:30:33 +08:00
Ivan Chiang
11cea132bd DO NOT MERGE Revert "DO NOT MERGE Revert "Fix gray out previously connected device preference issue""
This reverts commit ca85cc9d27.

Reason for revert: This patch should be submitted with whole topic.

Bug: 80227045
Change-Id: I446329aa3370b64b2a943a0f970d0236258455a3
2018-06-12 15:33:06 +00:00
TreeHugger Robot
5cb6b79400 Merge "DO NOT MERGE Revert "Fix gray out previously connected device preference issue"" into pi-dev 2018-06-12 12:47:36 +00:00
Artem Iglikov
ca85cc9d27 DO NOT MERGE Revert "Fix gray out previously connected device preference issue"
This reverts commit 95abf59af4.

Reason for revert: Crashes settings (b/110075201)

Bug: 110075201
Change-Id: Ie6ea94e0891754f18576bd21447b64410d2fd23a
2018-06-12 11:55:31 +00:00
TreeHugger Robot
2ffa711cd1 Merge "Fix gray out previously connected device preference issue" into pi-dev 2018-06-12 07:34:15 +00:00
TreeHugger Robot
a809c439a9 Merge "Fix gray out previously connected device preference issue" 2018-06-06 05:26:29 +00:00
Ivan Chiang
c6d7191cb9 Fix gray out previously connected device preference issue
Count the dock devices in previously connected device controller.

Change-Id: I08d82ec715698ecf894a4a7cd0631c5f1de0f591
Fix: 80227045
Test: m -j SettingsRoboTests RunSettingsRoboTests
2018-05-30 02:45:47 +00:00
Matthew Fritze
58019a84ed Merge "Fix bluetooth search result no-op" into pi-dev am: f14bfcbfa6
am: 9cb3dd123d

Change-Id: Ib35794ec9c9e71c53145f418629287fd72d9adc6
2018-05-29 12:56:44 -07:00
TreeHugger Robot
f14bfcbfa6 Merge "Fix bluetooth search result no-op" into pi-dev 2018-05-29 19:40:14 +00:00
Matthew Fritze
d5fc3a95c6 Fix bluetooth search result no-op
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
2018-05-29 11:38:52 -07:00
Ivan Chiang
95abf59af4 Fix gray out previously connected device preference issue
Count the dock devices in previously connected device controller.

Fix: 80227045
Test: m -j SettingsRoboTests RunSettingsRoboTests
Change-Id: I08d82ec715698ecf894a4a7cd0631c5f1de0f591
Merged-In: I08d82ec715698ecf894a4a7cd0631c5f1de0f591
2018-05-25 08:51:30 +00:00
Chihhang Chuang
6719a9b73e Refactor nfc preference controller
- 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
2018-05-24 10:31:44 +08:00
Chihhang Chuang
3b387a028a Refactor nfc preference controller
- 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
2018-05-23 13:58:28 +08:00
tim peng
e3a87548e5 Merge changes I6d4f8ec3,Id4c1e86c into pi-dev
* changes:
  Make device discoverable in Connected Devices settings page
  Add bluetooth discoverable footer preference in connected devices page
2018-05-22 04:44:15 +00:00
TreeHugger Robot
346063dd5c Merge "Dynamically showing "driving mode"" into pi-dev 2018-05-22 02:48:34 +00:00
timhypeng
78eb5a81ba Make device discoverable in Connected Devices settings page
* 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
2018-05-22 02:15:12 +00:00
timhypeng
4f636b90b8 Add bluetooth discoverable footer preference in connected devices page
* Dynamicly add preference in controller
* Add test cases for DiscoverableFooterPreferenceController

Bug: 79294219
Test: make -j50 RunSettingsRoboTests
Change-Id: Id4c1e86c9a0a0cd69d8106a18f2cf4a0fa31782b
Merged-In: Id4c1e86c9a0a0cd69d8106a18f2cf4a0fa31782b
2018-05-22 02:14:38 +00:00
hughchen
a47e64829d Dynamically showing "driving mode"
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
2018-05-22 01:48:19 +00:00
tim peng
2de77f893b Merge changes from topic "BT_Discoverable_in_Connected_Devices"
* changes:
  Make device discoverable in Connected Devices settings page
  Add bluetooth discoverable footer preference in connected devices page
2018-05-22 01:23:34 +00:00
timhypeng
444d490e7f Make device discoverable in Connected Devices settings page
* 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
2018-05-21 10:42:36 +00:00
timhypeng
dd2d5c192f Add bluetooth discoverable footer preference in connected devices page
* 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
2018-05-21 10:41:54 +00:00
hughchen
29c96ed090 Dynamically showing "driving mode"
* 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
2018-05-21 16:30:46 +08:00
hughchen
5a8b5dd431 Using static method to get summary resource id am: 7f1345c3cd
am: 6a4174a079

Change-Id: I91b805e89e9f3d5a3259f10401a9963d25cb32e1
2018-05-21 00:12:18 -07:00
hughchen
7f1345c3cd Using static method to get summary resource id
* Using getConnectedDevicesSummaryResourceId() to get the resource id to shown the summary.

Bug: 79299421
Test: make -j50 RunSettingsRoboTests
Change-Id: I268de4d989fe01eff463a5ec1c0a174e094e56c0
2018-05-21 04:08:46 +00:00
TreeHugger Robot
863b27270d Merge "Add controller to show the summary" into pi-dev 2018-05-19 01:26:12 +00:00
hughchen
c24a09e593 Add controller to show the summary
* 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
2018-05-18 18:17:43 +00:00
hughchen
fd7c9650ed Add controller to show the summary
* 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
2018-05-18 18:17:27 +00:00
TreeHugger Robot
d24c9e4a80 Merge "Grey the previously connected device preference" into pi-dev 2018-05-18 03:21:57 +00:00
hughchen
980b718989 Grey the previously connected device preference
* 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
2018-05-18 02:16:23 +00:00
TreeHugger Robot
4050d35c9f Merge "Grey the previously connected device preference" 2018-05-17 16:30:39 +00:00
hughchen
fc6030983f Merge "Add Rename device on Bluetooth screen" into pi-dev am: 667cbc5846
am: 5783578aad

Change-Id: Ibc9a0adc76de9c411391d612238fa39d42d1ddc3
2018-05-17 02:17:55 -07:00
TreeHugger Robot
667cbc5846 Merge "Add “Rename device” on Bluetooth screen" into pi-dev 2018-05-17 09:08:30 +00:00
TreeHugger Robot
273faa216e Merge "Bluetooth and NFC added back to Connection preferences" into pi-dev 2018-05-17 09:06:18 +00:00
hughchen
0404968d8b Grey the previously connected device preference
* 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
2018-05-17 16:55:31 +08:00
hughchen
52feedf354 Bluetooth and NFC added back to Connection preferences
* Bluetooth and NFC added back to "Connection preferences"

Bug: 79299421
Test: make -j50 RunSettingsRoboTests
Change-Id: I8f4c389c28c7cc752f198be2b59b28b6e9af2c90
Merged-In: I8f4c389c28c7cc752f198be2b59b28b6e9af2c90
2018-05-16 17:03:31 +00:00
hughchen
4bf7c3a921 Bluetooth and NFC added back to Connection preferences
* 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
2018-05-16 08:03:00 +00:00
hughchen
211d49f28c Add “Rename device” on Bluetooth screen
* 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
2018-05-11 16:14:43 +08:00
android-build-team Robot
02ec86a17b Merge "Establish permanently unavailable settings" 2018-05-09 18:14:32 +00:00
android-build-team Robot
c0e0262f9c Merge "Rename SubSettingLauncher.setTitle, add java doc" 2018-05-09 18:01:10 +00:00
Matthew Fritze
bd376296cd Establish permanently unavailable settings
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
2018-05-09 10:03:40 -07:00
Matthew Fritze
f87a1f3f41 Establish permanently unavailable settings
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
2018-05-09 08:36:59 -07:00
hughchen
50d5c0a544 Change the title when in call/media state
* 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
2018-05-09 02:03:38 +00:00
hjchangliao
e86eec0c07 Rename SubSettingLauncher.setTitle, add java doc
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
2018-05-09 10:00:05 +08:00