diff options
3 files changed, 37 insertions, 9 deletions
diff --git a/services/tests/servicestests/src/com/android/server/locksettings/BaseLockSettingsServiceTests.java b/services/tests/servicestests/src/com/android/server/locksettings/BaseLockSettingsServiceTests.java index c9612cd80ac6..ad63da516b15 100644 --- a/services/tests/servicestests/src/com/android/server/locksettings/BaseLockSettingsServiceTests.java +++ b/services/tests/servicestests/src/com/android/server/locksettings/BaseLockSettingsServiceTests.java @@ -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); diff --git a/services/tests/servicestests/src/com/android/server/locksettings/LockSettingsStorageTests.java b/services/tests/servicestests/src/com/android/server/locksettings/LockSettingsStorageTests.java index 05208441e3f2..10ed882f343f 100644 --- a/services/tests/servicestests/src/com/android/server/locksettings/LockSettingsStorageTests.java +++ b/services/tests/servicestests/src/com/android/server/locksettings/LockSettingsStorageTests.java @@ -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)); diff --git a/services/tests/servicestests/src/com/android/server/locksettings/MockLockSettingsContext.java b/services/tests/servicestests/src/com/android/server/locksettings/MockLockSettingsContext.java index 21c367b3a6e2..96d7cbe00429 100644 --- a/services/tests/servicestests/src/com/android/server/locksettings/MockLockSettingsContext.java +++ b/services/tests/servicestests/src/com/android/server/locksettings/MockLockSettingsContext.java @@ -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; @@ -67,6 +70,11 @@ public class MockLockSettingsContext extends ContextWrapper { } @Override + public Resources getResources() { + return mResources; + } + + @Override public ContentResolver getContentResolver() { return mContentResolver; } |