Commit Graph

94 Commits

Author SHA1 Message Date
Doris Ling
dee1a22c45 Consolidate all wrappers used for testing.
- Add the wrapper package and move all wrappers to the wrapper package.
- Get rid of some wrapper interface/impl implementation and have a
wrapper class directly.

Bug: 65634579
Test: make RunSettingsRoboTests
Change-Id: Ic757d8f7bacfa7a034c7e692205bc1dc4b0e1de1
2017-09-14 18:24:49 -07:00
jackqdyulei
a230cf2a84 Add OWNERS for package enterprise
Bug: 65294119
Test: Manual
Change-Id: I697528ff260a0f8e54aa1188e35143e668800e7d
2017-09-07 14:03:35 -07:00
Tony Mak
c74bbcd3b2 A separate entry for work profile CA cert
We mixed both primary and work profile CA certs into single entry
previously which is not aligned with the CTS requirement.
Separate them from now.

Test: m -j RoboSettingsTest
Test: Run related manual test in CtsVerifier

Bug: 64567417

Change-Id: Iaff2d9f25ef15b96c11727e7075bdae8e90ec8ce
2017-08-22 18:24:30 +01:00
Bartosz Fabianowski
96a14ff07e Merge "Fix "max failed login attempts" disclosure" into oc-dr1-dev
am: 262aacd353

Change-Id: I66fbaf0f98dd22679068f1fdefce0e7dbfc81939
2017-07-25 10:18:41 +00:00
Bartosz Fabianowski
3a0e1f8ea7 Fix "max failed login attempts" disclosure
Among other things, the managed device info page informs the user when
their administrator sets the "max failed login attempts" policy. This
disclosure does not show up when set by the Device Owner right now
because the code expects it to have been set by a Profile Owner.

This was a regression introduced by ag/2039754.

Bug: 63696536
Test: CTSVerifier: Managed Provisioning > Device Owner Tests >
Test:     Managed device info tests > Wipe on authentication failure

Change-Id: I5c53f325a1acfb98c72178ac9dab78f18f714c51
2017-07-17 12:41:59 +02:00
phweiss
7a34e9c28e When Remove Account is disallowed, show dialog
When DISALLOW_MODIFY_ACCOUNT is set by a device admin, and
the user wants to remove an account, show the support dialog
instead of showing the confirm dialog.

To use the O-API DPM.createAdminSupportIntent(), a wrapper
needs to be used, because existing Robolectric tests otherwise
don't compile.

Bug: 37413849
Test: make RunSettingsRoboTests -j40 ROBOTEST_FILTER=*RemoveAccountPreferenceControllerTest

Change-Id: If23ea304ab8b9df1748e6acf3032310843b04780
2017-07-05 19:32:48 +02:00
Tony Mantler
1d583e125f Make PreferenceController a mixin
Bug: 62912136
Test: Existing tests in BaseSearchIndexProviderTest
Change-Id: Ieda359806c09a019840b2005446c7ec8b61fdb00
2017-06-26 10:58:36 -07:00
Bartosz Fabianowski
55038c0a95 Hide "Changes made by your organization's admin" when empty
The admin of a manged device can take a number actions that will be
listed in the "Changes made by your organization's admin" section of
Settings. If the admin has not taken any such actions, the section
will be empty and should be hidden. This is accomplished by having a
PreferenceController for the section that observes the state of the
PreferenceControllers inside it.

Bug: 35912953
Test: m RunSettingsRoboTests

Change-Id: Ia95754493ee6c5a19b4aa9731fd56fd558e61849
2017-06-02 11:40:41 +02:00
Juan Lang
777ed2535a Depend on SettingsLib's version of lifecycle and FooterMixin.
The implementations have been imported into SettingsLib. Setting's copy
can now be removed, which this change also does.

Test: Manually check battery status, which uses FooterMixin, looks OK.
make RunSettingsLibRobotTests && make RunSettingsRoboTests
     && make RunSettingsGoogleRoboTests
Change-Id: I6539605fdad80d156ff5ff249e68df4a1c412067
2017-05-12 11:10:46 -07:00
Denis Kuznetsov
f0a61dd112 DO Disclosures: detailed application lists
Add UI that lists enterprise set default apps for handling important intents
(opening browser, using camera, phone, etc).

Bug: 32692748
Test: m RunSettingsRoboTests
Change-Id: I75bb97d1b3728b1dcb90981b24d12edf510c4b04
2017-04-25 16:53:17 +02:00
Denis Kuznetsov
60b2960cbb DO Disclosure: add UI that lists apps that were managed by owner:
- had permissions granted by admin
- were installed by owner via policy

