Commit Graph

71 Commits

Author SHA1 Message Date
android-build-team Robot
02ec86a17b Merge "Establish permanently unavailable settings" 2018-05-09 18:14:32 +00: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
hjchangliao
e86eec0c07 Rename SubSettingLauncher.setTitle, add java doc
For make this method usage more clear,
setTitle(charSequence) rename as setTitleText,
add java doc: it is only for user generated string
setTitle(int) rename as setTitleRes.

Change-Id: I972cb6a8ff90873dfdc25c23f6dc3d68103c8e4e
Fixes: 78347436
Test: make RunSettingsRoboTests
2018-05-09 10:00:05 +08:00
Mill Chen
fc64a6c8ad TrustAgentSettings use DashboardFragment
- Remove dummy preference from trust_agent_setting.xml.
- Build a controller to generate/manage a list of preferences.
- Move some logics to the controller and add tests.

Bug: 73899467
Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.security
Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.core
Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.search
Test: atest SettingsGatewayTest UniquePreferenceTest
Change-Id: Ideae0c1e7311d7647cf522e01592822e565a0ff7
2018-04-23 13:36:45 -07:00
Aurimas Liutikas
e0069d332d Migrate Settings to androidx.
Test: make Settings
Bug: 76692459
Change-Id: I941dea40562170649bf056e675cc32e5163c0e39
2018-04-20 12:52:29 -07:00
Fan Zhang
e136bb550e Remove LockdownButtonPreferenceController from java
It's already registered in xml.

Change-Id: I9b363e0d7543fd8139b4e4e65e11d567cbf2ae70
Fixes: 78299993
Test: robotests
2018-04-19 22:13:42 +00:00
Tony Mantler
0fcd6cbaa8 Autogenerate SearchIndexableResources subclass
Bug: 77148954
Test: RunSettingsLibRoboTests RunSettingsRoboTests RunSettingsGoogleRoboTests RunArcSettingsRoboTests
Change-Id: I842c42c55014c3310070ef22bd4f0d9a70dfd804
2018-04-03 10:26:55 -07:00
Fan Zhang
aab36de0d6 Remove wrapper for device policy manager
Bug: 76167422
Test: robotests
Change-Id: I69dc7341cf1ff408bc24c2a062586cef25b7b918
2018-03-30 20:44:20 -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
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
Fan Zhang
02caf0f861 Misc fixes to improve search
- Suppress one of results from "On lock screen"
- Remove screen title from sub sections in data usage screen.
- On UserSettins, index using resource instead raw. And build
  non-indexables using getNonIndexable and pref controlleres.

Change-Id: I947a97af60f1a08b237fda2f3c456cf1105b9231
Fixes: 74120518
Fixes: 74119743
Fixes: 74250251
Fixes: 74119687
Test: reindex
2018-03-07 10:00:57 -08:00
Alex Cruz
d2a8b1ff02 Change encryption preference's summary accordingly
With this change a summary to the encryption preference was added.

415ce9a77d

The problem is that even if you're not encrypted, it says that your phone is.
Is very misleading to the user that don't bother to enter the actual preference
and want to see if they are. This fixes that.

This is cherry-picked from
https://android-review.googlesource.com/#/c/platform/packages/apps/Settings/+/517875/

Test: Go into Settings/Security & Location
Fixes: 68691666
Fixes: 68542516
Change-Id: Iaeaffd340f2e248748f244a947aa71eb8ad4ab94
2018-03-06 11:40:49 -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
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
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
aed8994f6f Rename Indexable::getAllPreferenceControllers.
To getPreferenceControllers. "all" is redundant. Then internally, the
old getPreferenceControllers() is renamed to
createPreferenceControllers() to emphasize the controllers are created
from code (versus the ones created from xml).

Bug: 73668763
Test: robotest
Change-Id: Ifec46aefdc2a418031c8e152028b30bdcd396fc7
2018-02-23 16:37:28 -08:00
TreeHugger Robot
46b8ef9b7a Merge "Put Security-related controllers into a PreferenceCategoryController." 2018-02-21 01:08:31 +00:00
Fan Zhang
b1d6c76b53 Migrate more settings to SubSettingLauncher
Bug: 73250851
Test: robotest
Change-Id: Ifc27b90d68bf4a907f169e19338e9b52ea5f9922
2018-02-18 21:10:03 -08:00
Ben Lin
7d5a53f03c Put Security-related controllers into a PreferenceCategoryController.
This way when everything is hidden in security, the whole category is
hidden also.

