Migrate all AlertDialogs to AndroidX version

- Let test cases can be compatible with AndroidX AlertDialog.
- Theme of Transparent needs to support AndroidX AlertDialog.

Change-Id: I0789b66f52feef30ebab7fb824d0e39d5ae9cc96
Fixes: 111413092
Test: make RunSettingsRoboTests -j56
diff --git a/res/values/themes.xml b/res/values/themes.xml
index d54f111..a6310a4 100644
--- a/res/values/themes.xml
+++ b/res/values/themes.xml
@@ -17,7 +17,7 @@
 <resources>
 
     <style name="Transparent">
-        <item name="android:alertDialogTheme">@style/Theme.AlertDialog</item>
+        <item name="alertDialogTheme">@style/Theme.AlertDialog</item>
         <item name="android:windowBackground">@android:color/transparent</item>
         <item name="android:windowNoTitle">true</item>
         <item name="android:windowIsFloating">true</item>
@@ -45,7 +45,7 @@
 
         <item name="preferenceBackgroundColor">@drawable/preference_background</item>
 
-        <!-- For all androidx version of AlertDialogs -->
+        <!-- For AndroidX AlertDialog -->
         <item name="alertDialogTheme">@style/Theme.AlertDialog</item>
 
         <item name="*android:lockPatternStyle">@style/LockPatternStyle.Setup</item>
diff --git a/tests/robotests/src/com/android/settings/RestrictedSettingsFragmentTest.java b/tests/robotests/src/com/android/settings/RestrictedSettingsFragmentTest.java
index 35f9e28..73be107 100644
--- a/tests/robotests/src/com/android/settings/RestrictedSettingsFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/RestrictedSettingsFragmentTest.java
@@ -21,7 +21,6 @@
 import static org.mockito.Mockito.verify;
 
 import android.app.Activity;
-import android.app.AlertDialog;
 
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
 