Bug: 32692748
Test: m RunSettingsRoboTests
Change-Id: I365e2f8f351671e68f83cceb7c0ca241d7a5a588
2017-04-25 11:08:56 +02:00
Bartosz Fabianowski
b836da263d Device management info: Refer to current user, not primary user
The device management info page should show information about the
current user's policies, not the primary user's.

Bug: 32692748
Test: m RunSettingsRoboTests

Change-Id: I5d8afa7fae1c0f3a4da78b085365882827e6721b
2017-03-30 16:18:44 +02:00
jackqdyulei
82d07983b4 Create Controller for app buttons
These two buttons(uninstall + forcestop) are used in both battery page
and app page, we should move the logic for these two buttons into one
place.

This cl creates the AppButtonsPreferenceController for the above
purpose. This cl only copies the logic to controller but hasn't make
InstalledAppDetails use this controller.

Since DialogFragment could not use function in controller directly,
the controller expose DialogListener and all the fragments must
implement this interface. Then they can delegate the method call
to controller directly.

The following cl will:
1. Make the InstalledAppDetails be compatible to controller
2. Make the InstalledAppDetails use this controller.

Bug: 35810915
Test: RunSettingsRoboTests
Change-Id: Ie2aa8064bcec3003233896c18be772825b12930a
2017-03-28 17:05:19 -07:00
TreeHugger Robot
dedc8f18df Merge "Use DevicePolicyManager#isSecurityLoggingEnabled" 2017-03-24 19:11:12 +00:00
TreeHugger Robot
38931ed7c1 Merge "Hide potentially invisible DO Disclosures by default" 2017-03-24 15:26:46 +00:00
Bartosz Fabianowski
296f7c4f0a Use DevicePolicyManager#isSecurityLoggingEnabled
Now that this method has been opened up to callers with system UID,
use it.

Bug: 36584321
Test: Settings runs (it would crash if it had no access to the method)

Change-Id: I30254ab08e434d5e2b58f41ddaf7d85b4dcd96b0
2017-03-24 14:50:54 +01:00
Bartosz Fabianowski
9290184ebf Hide potentially invisible DO Disclosures by default
Hiding/unhiding a pref triggers an animation. DO Disclosures that may
not be visible should be hidden by default so that they fade in if
applicable, not fade out if not applicable.

Also, the network and security logging disclosures should only be shown
if logging is currently on or was on in the past and a network log was
retrieved at least once.

Bug: 32692748
Test: m RunSettingsRoboTests

Change-Id: I8c85f2f66ba295f145e5f5e79febb1b1a9bc6ede
2017-03-24 14:37:01 +01:00
Denis Kuznetsov
0c88ff4ed9 Update List of apps on device string,
remove "XX apps" string.

Bug: 32692748
Test: m RunSettingsRoboTests
Change-Id: I64f833497b5362f95cfc56a1057d97d9539ff029
2017-03-24 13:00:49 +01:00
Bartosz Fabianowski
193e0bedac Finalize strings for enterprise privacy
A few more final string tweaks for the enterprise privacy page.

Bug: 32692748
Test: m RunSettingsRoboTests

Change-Id: Ib955aa5a6e756748ed7422021099234ad3fefa8b
2017-03-23 18:19:19 +01:00
Bartosz Fabianowski
b076e00c5e Finish removing N/A DO disclosures from search index
DO disclosures referring to actions that the admin did not actually
take are hidden in the UI, but still show up in the search index. This
CL switches the remaining PreferenceControllers from setting visibility
to implementing isAvailable() instead.

Bug: 32692748
Test: m RunSettingsRoboTests

Change-Id: I54360698f28b549b18cdc230e3b9087cf4e9ff4a
2017-03-21 15:01:02 +01:00
Bartosz Fabianowski
4a19625286 DO Disclosures: Combine personal and work CA cert
It was decided that rather than having two separate items for CA certs
in the personal and work spaces, we should have just one item that
lists the sum of installed certs.

Bug: 32692748
Test: m RunSettingsRoboTests

Change-Id: Ic8a3db214a07992e3970262c2ce91f3df8a87773
2017-03-21 15:00:53 +01:00
Bartosz Fabianowski
e39e8350a1 Finalize strings for enterprise privacy
A few more final string tweaks for the enterprise privacy page.

Bug: 32692748
Test: m RunSettingsRoboTests

