Commit Graph

278 Commits

Author SHA1 Message Date
Jonathan Scott
b7f4f56cad Add missing settings strings.
Also re-enable and fix tests.

Test: manual
Fixes: 226183482
Fixes: 218799125
Fixes: 219375624

Change-Id: I9605f1f4e2e834baf63e015e96639567c5481b5f
2022-05-05 09:12:59 +00:00
Jan Tomljanovic
ef817325bc Don't show back arrow in Security when in split mode.
Test: manual
Bug: 224427042
Change-Id: I0b0daa3981c56ba99bebda2cd34a51f3877f37a6
2022-04-25 10:37:55 +01:00
TreeHugger Robot
4ccde95a1a Merge "Enable Encryption & Creds UI for Secondary users" into tm-dev 2022-03-24 17:55:23 +00:00
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
Yuri Ufimtsev
af22553089 Postpone getting Metrics Category until it is needed
Test: manual

Bug: 226105654
Change-Id: I9473ddfd72e38bff4f93b43d539c467b2e13e258
2022-03-23 15:41:54 +00:00
kholoud mohamed
de78149c16 RESTRICT AUTOMERGE Refactor device policy resource APIs to a separate class
Bug: 217388602
Bug: 218875965
Test: atest EnterpriseResourcesTests
Test: manual
Change-Id: I4775d7741c7819fd811c3fc4eda1636b1e04b398
2022-03-17 17:37:45 +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
Marie Matheson
ce321f0dd0 Merge SafetyCenterStatusHolder into SafetyCenterManagerWrapper
Test: SettingsUnitTests
Bug: 220384387
Change-Id: I3886d3cf4717b5c7efd99ebd8ffb6a039e3565a4
2022-02-22 16:36:17 +00:00
Yuri Ufimtsev
fc9b13e865 Provide data to LockScreenSafetySource
Test: atest SettingsUnitTests

Bug: 215515298
Change-Id: I59640e9f691754a2225870d40f5db3e6fd8557f8
2022-02-18 23:47:42 +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
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
Jonathan Scott
269f97d960 Allow overriding of strings referenced in XML files.
Test: manual
Bug: 188414370
Change-Id: Ice45b1808530c14c4efff16795cac7b2cb81516e
2022-02-07 21:00:05 +00:00
Jonathan Scott
e0d439472f Allow Device Management Role Holder to update Settings strings.
Test: manual
Bug: 188414370
Change-Id: I6e1a06619799a9e99382d791e72e2e4518f93cac
2022-01-25 19:03:24 +00:00
Jan Tomljanovic
1e81c40558 Merge "Call system service API instead of checking the phenotype flag directly." 2022-01-24 12:55:20 +00:00
Jan Tomljanovic
9d2ec95c61 Call system service API instead of checking the phenotype flag directly.
Test: atest SettingsUnitTests
Bug: 208625216
Change-Id: Ib551cbaf0f09fe49bd81ef657037401263705521
2022-01-17 17:06:50 +00: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
Alex Johnston
53ffad4bcc Merge "Add non system overlay flag to RequestManageCredentials" into sc-v2-dev am: 3ab85fbd60 am: 15c5e404bf
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/16414974

Change-Id: I24d5979f4673badf9eaa850556ab3c22b459c5d7
2022-01-11 21:25:53 +00:00
Yuri Ufimtsev
5ccccc181e Use correct category key for SecurityAdvancedSettings
based on the type of active Security Settings

Test: atest SettingsUnitTests:SecurityAdvancedSettingsTest

Bug: 206001340
Change-Id: I7bdac4b26653eedb45e3e2f056e6804a6c16cb18
2022-01-11 09:54:20 +00:00
Yuri Ufimtsev
c02d474ba1 Merge "Check if Preference is initialized before interacting" 2022-01-11 08:48:33 +00:00
Yuri Ufimtsev
2e8a9b292d Merge "Refactor some Preference Controllers to use BasePreferenceController" 2022-01-10 14:48:13 +00: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
Alex Johnston
4c1272a921 Add caller check to com.android.credentials.RESET
* Only the Settings app can reset credentials
  via com.android.credentials.RESET.
* com.android.credentials.INSTALL should still be
  callable by CertInstaller.

Manual testing steps:
* Install certificate via Settings
* Verify unable to reset certificates via test app
  provided in the bug (app-debug.apk)
* Verify able to reset certificates via Settings
* Verify com.android.credentials.INSTALL isn't changed

Bug: 200164168
Test: manual
Change-Id: I9dfde586616d004befbee529f2ae842d22795065
2022-01-06 01:21:41 +00:00
Yuri Ufimtsev
156980fdc7 Check if Preference is initialized before interacting
Test: manual
Test: adb shell am start -a
com.android.settings.security.SECURITY_ADVANCED_SETTINGS

