Commit Graph

74 Commits

Author SHA1 Message Date
Fan Zhang
67793945f0 Remove custom robotest utils in favor of framework support.
Bug: 111195450
Fixes: 111195167
Test: robotests
Change-Id: I8bea43fd86f9ae5ce40eb16dabf733b0fbe89aae
2018-09-26 17:28:08 -07:00
Philip P. Moltmann
e3f721132a RestrictedLockUtils was split into ...Internal
This means that in some cases RestrictedLockUtils has to be used and in
some RestrictedLockUtilsInternal.

This causes a lot of trivial code changes.

I also updated the ordering of the imports in all affected files.

Bug: 110953302
Test: Built
      make -j RunSettingsRoboTests
Change-Id: I9bdf8b89134f853bae4f38c81af436715c73e924
2018-08-30 08:11:39 -07:00
Fan Zhang
23f8d59d02 Sort imports
Having consistent import order will reduce chance of merge
conflict between internal and external master

Test: rebuild
Change-Id: I0b1a170967ddcce7f388603fd521f6ed1eeba30b
2018-08-28 22:13:15 +00: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
f6747a2f44 Add summary text for more top level setting tiles
- Connected devices
- App & notifs
- Battery

Bug: 110405144
Test: robotests
Change-Id: Ife44f7c5165483a1bad903ce90a241108ab5da25
2018-08-09 14:38:52 -07:00
felkachang
c2b6764057 Fix the empty preference after clicking gear icon
Because there is no other options for 'None' or 'Swipe, there is no
necessary for showing the gear icon to show options.

'Lock screen message' could be found in
Settings > Display > Lock screen display.

Add testcase to verify the ChangeScreenLockPreferenceController's
behavior.

Test: make ROBOTEST_FILTER=ChangeScreenLockPreferenceControllerTest \
      RunSettingsRoboTests -j40
Change-Id: Icdcd672261749d106162053d6f5228cee420a810
Fixes: 110848852
2018-07-26 10:16:12 +08:00
Kevin Chyn
eb0de79ffc Update Security & location preference summary depending on biometrics
Fixes: 110960063

Test: manual
Test: make -j56 SettingsRoboTests ROBOTEST_FILTER=SecuritySettingsTest
Change-Id: Ia9186af37c84f4ff0391d1b72043948934ed997b
2018-07-23 21:21:53 -07:00
Fan Zhang
44acde5ee1 Hide lock screen display in search if it's not in Settings
Change-Id: Iacf16eb947a679e08a6c55e0764416cd53cac2e7
Fixes: 111641373
Test: robotests
2018-07-20 14:50:02 -07:00
tmfang
f12e6adcdc Settings Fragment Migration (Fix test cases)
Fix all Roboletric test cases.
In this CL, some test cases are broken.
So, We ignored these test cases temporarily.

Test: make RunSettingsRoboTests -j56
Bug: 110259478
Change-Id: I1a3075438a614432a2de4f2d96d8abf9a83ce58c
2018-07-11 18:24:51 -07:00
tmfang
99cc23d0da Settings Fragment Migration (Change imports)
This commit *only* changes imports and optimize imports.
We don't do anything else.

This patch can't compile pass and run test case.
We will update other patches to fix these problem.

Change list.

1. import android.app.Fragment; ->
   import androidx.fragment.app.Fragment;
2. import android.app.DialogFragment; ->
   import androidx.fragment.app.DialogFragment;
3. import android.app.ListFragment; ->
   import androidx.fragment.app.ListFragment;
4. import android.app.LoaderManager; ->
   import androidx.loader.app.LoaderManager;
5. import android.content.AsyncTaskLoader; ->
   import androidx.loader.content.AsyncTaskLoader;
6. import android.content.Loader; ->
   import androidx.loader.content.Loader;
7. import android.app.FragmentTransaction; ->
   import androidx.fragment.app.FragmentTransaction;
8. import android.app.FragmentManager; ->
   import androidx.fragment.app.FragmentManager;
9. import android.app.LoaderManager.LoaderCallbacks; ->
    import androidx.loader.app.LoaderManager.LoaderCallbacks;

Bug: 110259478
Test: Can't test it.
Change-Id: I0a3f98fff34a3494a839c3c42aeabcec3df2c8b3
2018-07-11 18:23:51 -07:00
TreeHugger Robot
416a11855e Merge "Ask profile password before unifying to prevent untrusted reset" 2018-07-09 18:07:36 +00:00
Pavel Grafov
80d9020cc2 Ask profile password before unifying to prevent untrusted reset
Test: make -j RunSettingsRoboTests
Test: manual, unify when profile lock is compliant
Test: manual, unify when profile lock is not compliant
Test: manual, unify when profile lock is empty
Fixes: 110262879

Change-Id: I0dfa885f2a0e44e09c217b3e7766b367f1340c9e
2018-07-06 14:40:10 +01:00
Fan Zhang
78ea7da54c Misc tweaks to Indexable usage and tests.
- Make SettingsPreferenceFragment implement Indexable directly
- Add existing fragments that are SettingsPrefFragment but not Indexable
  to grandfather list.
- Fix "font size" fragment so it shows up in search properly.
- Remove duplicates for "lock screen display", "Screen saver".

Bug: 70720645
Test: robotests
Change-Id: I44ce0cac0fdf5e882b315861bb4bebc45dbe01e6
2018-07-02 16:46:23 -07:00
Doris Ling
30692040be Set default display timeout if current value is disabled by admin.
- The display timeout dialog will only show values that are allowed by the
admin. If the current display time out is greater than the max timeout set by
admin, it becomes an invalid selection. In this case, instead of not
selecting anything, set the default to the last available item.
- move TimeoutListPreference into display package.

Change-Id: I6c88f72ff2b0afe8605800074fd4626bbb16bee0
Fixes: 110104437
Test: make RunSettingsRoboTests
2018-06-25 13:44:00 -07:00
Fan Zhang
c7162cd24d Reorder and clean up imports.
Test: rebuild
Change-Id: I178485c84ae7146f991fd77b6d7504b029942a68
2018-06-18 15:45:09 -07:00
Fan Zhang
30d4d015b5 Merge Ambient display into Lockscreen settings.
And remove the entry point from security page. Now we only have 1 entry
point from Display page.

Change-Id: I06bc15a6fd8802a4918d8772af2722d5aafa332e
Fixes: 71892510
Test: robotests
2018-05-16 11:24:32 -07: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
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