Change-Id: Icf91a1188febb303fb1a9e9a5259a06c3b2324da
2017-03-21 11:24:04 +01:00
TreeHugger Robot
b70b39c1e3 Merge "Finalize strings for enterprise privacy" 2017-03-20 19:36:44 +00:00
Bartosz Fabianowski
65e18a5778 Finalize strings for enterprise privacy
A few final string tweaks for the enterprise privacy page.

Bug: 32692748
Test: m RunSettingsRoboTests

Change-Id: I7957263e768a588188e98f298eaae25ec77abeca
2017-03-20 19:05:08 +01:00
TreeHugger Robot
9812557561 Merge "Start removing N/A DO disclosures from search index" 2017-03-20 18:03:51 +00:00
Denis Kuznetsov
9392681afa This CL updates the DO Disclosures page (aka "Enterprise Privacy")
to make items that shows admin granted permissions actionable.
Item click will result in opening the list of apps for a permission.

Test: make RunSettingsRoboTests
Bug: 32692748

Change-Id: I5f2536b116998810857e379f48a26a1c40055590
2017-03-20 15:52:16 +01:00
Bartosz Fabianowski
5dc168af1a Start removing N/A DO disclosures from search index
DO disclosures referring to actions that the admin did not actually
take are hidden in the UI, but still show up in the search index. This
CL takes the following steps toward fixing this:
* Pass the list of PreferenceControllers to the search indexer
* Make the first two PrefrenceControllers set isAvailable() correctly

There are more disclosures to update, but the difficult work is done
as all others will follow the same pattern.

Bug: 32692748
Test: m RunSettingsRoboTests

Change-Id: I7d3e248b80abe72b79fce7afa11f28a822de6986
2017-03-20 11:01:51 +01:00
Fan Zhang
cabc509e4f Allow page to suppress all of its content from search.
To suppress things from search, we usually use preferencecontroller to
control individual items. But a page can sometimes to disabled
entirely. Now it can set isPageSearchEnabled to false to achieve that.

Change-Id: I39424b7fdc6460e27fd7c83cf09b5ace12d1cc37
Fix: 36201167
Test: make RunSettingsRoboTests
2017-03-14 13:59:33 -07:00
Bartosz Fabianowski
ba66a0ef09 Update strings and layout for enterprise privacy
This CL continues the finalization of UI layout and strings for the
enterprise privacy page:
* Turn footer into a header
* Update strings
* Dynamically generate summaries for entry points in security page

Bug: 32692748
Test: m RunSettingsRoboTests

Change-Id: Ibf248ac269380fb1b919b01f88f721130060b7f9
2017-03-13 23:59:35 +01:00
Bartosz Fabianowski
1a8399ffd0 Update layout and strings for DO Disclosures
This CL updates the DO Disclosures page (aka "Enterprise Privacy")
to incorporate UI layout and string changes proposed since
implementation began. There are no logic changes.

Test: make RunSettingsRoboTests
Bug: 32692748

Change-Id: I6ae972e77bd90eb9c61d6a516046a6eb09981ad3
2017-03-08 19:07:29 +01:00
Bartosz Fabianowski
732d695985 Add CA certs Privacy Settings page
This CL adds information about CA certs installed by Device Owner and/or
Profile Owners to the Enterprise Privacy Setting page.

Test: make RunSettingsRoboTests
Bug: 32692748

Change-Id: I67bbe5af2b5b6326e4cd7224d0c6f17ab256dace
2017-03-08 10:51:12 +01:00
Bartosz Fabianowski
2700cdbdac Add default IME to Privacy Settings page
This CL adds information about default IMEs set by Device Owner and/or
Profile Owners to the Enterprise Privacy Setting page.

Test: make RunSettingsRoboTests
Bug: 32692748

Change-Id: I9f78ab4792a5a1d444808048ff33e3e20a0483dc
2017-03-07 12:43:42 +01:00
Bartosz Fabianowski
8903f66662 Add wipe on login failure to Privacy Settings page
This CL adds information to the Enterprise Privacy Setting page that
tells the user how many times the password can be mistyped before
the device (or the work profile) is forcefully wiped.

Test: make RunSettingsRoboTests
Bug: 32692748

Change-Id: I4ae316802dbf5853ab4eacb0787647372d5e26c2
2017-02-22 23:49:09 +01:00
Bartosz Fabianowski
482908f226 Add admin-set default apps to Enterprise Privacy Settings page
This CL adds information about the number of default handlers for
common intents (e.g. browser, e-mail, calendar) set by the admin.

