diff --git a/src/com/android/settings/biometrics/combination/BiometricFaceProfileStatusPreferenceController.java b/src/com/android/settings/biometrics/combination/BiometricFaceProfileStatusPreferenceController.java index 1dbfa645446..d918bc8d918 100644 --- a/src/com/android/settings/biometrics/combination/BiometricFaceProfileStatusPreferenceController.java +++ b/src/com/android/settings/biometrics/combination/BiometricFaceProfileStatusPreferenceController.java @@ -32,7 +32,7 @@ public class BiometricFaceProfileStatusPreferenceController extends @Override protected boolean isUserSupported() { return mProfileChallengeUserId != UserHandle.USER_NULL - && mLockPatternUtils.isSeparateProfileChallengeAllowed(mProfileChallengeUserId); + && mUm.isManagedProfile(mProfileChallengeUserId); } @Override diff --git a/src/com/android/settings/biometrics/combination/BiometricFingerprintProfileStatusPreferenceController.java b/src/com/android/settings/biometrics/combination/BiometricFingerprintProfileStatusPreferenceController.java index 5477c9dca2e..45305e10d04 100644 --- a/src/com/android/settings/biometrics/combination/BiometricFingerprintProfileStatusPreferenceController.java +++ b/src/com/android/settings/biometrics/combination/BiometricFingerprintProfileStatusPreferenceController.java @@ -32,7 +32,7 @@ public class BiometricFingerprintProfileStatusPreferenceController extends @Override protected boolean isUserSupported() { return mProfileChallengeUserId != UserHandle.USER_NULL - && mLockPatternUtils.isSeparateProfileChallengeAllowed(mProfileChallengeUserId); + && mUm.isManagedProfile(mProfileChallengeUserId); } @Override diff --git a/src/com/android/settings/biometrics/combination/CombinedBiometricProfileStatusPreferenceController.java b/src/com/android/settings/biometrics/combination/CombinedBiometricProfileStatusPreferenceController.java index e9cbcd8e763..bb67d020938 100644 --- a/src/com/android/settings/biometrics/combination/CombinedBiometricProfileStatusPreferenceController.java +++ b/src/com/android/settings/biometrics/combination/CombinedBiometricProfileStatusPreferenceController.java @@ -40,7 +40,7 @@ public class CombinedBiometricProfileStatusPreferenceController extends @Override protected boolean isUserSupported() { return mProfileChallengeUserId != UserHandle.USER_NULL - && mLockPatternUtils.isSeparateProfileChallengeAllowed(mProfileChallengeUserId); + && mUm.isManagedProfile(mProfileChallengeUserId); } @Override diff --git a/src/com/android/settings/biometrics/face/FaceProfileStatusPreferenceController.java b/src/com/android/settings/biometrics/face/FaceProfileStatusPreferenceController.java index c46ddcf2eea..042907784cf 100644 --- a/src/com/android/settings/biometrics/face/FaceProfileStatusPreferenceController.java +++ b/src/com/android/settings/biometrics/face/FaceProfileStatusPreferenceController.java @@ -50,7 +50,7 @@ public class FaceProfileStatusPreferenceController extends FaceStatusPreferenceC @Override protected boolean isUserSupported() { return mProfileChallengeUserId != UserHandle.USER_NULL - && mLockPatternUtils.isSeparateProfileChallengeAllowed(mProfileChallengeUserId); + && mUm.isManagedProfile(mProfileChallengeUserId); } @Override diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintProfileStatusPreferenceController.java b/src/com/android/settings/biometrics/fingerprint/FingerprintProfileStatusPreferenceController.java index 0d9893d68da..385540d4036 100644 --- a/src/com/android/settings/biometrics/fingerprint/FingerprintProfileStatusPreferenceController.java +++ b/src/com/android/settings/biometrics/fingerprint/FingerprintProfileStatusPreferenceController.java @@ -35,7 +35,7 @@ public class FingerprintProfileStatusPreferenceController @Override protected boolean isUserSupported() { return mProfileChallengeUserId != UserHandle.USER_NULL - && mLockPatternUtils.isSeparateProfileChallengeAllowed(mProfileChallengeUserId); + && mUm.isManagedProfile(mProfileChallengeUserId); } @Override diff --git a/src/com/android/settings/password/SetNewPasswordController.java b/src/com/android/settings/password/SetNewPasswordController.java index ef4ff75497c..ef8a15a1ac7 100644 --- a/src/com/android/settings/password/SetNewPasswordController.java +++ b/src/com/android/settings/password/SetNewPasswordController.java @@ -36,7 +36,6 @@ import android.os.UserManager; import androidx.annotation.VisibleForTesting; -import com.android.internal.widget.LockPatternUtils; import com.android.settings.Utils; /** @@ -68,17 +67,15 @@ final class SetNewPasswordController { public static SetNewPasswordController create(Context context, Ui ui, Intent intent, IBinder activityToken) { // Trying to figure out which user is setting new password. If it is - // ACTION_SET_NEW_PARENT_PROFILE_PASSWORD or the calling user is not allowed to set - // separate profile challenge, it is the current user to set new password. Otherwise, - // it is the user who starts this activity setting new password. - int userId = ActivityManager.getCurrentUser(); + // ACTION_SET_NEW_PARENT_PROFILE_PASSWORD, it is the current user to set + // new password. Otherwise, it is the user who starts this activity + // setting new password. + final int userId; if (ACTION_SET_NEW_PASSWORD.equals(intent.getAction())) { - final int callingUserId = Utils.getSecureTargetUser(activityToken, + userId = Utils.getSecureTargetUser(activityToken, UserManager.get(context), null, intent.getExtras()).getIdentifier(); - final LockPatternUtils lockPatternUtils = new LockPatternUtils(context); - if (lockPatternUtils.isSeparateProfileChallengeAllowed(callingUserId)) { - userId = callingUserId; - } + } else { + userId = ActivityManager.getCurrentUser(); } // Create a wrapper of FingerprintManager for testing, see IFingerPrintManager for details. final FingerprintManager fingerprintManager = Utils.getFingerprintManagerOrNull(context); diff --git a/src/com/android/settings/security/ChangeProfileScreenLockPreferenceController.java b/src/com/android/settings/security/ChangeProfileScreenLockPreferenceController.java index d44c100eaa1..7c946c3c3e2 100644 --- a/src/com/android/settings/security/ChangeProfileScreenLockPreferenceController.java +++ b/src/com/android/settings/security/ChangeProfileScreenLockPreferenceController.java @@ -52,7 +52,7 @@ public class ChangeProfileScreenLockPreferenceController extends public boolean isAvailable() { if (mProfileChallengeUserId == UserHandle.USER_NULL || - !mLockPatternUtils.isSeparateProfileChallengeAllowed(mProfileChallengeUserId)) { + !mUm.isManagedProfile(mProfileChallengeUserId)) { return false; } if (!mLockPatternUtils.isSecure(mProfileChallengeUserId)) { diff --git a/src/com/android/settings/security/LockUnificationPreferenceController.java b/src/com/android/settings/security/LockUnificationPreferenceController.java index 2a9fced9973..798691f0e7e 100644 --- a/src/com/android/settings/security/LockUnificationPreferenceController.java +++ b/src/com/android/settings/security/LockUnificationPreferenceController.java @@ -107,7 +107,7 @@ public class LockUnificationPreferenceController extends AbstractPreferenceContr @Override public boolean isAvailable() { return mProfileUserId != UserHandle.USER_NULL - && mLockPatternUtils.isSeparateProfileChallengeAllowed(mProfileUserId); + && mUm.isManagedProfile(mProfileUserId); } @Override diff --git a/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintProfileStatusPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintProfileStatusPreferenceControllerTest.java index 22ec7d0a1e5..efcba9d9584 100644 --- a/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintProfileStatusPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintProfileStatusPreferenceControllerTest.java @@ -16,8 +16,6 @@ package com.android.settings.biometrics.fingerprint; -import static com.android.settings.core.BasePreferenceController.DISABLED_FOR_USER; - import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.anyInt; @@ -82,27 +80,6 @@ public class FingerprintProfileStatusPreferenceControllerTest { assertThat(mController.getUserId()).isEqualTo(FAKE_PROFILE_USER_ID); } - @Test - public void isUserSupported_separateChallengeAllowed_true() { - when(mLockPatternUtils.isSeparateProfileChallengeAllowed(anyInt())).thenReturn(true); - assertThat(mController.isUserSupported()).isTrue(); - } - - @Test - public void isUserSupported_separateChallengeNotAllowed_false() { - when(mLockPatternUtils.isSeparateProfileChallengeAllowed(anyInt())).thenReturn(false); - - assertThat(mController.isUserSupported()).isFalse(); - } - - @Test - public void getAvailabilityStatus_userNotSupported_DISABLED() { - when(mFingerprintManager.isHardwareDetected()).thenReturn(true); - when(mLockPatternUtils.isSeparateProfileChallengeAllowed(anyInt())).thenReturn(false); - - assertThat(mController.getAvailabilityStatus()).isEqualTo(DISABLED_FOR_USER); - } - @Test public void getPreferenceKey_byDefault_returnsDefaultValue() { mController = new FingerprintProfileStatusPreferenceController(mContext); diff --git a/tests/robotests/src/com/android/settings/security/LockUnificationPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/security/LockUnificationPreferenceControllerTest.java index 8a65e140467..123bf34657a 100644 --- a/tests/robotests/src/com/android/settings/security/LockUnificationPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/security/LockUnificationPreferenceControllerTest.java @@ -83,22 +83,6 @@ public class LockUnificationPreferenceControllerTest { assertThat(mController.isAvailable()).isFalse(); } - @Test - public void isAvailable_separateChallengeNotAllowed_false() { - when(mLockPatternUtils.isSeparateProfileChallengeAllowed(anyInt())).thenReturn(false); - init(); - - assertThat(mController.isAvailable()).isFalse(); - } - - @Test - public void isAvailable_separateChallengeAllowed_true() { - when(mLockPatternUtils.isSeparateProfileChallengeAllowed(anyInt())).thenReturn(true); - init(); - - assertThat(mController.isAvailable()).isTrue(); - } - @Test public void getPreferenceKey_byDefault_returnsDefaultValue() { init();