Commit Graph

66 Commits

Author SHA1 Message Date
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
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
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
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
android-build-team Robot
02ec86a17b Merge "Establish permanently unavailable settings" 2018-05-09 18:14:32 +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
hughchen
f431088f9d Change the title when in call/media state
* For fix the "Automatic merge failed" in pi-dev, cherry pick the ag/3909960 in
  master. Change android.support.* to androidx.*
* 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
2018-05-08 17:14:59 +08:00
Ivan Chiang
121d53072e Merge changes I3dd31855,Id5a75217 into pi-dev am: 720a224e00
am: e598b1ae03

Change-Id: I715f7dba77f7ba10314ed4114b9eda1019171253
2018-04-26 19:13:07 -07:00
Ivan Chiang
6b76e34768 Show docks on previously connected devices page
Implement previously connected Dock Devices part into
SavedDeviceGroupController.

Bug: 78095209
Test: m -j SettingsRoboTests RunSettingsRoboTests
Change-Id: I3dd318556167c98bc90c0c1c7281804177b9ff74
2018-04-26 16:45:16 +08:00
Ivan Chiang
98e37691c4 Show Dock devices in Connected devices page
Implement Connected Dock Devices part into
ConnectedDeviceGroupController.

Bug: 77945034
Test: m -j SettingsRoboTests RunSettingsRoboTests
Change-Id: Id5a75217f64d84038222604fca40613361e6f45d
2018-04-26 16:45:16 +08:00
hjchangliao
98015e7c93 Merge "Make Nfc/Beam searchable based on feature availability" into pi-dev am: dc09b3ff49
am: f549cd1e05

Change-Id: Ied4f01787aec0cf8f261483e942615abd1889918
2018-04-25 10:23:11 -07:00
hjchangliao
1ff466675d Make Nfc/Beam searchable based on feature availability
Update logic of updateNonIndexableKeys,
in BaseNfcPreferenceController to fix issue.
Add robotest to avoid same problem.

Change-Id: I1de5324b5a7147ff58e3c366ee7e8cf858e3283c
Fixes: 78540155
Test: make RunSettingsRoboTests
2018-04-25 17:12:33 +00:00
Aurimas Liutikas
e0069d332d Migrate Settings to androidx.
Test: make Settings
Bug: 76692459
Change-Id: I941dea40562170649bf056e675cc32e5163c0e39
2018-04-20 12:52:29 -07:00
hughchen
bd3e5de207 Implement audio switch UI
* Implement available media devices group
* Add AvailableMediaDeviceGroupController to realize UI, the user can see the all device that can be activated in this group.
* ConnectedDeviceGroupController change to show the device that cannot be activated but is connected.
* Refactoring the below class, implement the controller in connected_devices.xml.
  ConnectedDeviceGroupController.java
  SavedDeviceGroupController.java
  ConnectedDeviceDashboardFragment.java
  connected_devices.xml
* Add AvailableMediaBluetoothDeviceUpdaterTest to verify the add/remove preference behavior when connectedStateChanged or profileAudioStateChanged
* Add test that used to verify device is connected or not in BluetoothDeviceUpdaterTest.
* Add test that used to verify the add/remove preference behavior when connectedStateChanged or profileAudioStateChanged in ConnectedBluetoothDeviceUpdaterTest.
* Add AvailableMediaDeviceGroupControllerTest to verify bluetooth feature is supported or not and test register callback.
* Add test that used to verify bluetooth feature is supported or not and test register callback in ConnectedDeviceGroupControllerTest.
* Add test that used to verify bluetooth feature is supported or not and test register callback in SavedDeviceGroupControllerTest

Bug: 74134939
Test: make -j40 RunSettingsRoboTests
Change-Id: I54d03c2ddadc6a4be7519dd74cdbcb5055d44083
2018-04-15 04:22:25 +00:00
hughchen
aa31bd43a3 Implement previously connected device UI
* Move save device group to "Previously connected devices"

Bug: 74134939
Test: make -j60 RunSettingsRoboTests
Change-Id: Iff7894033df402d42dcc0ccaea6db3106edb7013
Merged-In: Iff7894033df402d42dcc0ccaea6db3106edb7013
2018-04-12 17:10:40 +00:00
TreeHugger Robot
631ee514ae Merge "Remove gear from usb preference" into pi-dev 2018-04-09 19:08:26 +00:00
Jerry Zhang
07a4c25fc1 Remove gear from usb preference
Switch from GearPreference to a normal
Preference.

Add some spacing underneath the power role.

Bug: 77647931
Test: passes
Change-Id: Ic15849e12aa47df75cc75c9da0384e24627a9c8b
2018-04-09 11:08:48 -07:00
Fan Zhang
947a673f74 Remove more wrappers
- WallpaperManagerWrapper
- UserManagerWrapper

