Commit Graph

154 Commits

Author SHA1 Message Date
Jason Chiu
b12e3b96c9 Support click metrics logs in several pages
- Assign metrics category to perferences at an earlier stage in
  DashboardFragment for better usability.

Bug: 137559984
Test: robotest
Change-Id: Icd4185efa0e655be20c4b673a1380fa42140923f
2020-04-07 16:44:53 +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
Lee Chou
443cfd2ef4 Adds logging to confirm esim deletion feature
Bug: 138861284
Test: make SettingsGoogle  and manual testing
Change-Id: Ie5f6f6a31003733ae7abd9c04e9b3c371d5051c4
2020-03-19 12:07:01 +08: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
Lee Chou
ee81a02109 Require authorization before turning off eSIM security feature
eSIM has a feature that requires an auth check before deletion, this
adds a security check before allowing the security feature to be turned
off.

TogglePreferenceController was changed to BasePreferenceController to
separate updating the state from UI press and updating from code.

Bug: 150568010
Test: mp settingsg and manual testing
Change-Id: I9e74e173720dce7b25d2d8a1e9004862cdb5e2e0
2020-03-02 05:23:49 +00: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
Lee Chou
5a65e2d5dd Authenticated confirmation before deletion of eSim
adds an authentication confirmation before deleting an eSim
this feature is turned on/off in the security page

Bug: 138861284
Test: mp settingsg
Change-Id: I32e0e3bff2091ec1097b3c37fa066d966e3373df
2020-02-18 11:33:22 +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
Edgar Wang
e19ee9a01f Revert "Settings search - Navigate user to exact page"
This reverts commit 08f2a58459.

Reason for revert: design changed, we decide to take the user to
the entry after clicking on a search result.
It's opposite with what we did, so we revert related CL first.

Test: robotest

Change-Id: Iadb9a94a7ef7838be34a54499e2d934d6396c336
2020-01-16 14:07:38 +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
Edgar Wang
08f2a58459 Settings search - Navigate user to exact page
- remove duplicate index preference
- default set searchable = false when the preference has fragment
- make some fragments indexable

Bug: 143057584
Test: robotest & manual

Change-Id: I4d64f6106d2f92f0a45e8c7e26388677f593f412
2019-12-24 21:04:11 +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
Sunny Shao
e966714a9b Fixed the roboletric test failed
Fixes: 145730755
Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=com.android.settings.core
Change-Id: Ie60985cdf6802e8723c68e5e1f2104965f0d440b
2019-12-05 21:33:34 +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
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
TreeHugger Robot
d5bb245f99 Merge "Fix the NPE in the ScreenPinningSettings" 2019-11-13 14:15:04 +00:00
TreeHugger Robot
03964f34da Merge "Ignore all failed test cases" 2019-11-13 13:41:48 +00:00
Sunny Shao
56b7acd49e Fix the NPE in the ScreenPinningSettings
- move mFooterPreference and others init before the SwitchBar

Fixes: 144407413
Test: manual test
Change-Id: I80d86942f35d16e0460c5fa48bb127932d2086a1
2019-11-13 20:35:56 +08:00
Tsung-Mao Fang
6a2d48d158 Ignore all failed test cases
Test: Run all robo test
Bug: 144405844
Bug: 144407418
Bug: 144407438
Fix: 144406422
Bug: 144405885
Bug: 144408475

Change-Id: Ia94636632106206b062d35b2ca53a028d0cbc35d
2019-11-13 20:31:01 +08:00
Raff Tsai
72a65094fc change screen pinning settings UI
Fixes: 144306573
Test: manual
Change-Id: I7c80a17f90ed84e7245fe26c985aa3fe2e71cc8d
2019-11-12 11:33:51 +08:00
Victor Hsieh
bde026ae67 Remove redundant code in certificate pref controllers
mPreferenceKey in BasePreferenceController is set via the second
argument of the constructor and has a getter. It doesn't look necessary
to override the getter to return the key. The given one also looks
inconsistent.

Test: atest com.android.settings.security
Bug: 139173976
Bug: 112038744
Change-Id: I6e20b46675308f7dbb8f82f7e372bf94f21e4bed
2019-11-01 10:06:21 -07:00
Alex Johnston
c0c75a3e96 Added a warning dialog when installing a CA certificate
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.
Due to concerns around users installing CA certificates without understanding the conseqences,
this CL introduces a new warning dialog when a CA certificate is installed from settings.

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.

Screenshot of the screen: https://hsv.googleplex.com/5046848484016128

