Commit Graph

232 Commits

Author SHA1 Message Date
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
Yi-Ling Chuang
9312dc83fa Apply sliding transition to biometric settings
Bug: 187542491
Test: rebuild
Change-Id: Ife645785a37c4ac838204d0613dffd5a5911a47e
2021-06-04 15:49:43 +08:00
Janis Danisevskis
04fdd614b6 Merge "Enable the clear credentials buttons when wifi keys are installed." into sc-dev 2021-06-02 15:02:17 +00:00
Janis Danisevskis
fae7509721 Enable the clear credentials buttons when wifi keys are installed.
This patch updates the ResetCredentialsPreferenceController to check the
WIFI keystore namespace if called by the primary user.

Test: Install a WIFI certificate or key and watch the
      "Clear credentials" button become enabled in the credential
      storage dialog of Settings.
Bug: 189601008
Change-Id: I69828b64a7e3c707c27b4582d64ff0ddb863a4ff
2021-06-01 11:44:16 -07:00
Yi-Ling Chuang
e7c769fe02 Apply sliding transition to trust agent.
- Also rename the extra of page transition.
- Remove useless code while starting activity from fragment.

Bug: 187542491
Test: robotest and manually went through trust agent flow.
Change-Id: I55419f23db7fa77281039e642bde5558c17dce0f
2021-06-01 16:39:13 +08:00
TreeHugger Robot
9018434111 Merge "Apply sliding transition for lock screen" into sc-dev 2021-05-25 18:35:13 +00:00
Mill Chen
bf62e70ee6 Apply sliding transition for lock screen
The flow of changing lock screen is combined with Settings and SUW pages
together where their implementation are different, which causes the
page-to-page transition inconsistent. Sub-setting pages will apply
shared axis transition while SUW pages will keep the slide in/out
transition. In order to make these 2 types of page work together, we
intent to use slide in/out transition in the lock screen.

Fix: 174434707
Test: visual verified
Change-Id: I827211e45bcbfdfc558c9d95e6814e62b339b4aa
2021-05-25 17:55:09 +08:00
Jan Tomljanovic
ef8d53e09b Avoid cold start of the security hub app.
Test: manual
Bug: 185351065
Change-Id: I85729ffff5a4a8e8b6fb9815a0fcc5a7b7a8720f
2021-05-21 19:44:03 +01:00
Jan Tomljanovic
e6070f9f0e Filter out SecuritySettings search results when alternative available.
When alternative fragment is shown for the security settings page, we
don't want to show search results that would lead to an unused security
settings page.

Test: manual
Test: atest SettingsUnitTests
Test: make RunSettingsRoboTests -j
Bug: 184613149
Change-Id: I525bd87d1ac6a24a7a26f59ae917e35ac39732e3
2021-05-14 11:52:12 +01:00
Simon Wingrove
2c14d9e396 Allow security controllers to be used in other fragments.
Bug: 180581209
Test: atest SettingsUnitTests
Test: make -j80 RunSettingsRoboTests

Change-Id: I70088eaab16dd64c1183e42e90346c6d2dcbe35b
2021-05-11 08:15:19 +01:00
Alex Stetson
413893244d Merge "Use shared model for non-system overlay toggle" into sc-dev 2021-05-07 14:08:52 +00:00
Yanting Yang
c37abc9edb Merge "Add summary back to the homepage" into sc-dev 2021-05-07 09:00:32 +00:00
Treehugger Robot
e24cba9b59 Merge "Move myself to the emeritus section" am: 9119105da9 am: 27a27acb2c am: 026ecdd388
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/1697923

Change-Id: If7854bb03db1b001bb6dfd35f28f074a66b77abe
2021-05-07 03:39:34 +00:00
Treehugger Robot
026ecdd388 Merge "Move myself to the emeritus section" am: 9119105da9 am: 27a27acb2c
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/1697923

Change-Id: I8aa67688d4c88a64c549e1094f3311ec4a4b2499
2021-05-07 03:11:46 +00:00
Rubin Xu
8e4acdbf51 Refactor ChooseLockGenericController
* 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
2021-05-06 23:09:27 +01:00
Alex Stetson
aff80d1e14 Use shared model for non-system overlay toggle
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
2021-05-06 08:28:19 -07:00
Eran Messeri
6f3630c393 Move myself to the emeritus section
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
2021-05-06 15:16:40 +01: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
Mill Chen
7edebeef7e Combined biometric settings implementation
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
2021-04-23 15:18:08 +08:00
Salud Lemus
9068481299 Fix search index for a financed device
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
2021-04-20 12:17:39 -07:00
Marie Matheson
bcf3fc6272 Merge "Make host type in ChangeScreenLockPreferenceController more generic." into sc-dev 2021-04-15 08:44:09 +00:00
Marie Matheson
35fd9edd1b Make host type in ChangeScreenLockPreferenceController more generic.
Bug:181764105
Test: Tested Manually - no change in behaviour, correct metric type is
used.

