Commit Graph

134 Commits

Author SHA1 Message Date
Matthew Fritze
a711ed8330 Add A11y Slices
Add AccessibilityPreferenceController, which wraps all a11y settings
since they are share common infrastructure for enabling, current value,
and availability.

We add an overlay for OEMs to declare their bundled a11y services.
This is the only list of services that will be possible to enabled via
Settings slices.

Accessibility Slices are built by getting a list of valid services,
and indexing the service names as a key in the Slices DB. When they are
built at runtime, they use the generic A11yPrefController to get the status
and enable/disable the service.

Bug: 67997836
Bug: 67997672
Test: robotests
Change-Id: I66f905bf1c55eecb937945c4675c12bcbc96d698
2018-04-17 10:27:02 -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
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
HJ ChangLiao
3c4c3fc5c7 GesturesSettingPreferenceController to Toggle
Convert GesturesSettingPreferenceController to
TogglePreferenceController,
All of its children need follow the change,
add setter and robotest for them:
AssistGestureSettingsPreferenceController
DoubleTapPowerPreferenceController
DoubleTapScreenPreferenceController
DoubleTwistPreferenceController
PickupGesturePreferenceController
SwipeToNotificationPreferenceController

Change-Id: I792b2d370eea828bf345fb2b1cc3eac260eb66f4
Merged-In: I792b2d370eea828bf345fb2b1cc3eac260eb66f4
Fixes: 74913806
Fixes: 67998110
Fixes: 67998098
Fixes: 67998048
Fixes: 67998069
Fixes: 67997452
Test: make RunSettingsRoboTests
2018-04-09 09:08:41 +00:00
TreeHugger Robot
14244ffb9d Merge "Update SliceContollerInXmlTest to match latest slice spec." into pi-dev 2018-04-06 17:15:46 +00:00
Fan Zhang
79cd7986e5 Update SliceContollerInXmlTest to match latest slice spec.
- Convert the test to use CodeInspector
- Skip abstract classes when validating contract
- Also check SliderPreferenceController when validating contract

Change-Id: I671c1a622df6d1d7248a12932f144711fbf5a026
Fixes: 77634230
Test: make RunSettingsRoboTests -j40 ROBOTEST_FILTER=CodeIns
2018-04-05 13:56:07 -07:00
Fan Zhang
27fad993b4 Fix CodeInspectionTest for Setttings
Bug: 77579651
Bug: 77339683
Test: robotests
Change-Id: I7cb95bc7b1a3890879809e3462d0af8ba3e53923
2018-04-04 09:47:39 -07:00
Fan Zhang
b5c651c939 Register most app info related controllers in xml
Bug: 77216595
Test: robotests
Change-Id: I79afa38820b7518d8b3112148802797ebcf6d184
2018-03-29 17:55:41 -07:00
Fan Zhang
65983f71d5 Update TimezoneInfoPrefController to register in xml
Test: robotest
Bug: 77216595
Change-Id: I0fde4f8058a8be156dddb620a756254cd85f6a9f
2018-03-29 14:38:44 -07:00
Fan Zhang
92ca05e15e Add conformance test for preference controller constructor
BasePreferenceController's constructor must be in a certain format in
order to work with search and slice. This test enforces that.

Change-Id: I236b11248b09ce71f052c449d39e994c84981a06
Fixes: 77216595
Test: robotests
2018-03-28 17:51:05 -07:00
Lei Yu
68ffee1a7d Remove the old battery page
This CL removes PowerUsageSummaryLegacy and PowerUsageAdvancedLegacy
and their related layouts and strigns.

Also remove the isBatteryV2Enabled method in feature provider.

Change-Id: I1ec30f713d733ed24335a3e698fb515751232948
Fixes: 76027338
Test: robo test still pass
2018-03-26 17:40:10 -07:00
Victor Chang
d5adf42c5e New time zone picker page
- Show current selected region and time zone in a 2 rows.
  Defailed info of current selected time zone in footer
- Show option menu to switch to select UTC offset
- This picker will be changed to the default picker in a later CL

