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

@@ -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.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.mockito.MockitoAnnotations;
import org.robolectric.annotation.Config;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(shadows = ShadowFragment.class)
@Config(shadows = {ShadowFragment.class, SettingsShadowResourcesImpl.class})
public class DeleteFingerprintDialogTest {
@Mock

View File

@@ -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.password.ChooseLockSettingsHelper;
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.junit.runner.RunWith;
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 @@ public class SetupFingerprintEnrollFindSensorTest {
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());
}
}