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
This change do the 2 things:
1. Add new junit tests files which replace robolectric
RobolectricTestRunner & RuntimeEnvironment with
AndroidX objects without problem.
2. Remove the robolectric test files which have it's new junit files.
This change migrate 103 files, there are still 1209
files to go.
Bug: 174728471
Test: atest
make RunSettingsRoboTests
Change-Id: I15ed3f4745b85862f720aabbf710ce1475aced93
Ignore it now, and we will fix it as soon as possible.
Test: Run all robo tests
Bug: 175277366
Bug: 175276658
Bug: 175290003
Bug: 175277372
Change-Id: If6843fdf6212217342490f0787dd5f70f9df7adf
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
* 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: 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
This is a transitional step towards truth 1.0.1, where these APIs have
been completely removed.
Bug: 168765701
Test: m checkbuild
Change-Id: I76f9c37cb699ce6ab8715ffe35d11668ccbceea1
Since storage type is mandated as hardware-backed, this preference is no longer meaningful.
Bug: 160225361
Test: atest SettingsRoboTests
Change-Id: I9b6c1d6afdd3563201b1e85673acf4d8cb81c0a1
This change includes the following commits from internal R branch
which are related to certificate management:
0206e76f46 CredentialStorage: Install keys using KeyChain
09ceea53d9 Added functionality to select type of certificate to be installed from the Settings app
3acf3f5433 WiFi certificates installable from Wifi sub-preference
8439fd15f7 Fix strings for certificate installation in Settings
Bug: 161347472
Test: builds & manual testing
Change-Id: Ia59dc4780254fab4f34c2f61b25f3b4e56ed7b77
Controller can't find the target preference to handle the click event.
Store the preference keys to match the clicked item.
Fixes: 158716163
Test: run robotest and manually test the click behavior
Change-Id: Ie243206ceffef013c56c4ea29c14fe56da510fb6
- The "Smart Lock" item is a trust agent which comes from
TrustAgentManager, so add it to dynamic index.
Fixes: 148867137
Test: manual test the search result and run Settings robotest
Change-Id: I7cd3a9df89a9b9378fa49cc2cb2127c778b795f2
If one sim hide the preference and another one show the preference,
the preference always hide. The root cause is config value is wrong.
It should get config with subid.
Bug: 149800931
Test: make RunSettingsRoboTests ROBOTEST_FILTER=SimLockPreferenceControllerTest
Change-Id: I91b551bc363b8ecb0a4b6b40e9de79c74ccd76fd
Merged-In: I91b551bc363b8ecb0a4b6b40e9de79c74ccd76fd
- getActiveSubscriptionIdList
To use getActiveSubscriptionInfoList to get subscription Id list
- getActiveSubscriptionInfoList(Z)
To use getActiveSubscriptionInfoList() instead
Bug: 144478274
Test: make RunSettingsRoboTests ROBOTEST_FILTER=SimLockPreferenceControllerTest
make RunSettingsRoboTests ROBOTEST_FILTER=MobileNetworkUtilsTest
Change-Id: I4d6113561906af5c9e4ac7737aefac17c926059a
Merged-In: I4d6113561906af5c9e4ac7737aefac17c926059a
If one sim hide the preference and another one show the preference,
the preference always hide. The root cause is config value is wrong.
It should get config with subid.
Bug: 149800931
Test: make RunSettingsRoboTests ROBOTEST_FILTER=SimLockPreferenceControllerTest
Change-Id: I91b551bc363b8ecb0a4b6b40e9de79c74ccd76fd
We decided to punt extra certificate to post-R.
This reverts commit c8a1960cf4.
Test: Treehugger
Bug: 112038744
Change-Id: Ic53e58944faebe7aa427975ebd77ce783bdddaf2
we shouldn't take users so deep into the settings IA because it's easy
to feel lost in settings after clicking on a result without additional
context.
Bug: 143055215
Test: robotest & manual
Change-Id: I337cb5ead31e1e4e7bf9be78132e90630f83ee43
- getActiveSubscriptionIdList
To use getActiveSubscriptionInfoList to get subscription Id list
- getActiveSubscriptionInfoList(Z)
To use getActiveSubscriptionInfoList() instead
Bug: 144478274
Test: make RunSettingsRoboTests ROBOTEST_FILTER=SimLockPreferenceControllerTest
make RunSettingsRoboTests ROBOTEST_FILTER=MobileNetworkUtilsTest
make RunSettingsRoboTests ROBOTEST_FILTER=TelephonyBasePreferenceControllerTest
Change-Id: I4d6113561906af5c9e4ac7737aefac17c926059a
The new certificate can be installed from Settings ("Install a
certificate > App Source certificate"). The installation flow includes
a warning with user authorization to proceed, then a prompt for reboot
(now or later).
Installed certificate can be managed in "User credentials". The name is
currently a hash of hex numbers.
Upon deletion, there will also be a promot for reboot (now or later).
Test: Only see the new setting entry if feature is enabled
Test: Install from Settings, see the expected file name in
/data/misc/keysetore/user_0. Reboot also works.
Test: Able to see the certificate in Settings after installed
Test: Able to delete the certificate, which triggers confirmation dialog
to reboot. Reboot works.
Test: add certificate, see dialog, "not now" / tapping elsewhere does
nothing
Test: atest RestrictedEncryptionPreferenceControllerTest
Bug: 112038744
Change-Id: I7a4494ea0f243730df2212076588074d8774ae23
Lock screen dashboard is now always visible, and tests should reflect
the new behavior.
Fixes: 144899234
Test: treehugger
Test: make RunSettingsRoboTests ROBOTEST_FILTER=LockScreenPreferenceControllerTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=LockscreenDashboardFragmentTest
Change-Id: Ia1cd79c5d8f6ea74525f6afdea900c230806fd88
Users have reached out to us asking where are their settings and
cannot understand why things disappear.
Test: LockScreenPreferenceControllerTest
Change-Id: I05b182a26724fd14b0a8240e280f216ebf4d43b9
This bug was introduced with the work to change certificate installation.
The CA, User and Wi-Fi certificate preferences should always be available
which is why the negative test was failing.
Bug: 144257985
Test: atest com.android.settings.security
Change-Id: Ib4a1880c3b21fa10c77568bc053b67ce4a0bbf85
This is part of the changes to improve the UX and language for installing certificates.
Previously, the different types of certificate used the same installation flow. This CL
introduces a new settings page, where the type of certificate to be installed can be selected.
Bug: 139173976
Test: Atest com.android.settings.security
manual testing from Settings by selecting the certificate type
preference and ensuring the installation flow still worked as expected.
Change-Id: Iea7c91aa3801e429f0e22d29469958f4151b3cba
SliceLiveData changed its behavior, if slice is null, it will not
notify LiveData observer but callback to onErrorListener. We only
reduce PanelSlicesLoaderCountdownLatch in LiveData observer.
Therefore the error slice caused PanelSlicesLoaderCountdownLatch
never count to 0, the UI was not displayed. It is solved by reducing
PanelSlicesLoaderCountdownLatch in onErrorListener and also not return
null in MediaOutputIndicatorSlice.
Test: manual
Fixes: 141084035
Change-Id: Iddb2dbdc0e0d2ac3e26071960bb667937f181121
Fixes: 134700640
Test: atest FaceSettingsLockscreenBypassPreferenceControllerTest
Test: enabling/disabling setting through Settings > Security > Face unlock
works as expected
Test: preference controller no longer seen in Settings > Display > Lock screen display
Change-Id: I54807ad92fac62398a2b9dab93dd638775a09c8d
Additional clean-up work related to removal of screenlock dependency
from the credentials installation flow:
* Move the CredentialStorage class to security/ so that Enterprise team
owners could review changes to it.
* Remove the ConfigureKeyGuardDialog class as it is no longer used.
* Remove attempt to unlock KeyStore from VPN settings.
* Remove intents that will no longer be sent from the manifest.
Bug: 120901345
Test: m -j RunSettingsRoboTests
Test: Manual with CtsVerifier
Change-Id: Ia708ede3366892d74c148f3712a63858d5ab53b7
Replace getActiveSubscriptionInfoList() with
getActiveSubscriptionInfoList(true) so that settings will not show
hidden subscriptions to the user in various pages.
Bug: 121396526
Test: manual
Change-Id: I717999fed7d3a5a037914239694bef52df7c6207
The resources available to tests are now exactly the merged resources
located in the APK under test.
Bug: 74359828
Test: make -j56 RunSettingsRoboTests
Change-Id: I050db81a92decefea23314b5ec7a62f77ff4bb2b
Setting's ShadowUserManager.reset() was unnecessary and collided with a
newly introduced reset() method in its super class. It has been removed.
Test: make -j56 RunSettingsGoogleRoboTests &&
make -j56 RunSettingsRoboTests &&
make -j56 RunSettingsLibRoboTests
Change-Id: I63c50eca0de3581fd4f64f4862233446f5937d0c
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
Having consistent import order will reduce chance of merge
conflict between internal and external master
Test: rebuild
Change-Id: I0b1a170967ddcce7f388603fd521f6ed1eeba30b
Now we can easily mark a preference nonIndexable in xml instead of
adding key into searchIndexProvider.
Bug: 112608186
Test: robotests
Change-Id: I0ff16d44bb7b6ad148d3d35f09ca0da0163f73f4
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
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