diff --git a/src/com/android/settings/fuelgauge/anomaly/AnomalyDialogFragment.java b/src/com/android/settings/fuelgauge/anomaly/AnomalyDialogFragment.java index ef15d51aba1..2d0030d0a22 100644 --- a/src/com/android/settings/fuelgauge/anomaly/AnomalyDialogFragment.java +++ b/src/com/android/settings/fuelgauge/anomaly/AnomalyDialogFragment.java @@ -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: diff --git a/tests/robotests/src/com/android/settings/fuelgauge/anomaly/AnomalyDialogFragmentTest.java b/tests/robotests/src/com/android/settings/fuelgauge/anomaly/AnomalyDialogFragmentTest.java index 8f3d2dbadac..365a14a50a2 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/anomaly/AnomalyDialogFragmentTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/anomaly/AnomalyDialogFragmentTest.java @@ -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.force_stop_dlg_text)); + mContext.getString(R.string.dialog_stop_message, mWakeLockAnomaly.displayName)); 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( - 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( mContext.getString(R.string.dlg_cancel)); }