Merge "Add FLAG_SECURE for ChooseLockPassword and Pattern" into tm-qpr-dev am: 2cd733dcdb
am: d208da6546
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/19553474 Change-Id: I815b5f1af564e64e73cbc352b7b1cd233bd64537 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -69,6 +69,7 @@ import android.view.KeyEvent;
|
|||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
import android.view.WindowManager;
|
||||||
import android.view.inputmethod.EditorInfo;
|
import android.view.inputmethod.EditorInfo;
|
||||||
import android.widget.ImeAwareEditText;
|
import android.widget.ImeAwareEditText;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
@@ -214,6 +215,7 @@ public class ChooseLockPassword extends SettingsActivity {
|
|||||||
ThemeHelper.trySetDynamicColor(this);
|
ThemeHelper.trySetDynamicColor(this);
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
findViewById(R.id.content_parent).setFitsSystemWindows(false);
|
findViewById(R.id.content_parent).setFitsSystemWindows(false);
|
||||||
|
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class ChooseLockPasswordFragment extends InstrumentedFragment
|
public static class ChooseLockPasswordFragment extends InstrumentedFragment
|
||||||
|
@@ -41,6 +41,7 @@ import android.view.LayoutInflater;
|
|||||||
import android.view.MotionEvent;
|
import android.view.MotionEvent;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
import android.view.WindowManager;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import androidx.fragment.app.Fragment;
|
import androidx.fragment.app.Fragment;
|
||||||
@@ -175,6 +176,7 @@ public class ChooseLockPattern extends SettingsActivity {
|
|||||||
ThemeHelper.trySetDynamicColor(this);
|
ThemeHelper.trySetDynamicColor(this);
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
findViewById(R.id.content_parent).setFitsSystemWindows(false);
|
findViewById(R.id.content_parent).setFitsSystemWindows(false);
|
||||||
|
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -27,6 +27,7 @@ import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_NUMERIC;
|
|||||||
import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_NUMERIC_COMPLEX;
|
import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_NUMERIC_COMPLEX;
|
||||||
import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_SOMETHING;
|
import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_SOMETHING;
|
||||||
import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED;
|
import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED;
|
||||||
|
import static android.view.WindowManager.LayoutParams.FLAG_SECURE;
|
||||||
|
|
||||||
import static com.android.internal.widget.LockPatternUtils.PASSWORD_TYPE_KEY;
|
import static com.android.internal.widget.LockPatternUtils.PASSWORD_TYPE_KEY;
|
||||||
import static com.android.settings.password.ChooseLockGeneric.CONFIRM_CREDENTIALS;
|
import static com.android.settings.password.ChooseLockGeneric.CONFIRM_CREDENTIALS;
|
||||||
@@ -158,6 +159,21 @@ public class ChooseLockPasswordTest {
|
|||||||
.isNotNull();
|
.isNotNull();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void activity_shouldHaveSecureFlag() {
|
||||||
|
PasswordPolicy policy = new PasswordPolicy();
|
||||||
|
policy.quality = PASSWORD_QUALITY_ALPHABETIC;
|
||||||
|
policy.length = 10;
|
||||||
|
|
||||||
|
Intent intent = createIntentForPasswordValidation(
|
||||||
|
/* minMetrics */ policy.getMinMetrics(),
|
||||||
|
/* minComplexity= */ PASSWORD_COMPLEXITY_NONE,
|
||||||
|
/* passwordType= */ PASSWORD_QUALITY_ALPHABETIC);
|
||||||
|
ChooseLockPassword activity = buildChooseLockPasswordActivity(intent);
|
||||||
|
final int flags = activity.getWindow().getAttributes().flags;
|
||||||
|
assertThat(flags & FLAG_SECURE).isEqualTo(FLAG_SECURE);
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void processAndValidatePasswordRequirements_noMinPasswordComplexity() {
|
public void processAndValidatePasswordRequirements_noMinPasswordComplexity() {
|
||||||
PasswordPolicy policy = new PasswordPolicy();
|
PasswordPolicy policy = new PasswordPolicy();
|
||||||
|
@@ -16,6 +16,8 @@
|
|||||||
|
|
||||||
package com.android.settings.password;
|
package com.android.settings.password;
|
||||||
|
|
||||||
|
import static android.view.WindowManager.LayoutParams.FLAG_SECURE;
|
||||||
|
|
||||||
import static com.google.common.truth.Truth.assertThat;
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
import static com.google.common.truth.Truth.assertWithMessage;
|
import static com.google.common.truth.Truth.assertWithMessage;
|
||||||
|
|
||||||
@@ -107,6 +109,14 @@ public class ChooseLockPatternTest {
|
|||||||
assertThat(iconView.getVisibility()).isEqualTo(View.GONE);
|
assertThat(iconView.getVisibility()).isEqualTo(View.GONE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void activity_shouldHaveSecureFlag() {
|
||||||
|
final ChooseLockPattern activity = Robolectric.buildActivity(
|
||||||
|
ChooseLockPattern.class, new IntentBuilder(application).build()).setup().get();
|
||||||
|
final int flags = activity.getWindow().getAttributes().flags;
|
||||||
|
assertThat(flags & FLAG_SECURE).isEqualTo(FLAG_SECURE);
|
||||||
|
}
|
||||||
|
|
||||||
private ChooseLockPattern createActivity(boolean addFingerprintExtra) {
|
private ChooseLockPattern createActivity(boolean addFingerprintExtra) {
|
||||||
return Robolectric.buildActivity(
|
return Robolectric.buildActivity(
|
||||||
ChooseLockPattern.class,
|
ChooseLockPattern.class,
|
||||||
|
Reference in New Issue
Block a user