Loading res/values/strings.xml +3 −0 Original line number Diff line number Diff line Loading @@ -4489,6 +4489,9 @@ <!-- Description for battery time left, i.e. 50min Estimated time left. [CHAR LIMIT=80]--> <string name="estimated_time_left">Estimated time left</string> <!-- Description for charging time left, i.e. 50min Time to full charge. [CHAR LIMIT=80]--> <string name="estimated_charging_time_left">Time to full charge</string> <!-- Description for estimated time. [CHAR LIMIT=80]--> <string name="estimated_time_description">Estimation may change based on usage</string> Loading src/com/android/settings/fuelgauge/BatteryHistoryPreference.java +3 −1 Original line number Diff line number Diff line Loading @@ -60,7 +60,9 @@ public class BatteryHistoryPreference extends Preference { view.itemView.setClickable(true); view.setDividerAllowedAbove(true); ((TextView) view.findViewById(R.id.charge)).setText(mBatteryInfo.batteryPercentString); ((TextView) view.findViewById(R.id.estimation)).setText(mBatteryInfo.remainingLabel); ((TextView) view.findViewById(R.id.estimation)).setText( mBatteryInfo.remainingLabel != null ? mBatteryInfo.remainingLabel : mBatteryInfo.statusLabel); UsageView usageView = (UsageView) view.findViewById(R.id.battery_usage); usageView.findViewById(R.id.label_group).setAlpha(.7f); mBatteryInfo.bindHistory(usageView); Loading src/com/android/settings/fuelgauge/PowerUsageSummary.java +7 −3 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.settings.fuelgauge; import android.annotation.StringRes; import android.app.Activity; import android.content.Context; import android.graphics.drawable.Drawable; Loading Loading @@ -473,15 +474,18 @@ public class PowerUsageSummary extends PowerUsageBase { final TextView timeText = (TextView) mBatteryLayoutPref.findViewById(R.id.time); final TextView summary1 = (TextView) mBatteryLayoutPref.findViewById(R.id.summary1); final TextView summary2 = (TextView) mBatteryLayoutPref.findViewById(R.id.summary2); final int visible = info.mBatteryLevel != 100 ? View.VISIBLE : View.INVISIBLE; final int visible = info.remainingTimeUs != 0 ? View.VISIBLE : View.INVISIBLE; final int summaryResId = info.mDischarging ? R.string.estimated_time_left : R.string.estimated_charging_time_left; if (info.remainingTimeUs != 0) { timeText.setText(Utils.formatElapsedTime(getContext(), info.remainingTimeUs / 1000, false)); } else { timeText.setText(info.remainingLabel != null ? info.remainingLabel : info.batteryPercentString); timeText.setText(info.statusLabel); } summary1.setText(summaryResId); summary1.setVisibility(visible); summary2.setVisibility(visible); batteryView.setBatteryInfo(info.mBatteryLevel); Loading tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java +23 −8 Original line number Diff line number Diff line Loading @@ -65,8 +65,7 @@ public class PowerUsageSummaryTest { private static final String TIME_LEFT = "2h30min"; private static final int UID = 123; private static final int POWER_MAH = 100; private static final int BATTERY_LEVEL_FULL = 100; private static final int BATTERY_LEVEL_HALF = 50; private static final long REMAINING_TIME_US = 100000; private static final double BATTERY_SCREEN_USAGE = 300; private static final double BATTERY_SYSTEM_USAGE = 600; private static final double PRECISION = 0.001; Loading Loading @@ -269,25 +268,41 @@ public class PowerUsageSummaryTest { } @Test public void testUpdatePreference_BatteryFull_DoNotShowSummary() { mBatteryInfo.mBatteryLevel = BATTERY_LEVEL_FULL; public void testUpdatePreference_NoEstimatedTime_DoNotShowSummary() { mBatteryInfo.remainingTimeUs = 0; mBatteryInfo.remainingLabel = TIME_LEFT; mPowerUsageSummary.updateHeaderPreference(mBatteryInfo); verify(mSummary1).setVisibility(View.INVISIBLE); verify(mSummary2).setVisibility(View.INVISIBLE); verify(mTimeText).setText(mBatteryInfo.remainingLabel); } @Test public void testUpdatePreference_BatteryNotFull_ShowSummary() { mBatteryInfo.mBatteryLevel = BATTERY_LEVEL_HALF; public void testUpdatePreference_HasEstimatedTime_ShowSummary() { mBatteryInfo.remainingTimeUs = REMAINING_TIME_US; mBatteryInfo.remainingLabel = TIME_LEFT; mPowerUsageSummary.updateHeaderPreference(mBatteryInfo); verify(mSummary1).setVisibility(View.VISIBLE); verify(mSummary2).setVisibility(View.VISIBLE); verify(mTimeText).setText(mBatteryInfo.remainingLabel); } @Test public void testUpdatePreference_Charging_ShowChargingTimeLeft() { mBatteryInfo.remainingTimeUs = REMAINING_TIME_US; mBatteryInfo.mDischarging = false; mPowerUsageSummary.updateHeaderPreference(mBatteryInfo); verify(mSummary1).setText(R.string.estimated_charging_time_left); } @Test public void testUpdatePreference_NotCharging_ShowTimeLeft() { mBatteryInfo.remainingTimeUs = REMAINING_TIME_US; mBatteryInfo.mDischarging = true; mPowerUsageSummary.updateHeaderPreference(mBatteryInfo); verify(mSummary1).setText(R.string.estimated_time_left); } public static class TestFragment extends PowerUsageSummary { Loading Loading
res/values/strings.xml +3 −0 Original line number Diff line number Diff line Loading @@ -4489,6 +4489,9 @@ <!-- Description for battery time left, i.e. 50min Estimated time left. [CHAR LIMIT=80]--> <string name="estimated_time_left">Estimated time left</string> <!-- Description for charging time left, i.e. 50min Time to full charge. [CHAR LIMIT=80]--> <string name="estimated_charging_time_left">Time to full charge</string> <!-- Description for estimated time. [CHAR LIMIT=80]--> <string name="estimated_time_description">Estimation may change based on usage</string> Loading
src/com/android/settings/fuelgauge/BatteryHistoryPreference.java +3 −1 Original line number Diff line number Diff line Loading @@ -60,7 +60,9 @@ public class BatteryHistoryPreference extends Preference { view.itemView.setClickable(true); view.setDividerAllowedAbove(true); ((TextView) view.findViewById(R.id.charge)).setText(mBatteryInfo.batteryPercentString); ((TextView) view.findViewById(R.id.estimation)).setText(mBatteryInfo.remainingLabel); ((TextView) view.findViewById(R.id.estimation)).setText( mBatteryInfo.remainingLabel != null ? mBatteryInfo.remainingLabel : mBatteryInfo.statusLabel); UsageView usageView = (UsageView) view.findViewById(R.id.battery_usage); usageView.findViewById(R.id.label_group).setAlpha(.7f); mBatteryInfo.bindHistory(usageView); Loading
src/com/android/settings/fuelgauge/PowerUsageSummary.java +7 −3 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.settings.fuelgauge; import android.annotation.StringRes; import android.app.Activity; import android.content.Context; import android.graphics.drawable.Drawable; Loading Loading @@ -473,15 +474,18 @@ public class PowerUsageSummary extends PowerUsageBase { final TextView timeText = (TextView) mBatteryLayoutPref.findViewById(R.id.time); final TextView summary1 = (TextView) mBatteryLayoutPref.findViewById(R.id.summary1); final TextView summary2 = (TextView) mBatteryLayoutPref.findViewById(R.id.summary2); final int visible = info.mBatteryLevel != 100 ? View.VISIBLE : View.INVISIBLE; final int visible = info.remainingTimeUs != 0 ? View.VISIBLE : View.INVISIBLE; final int summaryResId = info.mDischarging ? R.string.estimated_time_left : R.string.estimated_charging_time_left; if (info.remainingTimeUs != 0) { timeText.setText(Utils.formatElapsedTime(getContext(), info.remainingTimeUs / 1000, false)); } else { timeText.setText(info.remainingLabel != null ? info.remainingLabel : info.batteryPercentString); timeText.setText(info.statusLabel); } summary1.setText(summaryResId); summary1.setVisibility(visible); summary2.setVisibility(visible); batteryView.setBatteryInfo(info.mBatteryLevel); Loading
tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java +23 −8 Original line number Diff line number Diff line Loading @@ -65,8 +65,7 @@ public class PowerUsageSummaryTest { private static final String TIME_LEFT = "2h30min"; private static final int UID = 123; private static final int POWER_MAH = 100; private static final int BATTERY_LEVEL_FULL = 100; private static final int BATTERY_LEVEL_HALF = 50; private static final long REMAINING_TIME_US = 100000; private static final double BATTERY_SCREEN_USAGE = 300; private static final double BATTERY_SYSTEM_USAGE = 600; private static final double PRECISION = 0.001; Loading Loading @@ -269,25 +268,41 @@ public class PowerUsageSummaryTest { } @Test public void testUpdatePreference_BatteryFull_DoNotShowSummary() { mBatteryInfo.mBatteryLevel = BATTERY_LEVEL_FULL; public void testUpdatePreference_NoEstimatedTime_DoNotShowSummary() { mBatteryInfo.remainingTimeUs = 0; mBatteryInfo.remainingLabel = TIME_LEFT; mPowerUsageSummary.updateHeaderPreference(mBatteryInfo); verify(mSummary1).setVisibility(View.INVISIBLE); verify(mSummary2).setVisibility(View.INVISIBLE); verify(mTimeText).setText(mBatteryInfo.remainingLabel); } @Test public void testUpdatePreference_BatteryNotFull_ShowSummary() { mBatteryInfo.mBatteryLevel = BATTERY_LEVEL_HALF; public void testUpdatePreference_HasEstimatedTime_ShowSummary() { mBatteryInfo.remainingTimeUs = REMAINING_TIME_US; mBatteryInfo.remainingLabel = TIME_LEFT; mPowerUsageSummary.updateHeaderPreference(mBatteryInfo); verify(mSummary1).setVisibility(View.VISIBLE); verify(mSummary2).setVisibility(View.VISIBLE); verify(mTimeText).setText(mBatteryInfo.remainingLabel); } @Test public void testUpdatePreference_Charging_ShowChargingTimeLeft() { mBatteryInfo.remainingTimeUs = REMAINING_TIME_US; mBatteryInfo.mDischarging = false; mPowerUsageSummary.updateHeaderPreference(mBatteryInfo); verify(mSummary1).setText(R.string.estimated_charging_time_left); } @Test public void testUpdatePreference_NotCharging_ShowTimeLeft() { mBatteryInfo.remainingTimeUs = REMAINING_TIME_US; mBatteryInfo.mDischarging = true; mPowerUsageSummary.updateHeaderPreference(mBatteryInfo); verify(mSummary1).setText(R.string.estimated_time_left); } public static class TestFragment extends PowerUsageSummary { Loading