@@ -31,6 +30,8 @@
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 
+import androidx.appcompat.app.AlertDialog;
+
 @RunWith(SettingsRobolectricTestRunner.class)
 public class RestrictedSettingsFragmentTest {
 
diff --git a/tests/robotests/src/com/android/settings/applications/AppInfoWithHeaderTest.java b/tests/robotests/src/com/android/settings/applications/AppInfoWithHeaderTest.java
index 035d74e..0d905aa 100644
--- a/tests/robotests/src/com/android/settings/applications/AppInfoWithHeaderTest.java
+++ b/tests/robotests/src/com/android/settings/applications/AppInfoWithHeaderTest.java
@@ -22,7 +22,6 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.app.AlertDialog;
 import android.content.BroadcastReceiver;
 import android.content.Context;
 import android.content.Intent;
@@ -52,6 +51,7 @@
 import org.robolectric.annotation.Config;
 import org.robolectric.util.ReflectionHelpers;
 
+import androidx.appcompat.app.AlertDialog;
 import androidx.preference.PreferenceManager;
 import androidx.preference.PreferenceScreen;
 
diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/ButtonActionDialogFragmentTest.java b/tests/robotests/src/com/android/settings/applications/appinfo/ButtonActionDialogFragmentTest.java
index 98bfcd5..80a696a 100644
--- a/tests/robotests/src/com/android/settings/applications/appinfo/ButtonActionDialogFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/applications/appinfo/ButtonActionDialogFragmentTest.java
@@ -21,12 +21,13 @@
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
 
-import android.app.AlertDialog;
 import android.content.Context;
 import android.content.DialogInterface;
 
 import com.android.settings.R;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
+import com.android.settings.testutils.shadow.SettingsShadowResourcesImpl;
+import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
 import com.android.settingslib.testutils.FragmentTestUtils;
 
 import org.junit.Before;
@@ -35,13 +36,13 @@
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RuntimeEnvironment;
-import org.robolectric.Shadows;
-import org.robolectric.shadows.ShadowAlertDialog;
-import org.robolectric.shadows.ShadowDialog;
+import org.robolectric.annotation.Config;
 
+import androidx.appcompat.app.AlertDialog;
 import androidx.fragment.app.Fragment;
 
 @RunWith(SettingsRobolectricTestRunner.class)
+@Config(shadows = {ShadowAlertDialogCompat.class, SettingsShadowResourcesImpl.class})
 public class ButtonActionDialogFragmentTest {
 
     private static final int FORCE_STOP_ID = ButtonActionDialogFragment.DialogType.FORCE_STOP;
@@ -73,12 +74,12 @@
     @Test
     public void testOnCreateDialog_forceStopDialog() {
         ButtonActionDialogFragment fragment = ButtonActionDialogFragment.newInstance(FORCE_STOP_ID);
-
         FragmentTestUtils.startFragment(fragment);
+        final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
 
-        final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog();
         assertThat(dialog).isNotNull();
-        ShadowAlertDialog shadowDialog = Shadows.shadowOf(dialog);
+
+        ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
 
         assertThat(shadowDialog.getMessage()).isEqualTo(
                 mShadowContext.getString(R.string.force_stop_dlg_text));
@@ -93,12 +94,12 @@
     @Test
     public void testOnCreateDialog_disableDialog() {
         ButtonActionDialogFragment fragment = ButtonActionDialogFragment.newInstance(DISABLE_ID);
-
         FragmentTestUtils.startFragment(fragment);
+        final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
 
-        final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog();
         assertThat(dialog).isNotNull();
-        ShadowAlertDialog shadowDialog = Shadows.shadowOf(dialog);
+
+        ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
 
         assertThat(shadowDialog.getMessage()).isEqualTo(
                 mShadowContext.getString(R.string.app_disable_dlg_text));
@@ -111,13 +112,13 @@
     @Test
     public void testOnCreateDialog_specialDisableDialog() {
         ButtonActionDialogFragment fragment =
-            ButtonActionDialogFragment.newInstance(SPECIAL_DISABLE_ID);
-
+                ButtonActionDialogFragment.newInstance(SPECIAL_DISABLE_ID);
         FragmentTestUtils.startFragment(fragment);
+        final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
 
-        final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog();
         assertThat(dialog).isNotNull();
-        ShadowAlertDialog shadowDialog = Shadows.shadowOf(dialog);
+
+        ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
 
         assertThat(shadowDialog.getMessage()).isEqualTo(
                 mShadowContext.getString(R.string.app_disable_dlg_text));
diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/InstantAppButtonDialogFragmentTest.java b/tests/robotests/src/com/android/settings/applications/appinfo/InstantAppButtonDialogFragmentTest.java
index 1281b74..6b4a641 100644
--- a/tests/robotests/src/com/android/settings/applications/appinfo/InstantAppButtonDialogFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/applications/appinfo/InstantAppButtonDialogFragmentTest.java
@@ -25,24 +25,27 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.app.AlertDialog;
 import android.content.Context;
 import android.content.DialogInterface;
 import android.content.pm.PackageManager;
 
 import com.android.settings.R;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
-import com.android.settingslib.testutils.FragmentTestUtils;
+import com.android.settings.testutils.shadow.SettingsShadowResourcesImpl;
+import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
 
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
+import org.robolectric.Robolectric;
 import org.robolectric.RuntimeEnvironment;
-import org.robolectric.Shadows;
-import org.robolectric.shadows.ShadowAlertDialog;
-import org.robolectric.shadows.ShadowDialog;
+import org.robolectric.annotation.Config;
+
+import androidx.appcompat.app.AlertDialog;
+import androidx.fragment.app.FragmentActivity;
 
 @RunWith(SettingsRobolectricTestRunner.class)
+@Config(shadows = {ShadowAlertDialogCompat.class, SettingsShadowResourcesImpl.class})
 public class InstantAppButtonDialogFragmentTest {
 
     private static final String TEST_PACKAGE = "testPackage";
@@ -52,8 +55,10 @@
 
     @Before
     public void setUp() {
+        final FragmentActivity activity = Robolectric.setupActivity(FragmentActivity.class);
         mContext = spy(RuntimeEnvironment.application);
         mFragment = spy(InstantAppButtonDialogFragment.newInstance(TEST_PACKAGE));
+        mFragment.show(activity.getSupportFragmentManager(), "InstantAppButtonDialogFragment");
         doReturn(mContext).when(mFragment).getContext();
     }
 
@@ -61,7 +66,6 @@
     public void onClick_shouldDeleteApp() {
         final PackageManager packageManager = mock(PackageManager.class);
         when(mContext.getPackageManager()).thenReturn(packageManager);
-        FragmentTestUtils.startFragment(mFragment);
 
         mFragment.onClick(null /* dialog */, 0  /* which */);
 
@@ -71,11 +75,11 @@
 
     @Test
     public void onCreateDialog_clearAppDialog_shouldShowClearAppDataConfirmation() {
-        FragmentTestUtils.startFragment(mFragment);
+        final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
 
-        final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog();
         assertThat(dialog).isNotNull();
-        final ShadowAlertDialog shadowDialog = Shadows.shadowOf(dialog);
+
+        final ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
 
         assertThat(shadowDialog.getMessage()).isEqualTo(
                 mContext.getString(R.string.clear_instant_app_confirmation));
diff --git a/tests/robotests/src/com/android/settings/biometrics/fingerprint/DeleteFingerprintDialogTest.java b/tests/robotests/src/com/android/settings/biometrics/fingerprint/DeleteFingerprintDialogTest.java
index cf416d8..9479771 100644
--- a/tests/robotests/src/com/android/settings/biometrics/fingerprint/DeleteFingerprintDialogTest.java
+++ b/tests/robotests/src/com/android/settings/biometrics/fingerprint/DeleteFingerprintDialogTest.java
@@ -26,6 +26,7 @@
 import com.android.settings.biometrics.fingerprint.FingerprintSettings.FingerprintSettingsFragment;
 import com.android.settings.biometrics.fingerprint.FingerprintSettings.FingerprintSettingsFragment.DeleteFingerprintDialog;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
+import com.android.settings.testutils.shadow.SettingsShadowResourcesImpl;
 import com.android.settings.testutils.shadow.ShadowFragment;
 import com.android.settingslib.testutils.FragmentTestUtils;
 
@@ -37,7 +38,7 @@
 import org.robolectric.annotation.Config;
 
 @RunWith(SettingsRobolectricTestRunner.class)
-@Config(shadows = ShadowFragment.class)
+@Config(shadows = {ShadowFragment.class, SettingsShadowResourcesImpl.class})
 public class DeleteFingerprintDialogTest {
 
     @Mock
diff --git a/tests/robotests/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollFindSensorTest.java b/tests/robotests/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollFindSensorTest.java
index 38127ef..797a202 100644
--- a/tests/robotests/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollFindSensorTest.java
+++ b/tests/robotests/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollFindSensorTest.java
@@ -16,11 +16,9 @@
 
 package com.android.settings.biometrics.fingerprint;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
+import static com.google.common.truth.Truth.assertThat;
 import static org.robolectric.RuntimeEnvironment.application;
 
-import android.app.AlertDialog;
 import android.content.Intent;
 import android.hardware.fingerprint.FingerprintManager;
 import android.widget.Button;
@@ -30,6 +28,8 @@
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
 import com.android.settings.testutils.shadow.SettingsShadowResources;
+import com.android.settings.testutils.shadow.SettingsShadowResourcesImpl;
+import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
 import com.android.settings.testutils.shadow.ShadowUtils;
 
 import org.junit.After;
@@ -39,12 +39,17 @@
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.Robolectric;
-import org.robolectric.Shadows;
 import org.robolectric.annotation.Config;
-import org.robolectric.shadows.ShadowAlertDialog;
+
+import androidx.appcompat.app.AlertDialog;
 
 @RunWith(SettingsRobolectricTestRunner.class)
-@Config(shadows = {SettingsShadowResources.SettingsShadowTheme.class, ShadowUtils.class})
+@Config(shadows = {
+        SettingsShadowResources.SettingsShadowTheme.class,
+        ShadowUtils.class,
+        ShadowAlertDialogCompat.class,
+        SettingsShadowResourcesImpl.class
+})
 public class SetupFingerprintEnrollFindSensorTest {
 
     @Mock
@@ -75,11 +80,12 @@
         final Button skipButton = activity.findViewById(R.id.skip_button);
         skipButton.performClick();
 
-        final AlertDialog alertDialog = ShadowAlertDialog.getLatestAlertDialog();
-        assertNotNull(alertDialog);
+        final AlertDialog alertDialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        assertThat(alertDialog).isNotNull();
 
-        final ShadowAlertDialog shadowAlertDialog = Shadows.shadowOf(alertDialog);
+        final ShadowAlertDialogCompat shadowAlertDialog = ShadowAlertDialogCompat.shadowOf(
+                alertDialog);
         final int titleRes = R.string.setup_fingerprint_enroll_skip_title;
-        assertEquals(application.getString(titleRes), shadowAlertDialog.getTitle());
+        assertThat(application.getString(titleRes)).isEqualTo(shadowAlertDialog.getTitle());
     }
 }
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDevicePreferenceTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDevicePreferenceTest.java
index 1162f8e..6256a3d 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDevicePreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDevicePreferenceTest.java
@@ -27,11 +27,14 @@
 import android.bluetooth.BluetoothDevice;
 import android.content.Context;
 import android.os.UserManager;
+import android.view.ContextThemeWrapper;
 
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 import com.android.settings.R;
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
+import com.android.settings.testutils.shadow.SettingsShadowResourcesImpl;
+import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
@@ -41,9 +44,11 @@
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
 import org.robolectric.util.ReflectionHelpers;
 
 @RunWith(SettingsRobolectricTestRunner.class)
+@Config(shadows = {SettingsShadowResourcesImpl.class, ShadowAlertDialogCompat.class})
 public class BluetoothDevicePreferenceTest {
     private static final boolean SHOW_DEVICES_WITHOUT_NAMES = true;
 
@@ -58,7 +63,8 @@
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
-        mContext = spy(RuntimeEnvironment.application.getApplicationContext());
+        Context context = spy(RuntimeEnvironment.application.getApplicationContext());
+        mContext = new ContextThemeWrapper(context, R.style.Theme_Settings);
         mFakeFeatureFactory = FakeFeatureFactory.setupForTest();
         mMetricsFeatureProvider = mFakeFeatureFactory.getMetricsFeatureProvider();
         mPreference = new BluetoothDevicePreference(mContext, mCachedBluetoothDevice,
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingDialogTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingDialogTest.java
index ede0b04..6cd924a 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingDialogTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingDialogTest.java
@@ -26,7 +26,6 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.app.AlertDialog;
 import android.app.Dialog;
 import android.content.Context;
 import android.text.SpannableStringBuilder;
@@ -38,6 +37,8 @@
 
 import com.android.settings.R;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
+import com.android.settings.testutils.shadow.SettingsShadowResourcesImpl;
+import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
 import com.android.settingslib.testutils.FragmentTestUtils;
 
 import org.junit.Before;
@@ -46,9 +47,12 @@
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RuntimeEnvironment;
-import org.robolectric.shadows.ShadowAlertDialog;
+import org.robolectric.annotation.Config;
+
+import androidx.appcompat.app.AlertDialog;
 
 @RunWith(SettingsRobolectricTestRunner.class)
+@Config(shadows = {ShadowAlertDialogCompat.class, SettingsShadowResourcesImpl.class})
 public class BluetoothPairingDialogTest {
 
     private static final String FILLER = "text that goes in a view";
@@ -434,7 +438,7 @@
         BluetoothPairingDialogFragment fragment = spy(new BluetoothPairingDialogFragment());
         when(fragment.getPairingViewText()).thenReturn(existingText);
         setupFragment(fragment);
-        AlertDialog dialog = ShadowAlertDialog.getLatestAlertDialog();
+        AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
         assertThat(dialog).isNotNull();
         boolean expected = !TextUtils.isEmpty(existingText);
         assertThat(dialog.getButton(Dialog.BUTTON_POSITIVE).isEnabled()).isEqualTo(expected);
diff --git a/tests/robotests/src/com/android/settings/bluetooth/ForgetDeviceDialogFragmentTest.java b/tests/robotests/src/com/android/settings/bluetooth/ForgetDeviceDialogFragmentTest.java
index 37abdcc..8532cc1 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/ForgetDeviceDialogFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/ForgetDeviceDialogFragmentTest.java
@@ -24,10 +24,9 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.app.AlertDialog;
-
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
+import com.android.settings.testutils.shadow.SettingsShadowResourcesImpl;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 
 import org.junit.Before;
@@ -37,11 +36,14 @@
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.Robolectric;
+import org.robolectric.annotation.Config;
 import org.robolectric.shadows.ShadowDialog;
 
+import androidx.appcompat.app.AlertDialog;
 import androidx.fragment.app.FragmentActivity;
 
 @RunWith(SettingsRobolectricTestRunner.class)
+@Config(shadows = SettingsShadowResourcesImpl.class)
 public class ForgetDeviceDialogFragmentTest {
 
     @Mock(answer = Answers.RETURNS_DEEP_STUBS)
diff --git a/tests/robotests/src/com/android/settings/bluetooth/LocalDeviceNameDialogFragmentTest.java b/tests/robotests/src/com/android/settings/bluetooth/LocalDeviceNameDialogFragmentTest.java
index d41475f..2533341 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/LocalDeviceNameDialogFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/LocalDeviceNameDialogFragmentTest.java
@@ -22,13 +22,14 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.app.AlertDialog;
 import android.content.Context;
 import android.view.View;
 import android.view.inputmethod.InputMethodManager;
 
 import com.android.settings.R;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
+import com.android.settings.testutils.shadow.SettingsShadowResourcesImpl;
+import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
 import com.android.settingslib.bluetooth.LocalBluetoothAdapter;
 import com.android.settingslib.bluetooth.LocalBluetoothManager;
 import com.android.settingslib.testutils.FragmentTestUtils;
@@ -40,11 +41,15 @@
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RuntimeEnvironment;
-import org.robolectric.shadows.ShadowAlertDialog;
+import org.robolectric.annotation.Config;
 import org.robolectric.util.ReflectionHelpers;
 
+import androidx.appcompat.app.AlertDialog;
+
 @RunWith(SettingsRobolectricTestRunner.class)
+@Config(shadows = {ShadowAlertDialogCompat.class, SettingsShadowResourcesImpl.class})
 public class LocalDeviceNameDialogFragmentTest {
+
     @Mock
     private LocalBluetoothManager mManager;
     @Mock
@@ -75,7 +80,7 @@
     @Test
     public void diaglogTriggersShowSoftInput() {
         FragmentTestUtils.startFragment(mFragment);
-        AlertDialog dialog = ShadowAlertDialog.getLatestAlertDialog();
+        AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
         assertThat(dialog).isNotNull();
         View view = dialog.findViewById(R.id.edittext);
         verify(mInputMethodManager).showSoftInput(view, InputMethodManager.SHOW_IMPLICIT);
diff --git a/tests/robotests/src/com/android/settings/bluetooth/RemoteDeviceNameDialogFragmentTest.java b/tests/robotests/src/com/android/settings/bluetooth/RemoteDeviceNameDialogFragmentTest.java
index e257a88..0ecd295 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/RemoteDeviceNameDialogFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/RemoteDeviceNameDialogFragmentTest.java
@@ -25,7 +25,6 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.app.AlertDialog;
 import android.content.DialogInterface;
 import android.widget.Button;
 import android.widget.EditText;
@@ -33,6 +32,7 @@
 import com.android.settings.R;
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
+import com.android.settings.testutils.shadow.SettingsShadowResourcesImpl;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 import com.android.settingslib.testutils.FragmentTestUtils;
 
@@ -42,9 +42,13 @@
 import org.mockito.Answers;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
+import org.robolectric.annotation.Config;
 import org.robolectric.shadows.ShadowDialog;
 
+import androidx.appcompat.app.AlertDialog;
+
 @RunWith(SettingsRobolectricTestRunner.class)
+@Config(shadows = SettingsShadowResourcesImpl.class)
 public class RemoteDeviceNameDialogFragmentTest {
 
     @Mock(answer = Answers.RETURNS_DEEP_STUBS)
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/HardwareInfoDialogFragmentTest.java b/tests/robotests/src/com/android/settings/deviceinfo/HardwareInfoDialogFragmentTest.java
index e17f6be..23ca244 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/HardwareInfoDialogFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/HardwareInfoDialogFragmentTest.java
@@ -29,14 +29,17 @@
 import com.android.settings.R;
 import com.android.settings.testutils.Robolectric;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
+import com.android.settings.testutils.shadow.SettingsShadowResourcesImpl;
 
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
+import org.robolectric.annotation.Config;
 
 import androidx.fragment.app.FragmentActivity;
 
 @RunWith(SettingsRobolectricTestRunner.class)
+@Config(shadows = SettingsShadowResourcesImpl.class)
 public class HardwareInfoDialogFragmentTest {
 
     private FragmentActivity mActivity;
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/PrivateVolumeForgetTest.java b/tests/robotests/src/com/android/settings/deviceinfo/PrivateVolumeForgetTest.java
index d1215ec..49025a8 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/PrivateVolumeForgetTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/PrivateVolumeForgetTest.java
@@ -18,7 +18,6 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
-import android.app.AlertDialog;
 import android.content.DialogInterface;
 import android.os.Bundle;
 import android.os.storage.VolumeRecord;
@@ -28,6 +27,7 @@
 import com.android.settings.deviceinfo.PrivateVolumeForget.ForgetConfirmFragment;
 import com.android.settings.testutils.Robolectric;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
+import com.android.settings.testutils.shadow.SettingsShadowResourcesImpl;
 import com.android.settings.testutils.shadow.ShadowStorageManager;
 
 import org.junit.After;
@@ -36,10 +36,11 @@
 import org.junit.runner.RunWith;
 import org.robolectric.annotation.Config;
 
+import androidx.appcompat.app.AlertDialog;
 import androidx.fragment.app.FragmentActivity;
 
 @RunWith(SettingsRobolectricTestRunner.class)
-@Config(shadows = ShadowStorageManager.class)
+@Config(shadows = {ShadowStorageManager.class, SettingsShadowResourcesImpl.class})
 public class PrivateVolumeForgetTest {
 
     private PrivateVolumeForget mFragment;
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/RestrictedAppDetailsTest.java b/tests/robotests/src/com/android/settings/fuelgauge/RestrictedAppDetailsTest.java
index 1cc027f..b9ed509 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/RestrictedAppDetailsTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/RestrictedAppDetailsTest.java
@@ -21,7 +21,6 @@
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.spy;
 
-import android.app.AlertDialog;
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.ApplicationInfo;
@@ -38,6 +37,8 @@
 import com.android.settings.fuelgauge.batterytip.tips.RestrictAppTip;
 import com.android.settings.fuelgauge.batterytip.tips.UnrestrictAppTip;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
+import com.android.settings.testutils.shadow.SettingsShadowResourcesImpl;
+import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
 import com.android.settingslib.testutils.FragmentTestUtils;
 
 import org.junit.Before;
@@ -47,18 +48,18 @@
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RuntimeEnvironment;
-import org.robolectric.Shadows;
-import org.robolectric.shadows.ShadowAlertDialog;
-import org.robolectric.shadows.ShadowDialog;
+import org.robolectric.annotation.Config;
 
 import java.util.ArrayList;
 import java.util.List;
 
+import androidx.appcompat.app.AlertDialog;
 import androidx.preference.CheckBoxPreference;
 import androidx.preference.PreferenceCategory;
 import androidx.preference.PreferenceManager;
 
 @RunWith(SettingsRobolectricTestRunner.class)
+@Config(shadows = {ShadowAlertDialogCompat.class, SettingsShadowResourcesImpl.class})
 public class RestrictedAppDetailsTest {
 
     private static final String PACKAGE_NAME = "com.android.app";
@@ -154,8 +155,8 @@
 
         FragmentTestUtils.startFragment(dialogFragment);
 
-        final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog();
-        ShadowAlertDialog shadowDialog = Shadows.shadowOf(dialog);
+        final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
         assertThat(shadowDialog.getTitle()).isEqualTo("Restrict app?");
     }
 
@@ -166,8 +167,8 @@
 
         FragmentTestUtils.startFragment(dialogFragment);
 
-        final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog();
-        ShadowAlertDialog shadowDialog = Shadows.shadowOf(dialog);
+        final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
         assertThat(shadowDialog.getTitle()).isEqualTo("Remove restriction?");
     }
 
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipDialogFragmentTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipDialogFragmentTest.java
index e9c9978..8882101 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipDialogFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipDialogFragmentTest.java
@@ -20,7 +20,6 @@
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.spy;
 
-import android.app.AlertDialog;
 import android.content.Context;
 import android.text.format.DateUtils;
 
@@ -33,6 +32,8 @@
 import com.android.settings.fuelgauge.batterytip.tips.UnrestrictAppTip;
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
+import com.android.settings.testutils.shadow.SettingsShadowResourcesImpl;
+import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
 import com.android.settings.testutils.shadow.ShadowUtils;
 import com.android.settingslib.testutils.FragmentTestUtils;
 
@@ -42,16 +43,16 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.Robolectric;
 import org.robolectric.RuntimeEnvironment;
-import org.robolectric.Shadows;
 import org.robolectric.annotation.Config;
-import org.robolectric.shadows.ShadowAlertDialog;
-import org.robolectric.shadows.ShadowDialog;
 
 import java.util.ArrayList;
 import java.util.List;
 
+import androidx.appcompat.app.AlertDialog;
+
 @RunWith(SettingsRobolectricTestRunner.class)
-@Config(shadows = ShadowUtils.class)
+@Config(shadows = {ShadowUtils.class, ShadowAlertDialogCompat.class,
+        SettingsShadowResourcesImpl.class})
 public class BatteryTipDialogFragmentTest {
 
     private static final String PACKAGE_NAME = "com.android.app";
@@ -108,8 +109,8 @@
 
         Robolectric.getForegroundThreadScheduler().advanceToLastPostedRunnable();
 
-        final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog();
-        ShadowAlertDialog shadowDialog = Shadows.shadowOf(dialog);
+        final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
 
         assertThat(shadowDialog.getMessage()).isEqualTo(
                 mContext.getString(R.string.battery_tip_dialog_message, 1));
@@ -121,8 +122,8 @@
 
         FragmentTestUtils.startFragment(mDialogFragment);
 
-        final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog();
-        ShadowAlertDialog shadowDialog = Shadows.shadowOf(dialog);
+        final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
 
         assertThat(shadowDialog.getTitle()).isEqualTo("Restrict app?");
         assertThat(shadowDialog.getMessage())
@@ -142,8 +143,8 @@
 
         Robolectric.getForegroundThreadScheduler().advanceToLastPostedRunnable();
 
-        final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog();
-        ShadowAlertDialog shadowDialog = Shadows.shadowOf(dialog);
+        final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
 
         assertThat(shadowDialog.getTitle()).isEqualTo("Restrict 2 apps?");
         assertThat(shadowDialog.getMessage())
@@ -171,8 +172,8 @@
 
         Robolectric.getForegroundThreadScheduler().advanceToLastPostedRunnable();
 
-        final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog();
-        ShadowAlertDialog shadowDialog = Shadows.shadowOf(dialog);
+        final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
 
         assertThat(shadowDialog.getTitle()).isEqualTo("Restrict 6 apps?");
         assertThat(shadowDialog.getMessage())
@@ -189,8 +190,8 @@
 
         FragmentTestUtils.startFragment(mDialogFragment);
 
-        final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog();
-        ShadowAlertDialog shadowDialog = Shadows.shadowOf(dialog);
+        final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
 
         assertThat(shadowDialog.getTitle()).isEqualTo("Remove restriction?");
         assertThat(shadowDialog.getMessage())
@@ -204,8 +205,8 @@
 
         FragmentTestUtils.startFragment(mDialogFragment);
 
-        final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog();
-        ShadowAlertDialog shadowDialog = Shadows.shadowOf(dialog);
+        final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
 
         assertThat(shadowDialog.getMessage()).isEqualTo(
                 "Your apps are using a normal amount of battery. If apps use too much battery, "
diff --git a/tests/robotests/src/com/android/settings/password/ConfirmCredentialTest.java b/tests/robotests/src/com/android/settings/password/ConfirmCredentialTest.java
index 37c972a..1d0b71f 100644
--- a/tests/robotests/src/com/android/settings/password/ConfirmCredentialTest.java
+++ b/tests/robotests/src/com/android/settings/password/ConfirmCredentialTest.java
@@ -20,15 +20,18 @@
 
 import com.android.settings.password.ConfirmDeviceCredentialBaseFragment.LastTryDialog;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
+import com.android.settings.testutils.shadow.SettingsShadowResourcesImpl;
 
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.robolectric.Robolectric;
+import org.robolectric.annotation.Config;
 
 import androidx.fragment.app.FragmentActivity;
 import androidx.fragment.app.FragmentManager;
 
 @RunWith(SettingsRobolectricTestRunner.class)
+@Config(shadows = SettingsShadowResourcesImpl.class)
 public class ConfirmCredentialTest {
     @Test
     public void testLastTryDialogShownExactlyOnce() {
diff --git a/tests/robotests/src/com/android/settings/password/SetupChooseLockPatternTest.java b/tests/robotests/src/com/android/settings/password/SetupChooseLockPatternTest.java
index 627a4a0..d2ec785 100644
--- a/tests/robotests/src/com/android/settings/password/SetupChooseLockPatternTest.java
+++ b/tests/robotests/src/com/android/settings/password/SetupChooseLockPatternTest.java
@@ -19,7 +19,6 @@
 import static com.google.common.truth.Truth.assertThat;
 import static org.robolectric.RuntimeEnvironment.application;
 
-import android.app.AlertDialog;
 import android.content.ComponentName;
 import android.content.pm.PackageManager;
 import android.os.UserHandle;
@@ -37,28 +36,29 @@
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
 import com.android.settings.testutils.shadow.SettingsShadowResources;
 import com.android.settings.testutils.shadow.SettingsShadowResourcesImpl;
+import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
 import com.android.settings.testutils.shadow.ShadowUtils;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.robolectric.Shadows;
 import org.robolectric.annotation.Config;
-import org.robolectric.shadows.ShadowAlertDialog;
 import org.robolectric.shadows.ShadowPackageManager;
 import org.robolectric.util.ReflectionHelpers;
 import org.robolectric.util.ReflectionHelpers.ClassParameter;
 
 import java.util.Arrays;
 
+import androidx.appcompat.app.AlertDialog;
 import androidx.fragment.app.FragmentActivity;
 
 @RunWith(SettingsRobolectricTestRunner.class)
 @Config(shadows = {
-    SettingsShadowResourcesImpl.class,
-    SettingsShadowResources.SettingsShadowTheme.class,
-    ShadowUtils.class
+        SettingsShadowResourcesImpl.class,
+        SettingsShadowResources.SettingsShadowTheme.class,
+        ShadowUtils.class,
+        ShadowAlertDialogCompat.class
 })
 public class SetupChooseLockPatternTest {
 
@@ -88,7 +88,7 @@
         ShadowPackageManager spm = Shadows.shadowOf(application.getPackageManager());
         ComponentName cname = new ComponentName(application, SetupRedactionInterstitial.class);
         final int componentEnabled = spm.getComponentEnabledSettingFlags(cname)
-            & PackageManager.COMPONENT_ENABLED_STATE_ENABLED;
+                & PackageManager.COMPONENT_ENABLED_STATE_ENABLED;
         assertThat(componentEnabled).isEqualTo(PackageManager.COMPONENT_ENABLED_STATE_ENABLED);
     }
 
@@ -111,22 +111,20 @@
         assertThat(button.getVisibility()).isEqualTo(View.VISIBLE);
 
         button.performClick();
-        AlertDialog chooserDialog = ShadowAlertDialog.getLatestAlertDialog();
+        AlertDialog chooserDialog = ShadowAlertDialogCompat.getLatestAlertDialog();
         assertThat(chooserDialog).isNotNull();
-        int count = Shadows.shadowOf(chooserDialog).getAdapter().getCount();
+        int count = chooserDialog.getListView().getCount();
         assertThat(count).named("List items shown").isEqualTo(3);
     }
 
     @Config(qualifiers = "sw400dp")
     @Test
-    @Ignore("b/111194289")
     public void sw400dp_shouldShowScreenLockOptions() {
         verifyScreenLockOptionsShown();
     }
 
     @Config(qualifiers = "sw400dp-land")
     @Test
-    @Ignore("b/111194289")
     public void sw400dpLandscape_shouldShowScreenLockOptions() {
         verifyScreenLockOptionsShown();
     }
@@ -156,7 +154,7 @@
         assertThat(skipButton.getVisibility()).isEqualTo(View.VISIBLE);
 
         skipButton.performClick();
-        AlertDialog chooserDialog = ShadowAlertDialog.getLatestAlertDialog();
+        AlertDialog chooserDialog = ShadowAlertDialogCompat.getLatestAlertDialog();
         assertThat(chooserDialog).isNotNull();
     }
 
diff --git a/tests/robotests/src/com/android/settings/password/SetupSkipDialogTest.java b/tests/robotests/src/com/android/settings/password/SetupSkipDialogTest.java
index 57cf7cd..aa36b33 100644
--- a/tests/robotests/src/com/android/settings/password/SetupSkipDialogTest.java
+++ b/tests/robotests/src/com/android/settings/password/SetupSkipDialogTest.java
@@ -16,30 +16,30 @@
 
 package com.android.settings.password;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-
-import android.app.AlertDialog;
+import static com.google.common.truth.Truth.assertThat;
 
 import com.android.settings.R;
 import com.android.settings.testutils.Robolectric;
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
 import com.android.settings.testutils.shadow.SettingsShadowResources;
+import com.android.settings.testutils.shadow.SettingsShadowResourcesImpl;
+import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
 import com.android.settings.testutils.shadow.ShadowUtils;
 
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.robolectric.Shadows;
 import org.robolectric.annotation.Config;
-import org.robolectric.shadows.ShadowAlertDialog;
 
+import androidx.appcompat.app.AlertDialog;
 import androidx.fragment.app.FragmentActivity;
 
 @RunWith(SettingsRobolectricTestRunner.class)
 @Config(shadows = {
-    SettingsShadowResources.SettingsShadowTheme.class,
-    ShadowUtils.class
+        SettingsShadowResources.SettingsShadowTheme.class,
+        ShadowUtils.class,
+        ShadowAlertDialogCompat.class,
+        SettingsShadowResourcesImpl.class
 })
 public class SetupSkipDialogTest {
 
@@ -55,12 +55,12 @@
         SetupSkipDialog setupSkipDialog = SetupSkipDialog.newInstance(false);
         setupSkipDialog.show(mActivity.getSupportFragmentManager());
 
-        AlertDialog alertDialog = ShadowAlertDialog.getLatestAlertDialog();
-        assertNotNull(alertDialog);
-        ShadowAlertDialog shadowAlertDialog = Shadows.shadowOf(alertDialog);
-        assertEquals(mActivity.getString(R.string.lock_screen_intro_skip_title),
+        AlertDialog alertDialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        assertThat(alertDialog).isNotNull();
+        ShadowAlertDialogCompat shadowAlertDialog = ShadowAlertDialogCompat.shadowOf(alertDialog);
+        assertThat(mActivity.getString(R.string.lock_screen_intro_skip_title)).isEqualTo(
                 shadowAlertDialog.getTitle());
-        assertEquals(mActivity.getString(R.string.lock_screen_intro_skip_dialog_text),
+        assertThat(mActivity.getString(R.string.lock_screen_intro_skip_dialog_text)).isEqualTo(
                 shadowAlertDialog.getMessage());
     }
 
@@ -69,12 +69,12 @@
         SetupSkipDialog setupSkipDialog = SetupSkipDialog.newInstance(true);
         setupSkipDialog.show(mActivity.getSupportFragmentManager());
 
-        AlertDialog alertDialog = ShadowAlertDialog.getLatestAlertDialog();
-        assertNotNull(alertDialog);
-        ShadowAlertDialog shadowAlertDialog = Shadows.shadowOf(alertDialog);
-        assertEquals(mActivity.getString(R.string.lock_screen_intro_skip_title),
+        AlertDialog alertDialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        assertThat(alertDialog).isNotNull();
+        ShadowAlertDialogCompat shadowAlertDialog = ShadowAlertDialogCompat.shadowOf(alertDialog);
+        assertThat(mActivity.getString(R.string.lock_screen_intro_skip_title)).isEqualTo(
                 shadowAlertDialog.getTitle());
-        assertEquals(mActivity.getString(R.string.lock_screen_intro_skip_dialog_text_frp),
+        assertThat(mActivity.getString(R.string.lock_screen_intro_skip_dialog_text_frp)).isEqualTo(
                 shadowAlertDialog.getMessage());
     }
 }
diff --git a/tests/robotests/src/com/android/settings/wifi/WifiDialogActivityTest.java b/tests/robotests/src/com/android/settings/wifi/WifiDialogActivityTest.java
index b40ea2e..e80edba 100644
--- a/tests/robotests/src/com/android/settings/wifi/WifiDialogActivityTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/WifiDialogActivityTest.java
@@ -17,7 +17,6 @@
 package com.android.settings.wifi;
 
 import static com.google.common.truth.Truth.assertThat;
-
 import static org.mockito.Mockito.doReturn;
 
 import android.content.Intent;
@@ -25,8 +24,10 @@
 
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
 import com.android.settings.testutils.shadow.SettingsShadowResources;
-import com.android.settings.testutils.shadow.ShadowConnectivityManager;
+import com.android.settings.testutils.shadow.SettingsShadowResourcesImpl;
 import com.android.settings.testutils.shadow.SettingsShadowTypedArray;
+import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
+import com.android.settings.testutils.shadow.ShadowConnectivityManager;
 import com.android.settings.testutils.shadow.ShadowWifiManager;
 
 import org.junit.Before;
@@ -36,7 +37,6 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.Robolectric;
 import org.robolectric.annotation.Config;
-import org.robolectric.shadows.ShadowAlertDialog;
 import org.robolectric.util.ReflectionHelpers;
 
 @RunWith(SettingsRobolectricTestRunner.class)
@@ -44,9 +44,10 @@
         SettingsShadowResources.SettingsShadowTheme.class,
         ShadowConnectivityManager.class,
         SettingsShadowTypedArray.class,
-        ShadowWifiManager.class
-}
-)
+        ShadowWifiManager.class,
+        ShadowAlertDialogCompat.class,
+        SettingsShadowResourcesImpl.class
+})
 public class WifiDialogActivityTest {
 
     private static final String AP1_SSID = "\"ap1\"";
@@ -65,7 +66,7 @@
     @Test
     public void onSubmit_shouldConnectToNetwork() {
         WifiDialogActivity activity = Robolectric.setupActivity(WifiDialogActivity.class);
-        WifiDialog dialog = (WifiDialog) ShadowAlertDialog.getLatestAlertDialog();
+        WifiDialog dialog = (WifiDialog) ShadowAlertDialogCompat.getLatestAlertDialog();
         assertThat(dialog).isNotNull();
 
         ReflectionHelpers.setField(dialog, "mController", mController);
@@ -82,7 +83,8 @@
                         WifiDialogActivity.class,
                         new Intent().putExtra(WifiDialogActivity.KEY_CONNECT_FOR_CALLER, false))
                         .setup().get();
-        WifiDialog dialog = (WifiDialog) ShadowAlertDialog.getLatestAlertDialog();
+        WifiDialog dialog = (WifiDialog) ShadowAlertDialogCompat.getLatestAlertDialog();
+
         assertThat(dialog).isNotNull();
 
         ReflectionHelpers.setField(dialog, "mController", mController);
diff --git a/tests/robotests/src/com/android/settings/wifi/WifiScanningRequiredFragmentTest.java b/tests/robotests/src/com/android/settings/wifi/WifiScanningRequiredFragmentTest.java
index 995ad17..d37b667 100644
--- a/tests/robotests/src/com/android/settings/wifi/WifiScanningRequiredFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/WifiScanningRequiredFragmentTest.java
@@ -27,7 +27,6 @@
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 
-import android.app.AlertDialog;
 import android.content.ContentResolver;
 import android.content.Context;
 import android.content.DialogInterface;
@@ -45,6 +44,7 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RuntimeEnvironment;
 
+import androidx.appcompat.app.AlertDialog;
 import androidx.fragment.app.Fragment;
 
 @RunWith(SettingsRobolectricTestRunner.class)
diff --git a/tests/robotests/src/com/android/settings/wifi/WriteWifiConfigToNfcDialogTest.java b/tests/robotests/src/com/android/settings/wifi/WriteWifiConfigToNfcDialogTest.java
index 252e7ed..7e3ce6f 100644
--- a/tests/robotests/src/com/android/settings/wifi/WriteWifiConfigToNfcDialogTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/WriteWifiConfigToNfcDialogTest.java
@@ -20,11 +20,10 @@
 import static org.mockito.Mockito.when;
 
 import android.app.Activity;
-import android.content.Context;
 import android.net.wifi.WifiManager;
-import android.view.inputmethod.InputMethodManager;
 
 import com.android.settings.testutils.SettingsRobolectricTestRunner;
+import com.android.settings.testutils.shadow.SettingsShadowResourcesImpl;
 import com.android.settings.testutils.shadow.ShadowNfcAdapter;
 
 import org.junit.After;
@@ -33,17 +32,15 @@
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
-import org.robolectric.RuntimeEnvironment;
+import org.robolectric.Robolectric;
 import org.robolectric.annotation.Config;
 import org.robolectric.util.ReflectionHelpers;
 
 @RunWith(SettingsRobolectricTestRunner.class)
-@Config(shadows = ShadowNfcAdapter.class)
+@Config(shadows = {ShadowNfcAdapter.class, SettingsShadowResourcesImpl.class})
 public class WriteWifiConfigToNfcDialogTest {
 
     @Mock
-    private Activity mActivity;
-    @Mock
     private WifiManager mWifiManager;
 
     private WriteWifiConfigToNfcDialog mWriteWifiConfigToNfcDialog;
@@ -51,13 +48,10 @@
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
-        when(mActivity.getApplicationContext()).thenReturn(mActivity);
-        when(mActivity.getSystemService(Context.INPUT_METHOD_SERVICE))
-                .thenReturn(ReflectionHelpers.newInstance(InputMethodManager.class));
-        mWriteWifiConfigToNfcDialog = new WriteWifiConfigToNfcDialog(RuntimeEnvironment.application,
-                0 /* security */);
+        final Activity activity = Robolectric.setupActivity(Activity.class);
+        mWriteWifiConfigToNfcDialog = new WriteWifiConfigToNfcDialog(activity, 0 /* security */);
         ReflectionHelpers.setField(mWriteWifiConfigToNfcDialog, "mWifiManager", mWifiManager);
-        mWriteWifiConfigToNfcDialog.setOwnerActivity(mActivity);
+        mWriteWifiConfigToNfcDialog.setOwnerActivity(activity);
         mWriteWifiConfigToNfcDialog.onCreate(null /* savedInstanceState */);
     }