Commit Graph

802 Commits

Author SHA1 Message Date
Matthew Fritze
e31e60ce94 Add Location Slice
Location is an intent-only Slice.

Test: Robotests
Change-Id: Ie9ed05be2224f2c4b393ed201d5f313f80183edc
Merged-In: I07e27683b46fe4ded8215009a983bb909555fb59
Fixes: 67997314
2018-05-23 08:09:07 -07:00
TreeHugger Robot
a419c4717d Merge "When BT is off hide rename preference" into pi-dev 2018-05-22 17:48:31 +00:00
hughchen
4e2160904d When BT is off hide rename preference
* Hide the preference when BT is off, shown preference when BT is on.

Bug: 78247352
Test: make -j40 RunSettingsRoboTests ROBOTEST_FILTER=BluetoothDeviceNamePreferenceControllerTest
Change-Id: Id1e11c7b546d7ac5bc8606e8645d07d77f2b522f
2018-05-22 09:35:34 -07:00
Matthew Fritze
25fc14c607 Add Bluetooth Slice
Bluetooth slice is added a special case, due to the migration of
bluetooth to a Switch Bar instead of a preference with a controller.

Change-Id: I8b70bb66c862255a4e8d2426ac09939ba6197624
Merged-In: Icfdcd77601ad1e64e0f6c352a8d691f0181515c8
Fixes: 67997327
Test: robotests
2018-05-22 06:59:49 -07:00
TreeHugger Robot
667cbc5846 Merge "Add “Rename device” on Bluetooth screen" into pi-dev 2018-05-17 09:08:30 +00:00
timhypeng
bafae44cb2 Click left side of list in "previously connected devices" should connect to the device
* In "previously connected devices", to connect device
* In "Available media devices", to activate device

Bug: 77607104
Test: make -j50 RunSettingsRoboTests
Change-Id: If5005031bd3f5dc4950abf2c77575785cd6f67b1
Merged-In: If5005031bd3f5dc4950abf2c77575785cd6f67b1
2018-05-15 06:07:28 +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
ryanywlin
5365eaa6db Use another callback to notify the updater that UI should be updated
Replace onConnectionStateChanged callback
with onProfileConnectionStateChanged. While
updater is notified, isFilterMatched(cachedDevice)
will decide whether to add/remove from UI based
on audio profiles and audio mode.

Bug: 76447449
Test: make RunSettingsRoboTests -j28
Change-Id: Icfba1ce2297e4638679158f9f99bae276940d885
2018-05-11 05:44:43 +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
hughchen
8dcd550d36 Remove the gear icon and change tapping event
* Remove the gear icon in "currently connected" section.
* Change the tapping event in "currently connected" section.
  When tapping device in this section, take user to device detail page.

Bug: 78490845
Test: make -j40 RunSettingsRoboTests
Change-Id: I25f8455def3c38e24dea9af9e9e29ba37c250f67
Merged-In: I25f8455def3c38e24dea9af9e9e29ba37c250f67
2018-05-02 07:15:35 +00:00
TreeHugger Robot
5a2f73151e Merge "Implement audio switch UI" into pi-dev 2018-04-16 18:34:37 +00:00
Isha Bobra
d87acaf3cf Merge "Show only 1 entry for hearing aid devices without killing the activity." into pi-dev 2018-04-16 16:42:33 +00: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
Isha Bobra
35e217f91f Show only 1 entry for hearing aid devices without killing the activity.
This CL tries to detect Bluetooth hearing aid devices and tries to
combine the entry of the hearing aids with the same HiSyncIds and
show only 1 entry for each pair in the connected devices list.

This CL also shows 2 battery status in the device details page.

This change shows the combined entry after a user returns to the
settings activity after pressing the back button or somehow
without killing it. It also combines the entries just after pairing.

Test: RunSettingsRoboTests
Bug: 74204427

Change-Id: I47fb0bdd96b1cc972d88a4aef85d0113985d63bb
2018-04-13 22:51:58 +00:00
Salvador Martinez
9eac182805 Update bluetooth preference to take user to new screen
This CL removes the toggle from the bluetooth preference and instead
takes users to a new dedicated screen for toggling bluetooth status.
On this screen we show a different summary text depending on whether
bluetooth and bluetooth scanning are on/off. Also, we were able to
delegate most of the UI/bluetooth handling to already existing
classes.

Test: robotests
Bug: 77543471
Merged-In: I036a3992bbd78896da8364b55ecc51afc4464b6e
Change-Id: I036a3992bbd78896da8364b55ecc51afc4464b6e
2018-04-13 15:07:45 -07:00
timhypeng
3775f969ba Rename onProfileAudioStateChanged() to onAudioModeChanged()
Bug: 74134939
Test: Build
Change-Id: I85895238b6ee16fec85d0cf3dd0242c9ba17a3bd
2018-04-10 15:16:37 +08:00
Ryan Lin
388907d136 Merge "Add callback onProfileAudioStateChanged()" into pi-dev 2018-03-31 06:23:26 +00:00
Lei Yu
dec7a719d1 Remove the obsolete bluetooth code
Also update the shortcut:
1. Change the name to "Devices"
2. Change it point to "Connected device" page

