diff --git a/tests/robotests/src/com/android/settings/localepicker/LocaleDialogFragmentTest.java b/tests/robotests/src/com/android/settings/localepicker/LocaleDialogFragmentTest.java index c8637c8f108..0fc915f601f 100644 --- a/tests/robotests/src/com/android/settings/localepicker/LocaleDialogFragmentTest.java +++ b/tests/robotests/src/com/android/settings/localepicker/LocaleDialogFragmentTest.java @@ -38,22 +38,26 @@ import com.android.internal.app.LocaleStore; import com.android.settings.testutils.shadow.ShadowAlertDialogCompat; import org.junit.Before; +import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.MockitoAnnotations; +import org.mockito.junit.MockitoJUnit; +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.shadows.ShadowLooper; import java.util.Locale; @RunWith(RobolectricTestRunner.class) @Config(shadows = {ShadowAlertDialogCompat.class}) -@LooperMode(LooperMode.Mode.LEGACY) public class LocaleDialogFragmentTest { + @Rule + public final MockitoRule mMockitoRule = MockitoJUnit.rule(); + @Mock private OnBackInvokedDispatcher mOnBackInvokedDispatcher; @@ -62,8 +66,6 @@ public class LocaleDialogFragmentTest { @Before public void setUp() throws Exception { - MockitoAnnotations.initMocks(this); - mActivity = Robolectric.setupActivity(FragmentActivity.class); mDialogFragment = LocaleDialogFragment.newInstance(); LocaleStore.LocaleInfo localeInfo = LocaleStore.getLocaleInfo(Locale.ENGLISH); @@ -75,6 +77,7 @@ public class LocaleDialogFragmentTest { FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); fragmentTransaction.add(mDialogFragment, null); fragmentTransaction.commit(); + ShadowLooper.idleMainLooper(); } @Test diff --git a/tests/robotests/src/com/android/settings/localepicker/LocaleListEditorTest.java b/tests/robotests/src/com/android/settings/localepicker/LocaleListEditorTest.java index e51f9a3f742..10115399cfd 100644 --- a/tests/robotests/src/com/android/settings/localepicker/LocaleListEditorTest.java +++ b/tests/robotests/src/com/android/settings/localepicker/LocaleListEditorTest.java @@ -57,6 +57,7 @@ import androidx.appcompat.app.AlertDialog; import androidx.fragment.app.FragmentActivity; import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentTransaction; +import androidx.test.core.app.ApplicationProvider; import com.android.internal.app.LocaleStore; import com.android.settings.R; @@ -72,12 +73,12 @@ import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; -import org.mockito.MockitoAnnotations; +import org.mockito.junit.MockitoJUnit; +import org.mockito.junit.MockitoRule; import org.robolectric.Robolectric; 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.util.ReflectionHelpers; import java.util.ArrayList; @@ -90,9 +91,11 @@ import java.util.Locale; ShadowActivityManager.class, com.android.settings.testutils.shadow.ShadowFragment.class, }) -@LooperMode(LooperMode.Mode.LEGACY) public class LocaleListEditorTest { + @Rule + public final MockitoRule mMockitoRule = MockitoJUnit.rule(); + private static final String ARG_DIALOG_TYPE = "arg_dialog_type"; private static final String TAG_DIALOG_CONFIRM_SYSTEM_DEFAULT = "dialog_confirm_system_default"; private static final String TAG_DIALOG_NOT_AVAILABLE = "dialog_not_available_locale"; @@ -147,8 +150,8 @@ public class LocaleListEditorTest { @Before public void setUp() throws Exception { - MockitoAnnotations.initMocks(this); - mContext = spy(RuntimeEnvironment.application); + Context context = ApplicationProvider.getApplicationContext(); + mContext = spy(context); mLocaleListEditor = spy(new LocaleListEditor()); when(mLocaleListEditor.getContext()).thenReturn(mContext); mActivity = spy(Robolectric.buildActivity(FragmentActivity.class).get()); @@ -156,11 +159,11 @@ public class LocaleListEditorTest { when(mLocaleListEditor.getNotificationController()).thenReturn( mNotificationController); ReflectionHelpers.setField(mLocaleListEditor, "mEmptyTextView", - new TextView(RuntimeEnvironment.application)); + new TextView(context)); ReflectionHelpers.setField(mLocaleListEditor, "mRestrictionsManager", - RuntimeEnvironment.application.getSystemService(Context.RESTRICTIONS_SERVICE)); + context.getSystemService(Context.RESTRICTIONS_SERVICE)); ReflectionHelpers.setField(mLocaleListEditor, "mUserManager", - RuntimeEnvironment.application.getSystemService(Context.USER_SERVICE)); + context.getSystemService(Context.USER_SERVICE)); ReflectionHelpers.setField(mLocaleListEditor, "mAdapter", mAdapter); ReflectionHelpers.setField(mLocaleListEditor, "mAddLanguage", mAddLanguage); ReflectionHelpers.setField(mLocaleListEditor, "mFragmentManager", mFragmentManager); @@ -283,6 +286,7 @@ public class LocaleListEditorTest { // click the remove button dialog.getButton(DialogInterface.BUTTON_POSITIVE).performClick(); + ShadowLooper.idleMainLooper(); assertThat(dialog.isShowing()).isFalse();