Remove LooperMode.LEGACY from settings/password
Bug: 333831275 Test: atest Change-Id: I34df868ceebf86d320ee5ff8de7657fbb221b9fc
This commit is contained in:
@@ -29,6 +29,7 @@ import android.content.Context;
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.fragment.app.FragmentActivity;
|
||||
import androidx.test.core.app.ApplicationProvider;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.password.ChooseLockTypeDialogFragment.OnLockTypeSelectedListener;
|
||||
@@ -39,13 +40,11 @@ import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.robolectric.RobolectricTestRunner;
|
||||
import org.robolectric.RuntimeEnvironment;
|
||||
import org.robolectric.annotation.Config;
|
||||
import org.robolectric.annotation.LooperMode;
|
||||
import org.robolectric.shadows.ShadowLooper;
|
||||
import org.robolectric.shadows.androidx.fragment.FragmentController;
|
||||
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
@LooperMode(LooperMode.Mode.LEGACY)
|
||||
@Config(shadows = {ShadowAlertDialogCompat.class, ShadowLockPatternUtils.class})
|
||||
public class ChooseLockTypeDialogFragmentTest {
|
||||
|
||||
@@ -54,7 +53,7 @@ public class ChooseLockTypeDialogFragmentTest {
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
mContext = RuntimeEnvironment.application;
|
||||
mContext = ApplicationProvider.getApplicationContext();
|
||||
mFragment = new TestFragment();
|
||||
FragmentController.setupFragment(mFragment, FragmentActivity.class, 0 /* containerViewId */,
|
||||
null /* bundle */);
|
||||
@@ -97,6 +96,7 @@ public class ChooseLockTypeDialogFragmentTest {
|
||||
ChooseLockTypeDialogFragment chooseLockTypeDialogFragment =
|
||||
ChooseLockTypeDialogFragment.newInstance(1234);
|
||||
chooseLockTypeDialogFragment.show(mFragment.getChildFragmentManager(), null);
|
||||
ShadowLooper.idleMainLooper();
|
||||
return ShadowAlertDialogCompat.getLatestAlertDialog();
|
||||
}
|
||||
|
||||
|
@@ -19,8 +19,7 @@ package com.android.settings.password;
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
import static com.google.common.truth.Truth.assertWithMessage;
|
||||
|
||||
import static org.robolectric.RuntimeEnvironment.application;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
@@ -29,6 +28,7 @@ import android.widget.Button;
|
||||
import android.widget.LinearLayout;
|
||||
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
import androidx.test.core.app.ApplicationProvider;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.password.ChooseLockGeneric.ChooseLockGenericFragment;
|
||||
@@ -56,16 +56,15 @@ import org.robolectric.android.controller.ActivityController;
|
||||
import org.robolectric.annotation.Config;
|
||||
import org.robolectric.annotation.Implementation;
|
||||
import org.robolectric.annotation.Implements;
|
||||
import org.robolectric.annotation.LooperMode;
|
||||
import org.robolectric.shadows.ShadowActivity;
|
||||
import org.robolectric.shadows.ShadowDialog;
|
||||
import org.robolectric.shadows.ShadowInputMethodManager;
|
||||
import org.robolectric.shadows.ShadowLooper;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
@LooperMode(LooperMode.Mode.LEGACY)
|
||||
@Config(
|
||||
shadows = {
|
||||
SettingsShadowResources.class,
|
||||
@@ -75,9 +74,11 @@ import java.util.List;
|
||||
ShadowAlertDialogCompat.class
|
||||
})
|
||||
public class SetupChooseLockPasswordTest {
|
||||
private Context mApplication;
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
mApplication = ApplicationProvider.getApplicationContext();
|
||||
SettingsShadowResources.overrideResource(
|
||||
com.android.internal.R.string.config_headlineFontFamily, "");
|
||||
}
|
||||
@@ -92,8 +93,8 @@ public class SetupChooseLockPasswordTest {
|
||||
// Basic test for activity created without crashing
|
||||
final Intent intent =
|
||||
SetupChooseLockPassword.modifyIntentForSetup(
|
||||
application,
|
||||
new IntentBuilder(application).build());
|
||||
mApplication,
|
||||
new IntentBuilder(mApplication).build());
|
||||
|
||||
ActivityController.of(new SetupChooseLockPassword(), intent).setup().get();
|
||||
}
|
||||
@@ -104,6 +105,8 @@ public class SetupChooseLockPasswordTest {
|
||||
Button optionsButton = activity.findViewById(R.id.screen_lock_options);
|
||||
assertThat(optionsButton).isNotNull();
|
||||
optionsButton.performClick();
|
||||
ShadowLooper.idleMainLooper();
|
||||
|
||||
assertThat(ShadowDialog.getLatestDialog()).isNotNull();
|
||||
}
|
||||
|
||||
@@ -118,6 +121,8 @@ public class SetupChooseLockPasswordTest {
|
||||
assertThat(optionsButton).isNotNull();
|
||||
|
||||
optionsButton.performClick();
|
||||
ShadowLooper.idleMainLooper();
|
||||
|
||||
assertThat(ShadowDialog.getLatestDialog()).isNotNull();
|
||||
}
|
||||
|
||||
@@ -135,6 +140,8 @@ public class SetupChooseLockPasswordTest {
|
||||
public void allSecurityOptions_shouldBeShown_When_OptionsButtonIsClicked() {
|
||||
SetupChooseLockPassword activity = createSetupChooseLockPassword();
|
||||
activity.findViewById(R.id.screen_lock_options).performClick();
|
||||
ShadowLooper.idleMainLooper();
|
||||
|
||||
AlertDialog latestAlertDialog = (AlertDialog) ShadowDialog.getLatestDialog();
|
||||
int count = latestAlertDialog.getListView().getCount();
|
||||
assertWithMessage("List items shown").that(count).isEqualTo(3);
|
||||
@@ -145,9 +152,9 @@ public class SetupChooseLockPasswordTest {
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putString("foo", "bar");
|
||||
|
||||
Intent intent = new IntentBuilder(application).build();
|
||||
Intent intent = new IntentBuilder(mApplication).build();
|
||||
intent.putExtra(ChooseLockGenericFragment.EXTRA_CHOOSE_LOCK_GENERIC_EXTRAS, bundle);
|
||||
intent = SetupChooseLockPassword.modifyIntentForSetup(application, intent);
|
||||
intent = SetupChooseLockPassword.modifyIntentForSetup(mApplication, intent);
|
||||
intent.putExtra(ChooseLockGenericFragment.EXTRA_SHOW_OPTIONS_BUTTON, true);
|
||||
|
||||
SetupChooseLockPassword activity =
|
||||
@@ -181,6 +188,8 @@ public class SetupChooseLockPasswordTest {
|
||||
assertThat(skipOrClearButton.getVisibility()).isEqualTo(View.VISIBLE);
|
||||
|
||||
skipOrClearButton.performClick();
|
||||
ShadowLooper.idleMainLooper();
|
||||
|
||||
final AlertDialog chooserDialog = ShadowAlertDialogCompat.getLatestAlertDialog();
|
||||
assertThat(chooserDialog).isNotNull();
|
||||
assertThat(shadowImm.isSoftInputVisible()).isFalse();
|
||||
@@ -208,14 +217,14 @@ public class SetupChooseLockPasswordTest {
|
||||
fragment.updateUi();
|
||||
assertThat(skipOrClearButton.getVisibility()).isEqualTo(View.VISIBLE);
|
||||
assertThat(skipOrClearButton.getText())
|
||||
.isEqualTo(application.getString(R.string.lockpassword_clear_label));
|
||||
.isEqualTo(mApplication.getString(R.string.lockpassword_clear_label));
|
||||
}
|
||||
|
||||
private SetupChooseLockPassword createSetupChooseLockPassword() {
|
||||
final Intent intent =
|
||||
SetupChooseLockPassword.modifyIntentForSetup(
|
||||
application,
|
||||
new IntentBuilder(application).build());
|
||||
mApplication,
|
||||
new IntentBuilder(mApplication).build());
|
||||
intent.putExtra(ChooseLockGenericFragment.EXTRA_SHOW_OPTIONS_BUTTON, true);
|
||||
return ActivityController.of(new SetupChooseLockPassword(), intent).setup().get();
|
||||
}
|
||||
|
@@ -19,9 +19,8 @@ package com.android.settings.password;
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
import static com.google.common.truth.Truth.assertWithMessage;
|
||||
|
||||
import static org.robolectric.RuntimeEnvironment.application;
|
||||
|
||||
import android.content.ComponentName;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.content.res.Resources;
|
||||
@@ -33,6 +32,7 @@ import android.widget.TextView;
|
||||
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
import androidx.fragment.app.FragmentActivity;
|
||||
import androidx.test.core.app.ApplicationProvider;
|
||||
|
||||
import com.android.internal.widget.LockPatternUtils;
|
||||
import com.android.internal.widget.LockPatternView;
|
||||
@@ -58,7 +58,6 @@ import org.robolectric.RobolectricTestRunner;
|
||||
import org.robolectric.Shadows;
|
||||
import org.robolectric.android.controller.ActivityController;
|
||||
import org.robolectric.annotation.Config;
|
||||
import org.robolectric.annotation.LooperMode;
|
||||
import org.robolectric.shadows.ShadowPackageManager;
|
||||
import org.robolectric.util.ReflectionHelpers;
|
||||
import org.robolectric.util.ReflectionHelpers.ClassParameter;
|
||||
@@ -66,23 +65,24 @@ import org.robolectric.util.ReflectionHelpers.ClassParameter;
|
||||
import java.util.Arrays;
|
||||
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
@LooperMode(LooperMode.Mode.LEGACY)
|
||||
@Config(shadows = {ShadowUtils.class, ShadowAlertDialogCompat.class, ShadowLockPatternUtils.class})
|
||||
public class SetupChooseLockPatternTest {
|
||||
private Context mContext;
|
||||
|
||||
private SetupChooseLockPattern mActivity;
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
application.getPackageManager().setComponentEnabledSetting(
|
||||
new ComponentName(application, SetupRedactionInterstitial.class),
|
||||
mContext = ApplicationProvider.getApplicationContext();
|
||||
mContext.getPackageManager().setComponentEnabledSetting(
|
||||
new ComponentName(mContext, SetupRedactionInterstitial.class),
|
||||
PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
|
||||
PackageManager.DONT_KILL_APP);
|
||||
|
||||
final Intent intent =
|
||||
SetupChooseLockPattern.modifyIntentForSetup(
|
||||
application,
|
||||
new IntentBuilder(application)
|
||||
mContext,
|
||||
new IntentBuilder(mContext)
|
||||
.setUserId(UserHandle.myUserId())
|
||||
.build());
|
||||
mActivity = ActivityController.of(new SetupChooseLockPattern(), intent).setup().get();
|
||||
@@ -92,8 +92,8 @@ public class SetupChooseLockPatternTest {
|
||||
public void chooseLockSaved_shouldEnableRedactionInterstitial() {
|
||||
findFragment(mActivity).onChosenLockSaveFinished(false, null);
|
||||
|
||||
ShadowPackageManager spm = Shadows.shadowOf(application.getPackageManager());
|
||||
ComponentName cname = new ComponentName(application, SetupRedactionInterstitial.class);
|
||||
ShadowPackageManager spm = Shadows.shadowOf(mContext.getPackageManager());
|
||||
ComponentName cname = new ComponentName(mContext, SetupRedactionInterstitial.class);
|
||||
final int componentEnabled = spm.getComponentEnabledSettingFlags(cname)
|
||||
& PackageManager.COMPONENT_ENABLED_STATE_ENABLED;
|
||||
assertThat(componentEnabled).isEqualTo(PackageManager.COMPONENT_ENABLED_STATE_ENABLED);
|
||||
@@ -199,14 +199,14 @@ public class SetupChooseLockPatternTest {
|
||||
assertThat(skipOrClearButton.isEnabled()).isTrue();
|
||||
assertThat(skipOrClearButton.getVisibility()).isEqualTo(View.VISIBLE);
|
||||
assertThat(skipOrClearButton.getText())
|
||||
.isEqualTo(application.getString(R.string.skip_label));
|
||||
.isEqualTo(mContext.getString(R.string.skip_label));
|
||||
|
||||
enterPattern();
|
||||
|
||||
assertThat(skipOrClearButton.isEnabled()).isTrue();
|
||||
assertThat(skipOrClearButton.getVisibility()).isEqualTo(View.VISIBLE);
|
||||
assertThat(skipOrClearButton.getText())
|
||||
.isEqualTo(application.getString(R.string.lockpattern_retry_button_text));
|
||||
.isEqualTo(mContext.getString(R.string.lockpattern_retry_button_text));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -217,7 +217,7 @@ public class SetupChooseLockPatternTest {
|
||||
|
||||
assertThat(patternDescription.getVisibility()).isEqualTo(View.VISIBLE);
|
||||
assertThat(patternDescription.getText()).isEqualTo(
|
||||
application.getString(R.string.lockpassword_choose_your_pattern_description));
|
||||
mContext.getString(R.string.lockpassword_choose_your_pattern_description));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -225,7 +225,7 @@ public class SetupChooseLockPatternTest {
|
||||
final CharSequence headerView = mActivity.getTitle();
|
||||
|
||||
assertThat(headerView).isEqualTo(
|
||||
application.getString(R.string.lockpassword_choose_your_pattern_header));
|
||||
mContext.getString(R.string.lockpassword_choose_your_pattern_header));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -235,7 +235,7 @@ public class SetupChooseLockPatternTest {
|
||||
|
||||
assertThat(headerView.getVisibility()).isEqualTo(View.VISIBLE);
|
||||
assertThat(headerView.getText().toString()).isEqualTo(
|
||||
application.getString(R.string.lockpassword_choose_your_pattern_description));
|
||||
mContext.getString(R.string.lockpassword_choose_your_pattern_description));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -248,7 +248,7 @@ public class SetupChooseLockPatternTest {
|
||||
enterPattern();
|
||||
|
||||
assertThat(headerView.getText().toString()).isEqualTo(
|
||||
application.getString(R.string.lockpattern_pattern_entered_header));
|
||||
mContext.getString(R.string.lockpattern_pattern_entered_header));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -260,7 +260,7 @@ public class SetupChooseLockPatternTest {
|
||||
|
||||
assertThat(headerView.getVisibility()).isEqualTo(View.VISIBLE);
|
||||
assertThat(headerView.getText().toString()).isEqualTo(
|
||||
application.getResources().getString(
|
||||
mContext.getResources().getString(
|
||||
R.string.lockpattern_recording_incorrect_too_short,
|
||||
LockPatternUtils.MIN_LOCK_PATTERN_SIZE));
|
||||
}
|
||||
@@ -307,7 +307,7 @@ public class SetupChooseLockPatternTest {
|
||||
nextButton.performClick();
|
||||
|
||||
assertThat(headerView.getText().toString()).isEqualTo(
|
||||
application.getString(R.string.lockpattern_need_to_confirm));
|
||||
mContext.getString(R.string.lockpattern_need_to_confirm));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -324,15 +324,15 @@ public class SetupChooseLockPatternTest {
|
||||
|
||||
// NeedToConfirmStage
|
||||
assertThat(headerView.getText().toString()).isEqualTo(
|
||||
application.getString(R.string.lockpattern_need_to_confirm));
|
||||
mContext.getString(R.string.lockpattern_need_to_confirm));
|
||||
|
||||
enterShortPattern();
|
||||
|
||||
// ConfirmWrongStage
|
||||
assertThat(headerView.getText().toString()).isEqualTo(
|
||||
application.getString(R.string.lockpattern_need_to_unlock_wrong));
|
||||
mContext.getString(R.string.lockpattern_need_to_unlock_wrong));
|
||||
assertThat(nextButton.getText().toString()).isEqualTo(
|
||||
application.getString(R.string.lockpattern_confirm_button_text));
|
||||
mContext.getString(R.string.lockpattern_confirm_button_text));
|
||||
assertThat(nextButton.isEnabled()).isFalse();
|
||||
}
|
||||
|
||||
@@ -350,15 +350,15 @@ public class SetupChooseLockPatternTest {
|
||||
|
||||
// NeedToConfirmStage
|
||||
assertThat(headerView.getText().toString()).isEqualTo(
|
||||
application.getString(R.string.lockpattern_need_to_confirm));
|
||||
mContext.getString(R.string.lockpattern_need_to_confirm));
|
||||
|
||||
enterPattern();
|
||||
|
||||
// ChoiceConfirmedStage
|
||||
assertThat(headerView.getText().toString()).isEqualTo(
|
||||
application.getString(R.string.lockpattern_pattern_confirmed_header));
|
||||
mContext.getString(R.string.lockpattern_pattern_confirmed_header));
|
||||
assertThat(nextButton.getText().toString()).isEqualTo(
|
||||
application.getString(R.string.lockpattern_confirm_button_text));
|
||||
mContext.getString(R.string.lockpattern_confirm_button_text));
|
||||
assertThat(nextButton.isEnabled()).isTrue();
|
||||
}
|
||||
|
||||
|
@@ -46,13 +46,12 @@ import org.mockito.junit.MockitoRule;
|
||||
import org.robolectric.Robolectric;
|
||||
import org.robolectric.RobolectricTestRunner;
|
||||
import org.robolectric.annotation.Config;
|
||||
import org.robolectric.annotation.LooperMode;
|
||||
import org.robolectric.shadow.api.Shadow;
|
||||
import org.robolectric.shadows.ShadowAlertDialog;
|
||||
import org.robolectric.shadows.ShadowApplication;
|
||||
import org.robolectric.shadows.ShadowLooper;
|
||||
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
@LooperMode(LooperMode.Mode.LEGACY)
|
||||
@Config(shadows = {ShadowUtils.class, ShadowAlertDialog.class})
|
||||
public class SetupSkipDialogTest {
|
||||
|
||||
@@ -77,6 +76,7 @@ public class SetupSkipDialogTest {
|
||||
}
|
||||
|
||||
private ShadowAlertDialog getShadowAlertDialog() {
|
||||
ShadowLooper.idleMainLooper();
|
||||
ShadowApplication shadowApplication = Shadow.extract(
|
||||
ApplicationProvider.getApplicationContext());
|
||||
ShadowAlertDialog shadowAlertDialog = shadowApplication.getLatestAlertDialog();
|
||||
|
Reference in New Issue
Block a user