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

@@ -20,15 +20,18 @@ import static com.google.common.truth.Truth.assertThat;
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() {

View File

@@ -19,7 +19,6 @@ package com.android.settings.password;
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.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.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 @@ public class SetupChooseLockPatternTest {
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 @@ public class SetupChooseLockPatternTest {
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 @@ public class SetupChooseLockPatternTest {
assertThat(skipButton.getVisibility()).isEqualTo(View.VISIBLE);
skipButton.performClick();
AlertDialog chooserDialog = ShadowAlertDialog.getLatestAlertDialog();
AlertDialog chooserDialog = ShadowAlertDialogCompat.getLatestAlertDialog();
assertThat(chooserDialog).isNotNull();
}

View File

@@ -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 @@ public class SetupSkipDialogTest {
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 @@ public class SetupSkipDialogTest {
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());
}
}