Commit Graph

189 Commits

Author SHA1 Message Date
Salvador Martinez
42e9d26635 Allow appending static preferences to RadioButtonPickerFragment
This makes it so that static preferences can also be added after
the candidates so they can show up on the bottom of the screen.
This is done via a new xml tag for the preference screen that
is usually mostly empty that RaiodButtonPickerFragments use

Test: robotests
Bug: 111450127
Change-Id: I0fe2f480f0ff59b9bf9269e94b33ab4b008b47b8
2018-12-06 14:03:08 -08:00
Sunny Shao
da01c0fc91 Set the color primary variant for material design
Added the color of the colorPrimaryVariant to avoid the run time exception
while load the MaterialCardView resource.
Modified the test case for the new version material design library.

Bug: 118886724
Test: robotest
Change-Id: I55791b8eef2263587b2ae3d7a2f5b9da9929fc9a
2018-12-04 17:52:27 +08:00
Raff Tsai
da7a5d1171 Add log feature
- Add ContextualCardFeatureProvider to handle card interaction

Bug: 79698338
Test: manual
Change-Id: I2a76f5ccfd07072a98ee927bed7dc39731d4cb09
2018-11-30 06:41:22 +08:00
Yi-Ling Chuang
68f37a19ae Add contextual card feedback email mechanism.
When users dismiss a card, ask them for feedback.

Bug: 113783548
Test: robotests
Change-Id: I4f53f89ff8377b0dae8c1fc13c6e474456f90c2f
2018-11-29 10:10:57 +08:00
Fan Zhang
21f5291c1a Add a config flag so OEMs can disable avatar mixin
Not all devices have account, OEMs should be able to disable this
feature if they want.

Bug: 117509285
Test: robotests
Change-Id: I3b03a04cff6ff0ec6c31763ac1829b119531e489
2018-11-08 14:57:24 -08:00
Fan Zhang
2a98c843e8 Loading suggestions via legacy SuggestionService sometimes
When legacy_suggestion flag is turned on, load Suggestions from
SuggestionService instead of contextual homepage, because contextual
homepage infrastructure might not be availble on all devices.

Bug: 118842099
Test: robo
Change-Id: I91710c005e11be5a9b3dd39ceff670106e7f80c3
2018-11-07 11:55:09 -08:00
tmfang
8eb46b717e A new attribute which can show the dynamic summary
For now, slice view shows screen title by default,
but it isn't approprate for some simple cases.
ie, device model, phone number, android version etc.

So, We create a new attribue which let BasePreferenceController
be more flxible. User can choose what they want to show
in summary text.

Fixes: 74900516
Test: make RunSettingsRoboTests

Change-Id: I2788c6edfaf8e656170a507607f22513841a3e0a
2018-09-26 17:48:12 +08:00
Philip P. Moltmann
a5918a6a68 Make Settings use system-api restricted icon.
Test: Browsed around settings
Bug: 110953302
Change-Id: I1b19be721719ed8946cb558b93119b1b0e173794
2018-09-17 15:48:31 -07:00
Fan Zhang
9aca4cb48c Add config to disable app tray preview in display size.
Also move some files

Change-Id: I4636fcd81425991acadede0b703e09513c82543c
Fixes: 113374067
Test: robotests
2018-09-10 15:03:54 -07:00
Fan Zhang
44be9131b1 Open personal settings tab when launching homepage
Change-Id: I341e1a128fda7db8f953f9a0800050cc007554c5
Fixes: 114441682
Test: manual/robotest
2018-09-07 13:44:21 -07:00
Fan Zhang
d480c0e41a Grant permission on slice uris based on whitelist
Bug: 112587202
Test: robotests
Change-Id: I4e12a73f0acd848153f32c2569358dd55bed3f92
2018-08-28 18:13:25 -07:00
tmfang
db00a3177a Refactor add network page
WifiDialog.java can be launched as "full screen mode"
in some use cases. However the way it's done is that
it uses theme to fake the full screen appearance.
It just feels hacky to use a dialog for full screen UI.
So, we created an "AddNetworkFragment" to make this
page can look like a normal fragment.

Also, clean up some useless code about "full screen mode"
of WifiDialog.

