Commit Graph

133 Commits

Author SHA1 Message Date
Ayush Sharma
f1255b4298 Enable Encryption & Creds UI for Secondary users
Bug: 123211155
Test: Manual,m -j RunSettingsRoboTests
Change-Id: Ic669102c72a5270423f000d5326b48c91901a0ed
2022-03-23 19:00:34 +00:00
Aaron Liu
e0f4e795ce Home Controls: Add Device Controls settings
Add a setting that would not require authorization for device controls.

Fixes: 216102581
Test: manual
Change-Id: I1fd98a2fbc1cea44d0b2c3612dd1616a053af394
2022-02-23 21:13:06 +00:00
Yuri Ufimtsev
78edc210de Merge "Move all the shared Screen Lock details into a reusable utility class" 2022-02-11 17:06:12 +00:00
Yuri Ufimtsev
c10c16bb39 Move all the shared Screen Lock details into a reusable utility class
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.security.ChangeScreenLockPreferenceControllerTest
Test: atest SettingsUnitTests:ScreenLockPreferenceDetailsUtilsTest

Bug: 215515298
Change-Id: I46543d35ce4dc2fee85ad1c55886b272de113768
2022-02-11 10:55:16 +00:00
Derek Jedral
a03b66952e Merge "Fetch active trustagents from LockPatternUtils" 2022-02-10 18:17:44 +00:00
Tsung-Mao Fang
34f0724a63 Ignore all broken tests
Test only should fix these broken tests soon.

Test: Attach ag/16819270 and run pass all tests
Bug: 218799125
Bug: 218798403
Bug: 218798003
Change-Id: I4914adb475802211d9918a416950b01854c9a390
2022-02-10 10:18:42 +00:00
Derek Jedral
c1c39b6717 Fetch active trustagents from LockPatternUtils
LockPatternUtils is what drives the TrustAgentsPreferenceController, and
therefore should be used to determine how many active trust agents there
are. TrustAgentManager filters on whether preferences are displayable in
the advanced settings app, which does not represent if the agent is
actually active.

Test: make RunSettingsRoboTests
Bug: 217217034
Change-Id: I8cae74d322b8e0658aabfe7d4646e9a299af4934
2022-02-09 18:55:36 +00:00
Yuri Ufimtsev
c92720bdb0 Change the default Controller keys for RoboTests
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.security.ManageTrustAgentsPreferenceControllerTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.security.ScreenPinningPreferenceControllerTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.security.SimLockPreferenceControllerTest

Bug: 214944423
Bug: 214944992
Bug: 214945259
Change-Id: I9b3bac5fcf57a1c99253c631bc26e6957cad8938
2022-01-19 14:22:16 +00:00
Tsung-Mao Fang
297fcb4031 Ignore broken tests
Test: Run tests
Bug: 214943221
Bug: 214944418
Bug: 214944992
Bug: 214944423
Bug: 214945263
Bug: 214945259
Change-Id: I958c003a15866a03b7d0c24210ae2c99f4ee2c47
2022-01-17 22:01:50 +08:00
Eric Biggers
6552bdd0ef Rename crypt_keeper_* strings that are still used
Some strings used in the Settings UI have "crypt_keeper" in their names,
but they aren't specific to FDE, which is no longer supported.  They are
still used to report the encrypted status of the device on devices that
use FBE, or the unencrypted status of the device on devices that don't
have encryption enabled at all.  Rename these strings appropriately.

Test: On Cuttlefish with and without encryption enabled, tested visiting
      the "Encryption & credentials" settings.
Bug: 208476087
Change-Id: Ic63910c870837f5b37e4407ba5b3c7629e925c17
2022-01-11 18:53:51 -08:00
Eric Biggers
36609c18d1 Remove CryptKeeperSettings
FDE support has been removed in favor of FBE, so remove the FDE settings
from the "Encryption & credentials" page of the Settings app.

For now I didn't change the way the page appears on devices that don't
use FDE; as before, it still lists "Encrypt phone", followed by either
"Encrypted" or "Phone not encrypted" with no changeable settings.  Note
that the strings used for this have "crypt_keeper" in their names but
aren't specific to FDE; the next CL will rename them.

Test: On Cuttlefish with and without encryption enabled, tested visiting
      the "Encryption & credentials" settings.
