Commit Graph

58 Commits

Author SHA1 Message Date
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
Fan Zhang
aab36de0d6 Remove wrapper for device policy manager
Bug: 76167422
Test: robotests
Change-Id: I69dc7341cf1ff408bc24c2a062586cef25b7b918
2018-03-30 20:44:20 -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
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
James Lemieux
22a39c2b93 Use external/robolectric-shadows/run_robotests.mk
This allows Settings to test against the latest framework changes.

Also replaced TestConfig with traditional robolectric.properties.

Bug: 73173204
Bug: 73892008
Test: make -j56 RunSettingsRoboTests
Change-Id: I3135b4fa5f095ba79b282a76f45dd9baa2584bc7
2018-03-04 03:50:08 -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
Fan Zhang
73dc479ab5 Remove security settings v1 code
Change-Id: I958ed1588009b91f64cd8ecb98208e72a891903e
Fixes: 32953042
Test: robotests
2018-01-29 13:17:05 -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
TreeHugger Robot
194085f5c5 Merge "Make a strong reference to LifecycleOwner in tests" 2018-01-12 18:01:23 +00:00
Fan Zhang
4e08869e1a Make a strong reference to LifecycleOwner in tests
Change-Id: Id3b26ded6c903b67b9880dbfe1a0656a564c8947
Fixes: 71867776
Test: rerun tests
2018-01-11 14:30:16 -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
TreeHugger Robot
820df35539 Merge "Change underlying preferenceControllers to an ArrayMap of Lists." 2018-01-04 02:45:27 +00:00
Ben Lin
9275177002 Change underlying preferenceControllers to an ArrayMap of Lists.
Previously, DashboardFragment stores preference controllers in an
ArrayMap of <Class, AbstractPreferenceController>. Thus when there are
multiple controllers of same class (ie. multiple
PreferenceCategoryControllers), they cannot be stored simultaneously.
This changes the value to a List so we can store multiple controllers of
the same Class without extraneous sub-classing.

Bug: 70949662
Test: All existing tests still pass.
Added
DashboardFragmentTest#testPreferenceControllerSetter_shouldAddAndNotReplace
and DashboardFragmentTest#updateState_doesNotSkipControllersOfSameClass.
Change-Id: I397e8c91977ea1180d48a3af75dd4058bf1175c0
2018-01-03 17:03:59 -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
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
TreeHugger Robot
91fff3093d Merge "Rename SDK_VERSION_O to SDK_VERSION" 2017-12-06 02:45:15 +00:00
jeffreyhuang
cbfb099a40 Rename SDK_VERSION_O to SDK_VERSION
Test: make RunSettingsRoboTests -j40
Change-Id: I6715062d8addadda441e32809db1af55f15e3a90
2017-12-05 16:43:54 -08: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
dff6dd687e Move away from deprecated FakeFeatureFactory.setupForTest()
Test: rerun
Change-Id: I896ba414315ddb1664c0499264f4992f0554ef98
2017-12-05 10:12:10 -08:00
jeffreyhuang
cf8b912343 move security test package to sdk 26
Test: make RunSettingsRoboTests -j40
Change-Id: Icc02469b5bcfab4be55caeab948275d3f4ca08ae
2017-12-01 14:56:16 -08:00
jeffreyhuang
0f48bc83d9 Update OwnerInfoPrefCtrlTest to sdk 26
Test: make RunSettingsRoboTests -j40
Change-Id: I506edc8aa9e4111eb7aefcf509c74f10f9af0285
2017-12-01 14:56:16 -08:00
Tony Mantler
94a7c7d21c Convert SettingsLib Lifecycle to Flatfoot
Bug: 69257739
Test: m -j RunSettingsRoboTests
Change-Id: I27e7850c39afb9c09297007e8cc352f410665653
2017-11-14 11:04:40 -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
Fan Zhang
c58a88368f Convert encryption status to preference controller
- Move Crypt/Encryption setting into security package.
- Reformat crypt_keeper_settings.xml
- Add controller and test for encryption status

Bug: 32953042
Test: robotests
Change-Id: I1f4b2f97133435c70a49522a59886ac4da6759af
2017-11-02 16:05:58 -07:00
Fan Zhang
9679dba668 Convert EncryptionAndCredential into DashboardFragment
The logic still lives in fragment for now. They will be moved into
PrefControllers in follow-up changes.

Bug: 32953042
Test: RoboTests
Change-Id: I2b03d26b5f4e6bbb37b42f9dc83a9464eb169868
2017-10-31 14:39:52 -07:00
Fan Zhang
57ef92a810 Eliminate duplicate keys in pref xmls.
- Remove additional_system_update pref device_info page, we don't need
  it.
- Update keys in xml and Preference controller, and search index
  provider.
- Clean up in ScreenZoomPreference, it's anti-pattern to set fragment in
  constructor.
- Whitelist 2 that are super hard to remove.

Change-Id: Ibab6e2cb074513042a2ae007d9085aa64046eec8
Fixes: 67852637
Test: uniquePreferenceTest
2017-10-28 11:06:37 -07:00
Maurice Lam
e18902ec67 Update Robolectric to 3.4.2
Bug: 66693279
Test: m RunSettingsRoboTests
      m RunSettingsRoboTests-jacoco
Change-Id: I9df619c3d68f0af2ee2ae944a15998275129f7c2
2017-09-22 18:34:00 +00:00
Daniel Nishi
9d0a84e95f Merge "Move the Robolectric shadow config up." into oc-mr1-dev am: efcc8be05c
am: 5f97c05f1c

Change-Id: I46c4a921a25ef17197e90038ff71a982a192aae7
2017-08-24 22:15:39 +00:00
Daniel Nishi
739b0eef10 Move the Robolectric shadow config up.
In my testing, this reduces the runtime of the Robolectric Settings test
suite on my Z840 workstation from 440 seconds to 402 seconds on average.
By avoiding having a method-level Robolectric shadow import, we avoid
going down a code path which needs to add more shadows later in the
Robolectric execution.

Bug: 64808827
Test: Settings robotests still pass
Change-Id: I7b40d73b30306ae3f9759281afbd7f7266579e24
2017-08-17 14:37:27 -07:00
Fan Zhang
26a1deffe6 Support dynamic summary and icon for injected tiles
Bug: 63758074
Test: robotests
Change-Id: I2fa27812800c12606a613896ea2aa69dda393944
2017-08-01 16:19:37 -07:00
Andrew Sapperstein
9f1e911759 Refactor test runner to use static list of resource paths
Previously everything lived in an inner class method of
SettingsRobolectricTestRunner. That method has now been turned into
a static method so that it can be called by other runners.

Bug: 62460102
Test: robotests
Change-Id: I6612b1f26404587301c534c8ba60e39d59d6c840
2017-06-09 09:21:26 -07:00
Fan Zhang
ab0a0c8202 Prevent showing multiple keyguard dialog in vpn setup UI
Change-Id: If3a0d4ee285bfdde5f4b84bee58d62708071fe75
Fix: 37552190
Test: make RunSettingsRoboTests
2017-06-05 17:42:53 -07:00
William Luh
0cfbee0581 Use the standard place holder for the security summary.
This removes the jitter when the cache is empty and there is
initially no summary, and then it is replaced by the fetched summary
when it's available.

Bug:36463348
Test: make RunSettingsRoboTests
Change-Id: I92cafbf23e3c562a470488dea28fd5106bbdf885
2017-05-26 16:47:09 -07:00