Commit Graph

220 Commits

Author SHA1 Message Date
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
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
a12b402f36 Show Floating action button to request manage credentials
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
2020-12-02 17:17:12 +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
c5dfd3eb76 Revert^2 "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: I96b401bcba213598344c4c4f01b12c275304b809
Merged-In: Id2511cb0ad93b44f6bf701a707b7ddef9438653d
2020-11-24 05:34:49 +00:00
Yi-yo Chiang
cd4a35de8e Revert "Update the summary of AoD when Bedtime mode is on"
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
2020-11-19 04:32:44 +00:00
Edgar Wang
bca70dd22d 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
Merged-In: Id2511cb0ad93b44f6bf701a707b7ddef9438653d
2020-11-18 14:22:11 +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
Xin Li
748efff856 Merge Android R (rvc-dev-plus-aosp-without-vendor@6692709)
Bug: 166295507
Merged-In: Ie9d2c4d6d4618a167af1c5627d5d7918a404f398
Change-Id: I2ae428e37fd96226ce4e06032e2c0beaacbd0301
2020-08-28 23:35:54 -07:00
Treehugger Robot
083045a9c2 Merge "More inclusive language." am: 4be2b5c2f6 am: ef56fb20c3 am: b2a470166e am: 17c895b94c am: ce59418d0a
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/1373177

Change-Id: I773bf1dd2fb3c8ef40681a598505cff004914966
2020-07-28 11:37:05 +00:00
Treehugger Robot
b2a470166e Merge "More inclusive language." am: 4be2b5c2f6 am: ef56fb20c3
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/1373177

Change-Id: I4cd918e07ced74d846b75f01550f57e447229d51
2020-07-28 10:58:05 +00:00
Alan Stokes
cd2c453cbd More inclusive language.
Test: Builds
Bug: 161896447
Change-Id: Ie4d64dca9f4720eea532b534162e47ed81aea03b
2020-07-27 18:21:56 +01:00