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
This commit is contained in:
tmfang
2018-07-17 13:53:04 +08:00
parent 41ab6b4bf8
commit 5bd7151413
22 changed files with 163 additions and 126 deletions

View File

@@ -17,7 +17,7 @@
<resources> <resources>
<style name="Transparent"> <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:windowBackground">@android:color/transparent</item>
<item name="android:windowNoTitle">true</item> <item name="android:windowNoTitle">true</item>
<item name="android:windowIsFloating">true</item> <item name="android:windowIsFloating">true</item>
@@ -45,7 +45,7 @@
<item name="preferenceBackgroundColor">@drawable/preference_background</item> <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="alertDialogTheme">@style/Theme.AlertDialog</item>
<item name="*android:lockPatternStyle">@style/LockPatternStyle.Setup</item> <item name="*android:lockPatternStyle">@style/LockPatternStyle.Setup</item>

View File

@@ -21,7 +21,6 @@ import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify;
import android.app.Activity; import android.app.Activity;
import android.app.AlertDialog;
import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.SettingsRobolectricTestRunner;
@@ -31,6 +30,8 @@ import org.junit.runner.RunWith;
import org.mockito.Mock; import org.mockito.Mock;
import org.mockito.MockitoAnnotations; import org.mockito.MockitoAnnotations;
import androidx.appcompat.app.AlertDialog;
@RunWith(SettingsRobolectricTestRunner.class) @RunWith(SettingsRobolectricTestRunner.class)
public class RestrictedSettingsFragmentTest { public class RestrictedSettingsFragmentTest {

View File

@@ -22,7 +22,6 @@ import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
import android.app.AlertDialog;
import android.content.BroadcastReceiver; import android.content.BroadcastReceiver;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
@@ -52,6 +51,7 @@ import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config; import org.robolectric.annotation.Config;
import org.robolectric.util.ReflectionHelpers; import org.robolectric.util.ReflectionHelpers;
import androidx.appcompat.app.AlertDialog;
import androidx.preference.PreferenceManager; import androidx.preference.PreferenceManager;
import androidx.preference.PreferenceScreen; import androidx.preference.PreferenceScreen;

View File

@@ -21,12 +21,13 @@ import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.spy; import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify;
import android.app.AlertDialog;
import android.content.Context; import android.content.Context;
import android.content.DialogInterface; import android.content.DialogInterface;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.testutils.SettingsRobolectricTestRunner; 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 com.android.settingslib.testutils.FragmentTestUtils;
import org.junit.Before; import org.junit.Before;
@@ -35,13 +36,13 @@ import org.junit.runner.RunWith;
import org.mockito.Mock; import org.mockito.Mock;
import org.mockito.MockitoAnnotations; import org.mockito.MockitoAnnotations;
import org.robolectric.RuntimeEnvironment; import org.robolectric.RuntimeEnvironment;
import org.robolectric.Shadows; import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowAlertDialog;
import org.robolectric.shadows.ShadowDialog;
import androidx.appcompat.app.AlertDialog;
import androidx.fragment.app.Fragment; import androidx.fragment.app.Fragment;
@RunWith(SettingsRobolectricTestRunner.class) @RunWith(SettingsRobolectricTestRunner.class)
@Config(shadows = {ShadowAlertDialogCompat.class, SettingsShadowResourcesImpl.class})
public class ButtonActionDialogFragmentTest { public class ButtonActionDialogFragmentTest {
private static final int FORCE_STOP_ID = ButtonActionDialogFragment.DialogType.FORCE_STOP; private static final int FORCE_STOP_ID = ButtonActionDialogFragment.DialogType.FORCE_STOP;
@@ -73,12 +74,12 @@ public class ButtonActionDialogFragmentTest {
@Test @Test
public void testOnCreateDialog_forceStopDialog() { public void testOnCreateDialog_forceStopDialog() {
ButtonActionDialogFragment fragment = ButtonActionDialogFragment.newInstance(FORCE_STOP_ID); ButtonActionDialogFragment fragment = ButtonActionDialogFragment.newInstance(FORCE_STOP_ID);
FragmentTestUtils.startFragment(fragment); FragmentTestUtils.startFragment(fragment);
final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog();
assertThat(dialog).isNotNull(); assertThat(dialog).isNotNull();
ShadowAlertDialog shadowDialog = Shadows.shadowOf(dialog);
ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
assertThat(shadowDialog.getMessage()).isEqualTo( assertThat(shadowDialog.getMessage()).isEqualTo(
mShadowContext.getString(R.string.force_stop_dlg_text)); mShadowContext.getString(R.string.force_stop_dlg_text));
@@ -93,12 +94,12 @@ public class ButtonActionDialogFragmentTest {
@Test @Test
public void testOnCreateDialog_disableDialog() { public void testOnCreateDialog_disableDialog() {
ButtonActionDialogFragment fragment = ButtonActionDialogFragment.newInstance(DISABLE_ID); ButtonActionDialogFragment fragment = ButtonActionDialogFragment.newInstance(DISABLE_ID);
FragmentTestUtils.startFragment(fragment); FragmentTestUtils.startFragment(fragment);
final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog();
assertThat(dialog).isNotNull(); assertThat(dialog).isNotNull();
ShadowAlertDialog shadowDialog = Shadows.shadowOf(dialog);
ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
assertThat(shadowDialog.getMessage()).isEqualTo( assertThat(shadowDialog.getMessage()).isEqualTo(
mShadowContext.getString(R.string.app_disable_dlg_text)); mShadowContext.getString(R.string.app_disable_dlg_text));
@@ -111,13 +112,13 @@ public class ButtonActionDialogFragmentTest {
@Test @Test
public void testOnCreateDialog_specialDisableDialog() { public void testOnCreateDialog_specialDisableDialog() {
ButtonActionDialogFragment fragment = ButtonActionDialogFragment fragment =
ButtonActionDialogFragment.newInstance(SPECIAL_DISABLE_ID); ButtonActionDialogFragment.newInstance(SPECIAL_DISABLE_ID);
FragmentTestUtils.startFragment(fragment); FragmentTestUtils.startFragment(fragment);
final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog();
assertThat(dialog).isNotNull(); assertThat(dialog).isNotNull();
ShadowAlertDialog shadowDialog = Shadows.shadowOf(dialog);
ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
assertThat(shadowDialog.getMessage()).isEqualTo( assertThat(shadowDialog.getMessage()).isEqualTo(
mShadowContext.getString(R.string.app_disable_dlg_text)); mShadowContext.getString(R.string.app_disable_dlg_text));

View File

@@ -25,24 +25,27 @@ import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
import android.app.AlertDialog;
import android.content.Context; import android.content.Context;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.testutils.SettingsRobolectricTestRunner; 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.Before;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.robolectric.Robolectric;
import org.robolectric.RuntimeEnvironment; import org.robolectric.RuntimeEnvironment;
import org.robolectric.Shadows; import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowAlertDialog;
import org.robolectric.shadows.ShadowDialog; import androidx.appcompat.app.AlertDialog;
import androidx.fragment.app.FragmentActivity;
@RunWith(SettingsRobolectricTestRunner.class) @RunWith(SettingsRobolectricTestRunner.class)
@Config(shadows = {ShadowAlertDialogCompat.class, SettingsShadowResourcesImpl.class})
public class InstantAppButtonDialogFragmentTest { public class InstantAppButtonDialogFragmentTest {
private static final String TEST_PACKAGE = "testPackage"; private static final String TEST_PACKAGE = "testPackage";
@@ -52,8 +55,10 @@ public class InstantAppButtonDialogFragmentTest {
@Before @Before
public void setUp() { public void setUp() {
final FragmentActivity activity = Robolectric.setupActivity(FragmentActivity.class);
mContext = spy(RuntimeEnvironment.application); mContext = spy(RuntimeEnvironment.application);
mFragment = spy(InstantAppButtonDialogFragment.newInstance(TEST_PACKAGE)); mFragment = spy(InstantAppButtonDialogFragment.newInstance(TEST_PACKAGE));
mFragment.show(activity.getSupportFragmentManager(), "InstantAppButtonDialogFragment");
doReturn(mContext).when(mFragment).getContext(); doReturn(mContext).when(mFragment).getContext();
} }
@@ -61,7 +66,6 @@ public class InstantAppButtonDialogFragmentTest {
public void onClick_shouldDeleteApp() { public void onClick_shouldDeleteApp() {
final PackageManager packageManager = mock(PackageManager.class); final PackageManager packageManager = mock(PackageManager.class);
when(mContext.getPackageManager()).thenReturn(packageManager); when(mContext.getPackageManager()).thenReturn(packageManager);
FragmentTestUtils.startFragment(mFragment);
mFragment.onClick(null /* dialog */, 0 /* which */); mFragment.onClick(null /* dialog */, 0 /* which */);
@@ -71,11 +75,11 @@ public class InstantAppButtonDialogFragmentTest {
@Test @Test
public void onCreateDialog_clearAppDialog_shouldShowClearAppDataConfirmation() { public void onCreateDialog_clearAppDialog_shouldShowClearAppDataConfirmation() {
FragmentTestUtils.startFragment(mFragment); final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog();
assertThat(dialog).isNotNull(); assertThat(dialog).isNotNull();
final ShadowAlertDialog shadowDialog = Shadows.shadowOf(dialog);
final ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
assertThat(shadowDialog.getMessage()).isEqualTo( assertThat(shadowDialog.getMessage()).isEqualTo(
mContext.getString(R.string.clear_instant_app_confirmation)); mContext.getString(R.string.clear_instant_app_confirmation));

View File

@@ -26,6 +26,7 @@ import android.hardware.fingerprint.Fingerprint;
import com.android.settings.biometrics.fingerprint.FingerprintSettings.FingerprintSettingsFragment; import com.android.settings.biometrics.fingerprint.FingerprintSettings.FingerprintSettingsFragment;
import com.android.settings.biometrics.fingerprint.FingerprintSettings.FingerprintSettingsFragment.DeleteFingerprintDialog; import com.android.settings.biometrics.fingerprint.FingerprintSettings.FingerprintSettingsFragment.DeleteFingerprintDialog;
import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.testutils.shadow.SettingsShadowResourcesImpl;
import com.android.settings.testutils.shadow.ShadowFragment; import com.android.settings.testutils.shadow.ShadowFragment;
import com.android.settingslib.testutils.FragmentTestUtils; import com.android.settingslib.testutils.FragmentTestUtils;
@@ -37,7 +38,7 @@ import org.mockito.MockitoAnnotations;
import org.robolectric.annotation.Config; import org.robolectric.annotation.Config;
@RunWith(SettingsRobolectricTestRunner.class) @RunWith(SettingsRobolectricTestRunner.class)
@Config(shadows = ShadowFragment.class) @Config(shadows = {ShadowFragment.class, SettingsShadowResourcesImpl.class})
public class DeleteFingerprintDialogTest { public class DeleteFingerprintDialogTest {
@Mock @Mock

View File

@@ -16,11 +16,9 @@
package com.android.settings.biometrics.fingerprint; package com.android.settings.biometrics.fingerprint;
import static org.junit.Assert.assertEquals; import static com.google.common.truth.Truth.assertThat;
import static org.junit.Assert.assertNotNull;
import static org.robolectric.RuntimeEnvironment.application; import static org.robolectric.RuntimeEnvironment.application;
import android.app.AlertDialog;
import android.content.Intent; import android.content.Intent;
import android.hardware.fingerprint.FingerprintManager; import android.hardware.fingerprint.FingerprintManager;
import android.widget.Button; import android.widget.Button;
@@ -30,6 +28,8 @@ import com.android.settings.password.ChooseLockSettingsHelper;
import com.android.settings.testutils.FakeFeatureFactory; import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.testutils.shadow.SettingsShadowResources; 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 com.android.settings.testutils.shadow.ShadowUtils;
import org.junit.After; import org.junit.After;
@@ -39,12 +39,17 @@ import org.junit.runner.RunWith;
import org.mockito.Mock; import org.mockito.Mock;
import org.mockito.MockitoAnnotations; import org.mockito.MockitoAnnotations;
import org.robolectric.Robolectric; import org.robolectric.Robolectric;
import org.robolectric.Shadows;
import org.robolectric.annotation.Config; import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowAlertDialog;
import androidx.appcompat.app.AlertDialog;
@RunWith(SettingsRobolectricTestRunner.class) @RunWith(SettingsRobolectricTestRunner.class)
@Config(shadows = {SettingsShadowResources.SettingsShadowTheme.class, ShadowUtils.class}) @Config(shadows = {
SettingsShadowResources.SettingsShadowTheme.class,
ShadowUtils.class,
ShadowAlertDialogCompat.class,
SettingsShadowResourcesImpl.class
})
public class SetupFingerprintEnrollFindSensorTest { public class SetupFingerprintEnrollFindSensorTest {
@Mock @Mock
@@ -75,11 +80,12 @@ public class SetupFingerprintEnrollFindSensorTest {
final Button skipButton = activity.findViewById(R.id.skip_button); final Button skipButton = activity.findViewById(R.id.skip_button);
skipButton.performClick(); skipButton.performClick();
final AlertDialog alertDialog = ShadowAlertDialog.getLatestAlertDialog(); final AlertDialog alertDialog = ShadowAlertDialogCompat.getLatestAlertDialog();
assertNotNull(alertDialog); 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; final int titleRes = R.string.setup_fingerprint_enroll_skip_title;
assertEquals(application.getString(titleRes), shadowAlertDialog.getTitle()); assertThat(application.getString(titleRes)).isEqualTo(shadowAlertDialog.getTitle());
} }
} }

View File

@@ -27,11 +27,14 @@ import android.bluetooth.BluetoothClass;
import android.bluetooth.BluetoothDevice; import android.bluetooth.BluetoothDevice;
import android.content.Context; import android.content.Context;
import android.os.UserManager; import android.os.UserManager;
import android.view.ContextThemeWrapper;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.testutils.FakeFeatureFactory; import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.SettingsRobolectricTestRunner; 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.bluetooth.CachedBluetoothDevice;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider; import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
@@ -41,9 +44,11 @@ import org.junit.runner.RunWith;
import org.mockito.Mock; import org.mockito.Mock;
import org.mockito.MockitoAnnotations; import org.mockito.MockitoAnnotations;
import org.robolectric.RuntimeEnvironment; import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
import org.robolectric.util.ReflectionHelpers; import org.robolectric.util.ReflectionHelpers;
@RunWith(SettingsRobolectricTestRunner.class) @RunWith(SettingsRobolectricTestRunner.class)
@Config(shadows = {SettingsShadowResourcesImpl.class, ShadowAlertDialogCompat.class})
public class BluetoothDevicePreferenceTest { public class BluetoothDevicePreferenceTest {
private static final boolean SHOW_DEVICES_WITHOUT_NAMES = true; private static final boolean SHOW_DEVICES_WITHOUT_NAMES = true;
@@ -58,7 +63,8 @@ public class BluetoothDevicePreferenceTest {
@Before @Before
public void setUp() { public void setUp() {
MockitoAnnotations.initMocks(this); 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(); mFakeFeatureFactory = FakeFeatureFactory.setupForTest();
mMetricsFeatureProvider = mFakeFeatureFactory.getMetricsFeatureProvider(); mMetricsFeatureProvider = mFakeFeatureFactory.getMetricsFeatureProvider();
mPreference = new BluetoothDevicePreference(mContext, mCachedBluetoothDevice, mPreference = new BluetoothDevicePreference(mContext, mCachedBluetoothDevice,

View File

@@ -26,7 +26,6 @@ import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
import android.app.AlertDialog;
import android.app.Dialog; import android.app.Dialog;
import android.content.Context; import android.content.Context;
import android.text.SpannableStringBuilder; import android.text.SpannableStringBuilder;
@@ -38,6 +37,8 @@ import android.widget.TextView;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.testutils.SettingsRobolectricTestRunner; 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 com.android.settingslib.testutils.FragmentTestUtils;
import org.junit.Before; import org.junit.Before;
@@ -46,9 +47,12 @@ import org.junit.runner.RunWith;
import org.mockito.Mock; import org.mockito.Mock;
import org.mockito.MockitoAnnotations; import org.mockito.MockitoAnnotations;
import org.robolectric.RuntimeEnvironment; import org.robolectric.RuntimeEnvironment;
import org.robolectric.shadows.ShadowAlertDialog; import org.robolectric.annotation.Config;
import androidx.appcompat.app.AlertDialog;
@RunWith(SettingsRobolectricTestRunner.class) @RunWith(SettingsRobolectricTestRunner.class)
@Config(shadows = {ShadowAlertDialogCompat.class, SettingsShadowResourcesImpl.class})
public class BluetoothPairingDialogTest { public class BluetoothPairingDialogTest {
private static final String FILLER = "text that goes in a view"; private static final String FILLER = "text that goes in a view";
@@ -434,7 +438,7 @@ public class BluetoothPairingDialogTest {
BluetoothPairingDialogFragment fragment = spy(new BluetoothPairingDialogFragment()); BluetoothPairingDialogFragment fragment = spy(new BluetoothPairingDialogFragment());
when(fragment.getPairingViewText()).thenReturn(existingText); when(fragment.getPairingViewText()).thenReturn(existingText);
setupFragment(fragment); setupFragment(fragment);
AlertDialog dialog = ShadowAlertDialog.getLatestAlertDialog(); AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
assertThat(dialog).isNotNull(); assertThat(dialog).isNotNull();
boolean expected = !TextUtils.isEmpty(existingText); boolean expected = !TextUtils.isEmpty(existingText);
assertThat(dialog.getButton(Dialog.BUTTON_POSITIVE).isEnabled()).isEqualTo(expected); assertThat(dialog.getButton(Dialog.BUTTON_POSITIVE).isEnabled()).isEqualTo(expected);

View File

@@ -24,10 +24,9 @@ import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
import android.app.AlertDialog;
import com.android.settings.testutils.FakeFeatureFactory; import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.testutils.shadow.SettingsShadowResourcesImpl;
import com.android.settingslib.bluetooth.CachedBluetoothDevice; import com.android.settingslib.bluetooth.CachedBluetoothDevice;
import org.junit.Before; import org.junit.Before;
@@ -37,11 +36,14 @@ import org.mockito.Answers;
import org.mockito.Mock; import org.mockito.Mock;
import org.mockito.MockitoAnnotations; import org.mockito.MockitoAnnotations;
import org.robolectric.Robolectric; import org.robolectric.Robolectric;
import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowDialog; import org.robolectric.shadows.ShadowDialog;
import androidx.appcompat.app.AlertDialog;
import androidx.fragment.app.FragmentActivity; import androidx.fragment.app.FragmentActivity;
@RunWith(SettingsRobolectricTestRunner.class) @RunWith(SettingsRobolectricTestRunner.class)
@Config(shadows = SettingsShadowResourcesImpl.class)
public class ForgetDeviceDialogFragmentTest { public class ForgetDeviceDialogFragmentTest {
@Mock(answer = Answers.RETURNS_DEEP_STUBS) @Mock(answer = Answers.RETURNS_DEEP_STUBS)

View File

@@ -22,13 +22,14 @@ import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
import android.app.AlertDialog;
import android.content.Context; import android.content.Context;
import android.view.View; import android.view.View;
import android.view.inputmethod.InputMethodManager; import android.view.inputmethod.InputMethodManager;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.testutils.SettingsRobolectricTestRunner; 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.LocalBluetoothAdapter;
import com.android.settingslib.bluetooth.LocalBluetoothManager; import com.android.settingslib.bluetooth.LocalBluetoothManager;
import com.android.settingslib.testutils.FragmentTestUtils; import com.android.settingslib.testutils.FragmentTestUtils;
@@ -40,11 +41,15 @@ import org.junit.runner.RunWith;
import org.mockito.Mock; import org.mockito.Mock;
import org.mockito.MockitoAnnotations; import org.mockito.MockitoAnnotations;
import org.robolectric.RuntimeEnvironment; import org.robolectric.RuntimeEnvironment;
import org.robolectric.shadows.ShadowAlertDialog; import org.robolectric.annotation.Config;
import org.robolectric.util.ReflectionHelpers; import org.robolectric.util.ReflectionHelpers;
import androidx.appcompat.app.AlertDialog;
@RunWith(SettingsRobolectricTestRunner.class) @RunWith(SettingsRobolectricTestRunner.class)
@Config(shadows = {ShadowAlertDialogCompat.class, SettingsShadowResourcesImpl.class})
public class LocalDeviceNameDialogFragmentTest { public class LocalDeviceNameDialogFragmentTest {
@Mock @Mock
private LocalBluetoothManager mManager; private LocalBluetoothManager mManager;
@Mock @Mock
@@ -75,7 +80,7 @@ public class LocalDeviceNameDialogFragmentTest {
@Test @Test
public void diaglogTriggersShowSoftInput() { public void diaglogTriggersShowSoftInput() {
FragmentTestUtils.startFragment(mFragment); FragmentTestUtils.startFragment(mFragment);
AlertDialog dialog = ShadowAlertDialog.getLatestAlertDialog(); AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
assertThat(dialog).isNotNull(); assertThat(dialog).isNotNull();
View view = dialog.findViewById(R.id.edittext); View view = dialog.findViewById(R.id.edittext);
verify(mInputMethodManager).showSoftInput(view, InputMethodManager.SHOW_IMPLICIT); verify(mInputMethodManager).showSoftInput(view, InputMethodManager.SHOW_IMPLICIT);

View File

@@ -25,7 +25,6 @@ import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
import android.app.AlertDialog;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.widget.Button; import android.widget.Button;
import android.widget.EditText; import android.widget.EditText;
@@ -33,6 +32,7 @@ import android.widget.EditText;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.testutils.FakeFeatureFactory; import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.testutils.shadow.SettingsShadowResourcesImpl;
import com.android.settingslib.bluetooth.CachedBluetoothDevice; import com.android.settingslib.bluetooth.CachedBluetoothDevice;
import com.android.settingslib.testutils.FragmentTestUtils; import com.android.settingslib.testutils.FragmentTestUtils;
@@ -42,9 +42,13 @@ import org.junit.runner.RunWith;
import org.mockito.Answers; import org.mockito.Answers;
import org.mockito.Mock; import org.mockito.Mock;
import org.mockito.MockitoAnnotations; import org.mockito.MockitoAnnotations;
import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowDialog; import org.robolectric.shadows.ShadowDialog;
import androidx.appcompat.app.AlertDialog;
@RunWith(SettingsRobolectricTestRunner.class) @RunWith(SettingsRobolectricTestRunner.class)
@Config(shadows = SettingsShadowResourcesImpl.class)
public class RemoteDeviceNameDialogFragmentTest { public class RemoteDeviceNameDialogFragmentTest {
@Mock(answer = Answers.RETURNS_DEEP_STUBS) @Mock(answer = Answers.RETURNS_DEEP_STUBS)

View File

@@ -29,14 +29,17 @@ import android.view.View;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.testutils.Robolectric; import com.android.settings.testutils.Robolectric;
import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.testutils.shadow.SettingsShadowResourcesImpl;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.robolectric.annotation.Config;
import androidx.fragment.app.FragmentActivity; import androidx.fragment.app.FragmentActivity;
@RunWith(SettingsRobolectricTestRunner.class) @RunWith(SettingsRobolectricTestRunner.class)
@Config(shadows = SettingsShadowResourcesImpl.class)
public class HardwareInfoDialogFragmentTest { public class HardwareInfoDialogFragmentTest {
private FragmentActivity mActivity; private FragmentActivity mActivity;

View File

@@ -18,7 +18,6 @@ package com.android.settings.deviceinfo;
import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertThat;
import android.app.AlertDialog;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.os.Bundle; import android.os.Bundle;
import android.os.storage.VolumeRecord; import android.os.storage.VolumeRecord;
@@ -28,6 +27,7 @@ import com.android.settings.R;
import com.android.settings.deviceinfo.PrivateVolumeForget.ForgetConfirmFragment; import com.android.settings.deviceinfo.PrivateVolumeForget.ForgetConfirmFragment;
import com.android.settings.testutils.Robolectric; import com.android.settings.testutils.Robolectric;
import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.testutils.shadow.SettingsShadowResourcesImpl;
import com.android.settings.testutils.shadow.ShadowStorageManager; import com.android.settings.testutils.shadow.ShadowStorageManager;
import org.junit.After; import org.junit.After;
@@ -36,10 +36,11 @@ import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.robolectric.annotation.Config; import org.robolectric.annotation.Config;
import androidx.appcompat.app.AlertDialog;
import androidx.fragment.app.FragmentActivity; import androidx.fragment.app.FragmentActivity;
@RunWith(SettingsRobolectricTestRunner.class) @RunWith(SettingsRobolectricTestRunner.class)
@Config(shadows = ShadowStorageManager.class) @Config(shadows = {ShadowStorageManager.class, SettingsShadowResourcesImpl.class})
public class PrivateVolumeForgetTest { public class PrivateVolumeForgetTest {
private PrivateVolumeForget mFragment; private PrivateVolumeForget mFragment;

View File

@@ -21,7 +21,6 @@ import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.spy; import static org.mockito.Mockito.spy;
import android.app.AlertDialog;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.pm.ApplicationInfo; import android.content.pm.ApplicationInfo;
@@ -38,6 +37,8 @@ import com.android.settings.fuelgauge.batterytip.tips.BatteryTip;
import com.android.settings.fuelgauge.batterytip.tips.RestrictAppTip; import com.android.settings.fuelgauge.batterytip.tips.RestrictAppTip;
import com.android.settings.fuelgauge.batterytip.tips.UnrestrictAppTip; import com.android.settings.fuelgauge.batterytip.tips.UnrestrictAppTip;
import com.android.settings.testutils.SettingsRobolectricTestRunner; 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 com.android.settingslib.testutils.FragmentTestUtils;
import org.junit.Before; import org.junit.Before;
@@ -47,18 +48,18 @@ import org.mockito.ArgumentCaptor;
import org.mockito.Mock; import org.mockito.Mock;
import org.mockito.MockitoAnnotations; import org.mockito.MockitoAnnotations;
import org.robolectric.RuntimeEnvironment; 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.ArrayList;
import java.util.List; import java.util.List;
import androidx.appcompat.app.AlertDialog;
import androidx.preference.CheckBoxPreference; import androidx.preference.CheckBoxPreference;
import androidx.preference.PreferenceCategory; import androidx.preference.PreferenceCategory;
import androidx.preference.PreferenceManager; import androidx.preference.PreferenceManager;
@RunWith(SettingsRobolectricTestRunner.class) @RunWith(SettingsRobolectricTestRunner.class)
@Config(shadows = {ShadowAlertDialogCompat.class, SettingsShadowResourcesImpl.class})
public class RestrictedAppDetailsTest { public class RestrictedAppDetailsTest {
private static final String PACKAGE_NAME = "com.android.app"; private static final String PACKAGE_NAME = "com.android.app";
@@ -154,8 +155,8 @@ public class RestrictedAppDetailsTest {
FragmentTestUtils.startFragment(dialogFragment); FragmentTestUtils.startFragment(dialogFragment);
final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog(); final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
ShadowAlertDialog shadowDialog = Shadows.shadowOf(dialog); ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
assertThat(shadowDialog.getTitle()).isEqualTo("Restrict app?"); assertThat(shadowDialog.getTitle()).isEqualTo("Restrict app?");
} }
@@ -166,8 +167,8 @@ public class RestrictedAppDetailsTest {
FragmentTestUtils.startFragment(dialogFragment); FragmentTestUtils.startFragment(dialogFragment);
final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog(); final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
ShadowAlertDialog shadowDialog = Shadows.shadowOf(dialog); ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
assertThat(shadowDialog.getTitle()).isEqualTo("Remove restriction?"); assertThat(shadowDialog.getTitle()).isEqualTo("Remove restriction?");
} }

View File

@@ -20,7 +20,6 @@ import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.spy; import static org.mockito.Mockito.spy;
import android.app.AlertDialog;
import android.content.Context; import android.content.Context;
import android.text.format.DateUtils; import android.text.format.DateUtils;
@@ -33,6 +32,8 @@ import com.android.settings.fuelgauge.batterytip.tips.SummaryTip;
import com.android.settings.fuelgauge.batterytip.tips.UnrestrictAppTip; import com.android.settings.fuelgauge.batterytip.tips.UnrestrictAppTip;
import com.android.settings.testutils.FakeFeatureFactory; import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.testutils.SettingsRobolectricTestRunner; 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.settings.testutils.shadow.ShadowUtils;
import com.android.settingslib.testutils.FragmentTestUtils; import com.android.settingslib.testutils.FragmentTestUtils;
@@ -42,16 +43,16 @@ import org.junit.runner.RunWith;
import org.mockito.MockitoAnnotations; import org.mockito.MockitoAnnotations;
import org.robolectric.Robolectric; import org.robolectric.Robolectric;
import org.robolectric.RuntimeEnvironment; import org.robolectric.RuntimeEnvironment;
import org.robolectric.Shadows;
import org.robolectric.annotation.Config; import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowAlertDialog;
import org.robolectric.shadows.ShadowDialog;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import androidx.appcompat.app.AlertDialog;
@RunWith(SettingsRobolectricTestRunner.class) @RunWith(SettingsRobolectricTestRunner.class)
@Config(shadows = ShadowUtils.class) @Config(shadows = {ShadowUtils.class, ShadowAlertDialogCompat.class,
SettingsShadowResourcesImpl.class})
public class BatteryTipDialogFragmentTest { public class BatteryTipDialogFragmentTest {
private static final String PACKAGE_NAME = "com.android.app"; private static final String PACKAGE_NAME = "com.android.app";
@@ -108,8 +109,8 @@ public class BatteryTipDialogFragmentTest {
Robolectric.getForegroundThreadScheduler().advanceToLastPostedRunnable(); Robolectric.getForegroundThreadScheduler().advanceToLastPostedRunnable();
final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog(); final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
ShadowAlertDialog shadowDialog = Shadows.shadowOf(dialog); ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
assertThat(shadowDialog.getMessage()).isEqualTo( assertThat(shadowDialog.getMessage()).isEqualTo(
mContext.getString(R.string.battery_tip_dialog_message, 1)); mContext.getString(R.string.battery_tip_dialog_message, 1));
@@ -121,8 +122,8 @@ public class BatteryTipDialogFragmentTest {
FragmentTestUtils.startFragment(mDialogFragment); FragmentTestUtils.startFragment(mDialogFragment);
final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog(); final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
ShadowAlertDialog shadowDialog = Shadows.shadowOf(dialog); ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
assertThat(shadowDialog.getTitle()).isEqualTo("Restrict app?"); assertThat(shadowDialog.getTitle()).isEqualTo("Restrict app?");
assertThat(shadowDialog.getMessage()) assertThat(shadowDialog.getMessage())
@@ -142,8 +143,8 @@ public class BatteryTipDialogFragmentTest {
Robolectric.getForegroundThreadScheduler().advanceToLastPostedRunnable(); Robolectric.getForegroundThreadScheduler().advanceToLastPostedRunnable();
final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog(); final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
ShadowAlertDialog shadowDialog = Shadows.shadowOf(dialog); ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
assertThat(shadowDialog.getTitle()).isEqualTo("Restrict 2 apps?"); assertThat(shadowDialog.getTitle()).isEqualTo("Restrict 2 apps?");
assertThat(shadowDialog.getMessage()) assertThat(shadowDialog.getMessage())
@@ -171,8 +172,8 @@ public class BatteryTipDialogFragmentTest {
Robolectric.getForegroundThreadScheduler().advanceToLastPostedRunnable(); Robolectric.getForegroundThreadScheduler().advanceToLastPostedRunnable();
final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog(); final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
ShadowAlertDialog shadowDialog = Shadows.shadowOf(dialog); ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
assertThat(shadowDialog.getTitle()).isEqualTo("Restrict 6 apps?"); assertThat(shadowDialog.getTitle()).isEqualTo("Restrict 6 apps?");
assertThat(shadowDialog.getMessage()) assertThat(shadowDialog.getMessage())
@@ -189,8 +190,8 @@ public class BatteryTipDialogFragmentTest {
FragmentTestUtils.startFragment(mDialogFragment); FragmentTestUtils.startFragment(mDialogFragment);
final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog(); final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
ShadowAlertDialog shadowDialog = Shadows.shadowOf(dialog); ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
assertThat(shadowDialog.getTitle()).isEqualTo("Remove restriction?"); assertThat(shadowDialog.getTitle()).isEqualTo("Remove restriction?");
assertThat(shadowDialog.getMessage()) assertThat(shadowDialog.getMessage())
@@ -204,8 +205,8 @@ public class BatteryTipDialogFragmentTest {
FragmentTestUtils.startFragment(mDialogFragment); FragmentTestUtils.startFragment(mDialogFragment);
final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog(); final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
ShadowAlertDialog shadowDialog = Shadows.shadowOf(dialog); ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
assertThat(shadowDialog.getMessage()).isEqualTo( assertThat(shadowDialog.getMessage()).isEqualTo(
"Your apps are using a normal amount of battery. If apps use too much battery, " "Your apps are using a normal amount of battery. If apps use too much battery, "

View File

@@ -20,15 +20,18 @@ import static com.google.common.truth.Truth.assertThat;
import com.android.settings.password.ConfirmDeviceCredentialBaseFragment.LastTryDialog; import com.android.settings.password.ConfirmDeviceCredentialBaseFragment.LastTryDialog;
import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.testutils.shadow.SettingsShadowResourcesImpl;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.robolectric.Robolectric; import org.robolectric.Robolectric;
import org.robolectric.annotation.Config;
import androidx.fragment.app.FragmentActivity; import androidx.fragment.app.FragmentActivity;
import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentManager;
@RunWith(SettingsRobolectricTestRunner.class) @RunWith(SettingsRobolectricTestRunner.class)
@Config(shadows = SettingsShadowResourcesImpl.class)
public class ConfirmCredentialTest { public class ConfirmCredentialTest {
@Test @Test
public void testLastTryDialogShownExactlyOnce() { public void testLastTryDialogShownExactlyOnce() {

View File

@@ -19,7 +19,6 @@ package com.android.settings.password;
import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertThat;
import static org.robolectric.RuntimeEnvironment.application; import static org.robolectric.RuntimeEnvironment.application;
import android.app.AlertDialog;
import android.content.ComponentName; import android.content.ComponentName;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.os.UserHandle; import android.os.UserHandle;
@@ -37,28 +36,29 @@ import com.android.settings.testutils.Robolectric;
import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.testutils.shadow.SettingsShadowResources; import com.android.settings.testutils.shadow.SettingsShadowResources;
import com.android.settings.testutils.shadow.SettingsShadowResourcesImpl; import com.android.settings.testutils.shadow.SettingsShadowResourcesImpl;
import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
import com.android.settings.testutils.shadow.ShadowUtils; import com.android.settings.testutils.shadow.ShadowUtils;
import org.junit.Before; import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.robolectric.Shadows; import org.robolectric.Shadows;
import org.robolectric.annotation.Config; import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowAlertDialog;
import org.robolectric.shadows.ShadowPackageManager; import org.robolectric.shadows.ShadowPackageManager;
import org.robolectric.util.ReflectionHelpers; import org.robolectric.util.ReflectionHelpers;
import org.robolectric.util.ReflectionHelpers.ClassParameter; import org.robolectric.util.ReflectionHelpers.ClassParameter;
import java.util.Arrays; import java.util.Arrays;
import androidx.appcompat.app.AlertDialog;
import androidx.fragment.app.FragmentActivity; import androidx.fragment.app.FragmentActivity;
@RunWith(SettingsRobolectricTestRunner.class) @RunWith(SettingsRobolectricTestRunner.class)
@Config(shadows = { @Config(shadows = {
SettingsShadowResourcesImpl.class, SettingsShadowResourcesImpl.class,
SettingsShadowResources.SettingsShadowTheme.class, SettingsShadowResources.SettingsShadowTheme.class,
ShadowUtils.class ShadowUtils.class,
ShadowAlertDialogCompat.class
}) })
public class SetupChooseLockPatternTest { public class SetupChooseLockPatternTest {
@@ -88,7 +88,7 @@ public class SetupChooseLockPatternTest {
ShadowPackageManager spm = Shadows.shadowOf(application.getPackageManager()); ShadowPackageManager spm = Shadows.shadowOf(application.getPackageManager());
ComponentName cname = new ComponentName(application, SetupRedactionInterstitial.class); ComponentName cname = new ComponentName(application, SetupRedactionInterstitial.class);
final int componentEnabled = spm.getComponentEnabledSettingFlags(cname) final int componentEnabled = spm.getComponentEnabledSettingFlags(cname)
& PackageManager.COMPONENT_ENABLED_STATE_ENABLED; & PackageManager.COMPONENT_ENABLED_STATE_ENABLED;
assertThat(componentEnabled).isEqualTo(PackageManager.COMPONENT_ENABLED_STATE_ENABLED); assertThat(componentEnabled).isEqualTo(PackageManager.COMPONENT_ENABLED_STATE_ENABLED);
} }
@@ -111,22 +111,20 @@ public class SetupChooseLockPatternTest {
assertThat(button.getVisibility()).isEqualTo(View.VISIBLE); assertThat(button.getVisibility()).isEqualTo(View.VISIBLE);
button.performClick(); button.performClick();
AlertDialog chooserDialog = ShadowAlertDialog.getLatestAlertDialog(); AlertDialog chooserDialog = ShadowAlertDialogCompat.getLatestAlertDialog();
assertThat(chooserDialog).isNotNull(); assertThat(chooserDialog).isNotNull();
int count = Shadows.shadowOf(chooserDialog).getAdapter().getCount(); int count = chooserDialog.getListView().getCount();
assertThat(count).named("List items shown").isEqualTo(3); assertThat(count).named("List items shown").isEqualTo(3);
} }
@Config(qualifiers = "sw400dp") @Config(qualifiers = "sw400dp")
@Test @Test
@Ignore("b/111194289")
public void sw400dp_shouldShowScreenLockOptions() { public void sw400dp_shouldShowScreenLockOptions() {
verifyScreenLockOptionsShown(); verifyScreenLockOptionsShown();
} }
@Config(qualifiers = "sw400dp-land") @Config(qualifiers = "sw400dp-land")
@Test @Test
@Ignore("b/111194289")
public void sw400dpLandscape_shouldShowScreenLockOptions() { public void sw400dpLandscape_shouldShowScreenLockOptions() {
verifyScreenLockOptionsShown(); verifyScreenLockOptionsShown();
} }
@@ -156,7 +154,7 @@ public class SetupChooseLockPatternTest {
assertThat(skipButton.getVisibility()).isEqualTo(View.VISIBLE); assertThat(skipButton.getVisibility()).isEqualTo(View.VISIBLE);
skipButton.performClick(); skipButton.performClick();
AlertDialog chooserDialog = ShadowAlertDialog.getLatestAlertDialog(); AlertDialog chooserDialog = ShadowAlertDialogCompat.getLatestAlertDialog();
assertThat(chooserDialog).isNotNull(); assertThat(chooserDialog).isNotNull();
} }

View File

@@ -16,30 +16,30 @@
package com.android.settings.password; package com.android.settings.password;
import static org.junit.Assert.assertEquals; import static com.google.common.truth.Truth.assertThat;
import static org.junit.Assert.assertNotNull;
import android.app.AlertDialog;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.testutils.Robolectric; import com.android.settings.testutils.Robolectric;
import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.testutils.shadow.SettingsShadowResources; 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 com.android.settings.testutils.shadow.ShadowUtils;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.robolectric.Shadows;
import org.robolectric.annotation.Config; import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowAlertDialog;
import androidx.appcompat.app.AlertDialog;
import androidx.fragment.app.FragmentActivity; import androidx.fragment.app.FragmentActivity;
@RunWith(SettingsRobolectricTestRunner.class) @RunWith(SettingsRobolectricTestRunner.class)
@Config(shadows = { @Config(shadows = {
SettingsShadowResources.SettingsShadowTheme.class, SettingsShadowResources.SettingsShadowTheme.class,
ShadowUtils.class ShadowUtils.class,
ShadowAlertDialogCompat.class,
SettingsShadowResourcesImpl.class
}) })
public class SetupSkipDialogTest { public class SetupSkipDialogTest {
@@ -55,12 +55,12 @@ public class SetupSkipDialogTest {
SetupSkipDialog setupSkipDialog = SetupSkipDialog.newInstance(false); SetupSkipDialog setupSkipDialog = SetupSkipDialog.newInstance(false);
setupSkipDialog.show(mActivity.getSupportFragmentManager()); setupSkipDialog.show(mActivity.getSupportFragmentManager());
AlertDialog alertDialog = ShadowAlertDialog.getLatestAlertDialog(); AlertDialog alertDialog = ShadowAlertDialogCompat.getLatestAlertDialog();
assertNotNull(alertDialog); assertThat(alertDialog).isNotNull();
ShadowAlertDialog shadowAlertDialog = Shadows.shadowOf(alertDialog); ShadowAlertDialogCompat shadowAlertDialog = ShadowAlertDialogCompat.shadowOf(alertDialog);
assertEquals(mActivity.getString(R.string.lock_screen_intro_skip_title), assertThat(mActivity.getString(R.string.lock_screen_intro_skip_title)).isEqualTo(
shadowAlertDialog.getTitle()); 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()); shadowAlertDialog.getMessage());
} }
@@ -69,12 +69,12 @@ public class SetupSkipDialogTest {
SetupSkipDialog setupSkipDialog = SetupSkipDialog.newInstance(true); SetupSkipDialog setupSkipDialog = SetupSkipDialog.newInstance(true);
setupSkipDialog.show(mActivity.getSupportFragmentManager()); setupSkipDialog.show(mActivity.getSupportFragmentManager());
AlertDialog alertDialog = ShadowAlertDialog.getLatestAlertDialog(); AlertDialog alertDialog = ShadowAlertDialogCompat.getLatestAlertDialog();
assertNotNull(alertDialog); assertThat(alertDialog).isNotNull();
ShadowAlertDialog shadowAlertDialog = Shadows.shadowOf(alertDialog); ShadowAlertDialogCompat shadowAlertDialog = ShadowAlertDialogCompat.shadowOf(alertDialog);
assertEquals(mActivity.getString(R.string.lock_screen_intro_skip_title), assertThat(mActivity.getString(R.string.lock_screen_intro_skip_title)).isEqualTo(
shadowAlertDialog.getTitle()); 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()); shadowAlertDialog.getMessage());
} }
} }

View File

@@ -17,7 +17,6 @@
package com.android.settings.wifi; package com.android.settings.wifi;
import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.doReturn;
import android.content.Intent; import android.content.Intent;
@@ -25,8 +24,10 @@ import android.net.wifi.WifiConfiguration;
import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.testutils.shadow.SettingsShadowResources; 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.SettingsShadowTypedArray;
import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
import com.android.settings.testutils.shadow.ShadowConnectivityManager;
import com.android.settings.testutils.shadow.ShadowWifiManager; import com.android.settings.testutils.shadow.ShadowWifiManager;
import org.junit.Before; import org.junit.Before;
@@ -36,7 +37,6 @@ import org.mockito.Mock;
import org.mockito.MockitoAnnotations; import org.mockito.MockitoAnnotations;
import org.robolectric.Robolectric; import org.robolectric.Robolectric;
import org.robolectric.annotation.Config; import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowAlertDialog;
import org.robolectric.util.ReflectionHelpers; import org.robolectric.util.ReflectionHelpers;
@RunWith(SettingsRobolectricTestRunner.class) @RunWith(SettingsRobolectricTestRunner.class)
@@ -44,9 +44,10 @@ import org.robolectric.util.ReflectionHelpers;
SettingsShadowResources.SettingsShadowTheme.class, SettingsShadowResources.SettingsShadowTheme.class,
ShadowConnectivityManager.class, ShadowConnectivityManager.class,
SettingsShadowTypedArray.class, SettingsShadowTypedArray.class,
ShadowWifiManager.class ShadowWifiManager.class,
} ShadowAlertDialogCompat.class,
) SettingsShadowResourcesImpl.class
})
public class WifiDialogActivityTest { public class WifiDialogActivityTest {
private static final String AP1_SSID = "\"ap1\""; private static final String AP1_SSID = "\"ap1\"";
@@ -65,7 +66,7 @@ public class WifiDialogActivityTest {
@Test @Test
public void onSubmit_shouldConnectToNetwork() { public void onSubmit_shouldConnectToNetwork() {
WifiDialogActivity activity = Robolectric.setupActivity(WifiDialogActivity.class); WifiDialogActivity activity = Robolectric.setupActivity(WifiDialogActivity.class);
WifiDialog dialog = (WifiDialog) ShadowAlertDialog.getLatestAlertDialog(); WifiDialog dialog = (WifiDialog) ShadowAlertDialogCompat.getLatestAlertDialog();
assertThat(dialog).isNotNull(); assertThat(dialog).isNotNull();
ReflectionHelpers.setField(dialog, "mController", mController); ReflectionHelpers.setField(dialog, "mController", mController);
@@ -82,7 +83,8 @@ public class WifiDialogActivityTest {
WifiDialogActivity.class, WifiDialogActivity.class,
new Intent().putExtra(WifiDialogActivity.KEY_CONNECT_FOR_CALLER, false)) new Intent().putExtra(WifiDialogActivity.KEY_CONNECT_FOR_CALLER, false))
.setup().get(); .setup().get();
WifiDialog dialog = (WifiDialog) ShadowAlertDialog.getLatestAlertDialog(); WifiDialog dialog = (WifiDialog) ShadowAlertDialogCompat.getLatestAlertDialog();
assertThat(dialog).isNotNull(); assertThat(dialog).isNotNull();
ReflectionHelpers.setField(dialog, "mController", mController); ReflectionHelpers.setField(dialog, "mController", mController);

View File

@@ -27,7 +27,6 @@ import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.times; import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify;
import android.app.AlertDialog;
import android.content.ContentResolver; import android.content.ContentResolver;
import android.content.Context; import android.content.Context;
import android.content.DialogInterface; import android.content.DialogInterface;
@@ -45,6 +44,7 @@ import org.mockito.Mock;
import org.mockito.MockitoAnnotations; import org.mockito.MockitoAnnotations;
import org.robolectric.RuntimeEnvironment; import org.robolectric.RuntimeEnvironment;
import androidx.appcompat.app.AlertDialog;
import androidx.fragment.app.Fragment; import androidx.fragment.app.Fragment;
@RunWith(SettingsRobolectricTestRunner.class) @RunWith(SettingsRobolectricTestRunner.class)

View File

@@ -20,11 +20,10 @@ import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
import android.app.Activity; import android.app.Activity;
import android.content.Context;
import android.net.wifi.WifiManager; import android.net.wifi.WifiManager;
import android.view.inputmethod.InputMethodManager;
import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.testutils.SettingsRobolectricTestRunner;
import com.android.settings.testutils.shadow.SettingsShadowResourcesImpl;
import com.android.settings.testutils.shadow.ShadowNfcAdapter; import com.android.settings.testutils.shadow.ShadowNfcAdapter;
import org.junit.After; import org.junit.After;
@@ -33,16 +32,14 @@ import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.mockito.Mock; import org.mockito.Mock;
import org.mockito.MockitoAnnotations; import org.mockito.MockitoAnnotations;
import org.robolectric.RuntimeEnvironment; import org.robolectric.Robolectric;
import org.robolectric.annotation.Config; import org.robolectric.annotation.Config;
import org.robolectric.util.ReflectionHelpers; import org.robolectric.util.ReflectionHelpers;
@RunWith(SettingsRobolectricTestRunner.class) @RunWith(SettingsRobolectricTestRunner.class)
@Config(shadows = ShadowNfcAdapter.class) @Config(shadows = {ShadowNfcAdapter.class, SettingsShadowResourcesImpl.class})
public class WriteWifiConfigToNfcDialogTest { public class WriteWifiConfigToNfcDialogTest {
@Mock
private Activity mActivity;
@Mock @Mock
private WifiManager mWifiManager; private WifiManager mWifiManager;
@@ -51,13 +48,10 @@ public class WriteWifiConfigToNfcDialogTest {
@Before @Before
public void setUp() { public void setUp() {
MockitoAnnotations.initMocks(this); MockitoAnnotations.initMocks(this);
when(mActivity.getApplicationContext()).thenReturn(mActivity); final Activity activity = Robolectric.setupActivity(Activity.class);
when(mActivity.getSystemService(Context.INPUT_METHOD_SERVICE)) mWriteWifiConfigToNfcDialog = new WriteWifiConfigToNfcDialog(activity, 0 /* security */);
.thenReturn(ReflectionHelpers.newInstance(InputMethodManager.class));
mWriteWifiConfigToNfcDialog = new WriteWifiConfigToNfcDialog(RuntimeEnvironment.application,
0 /* security */);
ReflectionHelpers.setField(mWriteWifiConfigToNfcDialog, "mWifiManager", mWifiManager); ReflectionHelpers.setField(mWriteWifiConfigToNfcDialog, "mWifiManager", mWifiManager);
mWriteWifiConfigToNfcDialog.setOwnerActivity(mActivity); mWriteWifiConfigToNfcDialog.setOwnerActivity(activity);
mWriteWifiConfigToNfcDialog.onCreate(null /* savedInstanceState */); mWriteWifiConfigToNfcDialog.onCreate(null /* savedInstanceState */);
} }