Bug: 74806595
Fixes: 69926683
Test: robo test still pass

Change-Id: Ic57756fc955dc622cc22d0be64f02b5ae07a2915
2018-03-30 11:24:26 -07:00
ryanywlin
bca6f79026 Add callback onProfileAudioStateChanged()
Bug: 74134939
Test: Build
Change-Id: I2a7e837703b66e1798679c65afab7dc6572c295e
2018-03-30 06:23:28 +00:00
TreeHugger Robot
dd0e23b987 Merge "Add keywords for search terms" into pi-dev 2018-03-23 18:35:23 +00:00
Matthew Fritze
5c5a921efb Add keywords for search terms
A large update for search keywords collected from logging
and individual feedback.

At the moment, we don't have a great way to test that a keyword
matches to a search result. It's a bit akin to testing that the
wifi title is Wifi.

Fixes: 36983488
Fixes: 36622889
Fixes: 76115241
Test: Manual audit of keywords surfacing the proper results.
Change-Id: Ia1031b7f6ec1edfcc28c07e6b55049b8dac7c685
2018-03-23 09:41:47 -07:00
Antoan Angelov
84a4dd0bde Merge "Show policy transparency popup dialog for Bluetooth in Settings." into pi-dev 2018-03-23 14:10:29 +00:00
Antony Sargent
483b1f98bf Fix renaming for Bluetooth devices when rotating to landscape
The bug here is that when renaming a Bluetooth device (either the local
adapter or a paired device), if you click on the text edit field of the
alert dialog and then rotate the screen, the text shown in the soft
input will disappear. Also it's a usability problem that you even needed
to click in the first place. This CL fixes both problems - now the soft
input will be shown immediately when the dialog comes up, and the
content doesn't disappear on rotation.

Change-Id: Id29d11c834bf98c01b5c1208159537a8fd36a64f
Fixes: 72551780
Test: make -j RunSettingsRoboTests
(cherry picked from commit 5a1587526b)
2018-03-21 22:52:46 +00:00
TreeHugger Robot
9492aa546d Merge "Add search index provider for bt page" into pi-dev 2018-03-21 20:48:41 +00: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
TreeHugger Robot
346a36cd2e Merge "Modify connectivty related strings" into pi-dev 2018-03-21 17:14:20 +00:00
arangelov
75c603cedb Show policy transparency popup dialog for Bluetooth in Settings.
Bug: 70206452
Test: make ROBOTEST_FILTER=BluetoothEnablerTest -j40 RunSettingsRobotests
Test: make ROBOTEST_FILTER=BluetoothSwitchPreferenceControllerTest -j40 RunSettingsRobotests
Change-Id: I543cf69b754c44b02c66e101698f10906a1b957f
2018-03-21 16:03:28 +00:00
Hansong Zhang
02acba607a Move the setActiveDevice logic from Settings to SettingsLib (2/2)
Currently the Settings app handles the logic of setting active device;
however, this should be handled by SettingsLib so the logic can be shared.

Bug: 75984255
Test: robolectric test

Change-Id: I5742de1463d156ff29708ea2aecfc3fd00795e9e
2018-03-20 10:43:15 -07:00
Jyun LuoLai
e05884564e Modify connectivty related strings
Change-Id: I971c5f68ff3d881ad0285f87ab868a204edc9b7f
Fixes: 73960246
Test: Manual test & make RunSettingsRoboTests
2018-03-20 09:45:09 +08: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
Fan Zhang
906572b127 Change PreferenceController#getSummary return type.
Return CharSequence instead of String.

All user visible string should be modeled as CharSequence.

Bug: 73950519
Test: robotest
Change-Id: I30befef0c33f94351d4a2774e283bd1ed804aa8b
2018-02-27 22:30:12 -08:00
TreeHugger Robot
572efd22dd Merge "More renaming in DashboardFragment" 2018-02-24 02:58:32 +00:00
TreeHugger Robot
a0de28d0de Merge "Update the Bluetooth Active Device state in the Device Manager" 2018-02-24 01:07:45 +00:00
Fan Zhang
f7843adabd More renaming in DashboardFragment
getPreferenceControllers() -> createPreferenceControllers() for the same
reason as in ag/3647936