Bug: None
Test: Robotests
Change-Id: Ib4120975133df7910c5d5229a82d4052364501ac
2018-02-16 15:26:13 -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
Doris Ling
579fd5eb5e Fix trust agent summary not being updated.
- move the handling for enabling the trust agent preference and its
summary from displayPreference() into updateState(), so that when user
navigates to change screen lock or update trust agent and returns to the
security settings page, the trust agent preference enabled state and
summary will be refreshed correctly.

Change-Id: I60bccfdff755a046a9f5453d39a7ac9d3ce0277c
Fixes: 72420147
Test: make RunSettingsRoboTests
2018-02-06 14:08:47 -08:00
Doris Ling
72489725c6 Change superclass to InstrumentedFragment.
- for fragments that do not implement the preference screen, change them
to inherit from InstrumentedFragment instead.

Change-Id: I791c2634024bd2c248efea955be5c680180d735c
Fixes: 68277111
Test: make RunSettingsRoboTests
2018-02-02 13:41:16 -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
Fan Zhang
881d579620 Misc fixes for User page and my device info page
- Rename UserAndAccountDashboard* to AccountDashboard*
- Move emergency info from account to device info page

- Move auto sync data toggles (4 of them) from Account page to user page
   - Move the controllers too. UserSettings is a not a DashboardFragment
     so I had to manually call each controller method.
     TODO: refactor UserSettings to a DashboardFragment

- Move legal information/regulatory info above advance button within device info page.

Fixes: 72523158
Bug: 71871075
Test: robotests
Change-Id: I1b8af8af61e49d17926f984978a09a974b6c62e1
2018-01-26 12:39:34 -08:00
Chad Brubaker
8e99c7dc1f Merge "Expose lockdown button in settings" 2018-01-24 01:46:21 +00:00
Chad Brubaker
5f67c6491f Expose lockdown button in settings
Test: manually verified toggle controls lockdown button visibility
Test: make RunSettingsRoboTests
Bug: 37221346
Change-Id: Ie59f9c6a1df1d877b18986c6a58492a5aa789d34
2018-01-23 13:05:49 -08:00
Ben Lin
cf6d84109b Don't add any trust agents if the controller is not available.
TrustAgentListPreferenceController gets a list of trust agents and add
them to the security_category preference category at runtime. However,
this update process is always ran - even if the controller is explicitly
disabled/not available. This fixes this.

Bug: None
Test: Updated TrustAgentListPreferenceControllerTest.
Change-Id: Ic95d219bc1d0c7cfa0c4eed0d3dd12dec0e14df6
2018-01-18 01:59:13 +00: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
Fan Zhang
568f01dfc0 Implement PreferenceControllerMixin in TrustAgentController
Change-Id: Iba7cfb139ec213ef6ebc605902a41165e52fb6a1
Fixes: 72056368
Test: robotests
2018-01-16 14:58:21 -08:00
Fan Zhang
f93fcd366a Update screen pinning state whenever it changes.
Change-Id: I98f0a7b0afcc76bcf822786e6cf3ea37004db1a8
Fixes: 71845181
Test: robotests
2018-01-11 12:42:16 -08:00
Fan Zhang
cf97f0b643 Add tests for some security setting controllers
Bug: 32953042
Test: robotests
Change-Id: Ieab4e6434bbb80313f6d1b25ff1cdea5713038f0
2018-01-05 15:45:53 -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
928ddbe731 Merge sub pages for lock/unlock into 1 xml.
And create PreferenceControllers for each setting

The page is still pretty janky and controllers are invoked manually.
Next CL will clean these up.

Bug: 32953042
Test: TODO
Change-Id: I1d7478324f5de4fdb464d79f89086f7e79c0ee67
2018-01-04 15:02:36 -08:00
Fan Zhang
9a38ed459b Convert trust agent pref list logic to PreferenceController
Bug: 32953042
Test: robotests
Change-Id: I1420e90d4910a11fc5837ef2e150c822635b74a5
2018-01-03 14:32:41 -08:00
Fan Zhang
e9394d828c Update EncryptionStatusPrefController to BasePrefController
Bug: 32953042
Test: robotests
Change-Id: I273d299c433e9886cb09a8527cdb6cdd0d755d0e
2018-01-03 10:36:27 -08:00
Fan Zhang
0b47bb4bf3 Convert some security setting logic to PreferenceController
- Manage trust agent
- Show password
- Sim lock
- Screen pinning