Bug: 208476087
Change-Id: I3ce9894291ea1f1886f21980a86a92bfce38038a
2022-01-11 18:53:51 -08:00
Yuri Ufimtsev
cdc2677cd1 Refactor some Preference Controllers to use BasePreferenceController
Test: atest SettingsUnitTests
Change-Id: Ic93f29d6c35cb1a43937fa7bf2f1e2d489cdd09f
2022-01-10 13:25:13 +00:00
“Ayush
41873bd7a4 Remove refs of isSeparateProfileChallengeAllowed
Remove this API usage as this API is being removed from DPMS.

Bug: 189502721
Test: N/A
Change-Id: I395a48cd78c8fb93bfd54c94794de5a680ba6f5d
2021-08-03 21:21:16 +00:00
Beth Thibodeau
647b3ef070 Remove lockdown toggle
This button will be on by default now, so remove the switch

Bug: 185618694
Test: build
Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.display
Change-Id: Iecbeb590a5b750ec2fcf9c31fece5814241200b1
2021-07-14 19:39:30 -04:00
Jan Tomljanovic
c6667337ca Enable controllers to use a custom key.
Test: atest SettingsUnitTests
Test: m -j45 RunSettingsRoboTests
Bug: 191763369
Change-Id: I48eea95613600580c80c8850f0a3fd543a7e0a43
2021-06-25 15:35:53 +01:00
Edgar Wang
cdff5c6ceb Revert "Apply SettingsLib SeekBarPreference to Settings"
Revert submission 13422386-seekbar-sc-dev

Reason for revert: build broken in SettingsGoogle
Reverted Changes:
I0c2d0d5fb:Apply SettingsLib SeekBarPreference to SettingsGoo...
I1844bb3b0:Apply SettingsLib SeekBarPreference to a11y vibrat...
Ia3e4adec8:Apply SettingsLib SeekBarPreference to a11y vibrat...
Iadee57e9d:Apply SettingsLib SeekBarPreference to a11y vibrat...
I219878716:Apply SettingsLib SeekBarPreference to Settings
I959f5672c:Create SettingsLibSeekBarPreference
I92545a69c:Apply SettingsLib SeekBarPreference to a11y vibrat...

Change-Id: Ie6c3b0dc072e044796abdb33fca305f9f9d47c4d
Bug: 176818438
2021-06-08 09:47:51 +00:00
Edgar Wang
d6b5bbb5cb Apply SettingsLib SeekBarPreference to Settings
Bug: 176818438
Test: robotest

Change-Id: I219878716457ce4bb7cad251bccf5d50d93030a5
2021-06-07 18:09:19 +00:00
Yanting Yang
d1312e8e6e Add summary back to the homepage
Also update some summaries with new strings.

Bug: 183586663
Test: robotests & atest & visual

Change-Id: I692be9b34e8867501aaa8c8e40428870b99644f8
2021-05-06 00:27:37 +08:00
Yanting Yang
6778fe74bd Fix robotests fail if turning on silky home by default
Bug: 179136903
Test: robotests
Change-Id: Ic620a5061fe7b778076970fd01f212a7aa95bf9e
2021-02-03 03:36:08 +08:00
Alex Johnston
8fc55e0231 Fix CredentialManagementAppControllerTest
Bug: 175277372
Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=CredentialManagementAppControllerTest
Change-Id: I5f9177d19232f38a761df9adba94d080464120e2
2021-01-20 11:29:07 +00:00
Alex Johnston
c850920cc6 Call KeyChain credential management app APIs Settings
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
2021-01-05 16:57:50 +00:00
Arc Wang
62c78ff3fa Migrate robolectric tests to junit tests
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
2020-12-16 11:17:57 +08:00
Tsung-Mao Fang
5e4dac2e0a Ignore broken tests
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
2020-12-10 20:25:36 +08:00
Alex Johnston
672c2aaaec Add credential management app preference to Settings
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
2020-12-03 07:23:50 +00:00
Alex Johnston
580b7af1a4 Add request manage credentials to Settings
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
2020-11-27 20:43:38 +00:00
Edgar Wang
391217977f Update the summary of AoD when Bedtime mode is on
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
2020-11-12 21:47:15 +08:00
Yanting Yang
9aa4a5463f Remove subtitles for the homepage IA
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
2020-10-20 23:54:03 +08:00
Alexander Dorokhine
46e85a2fad Migrate away from deprecated Truth APIs.
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
2020-09-24 23:09:41 +00:00
Treehugger Robot
7643891ae7 Merge "Remove "storage type" preference from Settings" am: d6ac86d602 am: 44c538ccef
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/1353609