Bug: 73952488
Test: m RunSettingsRoboTests
Change-Id: Ia81bb022e1021369612f5bd60c2c1f4d08db2af8
(cherry picked from commit b7d588f341)
2018-03-07 11:52:25 +00:00
TreeHugger Robot
3a7404ec69 Merge "Support Slice type in SliceData" 2018-03-02 00:48:08 +00:00
Matthew Fritze
1e9d9c7054 Support Slice type in SliceData
Add a getter for Slice type for BasePreferenceController.
This facilitates the generation of all possible Slices for Settings
search and discovery for AGSA.

Bug: 62807132
Test: robotests
Change-Id: I2cba1fc72c95769ecc26c76d1f2faa49a285d077
2018-03-01 15:25:14 -08:00
Oscar Shu
46d6ecc2b1 Merge "Adding Wifi setting to special_access settings" 2018-03-01 17:20:50 +00:00
Fan Zhang
04f1423bfa Remove custom updateState() if it's just setting summary
Change-Id: I6311d67d6ba11961a6814b91dcd8e37a2e17df40
Fixes: 73950519
Test: rerun robotests
2018-02-28 15:22:09 -08:00
xshu
3f04897a19 Adding Wifi setting to special_access settings
In the settings app, allow users to override app permission for
CHANGE_WIFI_STATE for every application that declared that permission.

Bug: 70562620
Test: compile, robotests

Manual test:
Flash build to device (walleye)
Download iPass from playstore
Open iPass and try connect to a wifi network; verify success
Open settings -> Apps & notifications -> Advanced -> Special app access
-> Wifi access
Select iPass from the list
Toggle the switch to off
Open iPass and try connect to a wifi network; verify failure

Change-Id: Ib2be4c83988a81ba7831d096c9b1980462e66903
2018-02-26 13:47:15 -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
Fan Zhang
47854c2945 Migrate more places to subsetting launcher
Bug: 73250851
Test: robotests
Change-Id: Iaf29df45ddb42fd58f181cb01e10998a97cb7c34
2018-02-19 14:21:05 -08:00
TreeHugger Robot
373a33bb87 Merge "Fix double search icon in wifi calling page" 2018-02-09 22:39:30 +00:00
Fan Zhang
b91db42100 Fix double search icon in wifi calling page
- Moved fragments into wifi sub-package.
- Cleaned up inheritance for WifiCallingSettings
- Attach help and search action menu controller correctly.

Change-Id: I0bc8ab99df5d8c5ea64fb64de5ae70c2c9bd6f31
Fixes: 72958674
Test: robotest
2018-02-09 11:26:16 -08:00
TreeHugger Robot
f94f6d41d9 Merge "Add Toggle Controllers to XML" 2018-02-08 19:46:26 +00:00
Fan Zhang
3ed55b1450 Remove dead code for DataPlanUsageSummary
This is an unfinished feature, no longer needed.

Change-Id: I358dcc8865184117d49e35b3e8dfcd84403261d0
Fixes: 73073608
Test: rebuild
2018-02-07 20:35:56 -08:00
Matthew Fritze
700c113218 Add Toggle Controllers to XML
Autobrightness preference controller was accidentally removed from
display_settings.xml. Given that no tests were broken and this would
be a disaster for phone buddy & inline actions, I have added another
test which keeps a list of valid controllers that should exist in xml.

When more inline controllers types are added, they will be included
in this test.

Fixes: 72564979
Test: robotests
Change-Id: I40fe18f9118af9cec1c201632742d2949ff64be5
2018-02-07 17:09:05 -08:00
Julia Reynolds
4f3b556388 Notification settings updates
- Footer preferences were too dim
- Fix text and target on recently sent apps
- Make 'behavior' a dialog
- reorder settings on apps page

Change-Id: Idf8056bc77ead89fe2025bbde3346861e23a3c8d
Fixes: 72652526
Fixes: 72651810
Fixes: 72652024
Bug: 72651953
Test: make RunSettingsRoboTests
2018-01-30 16:59:12 -05:00
Doris Ling
ce55d7c6a1 Remove app info page v1 related codes.
- change to use AppInfoDashboardFragment completely
- remove InstalledAppDetails and the corresponding tests