Bug: 213182385
Change-Id: I95f628c4c4514511f1d830e0e6032e025eebc86b
2022-01-05 16:42:04 +00:00
Michael Groover
d1f76eea72 Merge "Add unaudited exported flag to exposed runtime receivers" 2022-01-03 17:35:02 +00:00
Yuri Ufimtsev
4eea126959 Group some Security settings to a separate "Advanced settings" screen
Test: adb shell am start -a android.settings.SECURITY_SETTINGS opens Advanced
Security Settings screen
Test: atest SettingsUnitTests:SecurityAdvancedSettingsTest
Test: atest SettingsUnitTests:SecurityAdvancedSettingsControllerTest

Bug: 204416998

Change-Id: If9c6da812ffb7c046b3b00a084007950801e1d4f
2021-12-23 10:26:46 +00:00
Jan Tomljanovic
0bf0a9acf9 Merge changes I4c813a35,I9bedb58a
* changes:
  Toggle Security and Privacy entries depending on SafetyCenter status.
  Add SafetyCenter entry to Settings.
2021-12-10 11:12:34 +00:00
Michael Groover
911f7e7aa9 Add unaudited exported flag to exposed runtime receivers
Android T allows apps to declare a runtime receiver as not exported
by invoking registerReceiver with a new RECEIVER_NOT_EXPORTED flag;
receivers registered with this flag will only receive broadcasts from
the platform and the app itself. However to ensure developers can
properly protect their receivers, all apps targeting T or later
registering a receiver for non-system broadcasts must specify either
the exported or not exported flag when invoking #registerReceiver;
if one of these flags is not provided, the platform will throw a
SecurityException. This commit updates all the exposed receivers
with a new RECEIVER_EXPORTED_UNAUDITED flag to maintain the existing
behavior of exporting the receiver while also flagging the receiver
for audit before the T release.

Bug: 161145287
Test: Build
Change-Id: Ie97372efebd8258d9a4c503771d55109a85e6ae9
2021-12-09 20:34:02 -08:00
Jan Tomljanovic
9ef7f72349 Toggle Security and Privacy entries depending on SafetyCenter status.
Test: atest SettingsUnitTests
Bug: 206798563
Change-Id: I4c813a35754fa7ed5db630fa4c41ef14b469878c
2021-12-08 18:05:31 +00:00
Alex Johnston
04c66a0a3c Add non system overlay flag to RequestManageCredentials
Bug: 205150380
Test: Manual testing with Settings and TestDPC
Change-Id: I7c23442e143a6d74935945e6f5e4ce5ce0ef77f0
2021-12-08 11:08:44 +00:00
Alex Johnston
a0ddbe36d6 Merge "Add non system overlay flag to InstallCaCertificateWarning" into sc-v2-dev am: 86cee74361 am: 62ab8f5847
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/16358378

Change-Id: I73b5e496f4a2d8f206f23e775816a70ff20fc0a7
2021-12-02 16:05:03 +00:00
Alex Johnston
2f193c8157 Add non system overlay flag to InstallCaCertificateWarning
Bug: 196969991
Test: Manual testing with Settings
Change-Id: Ia9dc251c853526b2ce66c9f8ff595d496b7f1bc4
2021-11-30 16:28:31 +00:00
Jason Chiu
7f6b9e26c9 Merge changes from topic "slice-highlight" into sc-v2-dev am: 6821b6be32 am: 026b1b5df6
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/16151654

Change-Id: If46903bb26371ea90075d1c6cc063af4d10a88d4
2021-11-02 02:43:42 +00:00
Jason Chiu
2989c50a23 Add highlight menu keys for all toggle pref controllers and custom slices
Bug: 204695404
Test: manual, robotest build pass, unit
Change-Id: Iad2e28ada8ddb766ffa7eff2c8dc581250cbd6f8
2021-11-01 15:00:18 +08:00
Bonian Chen
71818bdf15 [Settings] Adopt comfirm SIM deletion to euicc reset UI
There's an "Erase downloaded SIMs" option within reset options UI.
When reset EUICC, eSIM profile might get removed.
There's a security feature "Confirm SIM deletion" need to be applied in
this case.

Bug: 194145231
Test: local
Change-Id: I1798dfe347be7d0610a12fb79f103efece2ab240
(cherry picked from commit ebca15a861)
2021-10-06 16:58:07 +00:00
Bonian Chen
ebca15a861 [Settings] Adopt comfirm SIM deletion to euicc reset UI
There's an "Erase downloaded SIMs" option within reset options UI.
When reset EUICC, eSIM profile might get removed.
There's a security feature "Confirm SIM deletion" need to be applied in
this case.

