From 52221d80d20a3148f6b7d1e760f0ae00f0862180 Mon Sep 17 00:00:00 2001 From: Rubin Xu Date: Thu, 9 Feb 2017 11:09:11 +0000 Subject: [PATCH] Do not show key entries used for user authentication flow Bug: 33126414 Test: Enable new authentication flow; go to user credentials in Settings observe no entries related to user authentication are shown. Change-Id: I62e5796cc73213b23ca7809a77082350a883fbee --- .../android/settings/UserCredentialsSettings.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/com/android/settings/UserCredentialsSettings.java b/src/com/android/settings/UserCredentialsSettings.java index c4731822fba..ea9eee9eb13 100644 --- a/src/com/android/settings/UserCredentialsSettings.java +++ b/src/com/android/settings/UserCredentialsSettings.java @@ -264,10 +264,16 @@ public class UserCredentialsSettings extends OptionsMenuFragment implements OnIt final SortedMap aliasMap = new TreeMap<>(); for (final Credential.Type type : Credential.Type.values()) { for (final String alias : keyStore.list(type.prefix, uid)) { - // Do not show work profile keys in user credentials - if (alias.startsWith(LockPatternUtils.PROFILE_KEY_NAME_ENCRYPT) || - alias.startsWith(LockPatternUtils.PROFILE_KEY_NAME_DECRYPT)) { - continue; + if (UserHandle.getAppId(uid) == Process.SYSTEM_UID) { + // Do not show work profile keys in user credentials + if (alias.startsWith(LockPatternUtils.PROFILE_KEY_NAME_ENCRYPT) || + alias.startsWith(LockPatternUtils.PROFILE_KEY_NAME_DECRYPT)) { + continue; + } + // Do not show synthetic password keys in user credential + if (alias.startsWith(LockPatternUtils.SYNTHETIC_PASSWORD_KEY_PREFIX)) { + continue; + } } Credential c = aliasMap.get(alias); if (c == null) {