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:
@@ -22,7 +22,6 @@ import static org.mockito.Mockito.mock;
|
||||
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.RuntimeEnvironment;
|
||||
import org.robolectric.annotation.Config;
|
||||
import org.robolectric.util.ReflectionHelpers;
|
||||
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
import androidx.preference.PreferenceManager;
|
||||
import androidx.preference.PreferenceScreen;
|
||||
|
||||
|
||||
@@ -21,12 +21,13 @@ import static org.mockito.Mockito.doReturn;
|
||||
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.junit.runner.RunWith;
|
||||
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 @@ public class ButtonActionDialogFragmentTest {
|
||||
@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 @@ public class ButtonActionDialogFragmentTest {
|
||||
@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 @@ public class ButtonActionDialogFragmentTest {
|
||||
@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));
|
||||
|
||||
@@ -25,24 +25,27 @@ import static org.mockito.Mockito.spy;
|
||||
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 @@ public class InstantAppButtonDialogFragmentTest {
|
||||
|
||||
@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 class InstantAppButtonDialogFragmentTest {
|
||||
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 @@ public class InstantAppButtonDialogFragmentTest {
|
||||
|
||||
@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));
|
||||
|
||||
Reference in New Issue
Block a user