Bug: 76167422
Test: robotests
Change-Id: I3ca866089082e01f1e9d7a4554387962f45a5437
2018-04-02 16:51:40 -07:00
Fan Zhang
234854cb04 Remove more wrappers in favor of new Robolectric support
Bug: 76167422
Test: robotests
Change-Id: Ic71a181bee6f90f25f9fa2a748cf708887495394
2018-03-30 15:58:14 -07:00
Jyun LuoLai
e44b94c435 Modify AddDevicePreferenceController's constructor
For xml type controller, implements the constructor (Context, String)
would be better

Bug: 73960246
Test: Manual test & make RunSettingsRoboTests
Change-Id: I872a663947f14de5e83c596655b2ffb75f37f057
2018-03-30 14:00:03 +08:00
TreeHugger Robot
c621ddc3f2 Merge "Move BT, NFC out of Conntection pref" into pi-dev 2018-03-28 17:38:34 +00:00
Jyun LuoLai
41e02a9489 Subtext of "Add device" should only show when BT is off
Bug: 73960246
Test: Manual test & make RunSettingsRoboTests
Change-Id: I6eb5fbed20a4ffc923faf992bbf0b30a817444a0
2018-03-28 14:26:26 +08:00
HJ ChangLiao
b247311b2a Move BT, NFC out of Conntection pref
Move BT, NFC preference out of Connection Preference,
To Connected devices page.
Because NFC and Android Beam are controlled by the same controller,
Create each controller for those preference and leave the sharing part.

Change-Id: I8bc303a5f487de9c667487119b49e1e4130aa80c
Fixes: 72458929
Test: manually test, make RunSettingsRoboTests
2018-03-28 09:55:22 +08:00
Lei Yu
687964cf28 Add search index provider for bt page
1. Implement the search index provider for
ConnectedDeviceDashboardFragment.
2. Since in SEARCH_INDEX_DATA_PROVIDER fragment is null,
so we need to pass in context to all components
instead of getting it from fragment.
3. Update test for it as well as creating new shadow.

Change-Id: If0aa67d5b6ca207c6b728c8355581bf414577091
Fixes: 69333961
Test: RunSettingsRoboTests
2018-03-21 10:46:02 -07:00
Jerry Zhang
55d10dff53 Update USB settings screen
Screen now handles data role and power
role switching as separate categories.

Change the UsbBackend api to use predefined
constants. Split out data and power direction
changes into separate functions.

Add tests for new controllers and new backend
functionality.

Bug: 72829348
Test: passes
Change-Id: I28b96cf49463fa4f3a4b6be41c57d5841731fbd6
2018-03-15 17:18:41 -07:00
Weilun Du
d4e1b94b58 Disable bluetooth controller if unsupported
Only disable the controllers not the whole fragment because
user might need to have entry for other features.

Fixes: 73664409
Merged-In: I98ed248cf33d11715dd523e711cbc68ebf128ef8
Change-Id: I98ed248cf33d11715dd523e711cbc68ebf128ef8
Signed-off-by: Weilun Du <wdu@google.com>
(cherry picked from commit 68a195ae93)
2018-03-09 23:40:40 +00:00
James Lemieux
22a39c2b93 Use external/robolectric-shadows/run_robotests.mk
This allows Settings to test against the latest framework changes.

Also replaced TestConfig with traditional robolectric.properties.

Bug: 73173204
Bug: 73892008
Test: make -j56 RunSettingsRoboTests
Change-Id: I3135b4fa5f095ba79b282a76f45dd9baa2584bc7
2018-03-04 03:50:08 -08:00
Jerry Zhang
40bd570352 Remove unused classes and tests.
Old usb pages have been replaced by UsbDetailsFragment
and UsbDefaultFragment. Old connected devices has
been replaced by new connected devices.

Bug: 70848054
Test: Passes
Change-Id: I538cbb88d4f878449a83da9a4a0381e74e840c6a
2018-02-27 13:50:10 -08:00
TreeHugger Robot
8e6d5ad27e Merge "Instantiate pref controllers from xml if it's defined." 2018-02-24 00:13:45 +00:00
Fan Zhang
917f101899 Instantiate pref controllers from xml if it's defined.
- If a <preference> tag also defines a controller, we will try to
  instantiate it before displaying the UI. The same logic is shared by
  BaseSearchIndexProvider so it also drives search suppression.

- If user also defines a list of controllers programatically, the
  programatically created ones takes precedence.

Bug: 73668763
Test: WIP
Change-Id: I7aecec270bcd3af261e012ef1f6995d2a523cfa1
2018-02-23 14:08:51 -08:00
Jerry Zhang
1249b16551 Actually test for truth.
Test: passes
Bug: 73513677
Change-Id: I2bd19d627c5cadec9524b5f0ddcb370837ad2c76
2018-02-21 23:48:26 +00:00
Jerry Zhang
502471726a Add UsbDefaultFragment and tests
Replace old USB screen in developer options with
UsbDefaultFragment.

