Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0966eeb9 authored by jackqdyulei's avatar jackqdyulei Committed by android-build-merger
Browse files

Merge "Update dialogs for anomaly" into oc-dr1-dev

am: d907b99d

Change-Id: Icb92d38004bbbc109e7867638528bc7d80b9ac29
parents 8421bc0d d907b99d
Loading
Loading
Loading
Loading
+11 −3
Original line number Diff line number Diff line
@@ -101,9 +101,17 @@ public class AnomalyDialogFragment extends InstrumentedDialogFragment implements
        switch (anomalyAction.getActionType()) {
            case Anomaly.AnomalyActionType.FORCE_STOP:
                return new AlertDialog.Builder(context)
                        .setTitle(R.string.force_stop_dlg_title)
                        .setMessage(R.string.force_stop_dlg_text)
                        .setPositiveButton(R.string.dlg_ok, this)
                        .setTitle(R.string.dialog_stop_title)
                        .setMessage(getString(R.string.dialog_stop_message, mAnomaly.displayName))
                        .setPositiveButton(R.string.dialog_stop_ok, this)
                        .setNegativeButton(R.string.dlg_cancel, null)
                        .create();
            case Anomaly.AnomalyActionType.BACKGROUND_CHECK:
                return new AlertDialog.Builder(context)
                        .setTitle(R.string.dialog_background_check_title)
                        .setMessage(getString(R.string.dialog_background_check_message,
                                mAnomaly.displayName))
                        .setPositiveButton(R.string.dialog_background_check_ok, this)
                        .setNegativeButton(R.string.dlg_cancel, null)
                        .create();
            default:
+43 −12
Original line number Diff line number Diff line
@@ -40,46 +40,77 @@ import org.robolectric.util.FragmentTestUtil;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
public class AnomalyDialogFragmentTest {
    @Anomaly.AnomalyType
    private static final int ANOMALY_TYPE = Anomaly.AnomalyType.WAKE_LOCK;
    private static final String PACKAGE_NAME = "com.android.app";
    private static final String DISPLAY_NAME = "app";
    private static final int UID = 111;
    private Anomaly mAnomaly;
    private Anomaly mWakeLockAnomaly;
    private Anomaly mWakeupAlarmAnomaly;
    private AnomalyDialogFragment mAnomalyDialogFragment;
    private Context mContext;

    @Before
    public void setUp() {
        mContext = RuntimeEnvironment.application;
        mAnomaly = new Anomaly.Builder()
                .setType(ANOMALY_TYPE)
        mWakeLockAnomaly = new Anomaly.Builder()
                .setType(Anomaly.AnomalyType.WAKE_LOCK)
                .setUid(UID)
                .setPackageName(PACKAGE_NAME)
                .setDisplayName(DISPLAY_NAME)
                .build();
        mWakeupAlarmAnomaly = new Anomaly.Builder()
                .setType(Anomaly.AnomalyType.WAKEUP_ALARM)
                .setUid(UID)
                .setPackageName(PACKAGE_NAME)
                .setDisplayName(DISPLAY_NAME)
                .build();

        mAnomalyDialogFragment = AnomalyDialogFragment.newInstance(mAnomaly, 0 /* metricskey */);
    }

    @Test
    public void testOnCreateDialog_hasCorrectData() {
        mAnomalyDialogFragment = AnomalyDialogFragment.newInstance(mWakeLockAnomaly,
                0 /* metricskey */);
        FragmentTestUtil.startFragment(mAnomalyDialogFragment);

        assertThat(mAnomalyDialogFragment.mAnomaly).isEqualTo(mAnomaly);
        assertThat(mAnomalyDialogFragment.mAnomaly).isEqualTo(mWakeLockAnomaly);
    }

    @Test
    public void testOnCreateDialog_hasCorrectDialog() {
    public void testOnCreateDialog_wakelockAnomaly_fireForceStopDialog() {
        mAnomalyDialogFragment = AnomalyDialogFragment.newInstance(mWakeLockAnomaly,
                0 /* metricskey */);

        FragmentTestUtil.startFragment(mAnomalyDialogFragment);

        final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog();
        ShadowAlertDialog shadowDialog = shadowOf(dialog);

        assertThat(shadowDialog.getMessage()).isEqualTo(
                mContext.getString(R.string.dialog_stop_message, mWakeLockAnomaly.displayName));
        assertThat(shadowDialog.getTitle()).isEqualTo(
                mContext.getString(R.string.dialog_stop_title));
        assertThat(dialog.getButton(DialogInterface.BUTTON_POSITIVE).getText()).isEqualTo(
                mContext.getString(R.string.dialog_stop_ok));
        assertThat(dialog.getButton(DialogInterface.BUTTON_NEGATIVE).getText()).isEqualTo(
                mContext.getString(R.string.dlg_cancel));
    }

    @Test
    public void testOnCreateDialog_wakeupAlarmAnomaly_fireBackgroundCheckDialog() {
        mAnomalyDialogFragment = AnomalyDialogFragment.newInstance(mWakeupAlarmAnomaly,
                0 /* metricskey */);

        FragmentTestUtil.startFragment(mAnomalyDialogFragment);

        final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog();
        ShadowAlertDialog shadowDialog = shadowOf(dialog);

        assertThat(shadowDialog.getMessage()).isEqualTo(
                mContext.getString(R.string.force_stop_dlg_text));
                mContext.getString(R.string.dialog_background_check_message,
                        mWakeLockAnomaly.displayName));
        assertThat(shadowDialog.getTitle()).isEqualTo(
                mContext.getString(R.string.force_stop_dlg_title));
                mContext.getString(R.string.dialog_background_check_title));
        assertThat(dialog.getButton(DialogInterface.BUTTON_POSITIVE).getText()).isEqualTo(
                mContext.getString(R.string.dlg_ok));
                mContext.getString(R.string.dialog_background_check_ok));
        assertThat(dialog.getButton(DialogInterface.BUTTON_NEGATIVE).getText()).isEqualTo(
                mContext.getString(R.string.dlg_cancel));
    }