Change-Id: Iedd04c6a8e403cbceb872313314e1cba0d514246
Fixes: 111875856
Test: robo test, manual test
2018-08-18 00:16:14 +08:00
Fan Zhang
a79c377fbc Declare "searchable" attribute for preferences.
Now we can easily mark a preference nonIndexable in xml instead of
adding key into searchIndexProvider.

Bug: 112608186
Test: robotests
Change-Id: I0ff16d44bb7b6ad148d3d35f09ca0da0163f73f4
2018-08-16 09:06:39 -07:00
Fan Zhang
7d5a9eebb8 Add a config to force rounded icon for DashboardFragment.
And each page has ability to turn on/off rounded icons. This CL only
adds the flag, it doesn't actually change icon shape yet.

- Boolean config in xml
- New protected method for each DashboardFragment to load config
- Plumb the boolean into DashboardFeatureProvider for future use.
- Remove some unused APIs from DashboardFeatureProvider

Bug: 110405144
Fixes: 79748104
Test: robotests
Change-Id: Id34782e75aa7289967e4dd1f4fe2978688092702
2018-08-10 10:57:18 -07:00
TreeHugger Robot
fa44a94aa9 Merge "Add a boolean flag to show or hide Private DNS in Network & internet." 2018-08-06 19:07:14 +00:00
Ben Lin
bc4b584446 Add a boolean flag to show or hide Private DNS in Network & internet.
The following boolean flag is added:
config_show_private_dns_settings

When set to false, Private DNS will not be shown in Network & internet.

Bug: 111398942
Test: make RunSettingsRoboTests
ROBOTEST_FILTER=PrivateDnsPreferenceControllerTest
Change-Id: I62911930680355b7fc109b295d8526bdb7eac0b3
2018-07-26 12:12:25 -07:00
Prabir Pradhan
7758fcc6dd Add a boolean flag to show or hide the device name in About device.
The following boolean flag is added:
config_show_device_name

When set to false, the device name will not be shown in System > About
Device.

Bug: 111653180
Test: Updated robotests
Change-Id: Id9610e2009604c9d9693428adff01adc7d606565
2018-07-25 17:06:21 -07:00
tmfang
1d44acce67 Fix test cases broken
- AndroiX AlertDialog needs to use Theme.AppCompat.
- Create a ShadowAlertDialogCompat which can be compatible with AndroidX AlertDialog.

Fix: 111247403
Test: make RunSettingsRoboTests -j56 ROBOTEST_FILTER=com.android.settings.password.ChooseLockTypeDialogFragmentTest

Change-Id: I3e4bca285ecaefa5705c8d170050c21d1bc649e0
2018-07-18 19:39:39 +08:00
Fan Zhang
5c3816ba03 Remove NewDeviceIntroSuggestion
The functionality is entirely replaced by other apps.

Change-Id: Id3d425cf92a07bae070cd22c0d726aba0472dd5d
Fixes: 111195449
Test: robotest
2018-07-12 11:23:38 -07:00
Fan Zhang
fc7188d822 Clean up DeviceAdminSetting: make it into DashboardFragment
Change-Id: Ib5634f782daef15ab317175084c6813d6b8a8bb7
Fixes: 110207366
Test: robo
2018-06-18 18:09:01 +00:00
TreeHugger Robot
04af70a604 Merge "Revert "Settings: Add logical camera default switch"" 2018-06-04 17:35:57 +00:00
Shuzhen Wang
6cd426482e Revert "Settings: Add logical camera default switch"
This reverts commit 5aab8d9ee1.

Reason for revert: This setting is for internal QC purpose only
Bug: 80007047

Change-Id: Id5f01e5de94ffaa86de1e96f6bde1092b0c586a2
2018-05-31 22:29:29 +00:00
Fan Zhang
8379a09554 Misc fixes for Settings
- Add some precautious logging in RoundedHomepageIcon in case b/79841665
  comes back.
- Hide memory setting from app info page.

Change-Id: I37d090504ab25854e1278aa3a6d3e85781f394b1
Fixes: 79841665
Fixes: 80140797
Test: visual
2018-05-29 13:56:43 -07:00
Shuzhen Wang
5aab8d9ee1 Settings: Add logical camera default switch
Add a switch to make logical camera as default camera (with smaller
camera id) for 3rd party app.

