Inject different User IDs into biometric utils

Test: atest SettingsUnitTests

Bug: 222217132
Change-Id: I7939d78817f53814d0f8fb4636231a4833fbe26a
This commit is contained in:
Yuri Ufimtsev
2022-03-07 09:20:57 +00:00
parent bdd37ce348
commit f15bebe6c3
13 changed files with 38 additions and 25 deletions

View File

@@ -37,7 +37,11 @@ import com.android.settingslib.transition.SettingsTransitionHelper;
*/ */
public class BiometricNavigationUtils { public class BiometricNavigationUtils {
private final int mUserId = UserHandle.myUserId(); private final int mUserId;
public BiometricNavigationUtils(int userId) {
mUserId = userId;
}
/** /**
* Tries to launch the Settings screen if Quiet Mode is not enabled * Tries to launch the Settings screen if Quiet Mode is not enabled

View File

@@ -60,7 +60,7 @@ public abstract class BiometricStatusPreferenceController extends BasePreference
.getSecurityFeatureProvider() .getSecurityFeatureProvider()
.getLockPatternUtils(context); .getLockPatternUtils(context);
mProfileChallengeUserId = Utils.getManagedProfileId(mUm, mUserId); mProfileChallengeUserId = Utils.getManagedProfileId(mUm, mUserId);
mBiometricNavigationUtils = new BiometricNavigationUtils(); mBiometricNavigationUtils = new BiometricNavigationUtils(getUserId());
} }
@Override @Override

View File

@@ -56,7 +56,7 @@ public class CombinedBiometricStatusPreferenceController extends
public CombinedBiometricStatusPreferenceController( public CombinedBiometricStatusPreferenceController(
Context context, String key, Lifecycle lifecycle) { Context context, String key, Lifecycle lifecycle) {
super(context, key); super(context, key);
mCombinedBiometricStatusUtils = new CombinedBiometricStatusUtils(context); mCombinedBiometricStatusUtils = new CombinedBiometricStatusUtils(context, getUserId());
if (lifecycle != null) { if (lifecycle != null) {
lifecycle.addObserver(this); lifecycle.addObserver(this);

View File

@@ -20,7 +20,6 @@ import android.content.Context;
import android.hardware.biometrics.BiometricAuthenticator; import android.hardware.biometrics.BiometricAuthenticator;
import android.hardware.face.FaceManager; import android.hardware.face.FaceManager;
import android.hardware.fingerprint.FingerprintManager; import android.hardware.fingerprint.FingerprintManager;
import android.os.UserHandle;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
@@ -35,17 +34,18 @@ import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
*/ */
public class CombinedBiometricStatusUtils { public class CombinedBiometricStatusUtils {
private final int mUserId = UserHandle.myUserId(); private final int mUserId;
private final Context mContext; private final Context mContext;
@Nullable @Nullable
FingerprintManager mFingerprintManager; FingerprintManager mFingerprintManager;
@Nullable @Nullable
FaceManager mFaceManager; FaceManager mFaceManager;
public CombinedBiometricStatusUtils(Context context) { public CombinedBiometricStatusUtils(Context context, int userId) {
mContext = context; mContext = context;
mFingerprintManager = Utils.getFingerprintManagerOrNull(context); mFingerprintManager = Utils.getFingerprintManagerOrNull(context);
mFaceManager = Utils.getFaceManagerOrNull(context); mFaceManager = Utils.getFaceManagerOrNull(context);
mUserId = userId;
} }
/** /**

View File

@@ -57,7 +57,7 @@ public class FaceStatusPreferenceController extends BiometricStatusPreferenceCon
public FaceStatusPreferenceController(Context context, String key, Lifecycle lifecycle) { public FaceStatusPreferenceController(Context context, String key, Lifecycle lifecycle) {
super(context, key); super(context, key);
mFaceManager = Utils.getFaceManagerOrNull(context); mFaceManager = Utils.getFaceManagerOrNull(context);
mFaceStatusUtils = new FaceStatusUtils(context, mFaceManager); mFaceStatusUtils = new FaceStatusUtils(context, mFaceManager, getUserId());
if (lifecycle != null) { if (lifecycle != null) {
lifecycle.addObserver(this); lifecycle.addObserver(this);

View File

@@ -19,7 +19,6 @@ package com.android.settings.biometrics.face;
import android.content.Context; import android.content.Context;
import android.hardware.biometrics.BiometricAuthenticator; import android.hardware.biometrics.BiometricAuthenticator;
import android.hardware.face.FaceManager; import android.hardware.face.FaceManager;
import android.os.UserHandle;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.Settings; import com.android.settings.Settings;
@@ -32,13 +31,14 @@ import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
*/ */
public class FaceStatusUtils { public class FaceStatusUtils {
private final int mUserId = UserHandle.myUserId(); private final int mUserId;
private final Context mContext; private final Context mContext;
private final FaceManager mFaceManager; private final FaceManager mFaceManager;
public FaceStatusUtils(Context context, FaceManager faceManager) { public FaceStatusUtils(Context context, FaceManager faceManager, int userId) {
mContext = context; mContext = context;
mFaceManager = faceManager; mFaceManager = faceManager;
mUserId = userId;
} }
/** /**

View File

@@ -58,7 +58,7 @@ public class FingerprintStatusPreferenceController extends BiometricStatusPrefer
super(context, key); super(context, key);
mFingerprintManager = Utils.getFingerprintManagerOrNull(context); mFingerprintManager = Utils.getFingerprintManagerOrNull(context);
mFingerprintStatusUtils = mFingerprintStatusUtils =
new FingerprintStatusUtils(context, mFingerprintManager); new FingerprintStatusUtils(context, mFingerprintManager, getUserId());
if (lifecycle != null) { if (lifecycle != null) {
lifecycle.addObserver(this); lifecycle.addObserver(this);

View File

@@ -19,7 +19,6 @@ package com.android.settings.biometrics.fingerprint;
import android.content.Context; import android.content.Context;
import android.hardware.biometrics.BiometricAuthenticator; import android.hardware.biometrics.BiometricAuthenticator;
import android.hardware.fingerprint.FingerprintManager; import android.hardware.fingerprint.FingerprintManager;
import android.os.UserHandle;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.Utils; import com.android.settings.Utils;
@@ -31,13 +30,15 @@ import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
*/ */
public class FingerprintStatusUtils { public class FingerprintStatusUtils {
private final int mUserId = UserHandle.myUserId(); private final int mUserId;
private final Context mContext; private final Context mContext;
private final FingerprintManager mFingerprintManager; private final FingerprintManager mFingerprintManager;
public FingerprintStatusUtils(Context context, FingerprintManager fingerprintManager) { public FingerprintStatusUtils(Context context, FingerprintManager fingerprintManager,
int userId) {
mContext = context; mContext = context;
mFingerprintManager = fingerprintManager; mFingerprintManager = fingerprintManager;
mUserId = userId;
} }
/** /**

View File

@@ -22,6 +22,7 @@ import android.content.Intent;
import android.hardware.face.FaceManager; import android.hardware.face.FaceManager;
import android.hardware.fingerprint.FingerprintManager; import android.hardware.fingerprint.FingerprintManager;
import android.os.Bundle; import android.os.Bundle;
import android.os.UserHandle;
import android.safetycenter.SafetyEvent; import android.safetycenter.SafetyEvent;
import android.safetycenter.SafetySourceData; import android.safetycenter.SafetySourceData;
import android.safetycenter.SafetySourceStatus; import android.safetycenter.SafetySourceStatus;
@@ -47,9 +48,12 @@ public final class BiometricsSafetySource {
return; return;
} }
final BiometricNavigationUtils biometricNavigationUtils = new BiometricNavigationUtils(); final int userId = UserHandle.myUserId();
final BiometricNavigationUtils biometricNavigationUtils = new BiometricNavigationUtils(
userId);
final CombinedBiometricStatusUtils combinedBiometricStatusUtils = final CombinedBiometricStatusUtils combinedBiometricStatusUtils =
new CombinedBiometricStatusUtils(context); new CombinedBiometricStatusUtils(context, userId);
if (combinedBiometricStatusUtils.isAvailable()) { if (combinedBiometricStatusUtils.isAvailable()) {
final RestrictedLockUtils.EnforcedAdmin disablingAdmin = final RestrictedLockUtils.EnforcedAdmin disablingAdmin =
@@ -66,7 +70,7 @@ public final class BiometricsSafetySource {
} }
final FaceManager faceManager = Utils.getFaceManagerOrNull(context); final FaceManager faceManager = Utils.getFaceManagerOrNull(context);
final FaceStatusUtils faceStatusUtils = new FaceStatusUtils(context, faceManager); final FaceStatusUtils faceStatusUtils = new FaceStatusUtils(context, faceManager, userId);
if (faceStatusUtils.isAvailable()) { if (faceStatusUtils.isAvailable()) {
final RestrictedLockUtils.EnforcedAdmin disablingAdmin = final RestrictedLockUtils.EnforcedAdmin disablingAdmin =
@@ -85,7 +89,7 @@ public final class BiometricsSafetySource {
final FingerprintManager fingerprintManager = Utils.getFingerprintManagerOrNull(context); final FingerprintManager fingerprintManager = Utils.getFingerprintManagerOrNull(context);
final FingerprintStatusUtils fingerprintStatusUtils = new FingerprintStatusUtils(context, final FingerprintStatusUtils fingerprintStatusUtils = new FingerprintStatusUtils(context,
fingerprintManager); fingerprintManager, userId);
if (fingerprintStatusUtils.isAvailable()) { if (fingerprintStatusUtils.isAvailable()) {
final RestrictedLockUtils.EnforcedAdmin disablingAdmin = final RestrictedLockUtils.EnforcedAdmin disablingAdmin =

View File

@@ -64,7 +64,7 @@ public class BiometricNavigationUtilsTest {
mContext = spy(ApplicationProvider.getApplicationContext()); mContext = spy(ApplicationProvider.getApplicationContext());
when(mContext.getSystemService(UserManager.class)).thenReturn(mUserManager); when(mContext.getSystemService(UserManager.class)).thenReturn(mUserManager);
doNothing().when(mContext).startActivity(any()); doNothing().when(mContext).startActivity(any());
mBiometricNavigationUtils = new BiometricNavigationUtils(); mBiometricNavigationUtils = new BiometricNavigationUtils(UserHandle.myUserId());
} }
@Test @Test

View File

@@ -56,7 +56,8 @@ public class CombinedBiometricStatusUtilsTest {
private static final ComponentName COMPONENT_NAME = private static final ComponentName COMPONENT_NAME =
new ComponentName("package", "class"); new ComponentName("package", "class");
private static final UserHandle USER_HANDLE = new UserHandle(UserHandle.myUserId()); private static final int USER_ID = UserHandle.myUserId();
private static final UserHandle USER_HANDLE = new UserHandle(USER_ID);;
@Mock @Mock
@@ -85,7 +86,8 @@ public class CombinedBiometricStatusUtilsTest {
when(mApplicationContext.getSystemService(Context.DEVICE_POLICY_SERVICE)) when(mApplicationContext.getSystemService(Context.DEVICE_POLICY_SERVICE))
.thenReturn(mDevicePolicyManager); .thenReturn(mDevicePolicyManager);
when(mApplicationContext.getSystemService(Context.FACE_SERVICE)).thenReturn(mFaceManager); when(mApplicationContext.getSystemService(Context.FACE_SERVICE)).thenReturn(mFaceManager);
mCombinedBiometricStatusUtils = new CombinedBiometricStatusUtils(mApplicationContext); mCombinedBiometricStatusUtils = new CombinedBiometricStatusUtils(
mApplicationContext, USER_ID);
} }
@Test @Test

View File

@@ -49,7 +49,8 @@ public class FaceStatusUtilsTest {
private static final ComponentName COMPONENT_NAME = private static final ComponentName COMPONENT_NAME =
new ComponentName("package", "class"); new ComponentName("package", "class");
private static final UserHandle USER_HANDLE = new UserHandle(UserHandle.myUserId()); private static final int USER_ID = UserHandle.myUserId();
private static final UserHandle USER_HANDLE = new UserHandle(USER_ID);
@Mock @Mock
@@ -78,7 +79,7 @@ public class FaceStatusUtilsTest {
when(mApplicationContext.getSystemService(Context.DEVICE_POLICY_SERVICE)) when(mApplicationContext.getSystemService(Context.DEVICE_POLICY_SERVICE))
.thenReturn(mDevicePolicyManager); .thenReturn(mDevicePolicyManager);
when(mApplicationContext.getSystemService(Context.FACE_SERVICE)).thenReturn(mFaceManager); when(mApplicationContext.getSystemService(Context.FACE_SERVICE)).thenReturn(mFaceManager);
mFaceStatusUtils = new FaceStatusUtils(mApplicationContext, mFaceManager); mFaceStatusUtils = new FaceStatusUtils(mApplicationContext, mFaceManager, USER_ID);
} }
@Test @Test

View File

@@ -52,7 +52,8 @@ public class FingerprintStatusUtilsTest {
private static final ComponentName COMPONENT_NAME = private static final ComponentName COMPONENT_NAME =
new ComponentName("package", "class"); new ComponentName("package", "class");
private static final UserHandle USER_HANDLE = new UserHandle(UserHandle.myUserId()); private static final int USER_ID = UserHandle.myUserId();
private static final UserHandle USER_HANDLE = new UserHandle(USER_ID);
@Mock @Mock
@@ -82,7 +83,7 @@ public class FingerprintStatusUtilsTest {
.thenReturn(mDevicePolicyManager); .thenReturn(mDevicePolicyManager);
when(mApplicationContext.getSystemService(Context.FACE_SERVICE)).thenReturn(mFaceManager); when(mApplicationContext.getSystemService(Context.FACE_SERVICE)).thenReturn(mFaceManager);
mFingerprintStatusUtils = mFingerprintStatusUtils =
new FingerprintStatusUtils(mApplicationContext, mFingerprintManager); new FingerprintStatusUtils(mApplicationContext, mFingerprintManager, USER_ID);
} }
@Test @Test