Loading src/com/android/settings/password/ChooseLockGeneric.java +8 −0 Original line number Diff line number Diff line Loading @@ -200,6 +200,14 @@ public class ChooseLockGeneric extends SettingsActivity { return SettingsEnums.CHOOSE_LOCK_GENERIC; } @Override public void onPause() { super.onPause(); if (!getActivity().isChangingConfigurations() && !mWaitingForConfirmation) { finish(); } } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Loading src/com/android/settings/password/ChooseLockPassword.java +7 −0 Original line number Diff line number Diff line Loading @@ -219,6 +219,13 @@ public class ChooseLockPassword extends SettingsActivity { findViewById(R.id.content_parent).setFitsSystemWindows(false); getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE); } @Override public void onPause() { super.onPause(); if (!isChangingConfigurations()) { finish(); } } public static class ChooseLockPasswordFragment extends InstrumentedFragment implements OnEditorActionListener, TextWatcher, SaveAndFinishWorker.Listener { Loading src/com/android/settings/password/ChooseLockPattern.java +8 −0 Original line number Diff line number Diff line Loading @@ -98,6 +98,14 @@ public class ChooseLockPattern extends SettingsActivity { return modIntent; } @Override public void onPause() { super.onPause(); if (!isChangingConfigurations()) { finish(); } } public static class IntentBuilder { private final Intent mIntent; Loading tests/robotests/src/com/android/settings/password/ChooseLockGenericTest.java +20 −4 Original line number Diff line number Diff line Loading @@ -54,7 +54,9 @@ import android.os.Bundle; import android.provider.Settings.Global; import androidx.annotation.Nullable; import androidx.lifecycle.Lifecycle; import androidx.preference.Preference; import androidx.test.core.app.ActivityScenario; import com.android.internal.widget.LockPatternUtils; import com.android.internal.widget.LockscreenCredential; Loading Loading @@ -613,15 +615,29 @@ public class ChooseLockGenericTest { mFragment.getString(R.string.face_unlock_set_unlock_password)); } @Test public void activity_dismisses_InBackground() { ActivityScenario<ChooseLockPassword> scenario = ActivityScenario.launchActivityForResult(getChooseLockGenericIntent(null)); scenario.moveToState(Lifecycle.State.RESUMED); scenario.moveToState(Lifecycle.State.CREATED); assertThat(scenario.getResult()).isNotNull(); } private void initActivity(@Nullable Intent intent) { final Intent theIntent = getChooseLockGenericIntent(intent); // TODO(b/275023433) This presents the activity from being made 'visible` is workaround mActivity = Robolectric.buildActivity(ChooseLockGeneric.InternalActivity.class, theIntent) .create().start().postCreate(null).resume().get(); mActivity.getSupportFragmentManager().beginTransaction().add(mFragment, null).commitNow(); } private Intent getChooseLockGenericIntent(@Nullable Intent intent) { if (intent == null) { intent = new Intent(); } intent.putExtra(ChooseLockGeneric.CONFIRM_CREDENTIALS, false); // TODO(b/275023433) This presents the activity from being made 'visible` is workaround mActivity = Robolectric.buildActivity(ChooseLockGeneric.InternalActivity.class, intent) .create().start().postCreate(null).resume().get(); mActivity.getSupportFragmentManager().beginTransaction().add(mFragment, null).commitNow(); return intent; } private static String capitalize(final String input) { Loading tests/robotests/src/com/android/settings/password/ChooseLockPasswordTest.java +23 −5 Original line number Diff line number Diff line Loading @@ -47,6 +47,9 @@ import android.view.View; import android.widget.CheckBox; import android.widget.TextView; import androidx.lifecycle.Lifecycle; import androidx.test.core.app.ActivityScenario; import com.android.internal.widget.LockscreenCredential; import com.android.settings.R; import com.android.settings.password.ChooseLockPassword.ChooseLockPasswordFragment; Loading Loading @@ -515,16 +518,31 @@ public class ChooseLockPasswordTest { assertThat(pinAutoConfirmOption.isChecked()).isFalse(); } @Test public void activity_dismisses_InBackground() { ActivityScenario<ChooseLockPassword> scenario = ActivityScenario.launchActivityForResult(getLockPasswordIntent()); scenario.moveToState(Lifecycle.State.RESUMED); scenario.moveToState(Lifecycle.State.CREATED); assertThat(scenario.getResult()).isNotNull(); } private ChooseLockPassword setupActivityWithPinTypeAndDefaultPolicy() { PasswordPolicy policy = new PasswordPolicy(); policy.quality = PASSWORD_QUALITY_UNSPECIFIED; return buildChooseLockPasswordActivity( new IntentBuilder(application) getLockPasswordIntent()); } private Intent getLockPasswordIntent() { PasswordPolicy policy = new PasswordPolicy(); policy.quality = PASSWORD_QUALITY_UNSPECIFIED; return new IntentBuilder(application) .setUserId(UserHandle.myUserId()) .setPasswordType(PASSWORD_QUALITY_NUMERIC) .setPasswordRequirement(PASSWORD_COMPLEXITY_NONE, policy.getMinMetrics()) .build()); .build(); } private ChooseLockPassword buildChooseLockPasswordActivity(Intent intent) { Loading Loading
src/com/android/settings/password/ChooseLockGeneric.java +8 −0 Original line number Diff line number Diff line Loading @@ -200,6 +200,14 @@ public class ChooseLockGeneric extends SettingsActivity { return SettingsEnums.CHOOSE_LOCK_GENERIC; } @Override public void onPause() { super.onPause(); if (!getActivity().isChangingConfigurations() && !mWaitingForConfirmation) { finish(); } } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Loading
src/com/android/settings/password/ChooseLockPassword.java +7 −0 Original line number Diff line number Diff line Loading @@ -219,6 +219,13 @@ public class ChooseLockPassword extends SettingsActivity { findViewById(R.id.content_parent).setFitsSystemWindows(false); getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE); } @Override public void onPause() { super.onPause(); if (!isChangingConfigurations()) { finish(); } } public static class ChooseLockPasswordFragment extends InstrumentedFragment implements OnEditorActionListener, TextWatcher, SaveAndFinishWorker.Listener { Loading
src/com/android/settings/password/ChooseLockPattern.java +8 −0 Original line number Diff line number Diff line Loading @@ -98,6 +98,14 @@ public class ChooseLockPattern extends SettingsActivity { return modIntent; } @Override public void onPause() { super.onPause(); if (!isChangingConfigurations()) { finish(); } } public static class IntentBuilder { private final Intent mIntent; Loading
tests/robotests/src/com/android/settings/password/ChooseLockGenericTest.java +20 −4 Original line number Diff line number Diff line Loading @@ -54,7 +54,9 @@ import android.os.Bundle; import android.provider.Settings.Global; import androidx.annotation.Nullable; import androidx.lifecycle.Lifecycle; import androidx.preference.Preference; import androidx.test.core.app.ActivityScenario; import com.android.internal.widget.LockPatternUtils; import com.android.internal.widget.LockscreenCredential; Loading Loading @@ -613,15 +615,29 @@ public class ChooseLockGenericTest { mFragment.getString(R.string.face_unlock_set_unlock_password)); } @Test public void activity_dismisses_InBackground() { ActivityScenario<ChooseLockPassword> scenario = ActivityScenario.launchActivityForResult(getChooseLockGenericIntent(null)); scenario.moveToState(Lifecycle.State.RESUMED); scenario.moveToState(Lifecycle.State.CREATED); assertThat(scenario.getResult()).isNotNull(); } private void initActivity(@Nullable Intent intent) { final Intent theIntent = getChooseLockGenericIntent(intent); // TODO(b/275023433) This presents the activity from being made 'visible` is workaround mActivity = Robolectric.buildActivity(ChooseLockGeneric.InternalActivity.class, theIntent) .create().start().postCreate(null).resume().get(); mActivity.getSupportFragmentManager().beginTransaction().add(mFragment, null).commitNow(); } private Intent getChooseLockGenericIntent(@Nullable Intent intent) { if (intent == null) { intent = new Intent(); } intent.putExtra(ChooseLockGeneric.CONFIRM_CREDENTIALS, false); // TODO(b/275023433) This presents the activity from being made 'visible` is workaround mActivity = Robolectric.buildActivity(ChooseLockGeneric.InternalActivity.class, intent) .create().start().postCreate(null).resume().get(); mActivity.getSupportFragmentManager().beginTransaction().add(mFragment, null).commitNow(); return intent; } private static String capitalize(final String input) { Loading
tests/robotests/src/com/android/settings/password/ChooseLockPasswordTest.java +23 −5 Original line number Diff line number Diff line Loading @@ -47,6 +47,9 @@ import android.view.View; import android.widget.CheckBox; import android.widget.TextView; import androidx.lifecycle.Lifecycle; import androidx.test.core.app.ActivityScenario; import com.android.internal.widget.LockscreenCredential; import com.android.settings.R; import com.android.settings.password.ChooseLockPassword.ChooseLockPasswordFragment; Loading Loading @@ -515,16 +518,31 @@ public class ChooseLockPasswordTest { assertThat(pinAutoConfirmOption.isChecked()).isFalse(); } @Test public void activity_dismisses_InBackground() { ActivityScenario<ChooseLockPassword> scenario = ActivityScenario.launchActivityForResult(getLockPasswordIntent()); scenario.moveToState(Lifecycle.State.RESUMED); scenario.moveToState(Lifecycle.State.CREATED); assertThat(scenario.getResult()).isNotNull(); } private ChooseLockPassword setupActivityWithPinTypeAndDefaultPolicy() { PasswordPolicy policy = new PasswordPolicy(); policy.quality = PASSWORD_QUALITY_UNSPECIFIED; return buildChooseLockPasswordActivity( new IntentBuilder(application) getLockPasswordIntent()); } private Intent getLockPasswordIntent() { PasswordPolicy policy = new PasswordPolicy(); policy.quality = PASSWORD_QUALITY_UNSPECIFIED; return new IntentBuilder(application) .setUserId(UserHandle.myUserId()) .setPasswordType(PASSWORD_QUALITY_NUMERIC) .setPasswordRequirement(PASSWORD_COMPLEXITY_NONE, policy.getMinMetrics()) .build()); .build(); } private ChooseLockPassword buildChooseLockPasswordActivity(Intent intent) { Loading