Change-Id: I8cbdf71cadc8b5743929abbafe91185e5e39b6b2
Fixes: 69384089
Test: make RunSettingsRoboTests
2018-01-29 17:14:32 -08:00
Fan Zhang
73dc479ab5 Remove security settings v1 code
Change-Id: I958ed1588009b91f64cd8ecb98208e72a891903e
Fixes: 32953042
Test: robotests
2018-01-29 13:17:05 -08:00
Lei Yu
6411b170a5 Merge "Add restrict app detail page" 2018-01-19 20:47:52 +00:00
jackqdyulei
0fb2d68f97 Add restrict app detail page
1. Move force standby action to BatteryUtils
2. Add click action for restricted preference(go to detail page)
3. Build app list in detail page using packageOps list

Bug: 71502850
Test: RunSettingsRoboTests
Change-Id: I1e6733e5402e7a854b07a8bbb43a86255276bfaa
2018-01-19 09:59:53 -08:00
Felipe Leme
6042c0bd6c Renamed Storage Access to Directory Access.
Test: manual verification
Test: make RunSettingsRoboTests -j40

Bug: 63720392
Bug: 72135562

Change-Id: I31e63456994d7a9cd2a83a260930835a1052e793
2018-01-18 13:56:24 -08:00
Felipe Leme
7a0ad2b30f Initial screens for Storage Access.
This new settings will be accessed through Apps -> Special Apps and it will let
users change the status of granted (or denied) Scoped Access Permissions.

This initial CL implements the landing activity that shows all packages and an
initial version of the detailed activity for a specific page, althouth the
detailed activity is not ready yet.

Test: manual verification
Test: export ROBOTEST_FILTER=com.android.settings.core.codeinspection.CodeInspectionTest && make RunSettingsRoboTests -j40
Bug: 63720392

Change-Id: Id0419c2c4aaaec365803218d6947e230e4776f13
2018-01-12 18:06:48 -08:00
Fan Zhang
361e55bb4c Use proper DashboardFragment APIs for SecuritySettingsV2
Next CL will add tests.

Bug: 32953042
Test: TODO
Change-Id: I0cb0e4eb216d3e9408675486f1cd73ba82d8ca36
2018-01-05 11:20:59 -08:00
Fan Zhang
f314494f32 Fork SecuritySettings page and hide behind a feature flag.
Bug: 32953042
Test: robotests
Change-Id: Ibbb4221eef87f09ccd024146517707680180a100
2018-01-02 13:42:53 -08:00
Doris Ling
a0006d93bd Move AppInfoDashboardFragment into appinfo package.
- update all references to AppInfoDashboardFragment
- removed PackageUtil inner class and change the corresponding function
to be a simple method.

Bug: 69384089
Test: make RunSettingsRoboTests
Change-Id: Ief067e25a303ef16db20b2ca1d8840cb06eff5f9
2017-12-12 16:58:17 -08:00
jeffreyhuang
7ef47a9c5d Delete about phone v1 code
Bug: 36458278
Test: make RunSettingsRoboTests -j40
Change-Id: Ib8f420a86caa1da0165aa5c161eb584a009ed2b9
2017-12-11 10:57:37 -08:00
Doris Ling
765007b0bf Add controllers for default app shortcut preferences.
- add the default app shortcut preferences to the preference screen
xml instead of creating them dynamically in the fragment.
- add controller for each of the shortcut preference.
- move the corresponding shortcut detail settings into the appinfo
package.
- add individual preference screen xml for the shortcut detail settings
instead of using the shared screen template.

Bug: 69384089
Test: make RunSettingsRoboTests
Change-Id: I7bc0b3b727e87fb1a32a82291e64b8e290947671
2017-12-07 15:42:28 -08:00
jackqdyulei
166102c3c0 Add feature flag for battery settings page.
Create PowerUsageSummaryLegacy and power_usage_summary_legacy, which
contains the old implementaion.

Bug: 69797586
Test: RunSettingsRoboTests
Change-Id: Icb9c25f06889462a6eedea48ae166043a6636848
2017-12-05 13:15:13 -08:00
Doris Ling
6eb8877848 Convert install app detail to dashboard fragment.
- first round for changing AppInfoDashboardFragment to inherits from
DashboardFragment instead.
- add controller for Battery, DataUsage, Memory, Notification, Storage,
Permission, Version, and Open by Default settings.

Bug: 69384089
Test: make RunSettingsRoboTests
Change-Id: I60079e5442b4eef46a178e27de96a8635e15ebde
2017-11-30 16:19:28 -08:00
Matthew Fritze
c448863577 Index Nightdisplay Settings into search
Adds a SearchIndexProvider into NightDisplaySettings
to index night_display_settings.xml. It will show
up in search as long as ColorDisplayController
is available.

