* Move all logics around aggregating password policies
to the controller
* Replace HIDE_DISABLED_PREFS and MINIMUM_QUALITY_KEY
with HIDE_INSECURE_OPTIONS as all call sites are just
using them to hide insecure screenlock options.
* Remove password policy aggregation logic from
ChooseLockPassword and make it use policies passed in.
* Remove padlock from disabled screen lock options,
per UX mock.
* Increase char limit for some strings
Bug: 177638284
Bug: 177641868
Bug: 182561862
Test: m RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.password
Test: 1. set profile password quality/complexity and enroll device lock
2. set profile password quality/complexity and enroll work challenge
3. set parent password quality/complexity and enroll device lock
4. set parent password quality/complexity and enroll work challenge
5. set profile and parent password complexity, then enroll work challenge
6. set profile and parent password complexity, then unify work challenge
7. Enroll device lock during SUW
Change-Id: Iba1d37e6f33eba7b7e8e1f805f8e37aaec108404
Allows settings applications on other platforms to re-use values by
migrating to Settings.secure and moving HideNonSystemOverlayMixin to
SettingsLib.
Bug: 184967544
Test: atest SettingsUnitTests
Change-Id: If9aaeca29ebb8b481d75622934503e368d7435d3
As I no longer expect to be working on security-related settings, move
myself to the emeritus section.
Bug: 187395769
Test: N/A
Change-Id: Ic91dd36f6de39ef79f1ced90083e1c5c7836c651
There will be multiple biometrics authentications existing at the same
time, so we added a new page for multiple biometrics to control
biometrics settings.
Bug: 183449119
Test: manual test
Change-Id: I359082caf771e07dfd5b24973cb8a3cf372c1b30
Now with two preference controllers, one for enterprise device and one
for financed device, the search index issue (querying "Financed device
info" in Settings does not show a search result) is fixed. The financed
preference controller is used when the device is a financed device.
Otherwise, the enterprise preference controller is used.
Bug: 183551684
Test: Used a test device that is registered via ZT
Test: m RunSettingsRoboTests ROBOTEST_FILTER=EnterprisePrivacyPreferenceControllerTest
Test: m RunSettingsRoboTests ROBOTEST_FILTER=FinancedPrivacyPreferenceControllerTest
Test: m RunSettingsRoboTests ROBOTEST_FILTER=PrivacyPreferenceControllerHelperTest
Change-Id: I051144ec9004f86456285078ebb1c72266f80a55
Create a new string id so that localization team can fix it
individually.
Test: Rebuilt rom and see correct subtext
Fix: 184748174
Change-Id: I3ab644950ee8211c89199446b92e759a5efa4527
Show different titles and description messages when
enrolling password under various conditions:
* personal lock verus work lock
* adding a new lock versus updating existing lock
* enrolling a PIN verus password versus pattern
Add icons to options in screen lock picker.
Add an option to redirect to work lock flow if the admin
has set device-wide password requirement.
Bug: 183922696
Test: m RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.password
Change-Id: I40417b113814659d3226a44eb7f9d553386e3c58
* Details on URLs in the credential management
app preference should be translatable.
* Remove hardcoded text and introduce strings.
Manual testing
* Download TestDPC and select 'Request to
manage credentials'.
* Select allow.
* Go to Settings Credential management app
preference and verify URL strings are displayed
correctly.
Bug: 170627997
Test: manual testing
Change-Id: Iadff0c136064dabc3f77e30b46356126d657397f
* App name and URIs should be displayed to the
left of the app icon for right-to-left
languages e.g. arabic.
Manual testing steps:
* Set language as Arabic
* Install TestDPC and select 'Request to
manage credentials'.
* Verify app name and URLs are correctly displayed.
* Go to Settings > Security > Encryption & Credentials
> Credential management app and verify apps and URIs
are displayed corretly.
Bug: 170627997
Test: Manual testing
Change-Id: Id383e5d92022fc2e40494fadb12c64a46b1f6a65
Bug: 181764224
Test: New tests added to SettingsUnitTests.
Test: Tested manually with and without feature-provided fragment.
Test: No new failures in SettingsUnitTests, or robolectric. No failures in security directory of robolectric tests.
Change-Id: I21038baf3098c18e1713a332085a5efc376f73da
In the original design, we will hide the
"lock device when unpinning" while master toogle is disabled.
To prevent the jank issue, we only disabled this setting now.
Test: Rebuilt rom and check the ui
Fix: 182958597
Change-Id: I96e3488f7326c310d3e1e7f22e63a4c77db8dafd
Remove credential management app and close
settings screen when remove button is selected
Manual testing steps:
* Set app as creg mng app
* Remove cred mng app via Settings
* Verify screen is closed on remove
Bug: 177909523
Test: manual testing
Change-Id: Ie38a5340a4985fb4997f353556f49e9589e8da5f
* URI should be human readable and not
in percent-encoded form
Manual Testing steps
* Install TestDPC
* Select preference Request to manage credentials
* Verify activity displays URIs in a human
readable format
Bug: 177900145
Test: Manual testing
Change-Id: I7b5f92f4939491a40bc3728aab56e06886fc08f1
Settings#CredentialStorage could be overlaid to
trick user into clearing all credentials.
Disallow non-system overlay on activity.
Test: Trigger the debug apk again, and no overlay
Bug: 176753731
Change-Id: I657de039d667f5aee0941336e9361ae04f056c33
Merged-In: I657de039d667f5aee0941336e9361ae04f056c33
Settings#CredentialStorage could be overlaid to
trick user into clearing all credentials.
Disallow non-system overlay on activity.
Test: Trigger the debug apk again, and no overlay
Bug: 176753731
Change-Id: I657de039d667f5aee0941336e9361ae04f056c33
To log Settings metrics, the MainSwitch extends MainSwitchBar and
replace the SwitchBar in SettingsActivity.
Bug: 175181773
Test: Run robotest and apply the widget in Settings and see the ui
Change-Id: I3add3702e9058ad9192b5172c7cf0e2ccfb55a70
Background
* This is part of the work to support
a credential management app on
unmanaged devices.
Changes
* Add calls to KeyChain credential management
app API methods.
* Add logic to add, update and remove credential
management app from KeyChain.
Manual Testing
* Install TestDPC
* Request to manage credentials (fire intent).
Add policy mapping: 'com.android.chrome' ->
'client.badssl.com:443' -> 'testAlias'
* Install badssl user certificate as credential
management app (TestDPC). Set alias to 'testAlias'
* Check certificate is installed in Settings
* Go to chrome > client.badssl.com
* Verify no certificate selection prompt is
displayed. User is automatically authenticated.
* Remove credential management app from Settings
Security > Encryption and credentials >
Certificate management app
* Verify credential management app is removed and
'testAlias' is uninstalled.
Bug: 165641221
Test: Manual Testing
make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.security.RequestManageCredentialsTest
Change-Id: I52254ccbdb0b46941b35130d487e0cf346212968
Background
* This is part of the work to support
a credential management app on
unmanaged devices.
Changes
* Add a preference controller which will only
be enabled if there is a credential management app.
* Add a fragment to display details on the credential
management app and its policy. Add a remove button
to remove the credential management app.
* Link CredentialManagementAppAdapter to new fragment
and add expander.
Manual Testing
* Verify preference is disabled if there is no credential
management app.
* Verify preference summary shows credential mangement
app name if a credential management app exists.
* Verify fragment details page displays the
authentication policy correctly.
Bug: 165641221
Test: Manual testing
make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.security.CredentialManagementAppFragmentTest
make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.security.CredentialManagementAppControllerTest
Change-Id: I06d6b88d0c89022f7a6cbf3031834defcb54bd51
Background
* This is part of the work to support
a credential management app on
unmanaged devices.
Changes
* Show FAB for detailed/long manage credentials
authentication policy.
* Hide FAB for short manage credentials
authentication policy.
* Unexpand FAB once the user start starts
scrolling.
* Hide FAB once the user has scrolled to
the bottom.
Manual Testing
* Verify FAB is shown for a detailed/long policy:
https://screenshot.googleplex.com/BUb4LGz3GD6AozS
* Verify FAB is hidden for a short policy
* Verify FAB is hidden when user has scrolled to the
bottom:
https://screenshot.googleplex.com/6FQRqto3r3jzfXH
* Verify FAB is unexpanded (text hidden)
when the users start scrolling:
https://screenshot.googleplex.com/4FfAt5MsCfrAwQK
Bug: 165641221
Test: Manual Testing
make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.security.RequestManageCredentialsTest
Change-Id: Ied2ef726ad4dcc3f92c20249f80294f0a3071a8a
Background
* This is part of the work to support
a credential management app on
unmanaged devices.
Changes
* Add new activity to Settings to display
a screen to the user requesting whether
the calling app can manage their
KeyChain credentials.
* Display the authentication policy
Manual Testing
* Verify screen is not displayed if intent
action is not android.security.MANAGE_CREDENTIALS
* Verify screen is not displayed if authentication
policy is not valid
* Verify button panel is visible if all items in the
authentication policy are displayed
* Verify button panel is not visible if not all items
in the authentication policy are displayed. Verify
that scrolling to the bottom of the item list, the
button panel becomes visible.
Bug: 165641221
Test: Manual testing
make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.security.RequestManageCredentialsTest
Change-Id: Ie23b226f1a285b3de6ec3e91b8880d9144bb24a3
Since Bedtime mode can suppress AoD, after reviewed by UX, we decide
update the summary to "Unavailable because Bedtime mode is on" when AoD
is suppressed by Bedtime mode.
Bug: 168790245
Test: manual & robotest
Change-Id: I96b401bcba213598344c4c4f01b12c275304b809
Merged-In: Id2511cb0ad93b44f6bf701a707b7ddef9438653d
Revert "Update the summary of Idle lock screen when Bedtime mode..."
Revert submission 13071396-cherrypick-cherrypick-bedtime-hpxwlbiuim-0q85x8kaar
Reason for revert: Broken test b/173663404
Reverted Changes:
Id2511cb0a:Update the summary of AoD when Bedtime mode is on
I041599b9c:Update the summary of Idle lock screen when Bedtim...
Bug: 173663404
Change-Id: I9bea7499393d3ab1733b82140942499dddd9a2aa
Merged-In: I3b7053ad752f548f421dcca10cc1203500b1220b
Since Bedtime mode can suppress AoD, after reviewed by UX, we decide
update the summary to "Unavailable because Bedtime mode is on" when AoD
is suppressed by Bedtime mode.
Bug: 168790245
Test: manual & robotest
Change-Id: Id2511cb0ad93b44f6bf701a707b7ddef9438653d
Merged-In: Id2511cb0ad93b44f6bf701a707b7ddef9438653d
Since Bedtime mode can suppress AoD, after reviewed by UX, we decide
update the summary to "Unavailable because Bedtime mode is on" when AoD
is suppressed by Bedtime mode.
Bug: 168790245
Test: manual & robotest
Change-Id: Id2511cb0ad93b44f6bf701a707b7ddef9438653d
Remove the summary of the homepage IA if silky home enabled.
Fixes: 170933968
Test: robotest & visual with turning on/off silky home
Change-Id: I502b6590cece9b80e9923109fe0582cc4d9a1c56