Change-Id: If95bffd1e68f14734fb20e8cc4b60eeb1c372358
2019-10-24 15:25:52 +01: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
Rubin Xu
010116a173 Introduce LockscreenCredential
Bug: 65239740
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.password
Change-Id: Icb73d639291d6d2eda8015e18e93d0906f916bb2
2019-10-13 21:20:02 +01:00
Raff Tsai
966fa01423 Use SettingsLib Indexable
- Use SettingsLib Indexable
- Directly use resource id in getPreferenceScreenResId

Bug: 135053028
Test: roboletric
Change-Id: I05f493b55e8b6e2091301e9231ba5615215618e6
2019-09-25 18:24:56 +08:00
Raff Tsai
ac3e0d0988 Directly use BaseIndexableProvider
- Add function getXmlResourceId, Fragments don't need to write
xml resource id twice.
- Remove getPreferenceControllers from Indexable.java. Because it will
move to SettingsLib later for other apps which don't need this function

Bug: 135053028
Test: robolectric
Change-Id: I1e74519aecdea3dde64a5aea79f08d766dbc0003
2019-09-24 00:35:52 +08:00
Eran Messeri
5f10a9a9ea Merge "CredentialStorage: Install keys using KeyChain" 2019-09-18 12:16:58 +00:00
Eran Messeri
d83c190f29 CredentialStorage: Install keys using KeyChain
This is part of the work to unify the manual certificate
installation flow (via "Install from storage" in the Settings
app) with the programmatic one (using
DevicePolicyManager.installKeyPair).

The change to CredentialStorage is the crux of this work, where
the key is no longer installed by calling Keystore directly.

Instead, a new AsyncTask, InstallKeyInKeyChain, was created, which
calls KeyChainService.installKeyPair with the key data and associated
certificates (as well as the UID of the designated service, to allow
installation into the WiFi Keystore).

Once that task completes, if the key was installed successfully,
then it is marked as user-selectable.

Test: Manual CtsVerifier tests: KeyChain Storage Test, CA Cert Notification Test
Test: cts-tradefed run commandAndExit cts-dev -m CtsDevicePolicyManagerTestCases -t  com.android.cts.devicepolicy.MixedDeviceOwnerTest#testKeyManagement
Bug: 138375478
Change-Id: I7c4b4ea725a34307f58d27252c2958771001636f
2019-09-12 15:54:30 +01:00
Raff Tsai
1f30b1cd67 Merge similar BaseSearchIndexProvider code together
Bug: 135053028
Test: robolectric, check search_index.db contains the same items
Change-Id: If3c18a170b0e671690df1fdf26e59a421d2c48cd
2019-09-12 11:09:09 +08:00
Kevin Chyn
6a4a0e7396 Move lockscreen bypass setting to Settings > Security > Face unlock
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
2019-06-12 13:27:18 -07:00
Lucas Dupin
8c29afdc3f Fix exception on non face-enabled devices
Test: open privacy settings page
Bug: 130327302
Change-Id: I31ba9f30bb7300bff6daea8a51ed6c4dc2a373f2
2019-05-30 14:58:52 -07:00
Lucas Dupin
b2aaa26f38 Add setting to bypass lock screen
Test: manual
Test: make RunSettingsRoboTests ROBOTEST_FILTER=LockscreenBypassPreferenceControllerTest
Bug: 130327302
Change-Id: I324c6e384480fa8576ba58d0bf73c1ef20484ee0
2019-05-29 15:57:32 -07:00
Jonathan Scott
cccc56b0cf Make ScreenPinningSettings behaviour consistent with LockTaskController.
Bug: 127605586
Test: Manual
Change-Id: I1d79fb529cfaf921657ef9eaca01b8a6a4e2dfef
2019-05-01 11:00:25 +01:00
Pavel Grafov
0a67bbf89f Allow user without a password to clear credentials
Currently the code assumes that the user always has a pin or
password or pattern. If there's no password confirmKeyGuard() will
return false, so the acttivity will finish without doing anything.
With this change if there's no PIN/password/pattern, the credential
clearing task will be launched straightaway as the user presses "OK"
the confirmation prompt.

Bug: 127697771
Test: manual
Change-Id: Iac4af0abfc7430ed197e04f833bf203c3f66f52e
2019-04-10 17:53:32 +01:00
Kevin Chyn
39ca021586 Add face profile settings
Fixes: 110907543

Test: Builds

Change-Id: I9761f289bb250c5d9f5b5e75cf682d164c591050
2019-04-04 13:18:04 -07:00
Issei Suzuki
1ac14708e8 Merge "Move AmbientDisplayConfiguration class out of internal package." 2019-02-27 14:28:36 +00:00
Issei Suzuki
fd85a9fae6 Move AmbientDisplayConfiguration class out of internal package.
Test: m droid (run full build)
Bug: 126327497
Change-Id: Idc07c811864edb4f88151051e25d6e05e4caf3b2
2019-02-27 13:25:15 +01:00
Rich Cannings
b27c4308a2 Refactor passwords/pins/patterns to byte[]
Relating to packages/apps/Settings

