Merge "Refine battery text in battery header"
This commit is contained in:
@@ -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>
|
||||
|
||||
|
@@ -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);
|
||||
|
@@ -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;
|
||||
@@ -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);
|
||||
|
@@ -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;
|
||||
@@ -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 {
|
||||
|
Reference in New Issue
Block a user