Commit Graph

286 Commits

Author SHA1 Message Date
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
Julia Reynolds
e9211d58d2 Merge "DO NOT MERGE DND settings redesign" into pi-dev 2018-05-07 18:25:52 +00:00
Julia Reynolds
cb6fe394d0 DO NOT MERGE DND settings redesign
Test: robotests
Change-Id: I7b980218feea28e945994c8b7f8a934df6bc11f9
Bug: 78447976
2018-05-04 14:45:43 -04:00
Christine Franks
77df09244e Add night display pref controllers and change UX
- Convert NightDisplaySettings to a DashboardFragment
- Add preference controllers for all Night Display settings
- Change UX for activation from a toggle to a button

Bug: 73739388
Bug: 69912911
Test: make -j100 and make RunSettingsRoboTests -j100
Change-Id: Ia173f16207ba59bf57eb7546cbb1e2dbca67b063
Merged-In: Ia173f16207ba59bf57eb7546cbb1e2dbca67b063
2018-05-04 09:35:29 -07:00
Matthew Fritze
47a44e8fa4 Add keywords to Slices
Attach the keywords used for Settings search to Slices.
Their primary use is helping match synonyms for presenters
which display slices without explicit Uri requests, like a launcher.

This changes:
- Updates database scheme
- Adds to SliceData object
- Grab keywords in the SliceDataConverter
- Set keywords on all slices

Test: robotests
Change-Id: I16c40d2380ffddaf0a87fb1b9cd58e95573b308f
Fixes: 78306195
2018-04-20 14:50:55 -07:00
Caxton Chan
03b8aa3a3c Merge "Add audio switch UI in sound settings" into pi-dev 2018-04-16 19:24:31 +00:00
ryanywlin
63bdfa8998 Add audio switch UI in sound settings
- Build two controller to control list preferences.

- MediaOutputPreferenceController which allows switching
the media output between current device and connected
BT device supporting A2DP. It also controls disabling
media output switching during a call or cast mode.

- HandsFreeProfilePreferenceController which allows
switching between HFP-connected BT devices while in
on-call state.

- Add test cases for controllers.

Bug: 74130772
Test: make RunSettingsRoboTests ROBOTEST_FILTER="MediaOutputPreferenceControllerTest" -j56
Test: make RunSettingsRoboTests ROBOTEST_FILTER="HandsFreeProfileOutputPreferenceControllerTest" -j56
Test: make RunSettingsRoboTests ROBOTEST_FILTER="AudioOutputSwitchPreferenceControllerTest" -j56

Change-Id: I37f5418442ce77e72cdff07f071ea519ab1047f3
2018-04-16 11:52:44 +08:00
Lifu Tang
f72f8309e0 Add a wrapper Activity to launch scanning settings
GmsCore needs to start scanning settings from notification

Bug: 77823544
Test: adb shell am start -a android.settings.LOCATION_SCANNING_SETTINGS
Change-Id: Iecf1f811983068b29aa06a9985c83a5a1fb11a2a
2018-04-13 13:30:58 -07: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
Mehdi Alizadeh
528fe0ca14 Adds the Swipe Up settings page under gestures
The illusteration video is not included yet.

Merged-In: I7f2b2f3251a795dfd74dbbb442692e42a5a2966e
Bug: 77549883
Test: Unit tests and Manual test
Change-Id: I04f01f0814f16e4e006291e61ddb07cea8e7c0d6
2018-04-11 11:03:06 -07:00
Pengquan Meng
7a1c93dcf3 Move apn settings to network
This is a clean up CL, move the apn settings related class from settings'
root to network's directory.

