[Battery usage U] [UI] Show screen time in the battery usage app list items
https://drive.google.com/file/d/1N2yrra6cga6CRIXzxTGhctcxwN47lE89/view?resourcekey=0-qlw1a78Ph-gSfXFAHKoumQ https://drive.google.com/file/d/1joSI3YL8dn0rRW1Ywyte7MUy_CTDFS2p/view?resourcekey=0-VsgaqSi2YUfn6ImZEOBH-g Bug: 258120710 Test: manual Change-Id: Id22d2490d0bffeb8b7d2e0941bcdb4e3d352e966
This commit is contained in:
@@ -291,44 +291,43 @@ public class BatteryUsageBreakdownController extends BasePreferenceController
|
||||
@VisibleForTesting
|
||||
void setPreferenceSummary(
|
||||
PowerGaugePreference preference, BatteryDiffEntry entry) {
|
||||
final long screenOnTimeInMs = entry.mScreenOnTimeInMs;
|
||||
final long foregroundUsageTimeInMs = entry.mForegroundUsageTimeInMs;
|
||||
final long backgroundUsageTimeInMs = entry.mBackgroundUsageTimeInMs;
|
||||
final long totalUsageTimeInMs = foregroundUsageTimeInMs + backgroundUsageTimeInMs;
|
||||
String usageTimeSummary = null;
|
||||
// Not shows summary for some system components without usage time.
|
||||
if (totalUsageTimeInMs == 0) {
|
||||
preference.setSummary(null);
|
||||
// Shows background summary only if we don't have foreground usage time.
|
||||
} else if (foregroundUsageTimeInMs == 0 && backgroundUsageTimeInMs != 0) {
|
||||
usageTimeSummary = buildUsageTimeInfo(backgroundUsageTimeInMs, true);
|
||||
// Shows total usage summary only if total usage time is small.
|
||||
} else if (totalUsageTimeInMs < DateUtils.MINUTE_IN_MILLIS) {
|
||||
usageTimeSummary = buildUsageTimeInfo(totalUsageTimeInMs, false);
|
||||
|
||||
StringBuilder usageTimeSummary = new StringBuilder();
|
||||
if (entry.isSystemEntry()) {
|
||||
if (totalUsageTimeInMs != 0) {
|
||||
usageTimeSummary.append(buildUsageTimeInfo(totalUsageTimeInMs,
|
||||
R.string.battery_usage_total_less_than_one_minute,
|
||||
R.string.battery_usage_for_total_time));
|
||||
}
|
||||
} else {
|
||||
usageTimeSummary = buildUsageTimeInfo(totalUsageTimeInMs, false);
|
||||
// Shows background usage time if it is larger than a minute.
|
||||
if (backgroundUsageTimeInMs > 0) {
|
||||
usageTimeSummary +=
|
||||
"\n" + buildUsageTimeInfo(backgroundUsageTimeInMs, true);
|
||||
if (screenOnTimeInMs != 0) {
|
||||
usageTimeSummary.append(buildUsageTimeInfo(screenOnTimeInMs,
|
||||
R.string.battery_usage_screen_time_less_than_one_minute,
|
||||
R.string.battery_usage_screen_time));
|
||||
}
|
||||
if (screenOnTimeInMs != 0 && backgroundUsageTimeInMs != 0) {
|
||||
usageTimeSummary.append('\n');
|
||||
}
|
||||
if (backgroundUsageTimeInMs != 0) {
|
||||
usageTimeSummary.append(buildUsageTimeInfo(backgroundUsageTimeInMs,
|
||||
R.string.battery_usage_background_less_than_one_minute,
|
||||
R.string.battery_usage_for_background_time));
|
||||
}
|
||||
}
|
||||
preference.setSummary(usageTimeSummary);
|
||||
}
|
||||
|
||||
private String buildUsageTimeInfo(long usageTimeInMs, boolean isBackground) {
|
||||
if (usageTimeInMs < DateUtils.MINUTE_IN_MILLIS) {
|
||||
return mPrefContext.getString(
|
||||
isBackground
|
||||
? R.string.battery_usage_background_less_than_one_minute
|
||||
: R.string.battery_usage_total_less_than_one_minute);
|
||||
private String buildUsageTimeInfo(long timeInMs, int lessThanOneMinuteResId, int normalResId) {
|
||||
if (timeInMs < DateUtils.MINUTE_IN_MILLIS) {
|
||||
return mPrefContext.getString(lessThanOneMinuteResId);
|
||||
}
|
||||
final CharSequence timeSequence =
|
||||
StringUtil.formatElapsedTime(mPrefContext, (double) usageTimeInMs,
|
||||
StringUtil.formatElapsedTime(mPrefContext, (double) timeInMs,
|
||||
/*withSeconds=*/ false, /*collapseTimeUnit=*/ false);
|
||||
final int resourceId =
|
||||
isBackground
|
||||
? R.string.battery_usage_for_background_time
|
||||
: R.string.battery_usage_for_total_time;
|
||||
return mPrefContext.getString(resourceId, timeSequence);
|
||||
return mPrefContext.getString(normalResId, timeSequence);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user