Bug: 73668763
Test: robotests
Change-Id: I97670a91a2a38d1c844d1b9d37f4222c5e6f45a0
2018-02-23 16:56:30 -08: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
Pavlin Radoslavov
c7715a5519 Update the Bluetooth Active Device state in the Device Manager
The Bluetooth Active Device state should be updated for all
CachedBluetoothDevice entries.
This should be done inside CachedBluetoothDeviceManager in SettingsLib
instead of BluetoothDeviceUpdater in the Settings app.

Bug: 72316092
Test: Manual - two headsets and switching the active device
Change-Id: If379bb0853dcd78385430cf14192e9adfae4ecd0
2018-02-23 12:32:23 -08:00
Fan Zhang
be45f9c865 Migrate more settings to SubSettingsLauncher
Bug: 73250851
Test: robotests
Change-Id: I4100bef20e2ed477e4e31c9b7816f1b03f3f2809
2018-02-19 13:36:57 -08:00
Fan Zhang
7cf99f5f12 Migrate more settings to use SubSettingsLauncher
Bug: 73250851
Test: robotests
Change-Id: I08f6f380489646231d6d8ceb1488e2efb036bf69
2018-02-18 21:10:03 -08:00
Fan Zhang
615563db0c Migrate more subsetting launching to SubSettingLauncher
Bug: 73250851
Test: robotests
Change-Id: Ic0bf23f6ac6f717bdd3d477fdb84af68badae8e6
2018-02-15 15:39:56 -08:00
Pavlin Radoslavov
8124a32890 Merge "Updated the Bluetooth Settings owners list" am: 5a56c31913 am: b1230be1b8
am: ab399887b9

Change-Id: Ie5a17a94f9221097339eb37c327607a9417c8373
2018-01-27 00:16:29 +00:00
Treehugger Robot
5a56c31913 Merge "Updated the Bluetooth Settings owners list" 2018-01-26 23:01:43 +00:00
Pavlin Radoslavov
221ba22546 Updated the Bluetooth Settings owners list
Test: None
Change-Id: I94a11d51b6c7691f7e84e8afe71c7c8083255ef0
2018-01-26 13:28:29 -08:00
Pavlin Radoslavov
ddf48e3962 Add Settings support for Bluetooth Multi-A2DP and Multi-HFP
Test: Code compilation
Bug: 64767509

[NOTE: The cherry-pick removed changes to non-existent code and log
message description that doesn't apply here.]

Change-Id: Iee76286110ed87703d6a968f50273c22cd7c7086
Merged-In: Iee76286110ed87703d6a968f50273c22cd7c7086
(cherry picked from commit 4b796e5d2e)
2018-01-26 11:16:23 -08:00
Leif Wilden
90d1392e65 Merge "Migrate to use instrumentation classes from settingslib." 2018-01-25 00:35:26 +00:00
Leif Hendrik Wilden
28dee1f086 Migrate to use instrumentation classes from settingslib.
Test: Compiles. Manually tested.
Change-Id: I70a6e76cc8440547746ecc008c32bd06a7de8161
2018-01-24 12:30:39 -08:00
Daniel Nishi
a633b39cfa Add device name to About Phone page.
The device name is reflected in three places: A Settings.Global flag
which can be read by third party apps, the Bluetooth device name, and
the Wi-Fi tethering hotspot name.

The Bluetooth and Wi-Fi names can be changed independently of the device
name, but if the user sets the device name, they are all changed in
parallel.

Due to the naming restrictions of Bluetooth devices and SSIDs, the SSID
naming restrictions apply to the device name.

Bug: 63819909
Test: Robotest
Change-Id: I3a81535fc07d183557a6fa5d54baef3c7868499c
2018-01-24 11:35:30 -08:00
TreeHugger Robot
e3f187a4a9 Merge "Revert "Migrate to use instrumentation classes from settingslib."" 2018-01-23 01:58:18 +00:00
Pavlin Radoslavov
4b796e5d2e Add Settings support for Bluetooth Multi-A2DP and Multi-HFP
When there are multiple connected A2DP/HFP devices, if a connected
device's name is clicked on, that device will be chosen as
Active - i.e., it will be the device chosen for audio out / phone call.

Test: Manual: multiple connected A2DP devices, and selecting each as
      the Active Device.
Bug: 64767509

Change-Id: Iee76286110ed87703d6a968f50273c22cd7c7086
2018-01-22 13:10:50 -08:00
Leif Wilden
cab0ee611d Revert "Migrate to use instrumentation classes from settingslib."
This reverts commit 1546cca529.

Reason for revert: Broke fingerprint setup flow. b/72267201

Change-Id: I8321265ae64732c526325882ddea51080decddf5
2018-01-22 20:57:36 +00:00
Leif Hendrik Wilden
1546cca529 Migrate to use instrumentation classes from settingslib.
Test: Compiles. Manually tested.
Change-Id: Ie5515bb0fe3e621fc7723a9b04ba23e4bfa9c401
2018-01-18 11:13:24 -08:00