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]-->
|
<!-- Description for battery time left, i.e. 50min Estimated time left. [CHAR LIMIT=80]-->
|
||||||
<string name="estimated_time_left">Estimated time left</string>
|
<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]-->
|
<!-- Description for estimated time. [CHAR LIMIT=80]-->
|
||||||
<string name="estimated_time_description">Estimation may change based on usage</string>
|
<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.itemView.setClickable(true);
|
||||||
view.setDividerAllowedAbove(true);
|
view.setDividerAllowedAbove(true);
|
||||||
((TextView) view.findViewById(R.id.charge)).setText(mBatteryInfo.batteryPercentString);
|
((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 usageView = (UsageView) view.findViewById(R.id.battery_usage);
|
||||||
usageView.findViewById(R.id.label_group).setAlpha(.7f);
|
usageView.findViewById(R.id.label_group).setAlpha(.7f);
|
||||||
mBatteryInfo.bindHistory(usageView);
|
mBatteryInfo.bindHistory(usageView);
|
||||||
|
@@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
package com.android.settings.fuelgauge;
|
package com.android.settings.fuelgauge;
|
||||||
|
|
||||||
|
import android.annotation.StringRes;
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.graphics.drawable.Drawable;
|
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 timeText = (TextView) mBatteryLayoutPref.findViewById(R.id.time);
|
||||||
final TextView summary1 = (TextView) mBatteryLayoutPref.findViewById(R.id.summary1);
|
final TextView summary1 = (TextView) mBatteryLayoutPref.findViewById(R.id.summary1);
|
||||||
final TextView summary2 = (TextView) mBatteryLayoutPref.findViewById(R.id.summary2);
|
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) {
|
if (info.remainingTimeUs != 0) {
|
||||||
timeText.setText(Utils.formatElapsedTime(getContext(),
|
timeText.setText(Utils.formatElapsedTime(getContext(),
|
||||||
info.remainingTimeUs / 1000, false));
|
info.remainingTimeUs / 1000, false));
|
||||||
} else {
|
} else {
|
||||||
timeText.setText(info.remainingLabel != null ?
|
timeText.setText(info.statusLabel);
|
||||||
info.remainingLabel : info.batteryPercentString);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
summary1.setText(summaryResId);
|
||||||
summary1.setVisibility(visible);
|
summary1.setVisibility(visible);
|
||||||
summary2.setVisibility(visible);
|
summary2.setVisibility(visible);
|
||||||
batteryView.setBatteryInfo(info.mBatteryLevel);
|
batteryView.setBatteryInfo(info.mBatteryLevel);
|
||||||
|
@@ -65,8 +65,7 @@ public class PowerUsageSummaryTest {
|
|||||||
private static final String TIME_LEFT = "2h30min";
|
private static final String TIME_LEFT = "2h30min";
|
||||||
private static final int UID = 123;
|
private static final int UID = 123;
|
||||||
private static final int POWER_MAH = 100;
|
private static final int POWER_MAH = 100;
|
||||||
private static final int BATTERY_LEVEL_FULL = 100;
|
private static final long REMAINING_TIME_US = 100000;
|
||||||
private static final int BATTERY_LEVEL_HALF = 50;
|
|
||||||
private static final double BATTERY_SCREEN_USAGE = 300;
|
private static final double BATTERY_SCREEN_USAGE = 300;
|
||||||
private static final double BATTERY_SYSTEM_USAGE = 600;
|
private static final double BATTERY_SYSTEM_USAGE = 600;
|
||||||
private static final double PRECISION = 0.001;
|
private static final double PRECISION = 0.001;
|
||||||
@@ -269,25 +268,41 @@ public class PowerUsageSummaryTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testUpdatePreference_BatteryFull_DoNotShowSummary() {
|
public void testUpdatePreference_NoEstimatedTime_DoNotShowSummary() {
|
||||||
mBatteryInfo.mBatteryLevel = BATTERY_LEVEL_FULL;
|
mBatteryInfo.remainingTimeUs = 0;
|
||||||
mBatteryInfo.remainingLabel = TIME_LEFT;
|
mBatteryInfo.remainingLabel = TIME_LEFT;
|
||||||
mPowerUsageSummary.updateHeaderPreference(mBatteryInfo);
|
mPowerUsageSummary.updateHeaderPreference(mBatteryInfo);
|
||||||
|
|
||||||
verify(mSummary1).setVisibility(View.INVISIBLE);
|
verify(mSummary1).setVisibility(View.INVISIBLE);
|
||||||
verify(mSummary2).setVisibility(View.INVISIBLE);
|
verify(mSummary2).setVisibility(View.INVISIBLE);
|
||||||
verify(mTimeText).setText(mBatteryInfo.remainingLabel);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testUpdatePreference_BatteryNotFull_ShowSummary() {
|
public void testUpdatePreference_HasEstimatedTime_ShowSummary() {
|
||||||
mBatteryInfo.mBatteryLevel = BATTERY_LEVEL_HALF;
|
mBatteryInfo.remainingTimeUs = REMAINING_TIME_US;
|
||||||
mBatteryInfo.remainingLabel = TIME_LEFT;
|
mBatteryInfo.remainingLabel = TIME_LEFT;
|
||||||
mPowerUsageSummary.updateHeaderPreference(mBatteryInfo);
|
mPowerUsageSummary.updateHeaderPreference(mBatteryInfo);
|
||||||
|
|
||||||
verify(mSummary1).setVisibility(View.VISIBLE);
|
verify(mSummary1).setVisibility(View.VISIBLE);
|
||||||
verify(mSummary2).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 {
|
public static class TestFragment extends PowerUsageSummary {
|
||||||
|
Reference in New Issue
Block a user