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
getPreferenceControllers() -> createPreferenceControllers() for the same
reason as in ag/3647936
Bug: 73668763
Test: robotests
Change-Id: I97670a91a2a38d1c844d1b9d37f4222c5e6f45a0
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
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
- 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
- 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
- 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
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
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
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
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
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
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
- had permissions granted by admin
- were installed by owner via policy
Bug: 32692748
Test: m RunSettingsRoboTests
Change-Id: I365e2f8f351671e68f83cceb7c0ca241d7a5a588
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
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
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
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
A few more final string tweaks for the enterprise privacy page.
Bug: 32692748
Test: m RunSettingsRoboTests
Change-Id: Ib955aa5a6e756748ed7422021099234ad3fefa8b
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
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
A few more final string tweaks for the enterprise privacy page.
Bug: 32692748
Test: m RunSettingsRoboTests
Change-Id: Icf91a1188febb303fb1a9e9a5259a06c3b2324da
A few final string tweaks for the enterprise privacy page.
Bug: 32692748
Test: m RunSettingsRoboTests
Change-Id: I7957263e768a588188e98f298eaae25ec77abeca
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
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
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
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
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
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