Bug: 120484642
Test: manual - test setting and unlocking passwords/pins/patterns.
      automated - 20 of about 500 tests fail due to fragile synthetic
      password test code.

Change-Id: Idec8338d141c185bef67ade12035fdb2fa9d17ea
2019-02-26 14:46:12 -08:00
Fan Zhang
7db118e367 Mass clean up: don't cast class when not needed.
Bug: none
Test: rebuild
Change-Id: Ie3f58a3d5ae99ade28a33dcac80c18de90d4d5b2
2019-02-14 12:26:09 -08:00
Vishwath Mohan
8f53ad0f37 Move trust agent toggles to developer options
This CL moves two toggles for trust agent extend unlock mode from
Security > Settings to Developer Options instead. It also updates some
of the configuration strings to reflect that this toggles behavior for
trust agents in general.

No new logic is being added here, this simply moves options intended
only for internal dogfooding to a more appropriate location in
preparation for the public Beta.

Bug: 111435975
Bug: 120871688
Test: Manually verified that the settings show up in Developer Options
and work as intended.

Change-Id: I2b6705d50fa783089a5c0dfabf76677af44209f7
2019-02-04 17:22:49 -08:00
Vishwath Mohan
7d93d8bcdc Allow multiple trust agents
This CL is essentially a one-line change that sets the
ONLY_ONE_TRUST_AGENT boolean to false.

Bug: 111431046
Test: Tested manually that this works correctly

Change-Id: Ia8f06235467e3223ef1e441a62d941a64a2d7c93
2019-01-31 20:19:32 +00:00
Eran Messeri
9b6005e51e Merge "Further Credentials-related clean-up" 2019-01-25 12:27:38 +00:00
Eran Messeri
dda0c63d5b Merge "Add Enterprise owners for Enterprise settings" am: 35416e7529 am: 74bd41f305
am: a357cc9737

Change-Id: I9879602947c1060daf319253c2f5422d48d57fbe
2019-01-24 15:46:53 -08:00
Eran Messeri
1e9bd27e2b Further Credentials-related clean-up
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
2019-01-24 16:26:25 +00:00
Eran Messeri
3cb95abd04 Add Enterprise owners for Enterprise settings
Add owners from the Android Enterprise team to source files that are
either owned or are mostly modified by the Android Enterprise team.

Test: gerrit uploader
Bug: 33166666
Change-Id: I8b4ec7c8895b02c45a6a14d52a3742334234904a
2019-01-24 12:29:56 +00:00
Fan Zhang
31b210017b Migrate all MetricsProto enums to SettingsEnums
Bug: 122855168
Test: rebuild
Change-Id: I962d9a71179f86b7cae9dc5e9a00e0aa1557dc76
2019-01-17 14:55:42 -08:00
Malcolm Chen
14dde50c3a Don't show hidden Cellular subscription in Settings.
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
2019-01-16 00:21:30 -08:00
Vishwath Mohan
b6dad935ec Add settings to control Extended Access mode.
This CL adds settings (and two toggle controls) that help configure
how trust (from Trust Agents) should be interpreted by the platform,
allowing them to function in a purely extend unlock mode (where they
can extend how long an already unlocked device stays unlocked, but
cannot unlock a locked device).

These are temporary settings to help with dogfooding the new behavior,
and will eventually be removed. b/120871688 below is the tracking bug
to remove them.

Bug: 111435975
Bug: 120871688
Test: Tested with SmartLock modalities to confirm behavior in both
legacy and extend unlock modes is WAI.
Change-Id: If25098520ba98e82c98cc51fb226d8f2ce1aba80
2018-12-13 19:44:33 +00:00
tmfang
7b235e3cfe Remove "Show password" in Security page
"Show password" will be moved in Settings > Privacy.
Since each of things should only exist in one place,
we remove it in Security page.

Test: visual
Bug: 116628158
Change-Id: I9f9083b88d7a20faa9bd28ded2cf8c3b9a5622fd
2018-11-12 11:08:43 +08:00
tmfang
54a5d37190 Move LocationSettings to top level page.
- Create some location icons for different scenario.
- Remove Location in Security page.
- Move Location Setting to top level page.

Test: robotest, visual
Bug: 116628158
Change-Id: I3f57ef49a396877bfbeaefea7dc4f4051e0ccc65
2018-11-05 11:24:41 +08:00