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

This commit is contained in:
TreeHugger Robot
2017-06-13 21:36:40 +00:00
committed by Android (Google) Code Review
2 changed files with 54 additions and 15 deletions

View File

@@ -101,9 +101,17 @@ public class AnomalyDialogFragment extends InstrumentedDialogFragment implements
switch (anomalyAction.getActionType()) { switch (anomalyAction.getActionType()) {
case Anomaly.AnomalyActionType.FORCE_STOP: case Anomaly.AnomalyActionType.FORCE_STOP:
return new AlertDialog.Builder(context) return new AlertDialog.Builder(context)
.setTitle(R.string.force_stop_dlg_title) .setTitle(R.string.dialog_stop_title)
.setMessage(R.string.force_stop_dlg_text) .setMessage(getString(R.string.dialog_stop_message, mAnomaly.displayName))
.setPositiveButton(R.string.dlg_ok, this) .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) .setNegativeButton(R.string.dlg_cancel, null)
.create(); .create();
default: default:

View File

@@ -40,46 +40,77 @@ import org.robolectric.util.FragmentTestUtil;
@RunWith(SettingsRobolectricTestRunner.class) @RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
public class AnomalyDialogFragmentTest { 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 PACKAGE_NAME = "com.android.app";
private static final String DISPLAY_NAME = "app";
private static final int UID = 111; private static final int UID = 111;
private Anomaly mAnomaly; private Anomaly mWakeLockAnomaly;
private Anomaly mWakeupAlarmAnomaly;
private AnomalyDialogFragment mAnomalyDialogFragment; private AnomalyDialogFragment mAnomalyDialogFragment;
private Context mContext; private Context mContext;
@Before @Before
public void setUp() { public void setUp() {
mContext = RuntimeEnvironment.application; mContext = RuntimeEnvironment.application;
mAnomaly = new Anomaly.Builder() mWakeLockAnomaly = new Anomaly.Builder()
.setType(ANOMALY_TYPE) .setType(Anomaly.AnomalyType.WAKE_LOCK)
.setUid(UID) .setUid(UID)
.setPackageName(PACKAGE_NAME) .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(); .build();
mAnomalyDialogFragment = AnomalyDialogFragment.newInstance(mAnomaly, 0 /* metricskey */);
} }
@Test @Test
public void testOnCreateDialog_hasCorrectData() { public void testOnCreateDialog_hasCorrectData() {
mAnomalyDialogFragment = AnomalyDialogFragment.newInstance(mWakeLockAnomaly,
0 /* metricskey */);
FragmentTestUtil.startFragment(mAnomalyDialogFragment); FragmentTestUtil.startFragment(mAnomalyDialogFragment);
assertThat(mAnomalyDialogFragment.mAnomaly).isEqualTo(mAnomaly); assertThat(mAnomalyDialogFragment.mAnomaly).isEqualTo(mWakeLockAnomaly);
} }
@Test @Test
public void testOnCreateDialog_hasCorrectDialog() { public void testOnCreateDialog_wakelockAnomaly_fireForceStopDialog() {
mAnomalyDialogFragment = AnomalyDialogFragment.newInstance(mWakeLockAnomaly,
0 /* metricskey */);
FragmentTestUtil.startFragment(mAnomalyDialogFragment); FragmentTestUtil.startFragment(mAnomalyDialogFragment);
final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog(); final AlertDialog dialog = (AlertDialog) ShadowDialog.getLatestDialog();
ShadowAlertDialog shadowDialog = shadowOf(dialog); ShadowAlertDialog shadowDialog = shadowOf(dialog);
assertThat(shadowDialog.getMessage()).isEqualTo( assertThat(shadowDialog.getMessage()).isEqualTo(
mContext.getString(R.string.force_stop_dlg_text)); mContext.getString(R.string.dialog_stop_message, mWakeLockAnomaly.displayName));
assertThat(shadowDialog.getTitle()).isEqualTo( assertThat(shadowDialog.getTitle()).isEqualTo(
mContext.getString(R.string.force_stop_dlg_title)); mContext.getString(R.string.dialog_stop_title));
assertThat(dialog.getButton(DialogInterface.BUTTON_POSITIVE).getText()).isEqualTo( assertThat(dialog.getButton(DialogInterface.BUTTON_POSITIVE).getText()).isEqualTo(
mContext.getString(R.string.dlg_ok)); 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.dialog_background_check_message,
mWakeLockAnomaly.displayName));
assertThat(shadowDialog.getTitle()).isEqualTo(
mContext.getString(R.string.dialog_background_check_title));
assertThat(dialog.getButton(DialogInterface.BUTTON_POSITIVE).getText()).isEqualTo(
mContext.getString(R.string.dialog_background_check_ok));
assertThat(dialog.getButton(DialogInterface.BUTTON_NEGATIVE).getText()).isEqualTo( assertThat(dialog.getButton(DialogInterface.BUTTON_NEGATIVE).getText()).isEqualTo(
mContext.getString(R.string.dlg_cancel)); mContext.getString(R.string.dlg_cancel));
} }