Bug: 32692748
Test: make RunSettingsRoboTests

Change-Id: I569d9ddabeee2b2aa9a892b28066abb8bf920fcf
2017-01-25 02:31:23 +01:00
Fan Zhang
7e6df837ee Remove getCategoryKey() from DashboardFragment children.
Use the centralized registry to look up category key instead.

Bug: 32936784
Test: make RunSettingsRoboTests -j40
Change-Id: I0b8c72d70f93e4b5c58871ac90de41f69ad15653
2017-01-24 14:51:15 -08:00
Bartosz Fabianowski
ccd4fa8e60 Add Device Owner disclosure to Add Accounts dialog
This CL adds a footer to the Add Accounts dialog that tells the user
when the device is managed by a Device Owner app.

Bug: 32692748
Test: make RunSettingsRoboTests

Change-Id: I0dd161eb0bbbc87c04692d4fa6547bd41dab05e0
2017-01-19 11:09:45 +01:00
Bartosz Fabianowski
9704a28c7b Add admin-granted permissions to Enterprise Privacy Settings page
This CL adds information about the number of apps that have been granted
particularly sensitive permissions (location, microphone, camera) by
the admin.

Bug: 32692748
Test: make RunSettingsRoboTests

Change-Id: I650d3e1ed3950960c58722b0c035a76daeb36478
2017-01-18 15:31:26 +01:00
Bartosz Fabianowski
13f569ebd6 Add number of enterprise-installed apps to Privacy Settings page
This CL adds information about the number of apps that were installed
by the admin to the Enterprise Privacy Settings page.

Test: make RunSettingsRoboTests
Bug: 32692748

Change-Id: Ib710a1249db6d285da962122fd3dfb35a43752a1
2017-01-13 22:20:51 +01:00
Bartosz Fabianowski
0d22680807 Add global HTTP proxy to Privacy Settings page
This CL allows the user to see on the Enterprise Privacy Settings
page whether the admin set a global HTTP proxy.

Test: make RunSettingsRoboTests
Bug: 32692748

Change-Id: I3c7c46f806f39c90425fd8e098a749f3cc1e9278
2017-01-12 20:09:10 +01:00
Bartosz Fabianowski
fc018e4672 Add Always on VPN to Privacy Settings page
This CL adds information about always-on VPNs to the Enterprise
Privacy Settings page.

Test: make RunSettingsRoboTests
Bug: 32692748

Change-Id: I2b59e2ec4c55308b323aaa478cd9c847fe0b4b55
2017-01-12 20:04:56 +01:00
Fan Zhang
9b6f181340 Remove no-op handlePerferenceTreeClick from PrefControllers
Bug: 33429853
Test: RunSettingsRoboTests
Change-Id: I5633953e3d7b07f9006e541b96a24a2a769e2686
2016-12-07 15:34:31 -08:00
Bartosz Fabianowski
2e0b608495 Populate Enterprise Privacy Settings page - batch 2
This CL adds the second batch of items to the Privacy Settings page.

These are all the remaining items that fall into the "What types of
information can your organization see?" category.

Test: make RunSettingsRoboTests
Bug: 32692748
Change-Id: I08569646ed6bb6f5d9d6d65ed2718be8456f50ae
2016-11-28 21:13:30 +01:00
Bartosz Fabianowski
62b96811c1 Populate Enterprise Privacy Settings page - batch 1
This CL adds the first batch of items to the Privacy Settings page.
These are all the items that fall into the "What types of
information can your organization see?" category and do not require
deeper Framework changes. Further batches are to come in separate
CLs.

Test: make RunSettingsRoboTests
Bug: 32692748
Change-Id: I460093bc45ed0e5baab2a5cdf9833e654d436cc9
2016-11-18 14:17:47 +01:00
Bartosz Fabianowski
05061fced3 Add Enterprise Privacy page to Settings
This adds a new page to Settings which tells the user about his/her
privacy in light of enterprise management. The new page is only shown
on devices that have a Device Owner app set.

This CL adds a mostly blank page. Follow-up CLs will populate the page
with information about specific admin actions/policies.

The page's title ("Privacy"), icon and location in the Settings app are
tentative. The page will move to its final location once the new IA
redesign is finished.

Test: make RunSettingsRoboTests
BUG: 32692748

Change-Id: I5b5c08c0025207516b0779f54cf68234a4ba3fe4
2016-11-14 12:04:49 +01:00