Test: Manually using Settings app, RunSettingsRoboTests
Bug: 77600932
Change-Id: I86c7f3b9830fb376b324621feb31cdfac59faee5
2018-05-18 14:09:00 -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
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
Ben Lin
aedf00c4f8 Merge "Introduce boolean flag to show/hide Reset Options." into pi-dev 2018-03-12 17:52:47 +00:00
Ben Lin
2d452df643 Merge "Introduce boolean flags to show/hide Encryption status." into pi-dev 2018-03-12 17:52:37 +00:00
TreeHugger Robot
decea2055d Merge "Declare official platform slice" into pi-dev 2018-03-12 03:17:19 +00:00
Ben Lin
a53001dd13 Introduce boolean flag to show/hide Reset Options.
This adds one new flag:
config_show_reset_dashboard

Which when set to false, will hide Reset Options from System settings.

Bug: 74127210
Test: Updated robotests
Change-Id: I42b14a0abde575f5c4e51985125e8543716d206a
(cherry picked from commit bd180a62ec)
2018-03-10 00:26:15 +00:00
Ben Lin
1f61ff4cf9 Introduce boolean flags to show/hide Encryption status.
This adds one new flag:
config_show_encryption_and_credentials_encryption_status

Which when set to false, will hide Encryption status from Encryption &
credentials. This is when the storage is not being handed by Android,
and so this preference would not be necessarily correct.

Bug: 74127210
Test: Updated robotests
Change-Id: I13665fa369086ef29a4de5f99a78bfbaf96f2f6b
(cherry picked from commit 2d5df469d3)
2018-03-10 00:25:16 +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
59520b028a Fix tests
Change-Id: I8b750a87e6852d60ac2f8f61a955b1296cef759b
Fixes: 74234076
Test: robotests
2018-03-06 09:09:31 -08: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
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
Ben Lin
c64531bbce Revert "Add ability to show/hide Color Correction and Color Inversion."
This reverts commit f1346930bc.

Reason for revert: Moving logic elsewhere.

Change-Id: Ia07b3f4c33e0078e8f35c69d5ed51daf197ff165
2018-02-16 15:10:11 -08:00
Ben Lin
463c9a07f0 Revert "Add ability to show/hide accessibility_shortcut_preference."
This reverts commit 4983dc1227.

Reason for revert: Moving logic somewhere else.

Change-Id: I2f2e3ac6545e8599de32afb1fe6f6d108601e37d
2018-02-16 14:27:34 -08:00
Ben Lin
bba02d88a4 Introduce config_disable_uninstall_update flag.
This adds the following flag:
config_disable_uninstall_update

Which by default is false. When set to true, it will hide the "Uninstall
updates" menu item for all cases.

This is useful for cases where the device OEMs want to allow users to
install apps, but do not want the ability to roll back updates on system
applications.

Bug: 62379281
Test: make RunSettingsRoboTests ROBOTEST_FILTER=AppInfoDashboardFragmentTest
Change-Id: I55fe92467ca95c05f6682174c117031d8295790e
2018-02-13 14:45:34 -08:00
Ben Lin
3bf23ff59e Introduce boolean flags to show/hide battery/memory in App info.
This adds two flags:
config_show_app_info_settings_memory
config_show_app_info_settings_battery

Which when individually set to false, will hide them item from "App
info" which is accessed from clicking on an application in Apps &
notifications -> App info.

Bug: 62379413
Test: make RunSettingsRoboTests
ROBOTEST_FILTER=com.android.settings.applications

Change-Id: Ifb3b644901728dc7ea04d13198abddaa7b230538
2018-02-02 12:18:47 -08:00
Ben Lin
7190f85392 Add ability to show/hide different device information.
This introduces 3 boolean flags:

config_show_device_model
config_show_wifi_ip_address
config_show_wifi_mac_address

Which when set to false will hide their individual panes from "About
Phone" page.

Bug: 62414913
Test: make RunSettingsRoboTests
ROBOTEST_FILTER=com.android.settings.deviceinfo
Change-Id: Iaaf91ef41c9ec7b5bf233344e6a48d4b87fad291
2018-01-30 16:53:57 -08:00
Ben Lin
6fb9c9f4b0 Add ability to show/hide System Update.
This adds one flag:
config_show_system_update_settings