Bug: 32953042
Test: robotests
Change-Id: I0c781a505238cae7a6643b701b750ca63a87a8a5
2018-01-02 16:32:53 -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
Pavel Grafov
8e02f0e7e7 Managed profile lock timeout
Test: make ROBOTEST_FILTER=TimeoutPreferenceControllerTest RunSettingsRoboTests
Test: make ROBOTEST_FILTER=LockAfterTimeoutPreferenceControllerTest RunSettingsRoboTests
Bug: 63908311
Change-Id: I7236ec4ca37353703145c3e75d508101ecc6ca80
2017-12-20 17:34:28 +00:00
Pavel Grafov
d50a536d1d Unit test for screen timeout policy handling in Settings
This is a follow-up for http://ag/3123412

Test: make ROBOTEST_FILTER=LockAfterTimeoutPreferenceControllerTest RunSettingsRoboTests
Test: make ROBOTEST_FILTER=TimeoutPreferenceControllerTest RunSettingsRoboTests

Bug: 63908311
Change-Id: I27631743d52163f3b6d1589b427ba617e74725a9
2017-12-19 21:05:16 +00:00
Pavel Grafov
924e0e2154 Respect DISALLOW_UNIFIED_PASSWORD in Settings.
Bug: 63909482
Test: make ROBOTEST_FILTER=SecuritySettingsTest RunSettingsRoboTests
Test: make cts-verifier
Change-Id: Ia89501d5d5339c1340bee36a9bfb8ef72c4ee9b1
2017-12-12 18:20:20 +00:00
Fan Zhang
ca2e54be59 Log screen lock settings using its own constant
Bug: 32953042
Test: manual
Change-Id: Ic72a2b0e7d2a176e03f5e1f39e09b09430268e64
2017-12-05 14:16:09 -08:00
Fan Zhang
e0b0e9f902 Refactor help menu stuff into a controller
This is a clean up to action bar menu item pattern, we will use the same
pattern to build search icon on all pages in a later change.

Bug: 68814716
Test: robotests
Change-Id: Iedd3ec263e8ccb63ed75ec7a95b28c00878b1de4
2017-11-29 15:51:04 -08:00
Fan Zhang
7d5c9ace64 Add test and fix null keys in search providers.
- Add keys to some screens.
- Remove dynamic saved network/turst agent from search provider.
- Remove dynamic print services from printsettings.

Bug: 69384409
Test: atest
Change-Id: I62dce27d52585badb2a8953a05084e35dbae2f7d
2017-11-16 12:57:45 -08:00
Fan Zhang
b5f5ffbece Remove DynamicAvailabilityPreferenceController.
- This class is over complex to use, and get in the way of show/hide
  pref when availability change.
- The function from DynamicAvailabilityPreferenceController can be done
  with PreferenceCategoryController.

Bug: 68956750
Bug: 32953042
Test: robotests
Change-Id: Ia7b7e214c072b8c77f5de3d959fdb1dc79217f76
2017-11-07 12:58:48 -08:00
jeffreyhuang
8c5bc0abf0 Remove a second unwanted search result
- Remove Security and location from the search query for lock screen message

Change-Id: Ifa8985c78b403867377cca351e11b3f58d5c60f2
Fixes: 65492727
Test: Manual using settings app
2017-11-07 11:00:49 -08:00
Fan Zhang
a681094e8a Convert SecuritySubSetting into DashboardFragment
Bug: 32953042
Test: robotests
Change-Id: Iecdb0a42695644ff8aa095bcd49b5ccb16aa46d4
2017-11-06 17:26:25 -08:00
Fan Zhang
8e3f139cbb Move trust agent helper methods into TrustAgentManager
Bug: 32953042
Test: robotests
Change-Id: Ia8dae2e583f0faf7bded150dac65ed076f4ea576
2017-11-03 11:05:21 -07:00
Fan Zhang
b916456984 Move security settings to security package
Bug: 32953042
Test: robotests
Change-Id: Ibd5a12bdd22825dde723e107050826cce9839926
2017-11-03 11:05:21 -07:00
Fan Zhang
933188d6f9 Move trustagent to security package.
Bug: 32953042
Fixes: 34461256
Test: robotests
Change-Id: I341076ff320ad60081542a96eb588614230cb13e
2017-11-03 08:50:23 -07:00
Fan Zhang
b2aae6cd57 Convert the rest of encryption page into pref controller
Bug: 32953042
Test: robotests
Change-Id: I6c1b28314a988e6499065ddaee2aeae0ac28c537
2017-11-02 16:05:58 -07:00