Test: pass
Bug: 62876645
Change-Id: I8428a2814b7e1abd7d0fa9fa9980dbc02cfa0034
2018-02-21 19:16:23 +00:00
Fan Zhang
970bacd8cb Remove IA mapping for old connected device page
Change-Id: I201c09facb9e21d452c58ff3d257bdd37e6b854d
Fixes: 69471219
Test: robotest
2018-02-15 10:36:16 -08:00
Jerry Zhang
9e16092cb3 Don't set USB mode if user is a monkey
Test: tests pass
Fixes: 73246183
Change-Id: I9570c8bd8b11edd6eb0944a4aa766c22b4cc3619
2018-02-13 16:51:21 -08:00
Fan Zhang
2edbaa7062 Change print setting from a dynamic tile to static pref
...because dynamic tile is a lot harder to index correctly.

- Removed metadata that makes PrintSettings a dynamic tile.
- Added PrintSettings into connected_device xml.
- Added a new PreferenceController - all summary updating logic is
  copied from PrintSettingsFragment

Change-Id: I41e7c9d23e97ecd5a043ac7c33f2d404260c92e7
Fixes: 73128944
Test: robotests
2018-02-12 15:19:43 -08:00
Leslie Watkins
58eb43a2e4 Remove all reference to SmsMirroring in Android Settings.
Test: Robotests

Change-Id: I3318c6915cae95522f09838f00a3c567fe9e5fc5
2018-02-12 22:05:56 +00:00
Jerry Zhang
d18d6f1022 Add new USB details screen for Connected Devices 2.0
Also updated UsbBackend to use the new UsbFunctions
api.

Added new unit tests for UsbDetailsHeaderController
and UsbDetailsProfilesController.

Bug: 69333961
Test: make RunSettingsRoboTests
Change-Id: I133750190bb61dfe0e20b06f50e50ea13b347f1e
2018-01-31 11:23:08 -08:00
Daniel Nishi
cf4a5c7459 Add a new toggle for Bluetooth while driving.
The toggle is controlled by a platform feature flag.

Bug: 66679618
Test: Robotest
Change-Id: Ibe8e8756a4ab54a83ee03c6cf008193ed107955d
2018-01-23 09:38:04 -08:00
Fan Zhang
4e08869e1a Make a strong reference to LifecycleOwner in tests
Change-Id: Id3b26ded6c903b67b9880dbfe1a0656a564c8947
Fixes: 71867776
Test: rerun tests
2018-01-11 14:30:16 -08:00
jackqdyulei
5ef1f502f0 Turn on the new connected device page by default
Bug: 69926683
Test: RunSettingsRoboTests
Change-Id: Ice589b825226e92eace5f5fa6b58499a13e36ef8
2017-12-15 11:08:24 -08:00
jackqdyulei
988199e202 Add ConnectedUsbDeviceUpdater
The usb updater listens to usb update and notify
ConnectedDeviceGroupController to add/remove
preference.

This cl:
1. Add ConntectedusbDeviceUpdater
2. Extract the UsbConnectionBroadcastReceiver since it would be
used both in controller and updater.
3. Add tests

Bug: 69333961
Test: RunSettingsRoboTests

Change-Id: Ic3b045a6faa4eba57d9b0c089ea1656141cc0220
2017-12-08 13:42:37 -08:00
jeffreyhuang
cbfb099a40 Rename SDK_VERSION_O to SDK_VERSION
Test: make RunSettingsRoboTests -j40
Change-Id: I6715062d8addadda441e32809db1af55f15e3a90
2017-12-05 16:43:54 -08:00
Fan Zhang
dff6dd687e Move away from deprecated FakeFeatureFactory.setupForTest()
Test: rerun
Change-Id: I896ba414315ddb1664c0499264f4992f0554ef98
2017-12-05 10:12:10 -08:00
jackqdyulei
d3f314077b Add(copy) AdvancedConnectedDeviceDashboardFragment
AdvancedConnectedDeviceDashboardFragment is the same as
ConnectedDeviceDashboardFagment except for:
1. Bt preference is not MasterSwitchPreference anymore.
2. New Bluetooth file preference.

This cl copies following files:
1. connected_devices_advanced(from *_old)
2. Advanced*Fragment(from *Old)
3. Advanced*Test(from old test)

Future cl will work on differences.

Bug: 69333961
Test: RunSettingsRoboTests
Change-Id: I4a7cb7225482fb8919af95bc5586e3bf0a80b1cb
2017-12-04 12:56:20 -08:00