From 846172564e810a6445bf0ea59f8d518d8eb216b4 Mon Sep 17 00:00:00 2001 From: Maurice Lam Date: Mon, 12 Jun 2017 12:15:40 -0700 Subject: [PATCH] Make confirm lock screen use the right theme Test: cd tests/robotests && mma Bug: 62348472 Change-Id: Ie05c2e6adba8450a1092f0fefcad6b003398de7d --- .../confirm_lock_pattern_internal_base.xml | 1 + .../password/ChooseLockSettingsHelper.java | 12 +- .../ConfirmDeviceCredentialBaseActivity.java | 3 +- .../ChooseLockSettingsHelperTest.java | 157 ++++++++++++++++++ .../testutils/shadow/ShadowUserManager.java | 2 +- .../ChooseLockSettingsHelperTest.java | 157 ------------------ 6 files changed, 171 insertions(+), 161 deletions(-) create mode 100644 tests/robotests/src/com/android/settings/password/ChooseLockSettingsHelperTest.java delete mode 100644 tests/unit/src/com/android/settings/password/ChooseLockSettingsHelperTest.java diff --git a/res/layout/confirm_lock_pattern_internal_base.xml b/res/layout/confirm_lock_pattern_internal_base.xml index cd5739e10a0..758fc0da339 100644 --- a/res/layout/confirm_lock_pattern_internal_base.xml +++ b/res/layout/confirm_lock_pattern_internal_base.xml @@ -37,6 +37,7 @@ style="@style/LockPatternIconStyle" android:layout_width="wrap_content" android:layout_height="wrap_content" + android:layout_gravity="?attr/suwGlifHeaderGravity" android:src="@drawable/ic_lock" /> mUserInfos = new SparseArray<>(); diff --git a/tests/unit/src/com/android/settings/password/ChooseLockSettingsHelperTest.java b/tests/unit/src/com/android/settings/password/ChooseLockSettingsHelperTest.java deleted file mode 100644 index e534fb62df1..00000000000 --- a/tests/unit/src/com/android/settings/password/ChooseLockSettingsHelperTest.java +++ /dev/null @@ -1,157 +0,0 @@ -package com.android.settings.password; - - -import static org.mockito.Matchers.anyInt; -import static org.mockito.Matchers.eq; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.times; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; - -import android.app.Activity; -import android.app.admin.DevicePolicyManager; -import android.content.ComponentName; -import android.content.Context; -import android.content.Intent; -import android.os.UserHandle; -import android.os.UserManager; -import android.test.AndroidTestCase; - -import com.android.internal.widget.LockPatternUtils; - -import org.mockito.ArgumentCaptor; - -import java.util.List; - -public class ChooseLockSettingsHelperTest extends AndroidTestCase { - - private static final String SYSTEM_PROPERTY_DEXMAKER_DEXCACHE = "dexmaker.dexcache"; - - @Override - protected void setUp() throws Exception { - super.setUp(); - System.setProperty(SYSTEM_PROPERTY_DEXMAKER_DEXCACHE, getContext().getCacheDir().getPath()); - } - - @Override - protected void tearDown() throws Exception { - super.tearDown(); - System.clearProperty(SYSTEM_PROPERTY_DEXMAKER_DEXCACHE); - } - - public void testlaunchConfirmationActivityWithExternalAndChallenge() { - - final int userId = UserHandle.myUserId(); - final int request = 100; - final long challenge = 10000L; - { - // Test external == true - final boolean external = true; - - final Activity mockActivity = getMockActivity(); - ChooseLockSettingsHelper helper = getChooseLockSettingsHelper(mockActivity); - helper.launchConfirmationActivityWithExternalAndChallenge( - request, // request - "title", - "header", - "description", - external, - challenge, - userId - ); - final ArgumentCaptor intentCaptor = ArgumentCaptor.forClass(Intent.class); - verify(mockActivity, times(1)).startActivity(intentCaptor.capture()); - Intent capturedIntent = getResultIntent(intentCaptor); - - assertEquals(new ComponentName("com.android.settings", - ConfirmLockPattern.InternalActivity.class.getName()), - capturedIntent.getComponent()); - assertFalse(capturedIntent.getBooleanExtra( - ChooseLockSettingsHelper.EXTRA_KEY_RETURN_CREDENTIALS, false)); - assertTrue(capturedIntent.getBooleanExtra( - ChooseLockSettingsHelper.EXTRA_KEY_HAS_CHALLENGE, false)); - assertEquals(challenge, capturedIntent.getLongExtra( - ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE, 0L)); - assertEquals(external, - (capturedIntent.getFlags() & Intent.FLAG_ACTIVITY_FORWARD_RESULT) != 0); - assertEquals(external, capturedIntent.getBooleanExtra( - ConfirmDeviceCredentialBaseFragment.ALLOW_FP_AUTHENTICATION, false)); - assertEquals(external, capturedIntent.getBooleanExtra( - ConfirmDeviceCredentialBaseFragment.DARK_THEME, false)); - assertEquals(external, capturedIntent.getBooleanExtra( - ConfirmDeviceCredentialBaseFragment.SHOW_CANCEL_BUTTON, false)); - assertEquals(external, capturedIntent.getBooleanExtra( - ConfirmDeviceCredentialBaseFragment.SHOW_WHEN_LOCKED, false)); - } - - { - // Test external == false - final boolean external = false; - - final Activity mockActivity = getMockActivity(); - ChooseLockSettingsHelper helper = getChooseLockSettingsHelper(mockActivity); - helper.launchConfirmationActivityWithExternalAndChallenge( - request, // request - "title", - "header", - "description", - external, - challenge, - userId - ); - final ArgumentCaptor intentCaptor = ArgumentCaptor.forClass(Intent.class); - verify(mockActivity, times(1)).startActivityForResult(intentCaptor.capture(), - eq(request)); - Intent capturedIntent = getResultIntent(intentCaptor); - - - assertEquals(new ComponentName("com.android.settings", - ConfirmLockPattern.InternalActivity.class.getName()), - capturedIntent.getComponent()); - assertFalse(capturedIntent.getBooleanExtra( - ChooseLockSettingsHelper.EXTRA_KEY_RETURN_CREDENTIALS, false)); - assertTrue(capturedIntent.getBooleanExtra( - ChooseLockSettingsHelper.EXTRA_KEY_HAS_CHALLENGE, false)); - assertEquals(challenge, capturedIntent.getLongExtra( - ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE, 0L)); - assertEquals(external, - (capturedIntent.getFlags() & Intent.FLAG_ACTIVITY_FORWARD_RESULT) != 0); - assertEquals(external, capturedIntent.getBooleanExtra( - ConfirmDeviceCredentialBaseFragment.ALLOW_FP_AUTHENTICATION, false)); - assertEquals(external, capturedIntent.getBooleanExtra( - ConfirmDeviceCredentialBaseFragment.DARK_THEME, false)); - assertEquals(external, capturedIntent.getBooleanExtra( - ConfirmDeviceCredentialBaseFragment.SHOW_CANCEL_BUTTON, false)); - assertEquals(external, capturedIntent.getBooleanExtra( - ConfirmDeviceCredentialBaseFragment.SHOW_WHEN_LOCKED, false)); - } - } - - - private ChooseLockSettingsHelper getChooseLockSettingsHelper(Activity mockActivity) { - LockPatternUtils mockLockPatternUtils = mock(LockPatternUtils.class); - when(mockLockPatternUtils.getKeyguardStoredPasswordQuality(anyInt())) - .thenReturn(DevicePolicyManager.PASSWORD_QUALITY_SOMETHING); - - ChooseLockSettingsHelper helper = new ChooseLockSettingsHelper(mockActivity); - helper.mLockPatternUtils = mockLockPatternUtils; - return helper; - } - - private Activity getMockActivity() { - Activity mockActivity = mock(Activity.class); - when(mockActivity.getSystemService(Context.USER_SERVICE)) - .thenReturn(getContext().getSystemService(UserManager.class)); - when(mockActivity.getContentResolver()).thenReturn(getContext().getContentResolver()); - when(mockActivity.getIntent()).thenReturn(new Intent()); - return mockActivity; - } - - - - private static Intent getResultIntent(ArgumentCaptor intentCaptor) { - List capturedIntents = intentCaptor.getAllValues(); - assertEquals(1, capturedIntents.size()); - return capturedIntents.get(0); - } -}