Merge "[Settings] Apply new style to dialog" into main

This commit is contained in:
Zoey Chen
2025-02-12 17:28:45 -08:00
committed by Android (Google) Code Review
9 changed files with 199 additions and 178 deletions

View File

@@ -26,10 +26,10 @@ import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.verify;
import android.app.Dialog;
import android.os.Bundle;
import android.window.OnBackInvokedDispatcher;
import androidx.appcompat.app.AlertDialog;
import androidx.fragment.app.FragmentActivity;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;
@@ -92,17 +92,17 @@ public class LocaleDialogFragmentTest {
@Test
public void onBackInvoked_dialogIsStillDisplaying() {
mDialogFragment.setBackDispatcher(mOnBackInvokedDispatcher);
AlertDialog alertDialog = (AlertDialog) mDialogFragment.onCreateDialog(null);
alertDialog.show();
assertThat(alertDialog).isNotNull();
assertThat(alertDialog.isShowing()).isTrue();
Dialog dialog = mDialogFragment.onCreateDialog(null);
dialog.show();
assertThat(dialog).isNotNull();
assertThat(dialog.isShowing()).isTrue();
mOnBackInvokedDispatcher.registerOnBackInvokedCallback(
eq(OnBackInvokedDispatcher.PRIORITY_DEFAULT), any());
mDialogFragment.getBackInvokedCallback().onBackInvoked();
assertThat(alertDialog.isShowing()).isTrue();
assertThat(dialog.isShowing()).isTrue();
}
}

View File

@@ -33,6 +33,7 @@ import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import android.app.Activity;
import android.app.Dialog;
import android.app.IActivityManager;
import android.content.Context;
import android.content.DialogInterface;
@@ -53,7 +54,6 @@ import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.appcompat.app.AlertDialog;
import androidx.fragment.app.FragmentActivity;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;
@@ -78,6 +78,7 @@ import org.mockito.junit.MockitoRule;
import org.robolectric.Robolectric;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.annotation.Config;
import org.robolectric.shadows.ShadowDialog;
import org.robolectric.shadows.ShadowLooper;
import org.robolectric.util.ReflectionHelpers;
@@ -87,6 +88,7 @@ import java.util.Locale;
@RunWith(RobolectricTestRunner.class)
@Config(shadows = {
ShadowDialog.class,
ShadowAlertDialogCompat.class,
ShadowActivityManager.class,
com.android.settings.testutils.shadow.ShadowFragment.class,
@@ -178,7 +180,7 @@ public class LocaleListEditorTest {
ReflectionHelpers.setField(mLocaleListEditor, "mRemoveMode", false);
ReflectionHelpers.setField(mLocaleListEditor, "mShowingRemoveDialog", false);
ReflectionHelpers.setField(mLocaleListEditor, "mLocaleAdditionMode", false);
ShadowAlertDialogCompat.reset();
ShadowDialog.reset();
}
@Test
@@ -209,14 +211,13 @@ public class LocaleListEditorTest {
//launch dialog
mLocaleListEditor.showRemoveLocaleWarningDialog();
final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
final Dialog dialog = ShadowDialog.getLatestDialog();
assertThat(dialog).isNotNull();
final ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
assertThat(shadowDialog.getTitle()).isEqualTo(
mContext.getString(R.string.dlg_remove_locales_error_title));
TextView dialogTitle = dialog.findViewById(R.id.dialog_with_icon_title);
assertThat(dialogTitle.getText().toString())
.isEqualTo(mContext.getString(R.string.dlg_remove_locales_error_title));
}
@Test
@@ -231,14 +232,13 @@ public class LocaleListEditorTest {
//launch dialog
mLocaleListEditor.showRemoveLocaleWarningDialog();
final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
final Dialog dialog = ShadowDialog.getLatestDialog();
assertThat(dialog).isNotNull();
final ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
assertThat(shadowDialog.getMessage()).isEqualTo(
mContext.getString(R.string.dlg_remove_locales_message));
TextView dialogMessage = dialog.findViewById(R.id.dialog_with_icon_message);
assertThat(dialogMessage.getText().toString())
.isEqualTo(mContext.getString(R.string.dlg_remove_locales_message));
}
@Test
@@ -253,13 +253,12 @@ public class LocaleListEditorTest {
//launch dialog
mLocaleListEditor.showRemoveLocaleWarningDialog();
final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
final Dialog dialog = ShadowDialog.getLatestDialog();
assertThat(dialog).isNotNull();
final ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
assertThat(shadowDialog.getMessage()).isNull();
TextView dialogMessage = dialog.findViewById(R.id.dialog_with_icon_message);
assertThat(dialogMessage.getText().isEmpty()).isTrue();
}
@Test
@@ -280,12 +279,12 @@ public class LocaleListEditorTest {
//launch the first dialog
mLocaleListEditor.showRemoveLocaleWarningDialog();
final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
final Dialog dialog = ShadowDialog.getLatestDialog();
assertThat(dialog).isNotNull();
// click the remove button
dialog.getButton(DialogInterface.BUTTON_POSITIVE).performClick();
dialog.findViewById(R.id.button_ok).performClick();
ShadowLooper.idleMainLooper();
assertThat(dialog.isShowing()).isFalse();