Change-Id: I2e9fc90f247f4b088f749afeb75a0b3e67e73198
2020-07-22 09:07:27 +00:00
joffenberg
43ee102921 Remove "storage type" preference from Settings
Since storage type is mandated as hardware-backed, this preference is no longer meaningful.

Bug: 160225361
Test: atest SettingsRoboTests
Change-Id: I9b6c1d6afdd3563201b1e85673acf4d8cb81c0a1
2020-07-21 17:18:47 +02:00
Eran Messeri
f37c8cb4f7 [DO NOT MERGE] Rollup Cert-related changes from R
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
2020-07-15 15:12:06 +01:00
Treehugger Robot
3947998755 Merge "Settings: Fix fallback summary for power_button_instantly_locks preference" am: b1cea4f1bc am: fce601ea2a
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/1298027

Change-Id: I5fc5d8b00e9b6e0c28389754cd4cf7eeb9bdc969
2020-06-29 14:39:26 +00:00
LuK1337
ad243904db Settings: Fix fallback summary for power_button_instantly_locks preference
* Using summary_placeholder instead of summary_empty
  leaves an ugly empty space.

Change-Id: I73a90f1b3203d6cb17e1875dc8163eb67140de89
2020-06-29 12:27:06 +02:00
Stanley Wang
f1a0801c00 Fix the bug of not showing lock screen before entering Smart Lock page.
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
2020-06-22 16:49:02 +08:00
Stanley Wang
d1a7a5618e Add the "Smart Lock" item to dynamic index.
- 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
2020-06-09 17:48:43 +08:00
Jason Chiu
26343b82ee Add metric logs for special cases in Display and Battery page
Bug: 137559984
Test: robotest
Change-Id: I60f6237ac2c533306879f46ee4c25d54002cf0e9
2020-03-26 11:31:39 +08:00
SongFerngWang
6c9ce4d892 Fix sim pin lock preference disappear in dual sim.
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
2020-03-19 12:13:37 +08:00
changbetty
e9f857621f [Mainline] Use public method in SubscriptionManager for mainline
- 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
2020-03-18 10:33:39 +00:00
SongFerngWang
3d54554521 Fix sim pin lock preference disappear in dual sim.
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
2020-03-17 14:35:31 +08:00
Victor Hsieh
cef970cda4 Revert "Support installation of the new app source certificate"
We decided to punt extra certificate to post-R.

This reverts commit c8a1960cf4.

Test: Treehugger
Bug: 112038744
Change-Id: Ic53e58944faebe7aa427975ebd77ce783bdddaf2
2020-02-18 11:03:07 -08:00
Edgar Wang
0934babbfc Make the fragment title can’t searchable
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
2020-02-06 19:07:11 +08:00
zoey chen
d54004f45e [Settings] Cannot use UnsupportedAppUsage API, use #hasIccCard() to replace
Bug: 145967955
Test: make
Change-Id: I8b948d1d416e1eb79e34be073b8ad81645d5ebb1
Merged-In: I8b948d1d416e1eb79e34be073b8ad81645d5ebb1
2020-02-05 12:04:22 +08:00
changbetty
db816c9dad [Mainline] Use public method in SubscriptionManager for mainline
- 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
2020-01-08 12:01:17 +08:00
zoey chen
73038f556d [Settings] Cannot use UnsupportedAppUsage API, use #hasIccCard() to replace
Bug: 145967955
Test: make
Change-Id: I8b948d1d416e1eb79e34be073b8ad81645d5ebb1
2019-12-11 11:57:43 +08:00
Victor Hsieh
c8a1960cf4 Support installation of the new app source certificate
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
2019-11-27 07:59:22 -08:00
TreeHugger Robot
a6198c25be Merge "Adjust lock screen tests" 2019-11-25 03:29:24 +00:00
Lucas Dupin
b5c17fb361 Adjust lock screen tests
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
2019-11-24 16:34:25 -08:00
Lucas Dupin
01c00962a9 Do not hide lock screen settings conditionally
Users have reached out to us asking where are their settings and
cannot understand why things disappear.

Test: LockScreenPreferenceControllerTest
Change-Id: I05b182a26724fd14b0a8240e280f216ebf4d43b9
2019-11-20 09:49:23 -08:00
Alex Johnston
aa62e5e482 Fix broken preference controller test
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
2019-11-13 10:21:33 +00:00
Alex Johnston
7659e53a94 Added functionality to select type of certificate to be installed from the Settings app
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
2019-10-24 10:37:21 +01:00