Which when set to false will hide "System update" from System page. This
is useful for devices that controls its system update elsewhere.

Bug: 69813881
Test: make RunSettingsRoboTests
ROBOTEST_FILTER=com.android.settings.deviceinfo
Change-Id: Ibd1291ffd8948419e8aa06d0721842246a069378
2018-01-23 13:51:25 -08:00
Ben Lin
2a63861a52 Clean up SystemUpdatePreferences tests.
SystemUpdatePrefenceControllerTest had some logic that seemed irrelevant
to its testing class, which seems to have moved to
AdditionalSystemUpdatePreferenceController. Removed the irrelevant
test cases and added additional test coverage on
AdditionalSystemUpdatePreferenceController.

Bug: None
Test: RunSettingsRoboTests
Change-Id: I5224900bc3449a9f329a1d02ee3cb597b4748d91
2018-01-23 13:39:12 -08:00
Jong Wook Kim
8c6d8daaf0 Wifi MAC Randomization: Developer Options
Add a toggle in developers options to turn on/off connected MAC
randomization for devices that support the feature. This toggle will be
only available on devices that support dynamic MAC address change and
indicated as so in config_wifi_support_connected_mac_randomization.

The toggle changes Settings Global value WIFI_CONNECTED_MAC_RANDOMIZATION_ENABLED, which the Wifi Framework will listen for to start/stop randomizing MAC addresses.

Bug: 67908229
Bug: 71548421
Test: RunSettingsRoboTests, manual testing checking that the toggle comes up and changes global settings value.
Change-Id: Ia4749cd0a1e7466333bd8a93088d6340f6567e25
2018-01-22 02:16:31 -08:00
Ben Lin
dd1e1e1d99 Introduce boolean flags to show/hide items in Security & location.
This adds 6 new boolean flags:
config_show_manage_device_admin
config_show_unlock_set_or_change
config_show_screen_pinning_settings
config_show_manage_trust_agents
config_show_show_password
config_show_trust_agent_click_intent

Which when individually set to false, will hide the item from "Security
& location". It will also hide them from surfacing in search results.

Bug:62379222
Test: make RunSettingsRoboTests
ROBOTEST_FILTER=com.android.settings.security
Change-Id: I58d82cbc7f366a9666cdb0f7cd1b90ebbaf418f4
2018-01-17 17:58:38 -08:00
Ben Lin
e5e8f0368f Add ability to show/hide airplane toggle.
This introduces a new boolean flag:
config_show_toggle_airplane

Which when set to false, will hide the airplane mode toggle in network &
internet.

Bug: 69813881
Test: make RunSettingsRoboTests
ROBOTEST_FILTER=AirplaneModePreferenceControllerTest

Change-Id: I2cf682bf78231040eba5573fbcb55a65be2a13df
2018-01-16 18:23:52 +00:00
TreeHugger Robot
e31f582baf Merge "Introduce boolean flag to show/hide Location Scanning preference." 2018-01-12 21:53:12 +00:00
TreeHugger Robot
e9a3a14330 Merge "Add ability to show/hide individual settings in Sounds page." 2018-01-12 20:11:30 +00:00
Ben Lin
e8377718e0 Introduce boolean flag to show/hide Location Scanning preference.
This introduce one new flag:
config_show_location_scanning

Which when set to false, will hide "Scanning" in Location preference.

Some OEMs may control Bluetooth/Wi-Fi scanning themselves, so they may
want to hide the page from users.

Bug: 62418710
Test: make RunSettingsRoboTests
ROBOTEST_FILTER=LocationScanningPreferenceControllerTest

Change-Id: I19f0020a2c94f70b3b7956529f57af098ccc79fd
2018-01-12 19:48:37 +00:00
Ben Lin
f1346930bc Add ability to show/hide Color Correction and Color Inversion.
This adds two new boolean flags:
config_show_color_inversion_preference
config_show_color_correction_preference

Which whent set to false, will hide the color inversion and color
correction preference items, respectively.

Bug: 62378109
Test: make RunSettingsRoboTests
ROBOTEST_FILTER=AccessibilitySettingsTest

Change-Id: I06eac8e141bd6564495298c6c6544a7b059a4e73
2018-01-10 18:33:01 -08:00