Bug: 77339683
Test: make ROBOTEST_FILTER=ApnEditorTest -j40 RunSettingsRoboTests
Change-Id: I751a6c2a27c9a1e08d7308407d75ccb355f295aa
2018-04-02 17:27:56 -07:00
Matthew Fritze
8c48defb52 Expand isAvailable to include DISABLED_DEPENDENT
isAvailable will now return true when getAvailabilityStatus
returns DISABLED_DEPENDENT_SETTING. This is because the setting
should be displayed in the Fragment even if it has a dependent setting,
which matches existing behaviour. Slices will still display the warning
slice without inline content, where the main action brings you to the
setting page. For now, we have to assume the user will be able to figure
out how to enable the setting. In Q, we would like to build a more
intelligent flow so that we can prompt or even help the user fix the
dependency (we just ran out of time in P).

The only setting that had previously used DISABLE_DEPENDENT_SETTING
was a developer option.

Change-Id: I1f774a2e09cb60de01388cf6c35785c8b5dea176
Fixes: 77334915
Test: robotests
2018-04-02 11:59:40 -07:00
Lei Yu
fa150fca3c Merge "Remove the obsolete bluetooth code" into pi-dev 2018-03-30 20:24:01 +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
LexHuang
78df73f00a Support Screen Rotate in the Universal Settings API
Change extend from AbstractPreferenceController to TogglePreferenceControllear

Bug: 67997439
Test: make RunSettingsRoboTests
Change-Id: I86e59d00384fb131f2f2b92186e8536324db2e1b
2018-03-30 02:32:36 +00:00
TreeHugger Robot
00a2dcb8f9 Merge "Entity header: When screen scrolls, there should be shadow under the header." into pi-dev 2018-03-28 20:12:46 +00:00
Jan Nordqvist
4092b2193c Entity header: When screen scrolls, there should be shadow under the header.
Bug: 70950124

Test: manual
Test: make RunSettingsRoboTests

Change-Id: I5c1d9f463a57d48e258d67602fc4d1fbbdfaad60
2018-03-28 11:17:23 -07:00
TreeHugger Robot
4e25277f60 Merge "Remove the old battery page" into pi-dev 2018-03-27 20:23:23 +00: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
TreeHugger Robot
30da391fa0 Merge "Add preference controller to launch app-time-spent UI." into pi-dev 2018-03-24 05:14:32 +00:00
Fan Zhang
64a8f70a7f Add preference controller to launch app-time-spent UI.
Bug: 74580195
Test: robotests
Change-Id: Iba9338f04cc037a134ef9445ce97cbbe21f53833
2018-03-23 14:13:57 -07:00
Matthew Fritze
ad6678f9fc Add Slider template for Slices
Add the Seekbar preference equivalent
to the TwoStatePreference (toggle) preference
controller abstract controller.

Change-Id: I6ff91f2f72a7f72c18ddbc27b2b1fda4b6ce6ca9
Fixes: 67996707
Test: Robotests
2018-03-22 11:46:47 -07:00
Ben Lin
da83870a27 Add Default backup page to list of allowed fragments.
Bug: 75990141
Test: Attempting to invoke ToggleBackupSettingsFragment via XML maifest
changes works.

Change-Id: Idb00fafa998908c8d1c679054cf93c279f60913d
2018-03-20 10:34:18 +00:00
Julia Reynolds
7b6422ee06 Fix tests
Test: make -j20 RunSettingsRoboTests
Change-Id: I40fda22b4a9da3df7f4319bc68a78d291c1b943d
Fixes: 74446970
2018-03-12 10:08:19 -04:00
TreeHugger Robot
decea2055d Merge "Declare official platform slice" into pi-dev 2018-03-12 03:17:19 +00:00
Matthew Fritze
a4a3dfffa2 Declare official platform slice
Create the notion of an official platform slice.
This includes:
- Adding a second authority to the provider
- tagging slices in xml with a platform slice flag
- Including authority in the getUri method

