Merge "Fixed remote validation shows SetupRedaction" into main
This commit is contained in:
committed by
Android (Google) Code Review
commit
1a8c84dfb3
@@ -64,6 +64,7 @@ import com.android.internal.widget.LockPatternUtils;
|
||||
import com.android.internal.widget.LockscreenCredential;
|
||||
import com.android.internal.widget.TextViewInputDisabler;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.SetupRedactionInterstitial;
|
||||
import com.android.settingslib.animation.AppearAnimationUtils;
|
||||
import com.android.settingslib.animation.DisappearAnimationUtils;
|
||||
|
||||
@@ -723,6 +724,7 @@ public class ConfirmLockPassword extends ConfirmDeviceCredentialBaseActivity {
|
||||
Intent result = new Intent();
|
||||
if (mRemoteValidation && containsGatekeeperPasswordHandle(resultData)) {
|
||||
result.putExtra(EXTRA_KEY_GK_PW_HANDLE, getGatekeeperPasswordHandle(resultData));
|
||||
SetupRedactionInterstitial.setEnabled(getContext(), true);
|
||||
}
|
||||
mCredentialCheckResultTracker.setResult(/* matched= */ true, result,
|
||||
/* timeoutMs= */ 0, mEffectiveUserId);
|
||||
|
@@ -54,6 +54,7 @@ import com.android.internal.widget.LockPatternView;
|
||||
import com.android.internal.widget.LockPatternView.Cell;
|
||||
import com.android.internal.widget.LockscreenCredential;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.SetupRedactionInterstitial;
|
||||
import com.android.settingslib.animation.AppearAnimationCreator;
|
||||
import com.android.settingslib.animation.AppearAnimationUtils;
|
||||
import com.android.settingslib.animation.DisappearAnimationUtils;
|
||||
@@ -751,6 +752,7 @@ public class ConfirmLockPattern extends ConfirmDeviceCredentialBaseActivity {
|
||||
Intent result = new Intent();
|
||||
if (mRemoteValidation && containsGatekeeperPasswordHandle(resultData)) {
|
||||
result.putExtra(EXTRA_KEY_GK_PW_HANDLE, getGatekeeperPasswordHandle(resultData));
|
||||
SetupRedactionInterstitial.setEnabled(getContext(), true);
|
||||
}
|
||||
mCredentialCheckResultTracker.setResult(/* matched= */ true, result,
|
||||
/* timeoutMs= */ 0, mEffectiveUserId);
|
||||
|
@@ -16,6 +16,8 @@
|
||||
|
||||
package com.android.settings.password;
|
||||
|
||||
import static android.content.pm.PackageManager.COMPONENT_ENABLED_STATE_ENABLED;
|
||||
|
||||
import static com.android.settings.password.ConfirmLockPassword.ConfirmLockPasswordFragment;
|
||||
import static com.android.settings.password.TestUtils.GUESS_INVALID_RESULT;
|
||||
import static com.android.settings.password.TestUtils.GUESS_VALID_RESULT;
|
||||
@@ -42,6 +44,7 @@ import static org.mockito.Mockito.verifyNoInteractions;
|
||||
import android.Manifest;
|
||||
import android.app.KeyguardManager;
|
||||
import android.app.admin.ManagedSubscriptionsPolicy;
|
||||
import android.content.ComponentName;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.os.UserHandle;
|
||||
@@ -55,6 +58,7 @@ import androidx.test.core.app.ApplicationProvider;
|
||||
|
||||
import com.android.internal.widget.LockPatternUtils;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.SetupRedactionInterstitial;
|
||||
import com.android.settings.testutils.shadow.ShadowDevicePolicyManager;
|
||||
import com.android.settings.testutils.shadow.ShadowLockPatternUtils;
|
||||
import com.android.settings.testutils.shadow.ShadowUserManager;
|
||||
@@ -305,6 +309,32 @@ public class ConfirmLockPasswordTest {
|
||||
assertThat(mLockPatternUtils.isSecure(fragment.mEffectiveUserId)).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onChosenLockSaveFinished_setsRedactionInterstitial() throws Exception {
|
||||
// This test verifies that the RedactionInterstitial is available. This is the screen
|
||||
// responsible for allowing the user to show sensitive lockscreen content. This
|
||||
// also allows the Settings tile for RedactionInterstitial to appear in the "anything else"
|
||||
// page during SUW.
|
||||
final ConfirmDeviceCredentialBaseActivity activity =
|
||||
buildConfirmDeviceCredentialBaseActivity(
|
||||
ConfirmLockPassword.class,
|
||||
createRemoteLockscreenValidationIntent(
|
||||
KeyguardManager.PASSWORD, VALID_REMAINING_ATTEMPTS));
|
||||
final ConfirmLockPasswordFragment fragment =
|
||||
(ConfirmLockPasswordFragment) getConfirmDeviceCredentialBaseFragment(activity);
|
||||
final Intent intent = new Intent();
|
||||
intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_GK_PW_HANDLE, 1L);
|
||||
|
||||
fragment.onChosenLockSaveFinished(true, intent);
|
||||
|
||||
final ComponentName componentName =
|
||||
new ComponentName(mContext, SetupRedactionInterstitial.class);
|
||||
final int isEnabled = mContext.getPackageManager()
|
||||
.getComponentEnabledSetting(componentName);
|
||||
|
||||
assertThat(isEnabled).isEqualTo(COMPONENT_ENABLED_STATE_ENABLED);
|
||||
}
|
||||
|
||||
private void triggerHandleNext(
|
||||
ConfirmLockPasswordFragment fragment, ImeAwareEditText passwordEntry) {
|
||||
passwordEntry.setText("Password");
|
||||
|
@@ -16,6 +16,9 @@
|
||||
|
||||
package com.android.settings.password;
|
||||
|
||||
import static android.content.pm.PackageManager.COMPONENT_ENABLED_STATE_ENABLED;
|
||||
|
||||
import static com.android.settings.password.ConfirmLockPattern.ConfirmLockPatternFragment;
|
||||
import static com.android.settings.password.TestUtils.GUESS_INVALID_RESULT;
|
||||
import static com.android.settings.password.TestUtils.GUESS_VALID_RESULT;
|
||||
import static com.android.settings.password.TestUtils.LOCKOUT_RESULT;
|
||||
@@ -39,6 +42,7 @@ import static org.mockito.Mockito.verifyNoInteractions;
|
||||
import android.Manifest;
|
||||
import android.app.KeyguardManager;
|
||||
import android.app.admin.ManagedSubscriptionsPolicy;
|
||||
import android.content.ComponentName;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.os.UserHandle;
|
||||
@@ -51,6 +55,7 @@ import androidx.test.core.app.ApplicationProvider;
|
||||
import com.android.internal.widget.LockPatternUtils;
|
||||
import com.android.internal.widget.LockPatternView;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.SetupRedactionInterstitial;
|
||||
import com.android.settings.testutils.shadow.ShadowDevicePolicyManager;
|
||||
import com.android.settings.testutils.shadow.ShadowLockPatternUtils;
|
||||
import com.android.settings.testutils.shadow.ShadowUserManager;
|
||||
@@ -284,6 +289,32 @@ public class ConfirmLockPatternTest {
|
||||
assertThat(mLockPatternUtils.isSecure(fragment.mEffectiveUserId)).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onChosenLockSaveFinished_setsRedactionInterstitial() throws Exception {
|
||||
// This test verifies that the RedactionInterstitial is available. This is the screen
|
||||
// responsible for allowing the user to show sensitive lockscreen content. This
|
||||
// also allows the Settings tile for RedactionInterstitial to appear in the "anything else"
|
||||
// page during SUW.
|
||||
final ConfirmDeviceCredentialBaseActivity activity =
|
||||
buildConfirmDeviceCredentialBaseActivity(
|
||||
ConfirmLockPattern.class,
|
||||
createRemoteLockscreenValidationIntent(
|
||||
KeyguardManager.PATTERN, VALID_REMAINING_ATTEMPTS));
|
||||
final ConfirmLockPatternFragment fragment = (ConfirmLockPatternFragment)
|
||||
getConfirmDeviceCredentialBaseFragment(activity);
|
||||
final Intent intent = new Intent();
|
||||
intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_GK_PW_HANDLE, 1L);
|
||||
|
||||
fragment.onChosenLockSaveFinished(true, intent);
|
||||
|
||||
final ComponentName componentName =
|
||||
new ComponentName(mContext, SetupRedactionInterstitial.class);
|
||||
final int isEnabled = mContext.getPackageManager()
|
||||
.getComponentEnabledSetting(componentName);
|
||||
|
||||
assertThat(isEnabled).isEqualTo(COMPONENT_ENABLED_STATE_ENABLED);
|
||||
}
|
||||
|
||||
private void triggerOnPatternDetected(LockPatternView lockPatternView) {
|
||||
List<LockPatternView.Cell> pattern = List.of(LockPatternView.Cell.of(0, 0));
|
||||
lockPatternView.setPattern(LockPatternView.DisplayMode.Correct, pattern);
|
||||
|
Reference in New Issue
Block a user