Commit Graph

63 Commits

Author SHA1 Message Date
Aurimas Liutikas
b1af85d155 Migrate Settings to androidx.
Test: make Settings
Bug: 76692459
Change-Id: I941dea40562170649bf056e675cc32e5163c0e39
Merged-In: I941dea40562170649bf056e675cc32e5163c0e39
(cherry picked from commit a290b873d0)
2018-08-28 11:48:56 -07:00
Tony Mak
42b83a604f Badge the icon properly in policy transparency dialog
Following the pattern used within the Settings app to badge the icon.

For location setting, the dialog is shown in work profile user.
Thus ai.loadIcon badged the icon for the first time and
getUserBadgedIcon baged the second time.

Fixes: 77844928
Test: adb shell wm density 560 -> suspend an app -> launch the app ->
      observe the dialog. Repeat the test with original density.

Change-Id: Ie79c3d9aa7b1a155edc74816850b1349fbd2d606
2018-04-11 13:55:57 +00:00
arangelov
cf1e59a960 Change "More details" to "Learn more" in policy transparency dialog.
Screenshot: https://screenshot.googleplex.com/5xrwW3g29qa.png

Bug: 77618738
Test: none
Change-Id: I464f492cd6b1468b85b5a691c29ae7a982ecebff
2018-04-06 14:31:32 +01:00
Tony Mak
a8c53f7dcb Merge "We should show custom title for suspend app dialog" into pi-dev 2018-04-04 10:38:18 +00:00
TreeHugger Robot
4720ba39e3 Merge "Remove wrapper for ConnectionManager/IPackageManager" into pi-dev 2018-04-03 18:31:39 +00:00
Tony Mak
cbc3a6a1de We should show custom title for suspend app dialog
BUG: 77523074

Test: Suspend an app, observe the new title.
Test: m -j RunSettingsRoboTest

Change-Id: Ide0329422e68b5ed6418365f2d0b0e0d11f0dec7
2018-04-03 17:54:13 +00:00
Lenka Trochtova
a112226db2 Enterprice privacy: let the user know if admin enabled backups.
Bug: 73750212
Bug: 64012357
Test: make RunSettingsGoogleRoboTests

Change-Id: I586eaccaebb89a8b3e5b4014b3d6427ab2eb15a9
2018-04-03 13:58:39 +02:00
Fan Zhang
01cfb9d8c5 Remove wrapper for ConnectionManager/IPackageManager
Bug: 76167422
Test: robotests
Change-Id: I5f051b0ce58b97a3cfd5d4bae469463dcd6d83ac
2018-04-02 17:09:10 -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
arangelov
737d469b78 Put the FLAG_ACTIVITY_NEW_TASK flag for the "Learn More" button in the "Add Account" settings screen.
Bug: 75322399
Test: Manually pressed the button and verified the Settings app does not crash.
Change-Id: Ibd2b985ed898ccaa4e78c0ecf5dc667af6bc8cba
2018-03-22 16:18:49 +00:00
arangelov
e35badd9d5 Make "Action not allowed" dialog compliant with Material Spec and replace full screen activities with the dialog.
Bug: 64893948
Test: make ROBOTEST_FILTER=ActionDisabledByAdminDialogTest -j40 RunSettingsRoboTests
Test: make ROBOTEST_FILTER=ActionDisabledByAdminDialogHelperTest -j40 RunSettingsRoboTests
Change-Id: I9308d8d86a3789b8f2c92b9f4f20cf00cce71d14
2018-03-05 20:27:51 +00: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
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
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
Fan Zhang
a7f135596d Switch to use ThreadUtils.postOnMainThread
Change-Id: I344d25a1a667de9c0b23d6d528d905b4da3a4c40
Fixes: 63896139
Test: rerun tests
2017-10-31 13:27:41 -07:00
Fan Zhang
1c3a4de93d Switch to use small icon for most app related pages
- Renamed AppProgressPreference to AppPreference to handle most app
  related prefs
- Add ed AppSwitchPreference - the same layout as AppPreference except
  it's a SwitchPreference
- Use above 2 prefs in most app related pages.
  - Everything under special access pages
  - Recent app list in App & notifications
  - App data usage detail page
  - Default app picker pages

Bug: 65182905
Test: robotests
Change-Id: I96c980ba1db49e36dabe25b5eade1197215aad11
2017-10-30 12:20:49 -07:00
Fan Zhang
abdeead114 Convert more loadIcon() to IconDrawableFactory
- AppGridView: used by preview chart in display size setting.
- DefaultBrowserPreferenceController: default browser icon in default
  apps settings
- Enterprise application list
- Accessibility search result loader

Change-Id: Ibd12cd8854c68760ea3428fffa735bcbba48a277
Fixes: 64336923
Test: robotests
2017-10-18 15:03:19 -07:00
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