Also, supress the search result for Night Display
under Display settings in favor of the actual toggle.

Test: robotests
Fixes: 69852201

Change-Id: Id014a5ab03e7a6b5fc99f79a1cb41a0c06323f9c
2017-11-30 08:56:20 -08:00
Fan Zhang
1ae1e17199 Fix indexing in cast and zen mode settings
- Fragment should either not implement serach provider or return a valid
  xml. Search provider with 0 resource is invalid.

Change-Id: Ie87c739bf72c926cecf48d271c6c2d72459787c4
Fixes: 69864274
Test: robotests
2017-11-28 17:50:15 -08:00
Jeffrey Huang
07394c9931 Merge "Enable flag for about phone v2" 2017-11-20 18:10:14 +00:00
TreeHugger Robot
01a225fd7f Merge "Create version 2 of InstalledAppDetails" 2017-11-18 01:23:43 +00:00
Doris Ling
529e207986 Create version 2 of InstalledAppDetails
- this is the first step for converting InstalledAppDetails into
DashboardFragment
- add a feature flag to determine whether to show the new installed app
detail page.
- decouple the fragment from AppInfoBase: extends from
SettingsPreferenceFragment directly and copy all codes from
AppInfoBase.

Bug: 69384089
Test: make RunSettingsRoboTests
Change-Id: If1ab5b216620eaba1d6bde20e65e7a602931fd94
2017-11-17 15:37:34 -08:00
jeffreyhuang
cb823d5983 Delete DevelopmentSettings.java
- Remove the old DevelopmentSettings
 - Remove references to the feature flag

Fixes: 65522949
Test: make RunSettingsRoboTests -j40
Change-Id: Ie2eb3465127d79a027de6bb58a47bb15e3094f89
2017-11-17 13:52:33 -08:00
jeffreyhuang
b025f06a50 Enable flag for about phone v2
Bug: 36458278
Test: make RunSettingsRoboTests -j40
Change-Id: I0a41fdafadf71e20b76f999005dac66b6a52f570
2017-11-17 10:14:00 -08:00
Beverly
a58e52a0be Added zen settings messages and calls preferences.
- Made ZenModeSettings and ZenModeBehaviorSettings a DashboardFragment
- Switches in ZenModeBehaviorSettings all have their own preference controllers
- Instead of a dropdown, messages & calls have their own pages & preference controllers
- Added basic turn on/off DND button in settings (dialog not yet implemented)

Bug: 63077372
Fixes: 69057767
Test: make -j40 RunSettingsRoboTests
Change-Id: I1c70f77053713f66f873ee578477f23cfd7985bb
2017-11-14 14:16:26 -05:00
Doris Ling
9ed29a2e57 Convert location settings to DashboardFragment.
- change LocationMode, LocationSettings, and ScanningSettings to be
DashboardFragment.
- remove LocationSettingsBase and moved base logics into base
controller.
- add controllers for the preferences under the 3 location settings
pages.

Fixes: 68719207
Test: make RunSettingsRoboTests
Change-Id: Icedf691c2a9f7989faebee39ea9da672209b7957
2017-11-13 17:05:14 -08:00
Matthew Fritze
f6cf598d03 Prevent crash in Search from Stack overflow
NotificationSettingBase's getPreferenceController call
is recursive with no base case which crashes search.

Root cause here is that NotificationSettingsBase should
not be indexed for seacrh but was probably failing the
code inspection test. Added NotificationSettingsBase
child classes to grandfather list of classes that
should be ignored for search.

Change-Id: I04ed242db3a394b88e0d0ac420aaaff6f9301cb5
Fixes: 69096424
Test: robotests
2017-11-09 10:40:14 -08:00
Julia Reynolds
d0965a21e4 Merge "PreferenceControllers are the way of the future." 2017-11-08 13:33:40 +00:00
Fan Zhang
a681094e8a Convert SecuritySubSetting into DashboardFragment
Bug: 32953042
Test: robotests
Change-Id: Iecdb0a42695644ff8aa095bcd49b5ccb16aa46d4
2017-11-06 17:26:25 -08:00