diff --git a/src/com/android/settings/fuelgauge/anomaly/AnomalySummaryPreferenceController.java b/src/com/android/settings/fuelgauge/anomaly/AnomalySummaryPreferenceController.java index 47c2d2b5e26..59c8b2c6838 100644 --- a/src/com/android/settings/fuelgauge/anomaly/AnomalySummaryPreferenceController.java +++ b/src/com/android/settings/fuelgauge/anomaly/AnomalySummaryPreferenceController.java @@ -23,6 +23,7 @@ import android.support.v7.preference.Preference; import com.android.settings.R; import com.android.settings.SettingsActivity; +import com.android.settings.fuelgauge.BatteryUtils; import com.android.settings.fuelgauge.PowerUsageAnomalyDetails; import java.util.List; @@ -41,6 +42,8 @@ public class AnomalySummaryPreferenceController { Preference mAnomalyPreference; @VisibleForTesting List mAnomalies; + @VisibleForTesting + BatteryUtils mBatteryUtils; private SettingsActivity mSettingsActivity; /** @@ -56,6 +59,7 @@ public class AnomalySummaryPreferenceController { mSettingsActivity = activity; mAnomalyPreference = mFragment.getPreferenceScreen().findPreference(ANOMALY_KEY); mMetricsKey = metricsKey; + mBatteryUtils = BatteryUtils.getInstance(activity.getApplicationContext()); hideHighUsagePreference(); } @@ -89,10 +93,14 @@ public class AnomalySummaryPreferenceController { if (!mAnomalies.isEmpty()) { mAnomalyPreference.setVisible(true); final int count = mAnomalies.size(); - final String summary = context.getResources().getQuantityString( - R.plurals.power_high_usage_summary, count, - mAnomalies.get(0).displayName, count); + final String title = context.getResources().getQuantityString( + R.plurals.power_high_usage_title, count, mAnomalies.get(0).displayName); + final String summary = count > 1 ? + context.getString(R.string.battery_abnormal_apps_summary, count) + : context.getString( + mBatteryUtils.getSummaryResIdFromAnomalyType(mAnomalies.get(0).type)); + mAnomalyPreference.setTitle(title); mAnomalyPreference.setSummary(summary); } } diff --git a/tests/robotests/src/com/android/settings/fuelgauge/anomaly/AnomalySummaryPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/anomaly/AnomalySummaryPreferenceControllerTest.java index 2aa24174f9d..72d8b691866 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/anomaly/AnomalySummaryPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/anomaly/AnomalySummaryPreferenceControllerTest.java @@ -32,6 +32,7 @@ import android.support.v14.preference.PreferenceFragment; import android.support.v7.preference.Preference; import com.android.settings.SettingsActivity; +import com.android.settings.fuelgauge.BatteryUtils; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; @@ -53,7 +54,7 @@ public class AnomalySummaryPreferenceControllerTest { @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 String DISPLAY_NAME = "appName"; private static final int UID = 111; @Mock(answer = Answers.RETURNS_DEEP_STUBS) @@ -80,6 +81,7 @@ public class AnomalySummaryPreferenceControllerTest { when(mFragment.getFragmentManager()).thenReturn(mFragmentManager); when(mFragmentManager.beginTransaction()).thenReturn(mFragmentTransaction); when(mFragment.getContext()).thenReturn(mContext); + when(mSettingsActivity.getApplicationContext()).thenReturn(mContext); mAnomalyList = new ArrayList<>(); @@ -100,7 +102,8 @@ public class AnomalySummaryPreferenceControllerTest { mAnomalySummaryPreferenceController.updateAnomalySummaryPreference(mAnomalyList); - assertThat(mPreference.getSummary()).isEqualTo("app behaving abnormally"); + assertThat(mPreference.getTitle()).isEqualTo("appName draining battery"); + assertThat(mPreference.getSummary()).isEqualTo("Keeping device awake"); } @Test @@ -110,7 +113,8 @@ public class AnomalySummaryPreferenceControllerTest { mAnomalySummaryPreferenceController.updateAnomalySummaryPreference(mAnomalyList); - assertThat(mPreference.getSummary()).isEqualTo("2 apps behaving abnormally"); + assertThat(mPreference.getTitle()).isEqualTo("Apps draining battery"); + assertThat(mPreference.getSummary()).isEqualTo("2 apps misbehaving"); } @Test