Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f8037913 authored by Eric Biggers's avatar Eric Biggers Committed by Android (Google) Code Review
Browse files

Merge "Make the Factory Reset Protection unit tests work on TV" into udc-dev

parents d319abbb dd9add8e
Loading
Loading
Loading
Loading
+20 −1
Original line number Diff line number Diff line
@@ -39,6 +39,7 @@ import android.content.ComponentName;
import android.content.Context;
import android.content.pm.PackageManager;
import android.content.pm.UserInfo;
import android.content.res.Resources;
import android.hardware.authsecret.IAuthSecret;
import android.hardware.face.FaceManager;
import android.hardware.fingerprint.FingerprintManager;
@@ -97,6 +98,7 @@ public abstract class BaseLockSettingsServiceTests {
    MockLockSettingsContext mContext;
    LockSettingsStorageTestable mStorage;

    Resources mResources;
    FakeGateKeeperService mGateKeeperService;
    NotificationManager mNotificationManager;
    UserManager mUserManager;
@@ -122,6 +124,7 @@ public abstract class BaseLockSettingsServiceTests {

    @Before
    public void setUp_baseServices() throws Exception {
        mResources = createMockResources();
        mGateKeeperService = new FakeGateKeeperService();
        mNotificationManager = mock(NotificationManager.class);
        mUserManager = mock(UserManager.class);
@@ -146,7 +149,7 @@ public abstract class BaseLockSettingsServiceTests {
        LocalServices.addService(WindowManagerInternal.class, mMockWindowManager);

        final Context origContext = InstrumentationRegistry.getContext();
        mContext = new MockLockSettingsContext(origContext,
        mContext = new MockLockSettingsContext(origContext, mResources,
                mSettingsRule.mockContentResolver(origContext), mUserManager, mNotificationManager,
                mDevicePolicyManager, mock(StorageManager.class), mock(TrustManager.class),
                mock(KeyguardManager.class), mFingerprintManager, mFaceManager, mPackageManager);
@@ -245,6 +248,22 @@ public abstract class BaseLockSettingsServiceTests {
        mLocalService = LocalServices.getService(LockSettingsInternal.class);
    }

    private Resources createMockResources() {
        Resources res = mock(Resources.class);

        // Set up some default configs, copied from core/res/res/values/config.xml
        when(res.getBoolean(eq(com.android.internal.R.bool.config_disableLockscreenByDefault)))
                .thenReturn(false);
        when(res.getBoolean(
                eq(com.android.internal.R.bool.config_enableCredentialFactoryResetProtection)))
                .thenReturn(true);
        when(res.getBoolean(eq(com.android.internal.R.bool.config_isMainUserPermanentAdmin)))
                .thenReturn(true);
        when(res.getBoolean(eq(com.android.internal.R.bool.config_strongAuthRequiredOnBoot)))
                .thenReturn(true);
        return res;
    }

    protected void setDeviceProvisioned(boolean provisioned) {
        Settings.Global.putInt(mContext.getContentResolver(),
                Settings.Global.DEVICE_PROVISIONED, provisioned ? 1 : 0);
+3 −2
Original line number Diff line number Diff line
@@ -34,6 +34,7 @@ import android.app.trust.TrustManager;
import android.content.Context;
import android.content.pm.PackageManager;
import android.content.pm.UserInfo;
import android.content.res.Resources;
import android.database.sqlite.SQLiteDatabase;
import android.hardware.face.FaceManager;
import android.hardware.fingerprint.FingerprintManager;
@@ -106,8 +107,8 @@ public class LockSettingsStorageTests {
        when(mockUserManager.getProfileParent(eq(3))).thenReturn(new UserInfo(0, "name", 0));

        MockLockSettingsContext context = new MockLockSettingsContext(origContext,
                mSettingsRule.mockContentResolver(origContext), mockUserManager,
                mock(NotificationManager.class), mock(DevicePolicyManager.class),
                mock(Resources.class), mSettingsRule.mockContentResolver(origContext),
                mockUserManager, mock(NotificationManager.class), mock(DevicePolicyManager.class),
                mock(StorageManager.class), mock(TrustManager.class), mock(KeyguardManager.class),
                mock(FingerprintManager.class), mock(FaceManager.class),
                mock(PackageManager.class));
+14 −6
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@ import android.content.ContextWrapper;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.pm.PackageManager;
import android.content.res.Resources;
import android.hardware.face.FaceManager;
import android.hardware.fingerprint.FingerprintManager;
import android.os.Handler;
@@ -36,6 +37,7 @@ import android.os.storage.StorageManager;

public class MockLockSettingsContext extends ContextWrapper {

    private final Resources mResources;
    private final ContentResolver mContentResolver;
    private final UserManager mUserManager;
    private final NotificationManager mNotificationManager;
@@ -47,13 +49,14 @@ public class MockLockSettingsContext extends ContextWrapper {
    private final FaceManager mFaceManager;
    private final PackageManager mPackageManager;

    public MockLockSettingsContext(Context base, ContentResolver contentResolver,
            UserManager userManager, NotificationManager notificationManager,
            DevicePolicyManager devicePolicyManager, StorageManager storageManager,
            TrustManager trustManager, KeyguardManager keyguardManager,
            FingerprintManager fingerprintManager, FaceManager faceManager,
            PackageManager packageManager) {
    public MockLockSettingsContext(Context base, Resources resources,
            ContentResolver contentResolver, UserManager userManager,
            NotificationManager notificationManager, DevicePolicyManager devicePolicyManager,
            StorageManager storageManager, TrustManager trustManager,
            KeyguardManager keyguardManager, FingerprintManager fingerprintManager,
            FaceManager faceManager, PackageManager packageManager) {
        super(base);
        mResources = resources;
        mContentResolver = contentResolver;
        mUserManager = userManager;
        mNotificationManager = notificationManager;
@@ -66,6 +69,11 @@ public class MockLockSettingsContext extends ContextWrapper {
        mPackageManager = packageManager;
    }

    @Override
    public Resources getResources() {
        return mResources;
    }

    @Override
    public ContentResolver getContentResolver() {
        return mContentResolver;