Bug:73359139
Test: robotests
Change-Id: I5382be138a262dbc5a8324c34aab131c5d0d5516
Merged-In: I581ee6dfcdf935f452a15e89e5d055e375ff1877
2018-03-09 18:04:06 +00:00
Fan Zhang
9c18ac0554 Clean up comment
Bug: 73074893
Test: none
Change-Id: If7dcfcbb2e943d5734239ddb51c0e6ac798b641b
2018-03-07 13:36:58 -08:00
Fan Zhang
3b47e5bc9f Reuse xml parser logic to scrape preference xml files.
Bug: 73668763
Test: atest
Test: robotests
Change-Id: Ifc241b5b4ec6d2935c4c532ff902a7ba352a98d6
2018-03-05 14:20:19 -08: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
TreeHugger Robot
63c34f1e0c Merge "Gateway whitelist AdvancedConnectedDeviceDashboardFragment" 2018-03-01 22:33:30 +00:00
Fan Zhang
747f0e14ef Gateway whitelist AdvancedConnectedDeviceDashboardFragment
- Discovered a few more fragments that weren't whitelisted, so I
  whistlisted those as well.
- Also found ZenModeExternalRuleSettings is misconfigured in manifest
  and no longer needed, so deleted all artifacts about this activity.

Fixes: 74060141
Test:  atest
Change-Id: I159e403bfa6707e2939d075ecc2b8d2f13514153
2018-03-01 13:17:21 -08: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
TreeHugger Robot
6eb62e4115 Merge "Fix crash when launching about phone v2 through intent" 2018-02-28 19:37:57 +00:00
Fan Zhang
cfd79a9a7a Fix crash when launching about phone v2 through intent
Change-Id: Ife6c24a7127fc9821760f9f5b58a33437711bc25
Fixes: 73971752
Test: atest
2018-02-28 10:21:32 -08:00
Victor Chang
614de3b79a Merge "Fix not delivering result to fragment using SubSettingLauncher" 2018-02-28 10:59:36 +00:00
TreeHugger Robot
26ea60a231 Merge "Fix search non-indexable update" 2018-02-28 02:09:21 +00:00
Fan Zhang
f609cad6f0 Fix search non-indexable update
- When creating preference conotrollers, if one fail, skip that one
  instead of giving up entire operation.
- Fix BatterySaverController by providing a existing looper.

Change-Id: Iefe443b7fa91e51515c5c247fab4d9588867baef
Fixes: 73903739
Test: robotest
2018-02-27 16:15:56 -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
Victor Chang
61f7288166 Fix not delivering result to fragment using SubSettingLauncher
- Call Fragment.startActivityForResult instead of Activity's one

Test: make RunSettingsRoboTests
Test: App info page is closed instantly after uninstalling the package
Change-Id: If29c097c988101f89dcd9d0a5c1c68deed04eaa9
2018-02-26 15:41:52 +00: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
TreeHugger Robot
032e7c0def Merge "Add BatterySaver as SettingSlice" 2018-02-21 23:37:35 +00:00
Fan Zhang
fc520ee38a Move instantiation-through-reflection method to controller
Bug: 73668763
Test: rerun robotest
Change-Id: If1b263dfd6a8c40f563ce53ce3f368aef5ca5a9f
2018-02-21 11:28:41 -08:00
Matthew Fritze
e8854ec33d Add BatterySaver as SettingSlice
Convert BatterySaverController to TogglePrefController.
This was the first MasterSwitchController, so we needed
to add the preference case to updateState.

Test: Robotests
Change-Id: I32f3dee0b183807c66c19513b8b064af8f369c2a
Fixes: 67996992
2018-02-21 11:27:09 -08:00
TreeHugger Robot
28188cdd21 Merge "Move xmlParserUtils to core" 2018-02-21 03:34:37 +00:00
Fan Zhang
1ac5a01253 Move xmlParserUtils to core
This class is currently used by both search and slice, in the future
will be used by DashboardFragment to build controller list. So the scope
of this class is beyond search now.

Test: rerun robotests
Change-Id: If43ebca065aac31ad24f95a94bfe5be784109605
2018-02-20 17:43:28 -08:00
Fan Zhang
1f6d24a991 Get rid of direct usage of Utils.onBuildStartFragmentIntent
Change-Id: I87eb97d6da4cd4f99be5bcdb1e3e245eb1c7bd1c
Fixes: 73250851
Test: robotests
2018-02-20 09:42:31 -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