Bug: 194145231
Test: local
Change-Id: I1798dfe347be7d0610a12fb79f103efece2ab240
2021-10-06 05:33:43 +00:00
Ayush Sharma
8851afb8ff Merge "Remove refs of isSeparateProfileChallengeAllowed" 2021-08-13 15:49:11 +00:00
Joe Bolinger
9e9f1249d4 Refresh biometric preference controllers on lifecycle events.
Fix: 195961101
Test: make RunSettingsRoboTests
Test: manual (enroll via settings and verify preferences enabled after enrolling)

Change-Id: Ie50cd862a42c96eb95f2156a33f34748b2b8b50c
2021-08-10 13:29:05 -07: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
Alex Johnston
713d325310 Merge "Remove credential management app Settings" into sc-dev 2021-07-02 11:05:49 +00:00
Alex Johnston
8d06d63fe3 Remove credential management app Settings
* Update string and icon
* Flip icon if languate is RTL e.g. Arabic
* Add dialog when 'Remove app' is selected
* Add Material Next theme to dialog
* Update string terminology when removing a
  CA or user certificate to from 'remove'
  to 'uninstall'
* Final UI tweaks to RequestManageCredentials screen

Screenshots
* Light mode: https://screenshot.googleplex.com/66QKFLhtn6ZueZQ
* Dark mode: https://screenshot.googleplex.com/9kkTaaDV6CiHudF
* RTL: https://screenshot.googleplex.com/AkwSibXakARYM8H
* Request light mode: https://screenshot.googleplex.com/6n6raBQ8drXRHcU
* Request dark mode: https://screenshot.googleplex.com/3bmWNoTwE6JBqAX

Bug: 189416800
Test: atest CredentialManagementAppButtonsControllerTest
      manual testing with TestDPC
Change-Id: I5450d33603418930e92b03c4447aaa1095afe9a3
2021-06-30 13:53:58 +00:00
Jan Tomljanovic
2b8678c5d4 Merge "Enable controllers to use a custom key." into sc-dev 2021-06-29 16:02:55 +00: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
Alex Johnston
e92f5df3be Update CA certificate warning to material next spec
* Fix colour extraction
* Update landscape mode
* Update logo

Screenshots:
* https://screenshot.googleplex.com/5mwbKLJeFVecrpi
* https://screenshot.googleplex.com/9z62Sw26NX5Zfwu

Bug: 191845997
Test: Manual testing with Settings
Change-Id: Id9988dbce9eabc2b69dba4bd20ca7a6729601147
2021-06-23 10:36:17 +01:00
Alex Johnston
17101d6ebe Merge "RequestManageCredentials landscape mode" into sc-dev 2021-06-10 09:38:29 +00:00
Alex Johnston
e2f5b87c14 Merge "Credential management app UI tweaks" into sc-dev 2021-06-10 09:38:15 +00:00
Alex Johnston
7db8142435 Credential management app UI tweaks
Credential management app Settings screen
* Add uninstall certificates button
* Reformat summary
* Remove dividing lines
Request manage credentials screen
* Make requesting app name bold

Manual testing
* Install TestDPC and select 'Request to
  manage credentials'
* Verify app name is bold and select allow
* Install a certificate as the cred mng app
  via TestDPC
* Go to Setting > Security > Encryption
  & Credentials > Credential Management App
* Verify screen looks like mocks
* Select 'Remove certificates' and
  verify all certificates installed by the
  cred mng app are removed
Settings screen: https://screenshot.googleplex.com/C6n9bnwkw843jgf
Request screen: https://screenshot.googleplex.com/5qH44NXKKGRsdHs

Bug: 189416800
Test: manual testing
      CredentialManagementAppControllerTest
      CredentialManagementAppFragmentTest
      CredentialManagementAppButtonsControllerTest
      CredentialManagementAppHeaderControllerTest
      RequestManageCredentialsTest
Change-Id: I71334b231ae7cefbc055e2575eda5418da2548b4
2021-06-09 10:13:53 +01:00
Alex Johnston
4ef1438512 RequestManageCredentials landscape mode
* Split screen into two halves, where the left
  side includes the title and the right side
  includes the recycler view, floating action
  button and action buttons.
* https://screenshot.googleplex.com/6Co6kn2DyXZRGNZ
* https://screenshot.googleplex.com/6uwHAGuRHjNcStN

Bug: 189193577
Test: manual testing via TestDPC
      RequestManageCredentialsTest
Change-Id: I9c82a7471c885658aacb40b22166ec801e2833ca
2021-06-09 09:06:49 +01:00