Add method to calculate last full charge time
Bug: 38481300 Test: RunSettingsRoboTests Change-Id: Icd551921f263352eb01d0c6ada62d277c8699507
This commit is contained in:
@@ -261,6 +261,19 @@ public class BatteryUtils {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Calculate the time since last full charge, including the device off time
|
||||||
|
*
|
||||||
|
* @param batteryStatsHelper utility class that contains the data
|
||||||
|
* @param currentTimeMs current wall time
|
||||||
|
* @return time in millis
|
||||||
|
*/
|
||||||
|
public long calculateLastFullChargeTime(BatteryStatsHelper batteryStatsHelper,
|
||||||
|
long currentTimeMs) {
|
||||||
|
return currentTimeMs - batteryStatsHelper.getStats().getStartClockTime();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
private long convertUsToMs(long timeUs) {
|
private long convertUsToMs(long timeUs) {
|
||||||
return timeUs / 1000;
|
return timeUs / 1000;
|
||||||
}
|
}
|
||||||
|
@@ -24,7 +24,6 @@ import android.content.Intent;
|
|||||||
import android.content.IntentFilter;
|
import android.content.IntentFilter;
|
||||||
import android.content.Loader;
|
import android.content.Loader;
|
||||||
import android.content.res.TypedArray;
|
import android.content.res.TypedArray;
|
||||||
import android.content.res.Resources;
|
|
||||||
import android.database.Cursor;
|
import android.database.Cursor;
|
||||||
import android.graphics.drawable.Drawable;
|
import android.graphics.drawable.Drawable;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
@@ -42,13 +41,11 @@ import android.support.v7.preference.Preference;
|
|||||||
import android.support.v7.preference.PreferenceGroup;
|
import android.support.v7.preference.PreferenceGroup;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.text.format.DateUtils;
|
import android.text.format.DateUtils;
|
||||||
import android.text.format.Formatter;
|
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.util.SparseArray;
|
import android.util.SparseArray;
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
import android.view.MenuInflater;
|
import android.view.MenuInflater;
|
||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
import android.widget.TextView;
|
|
||||||
|
|
||||||
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||||
import com.android.internal.os.BatterySipper;
|
import com.android.internal.os.BatterySipper;
|
||||||
@@ -490,12 +487,13 @@ public class PowerUsageSummary extends PowerUsageBase implements
|
|||||||
BatteryInfo batteryInfo = getBatteryInfo(elapsedRealtimeUs, batteryBroadcast);
|
BatteryInfo batteryInfo = getBatteryInfo(elapsedRealtimeUs, batteryBroadcast);
|
||||||
mBatteryHeaderPreferenceController.updateHeaderPreference(batteryInfo);
|
mBatteryHeaderPreferenceController.updateHeaderPreference(batteryInfo);
|
||||||
|
|
||||||
final long runningTime = mBatteryUtils.calculateRunningTimeBasedOnStatsType(mStatsHelper,
|
final long lastFullChargeTime = mBatteryUtils.calculateLastFullChargeTime(mStatsHelper,
|
||||||
mStatsType);
|
System.currentTimeMillis());
|
||||||
updateScreenPreference();
|
updateScreenPreference();
|
||||||
updateLastFullChargePreference(runningTime);
|
updateLastFullChargePreference(lastFullChargeTime);
|
||||||
|
|
||||||
final CharSequence timeSequence = Utils.formatElapsedTime(context, runningTime, false);
|
final CharSequence timeSequence = Utils.formatElapsedTime(context, lastFullChargeTime,
|
||||||
|
false);
|
||||||
final int resId = mShowAllApps ? R.string.power_usage_list_summary_device
|
final int resId = mShowAllApps ? R.string.power_usage_list_summary_device
|
||||||
: R.string.power_usage_list_summary;
|
: R.string.power_usage_list_summary;
|
||||||
mAppListGroup.setTitle(TextUtils.expandTemplate(getText(resId), timeSequence));
|
mAppListGroup.setTitle(TextUtils.expandTemplate(getText(resId), timeSequence));
|
||||||
|
@@ -305,6 +305,16 @@ public class BatteryUtilsTest {
|
|||||||
mScreenBatterySipper);
|
mScreenBatterySipper);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testCalculateLastFullChargeTime() {
|
||||||
|
final long currentTimeMs = System.currentTimeMillis();
|
||||||
|
when(mBatteryStatsHelper.getStats().getStartClockTime()).thenReturn(
|
||||||
|
currentTimeMs - TIME_SINCE_LAST_FULL_CHARGE_MS);
|
||||||
|
|
||||||
|
assertThat(mBatteryUtils.calculateLastFullChargeTime(
|
||||||
|
mBatteryStatsHelper, currentTimeMs)).isEqualTo(TIME_SINCE_LAST_FULL_CHARGE_MS);
|
||||||
|
}
|
||||||
|
|
||||||
private BatterySipper createTestSmearBatterySipper(long activityTime, double totalPowerMah,
|
private BatterySipper createTestSmearBatterySipper(long activityTime, double totalPowerMah,
|
||||||
int uidCode, boolean isUidNull) {
|
int uidCode, boolean isUidNull) {
|
||||||
final BatterySipper sipper = mock(BatterySipper.class);
|
final BatterySipper sipper = mock(BatterySipper.class);
|
||||||
|
Reference in New Issue
Block a user