Change-Id: Id03f8c53b3208001d4d9e43392218b381b7d1916
2021-04-14 12:57:56 +00:00
Tsung-Mao Fang
304c68a836 Fix gender issue on subtext of screen pinning
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
2021-04-12 16:28:03 +08:00
Rubin Xu
1ac05237ab Update titles & messages for password enrolment flows
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
2021-04-09 14:35:36 +01:00
Alex Johnston
a05759cb7d Merge "Remove hardcoded URL string" into sc-dev 2021-03-31 10:35:51 +00:00
Alex Johnston
56519258ef Remove hardcoded URL string
* 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
2021-03-31 10:17:36 +01:00
Alex Johnston
099a144869 Merge "RequestManageCredentials support RTL languages" into sc-dev 2021-03-30 14:52:49 +00:00
Alex Johnston
b7867817d0 RequestManageCredentials support RTL languages
* 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
2021-03-29 18:29:15 +00:00
Marie Matheson
4b302a166e Adds SecuritySetting feature for providing an alternative SecuritySettings fragment
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
2021-03-25 11:50:27 +00:00
Tsung-Mao Fang
0d27676bba Fix jank in app pinning page
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
2021-03-19 16:18:29 +08:00
Alex Johnston
6469518bf3 Cred mng app settings - close onRemove
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
2021-03-15 10:11:39 +00:00
TreeHugger Robot
ebb056faff Merge "Fix security issue" into rvc-qpr-dev am: 2c61777f4b
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/13448955

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ib0e6becb72af1141d8cbcd814a55d34b4a171b1b
2021-03-08 14:26:28 +00:00
TreeHugger Robot
42ac293a53 Merge "Return RESULT_OK RequestManageCredentials" into sc-dev 2021-03-03 12:43:13 +00:00
Alex Johnston
c82767f627 Return RESULT_OK RequestManageCredentials
Bug: 177979648
Test: Manual testing
Change-Id: I3b4968131f8c7b811752704808d0ef4df617a658
2021-03-03 11:30:46 +00:00
Treehugger Robot
4e10002367 Merge "Keystore 2.0: Update credential settings to use public Keystore API." am: 7086917968 am: 08bea2183d am: a409521a64
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/1569700

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I0cbc5fd554cd49ffb52c0852a8537f53cf5e0f54
2021-02-26 05:28:17 +00:00
Janis Danisevskis
a05bd65cb6 Keystore 2.0: Update credential settings to use public Keystore API.
Test: N/A
Bug: 171305607
Bug: 171305388
Change-Id: I377115aca6b2df8052ae118f986c2f713535b6ec
2021-02-25 15:58:22 -08:00
Alex Johnston
b77e2b4f69 Decode URI in RequestManageCredentials
* 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
2021-02-23 15:56:33 +00:00
Tsung-Mao Fang
211a2fff0d Fix security issue
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
2021-02-03 06:44:56 +00:00
TreeHugger Robot
384cf0e9e7 Merge "Fix security issue" into sc-dev 2021-02-03 05:56:17 +00:00
Tsung-Mao Fang
159bd0e966 Fix security issue
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
2021-02-02 18:24:00 +08:00
Tsung-Mao Fang
23e77a557a Tweak the ui based on the Android S design
- Use TopIntro preference to show introduction text

Change-Id: Ic2304dab188848dfa6ef8a0429fd5b7ad40cf0af
Test: See the screenshot- https://screenshot.googleplex.com/AMS64EGe5Fcdfn8
Fix: 177997785
2021-02-01 20:46:43 +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
Stanley Wang
6a824b3535 Merge "Use SettingsLib's MainSwitchBar to replace SwitchBar in Settings." 2021-01-15 02:14:52 +00:00
Stanley Wang
b87ddba6cd Use SettingsLib's MainSwitchBar to replace SwitchBar in Settings.
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
2021-01-14 22:48:31 +08:00
Alex Johnston
c3b31dd94c Add cred mng app metrics to Settings
Log:
* package name
* number of remote apps/URIs
* request accepted
* request failed
* request cancelled
* removed

Bug: 165641221
Test: manual
Change-Id: I629b95626c9581da8d7f1ea6758120768471a60e
2021-01-12 16:49:44 +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
Alex Johnston
25cca45c09 Merge "Add credential management app preference to Settings" 2020-12-03 10:00:27 +00:00