Loading core/java/android/os/BatteryStats.java +11 −2 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ import java.util.Map; import android.content.Context; import android.content.pm.ApplicationInfo; import android.telephony.SignalStrength; import android.text.format.DateFormat; import android.util.Printer; import android.util.SparseArray; import android.util.TimeUtils; Loading Loading @@ -894,6 +895,11 @@ public abstract class BatteryStats implements Parcelable { public abstract long getNetworkActivityBytes(int type, int which); public abstract long getNetworkActivityPackets(int type, int which); /** * Return the wall clock time when battery stats data collection started. */ public abstract long getStartClockTime(); /** * Return whether we are currently running on battery. */ Loading Loading @@ -1210,7 +1216,8 @@ public abstract class BatteryStats implements Parcelable { dumpLine(pw, 0 /* uid */, category, BATTERY_DATA, which == STATS_SINCE_CHARGED ? getStartCount() : "N/A", whichBatteryRealtime / 1000, whichBatteryUptime / 1000, totalRealtime / 1000, totalUptime / 1000); totalRealtime / 1000, totalUptime / 1000, getStartClockTime()); // Calculate wakelock times across all uids. long fullWakeLockTimeTotal = 0; Loading Loading @@ -1587,6 +1594,8 @@ public abstract class BatteryStats implements Parcelable { formatTimeMs(sb, totalUptime / 1000); sb.append("uptime, "); pw.println(sb.toString()); pw.print(" Start clock time: "); pw.println(DateFormat.format("yyyy-MM-dd-HH-mm-ss", getStartClockTime()).toString()); final long screenOnTime = getScreenOnTime(batteryRealtime, which); final long phoneOnTime = getPhoneOnTime(batteryRealtime, which); Loading core/java/com/android/internal/os/BatteryStatsImpl.java +13 −4 Original line number Diff line number Diff line Loading @@ -87,7 +87,7 @@ public final class BatteryStatsImpl extends BatteryStats { private static final int MAGIC = 0xBA757475; // 'BATSTATS' // Current on-disk Parcel version private static final int VERSION = 70 + (USE_OLD_HISTORY ? 1000 : 0); private static final int VERSION = 71 + (USE_OLD_HISTORY ? 1000 : 0); // Maximum number of items we will record in the history. private static final int MAX_HISTORY_ITEMS = 2000; Loading Loading @@ -209,6 +209,8 @@ public final class BatteryStatsImpl extends BatteryStats { int mStartCount; long mStartClockTime; long mBatteryUptime; long mBatteryLastUptime; long mBatteryRealtime; Loading Loading @@ -2842,6 +2844,10 @@ public final class BatteryStatsImpl extends BatteryStats { } } @Override public long getStartClockTime() { return mStartClockTime; } @Override public boolean getIsOnBattery() { return mOnBattery; } Loading Loading @@ -4959,6 +4965,7 @@ public final class BatteryStatsImpl extends BatteryStats { } void initTimes() { mStartClockTime = System.currentTimeMillis(); mBatteryRealtime = mTrackBatteryPastUptime = 0; mBatteryUptime = mTrackBatteryPastRealtime = 0; mUptimeStart = mTrackBatteryUptimeStart = SystemClock.uptimeMillis() * 1000; Loading Loading @@ -5832,6 +5839,7 @@ public final class BatteryStatsImpl extends BatteryStats { mBatteryRealtime = in.readLong(); mUptime = in.readLong(); mRealtime = in.readLong(); mStartClockTime = in.readLong(); mDischargeUnplugLevel = in.readInt(); mDischargeCurrentLevel = in.readInt(); mLowDischargeAmountSinceCharge = in.readInt(); Loading Loading @@ -6040,9 +6048,7 @@ public final class BatteryStatsImpl extends BatteryStats { * @param out the Parcel to be written to. */ public void writeSummaryToParcel(Parcel out) { // Need to update with current kernel wake lock counts. updateKernelWakelocksLocked(); updateNetworkActivityLocked(); pullPendingStateUpdatesLocked(); final long NOW_SYS = SystemClock.uptimeMillis() * 1000; final long NOWREAL_SYS = SystemClock.elapsedRealtime() * 1000; Loading @@ -6058,6 +6064,7 @@ public final class BatteryStatsImpl extends BatteryStats { out.writeLong(computeBatteryRealtime(NOWREAL_SYS, STATS_SINCE_CHARGED)); out.writeLong(computeUptime(NOW_SYS, STATS_SINCE_CHARGED)); out.writeLong(computeRealtime(NOWREAL_SYS, STATS_SINCE_CHARGED)); out.writeLong(mStartClockTime); out.writeInt(mDischargeUnplugLevel); out.writeInt(mDischargeCurrentLevel); out.writeInt(getLowDischargeAmountSinceCharge()); Loading Loading @@ -6293,6 +6300,7 @@ public final class BatteryStatsImpl extends BatteryStats { mBatteryLastUptime = 0; mBatteryRealtime = in.readLong(); mBatteryLastRealtime = 0; mStartClockTime = in.readLong(); mScreenOn = false; mScreenOnTimer = new StopwatchTimer(null, -1, null, mUnpluggables, in); for (int i=0; i<NUM_SCREEN_BRIGHTNESS_BINS; i++) { Loading Loading @@ -6408,6 +6416,7 @@ public final class BatteryStatsImpl extends BatteryStats { out.writeInt(mStartCount); out.writeLong(mBatteryUptime); out.writeLong(mBatteryRealtime); out.writeLong(mStartClockTime); mScreenOnTimer.writeToParcel(out, batteryRealtime); for (int i=0; i<NUM_SCREEN_BRIGHTNESS_BINS; i++) { mScreenBrightnessTimer[i].writeToParcel(out, batteryRealtime); Loading Loading
core/java/android/os/BatteryStats.java +11 −2 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ import java.util.Map; import android.content.Context; import android.content.pm.ApplicationInfo; import android.telephony.SignalStrength; import android.text.format.DateFormat; import android.util.Printer; import android.util.SparseArray; import android.util.TimeUtils; Loading Loading @@ -894,6 +895,11 @@ public abstract class BatteryStats implements Parcelable { public abstract long getNetworkActivityBytes(int type, int which); public abstract long getNetworkActivityPackets(int type, int which); /** * Return the wall clock time when battery stats data collection started. */ public abstract long getStartClockTime(); /** * Return whether we are currently running on battery. */ Loading Loading @@ -1210,7 +1216,8 @@ public abstract class BatteryStats implements Parcelable { dumpLine(pw, 0 /* uid */, category, BATTERY_DATA, which == STATS_SINCE_CHARGED ? getStartCount() : "N/A", whichBatteryRealtime / 1000, whichBatteryUptime / 1000, totalRealtime / 1000, totalUptime / 1000); totalRealtime / 1000, totalUptime / 1000, getStartClockTime()); // Calculate wakelock times across all uids. long fullWakeLockTimeTotal = 0; Loading Loading @@ -1587,6 +1594,8 @@ public abstract class BatteryStats implements Parcelable { formatTimeMs(sb, totalUptime / 1000); sb.append("uptime, "); pw.println(sb.toString()); pw.print(" Start clock time: "); pw.println(DateFormat.format("yyyy-MM-dd-HH-mm-ss", getStartClockTime()).toString()); final long screenOnTime = getScreenOnTime(batteryRealtime, which); final long phoneOnTime = getPhoneOnTime(batteryRealtime, which); Loading
core/java/com/android/internal/os/BatteryStatsImpl.java +13 −4 Original line number Diff line number Diff line Loading @@ -87,7 +87,7 @@ public final class BatteryStatsImpl extends BatteryStats { private static final int MAGIC = 0xBA757475; // 'BATSTATS' // Current on-disk Parcel version private static final int VERSION = 70 + (USE_OLD_HISTORY ? 1000 : 0); private static final int VERSION = 71 + (USE_OLD_HISTORY ? 1000 : 0); // Maximum number of items we will record in the history. private static final int MAX_HISTORY_ITEMS = 2000; Loading Loading @@ -209,6 +209,8 @@ public final class BatteryStatsImpl extends BatteryStats { int mStartCount; long mStartClockTime; long mBatteryUptime; long mBatteryLastUptime; long mBatteryRealtime; Loading Loading @@ -2842,6 +2844,10 @@ public final class BatteryStatsImpl extends BatteryStats { } } @Override public long getStartClockTime() { return mStartClockTime; } @Override public boolean getIsOnBattery() { return mOnBattery; } Loading Loading @@ -4959,6 +4965,7 @@ public final class BatteryStatsImpl extends BatteryStats { } void initTimes() { mStartClockTime = System.currentTimeMillis(); mBatteryRealtime = mTrackBatteryPastUptime = 0; mBatteryUptime = mTrackBatteryPastRealtime = 0; mUptimeStart = mTrackBatteryUptimeStart = SystemClock.uptimeMillis() * 1000; Loading Loading @@ -5832,6 +5839,7 @@ public final class BatteryStatsImpl extends BatteryStats { mBatteryRealtime = in.readLong(); mUptime = in.readLong(); mRealtime = in.readLong(); mStartClockTime = in.readLong(); mDischargeUnplugLevel = in.readInt(); mDischargeCurrentLevel = in.readInt(); mLowDischargeAmountSinceCharge = in.readInt(); Loading Loading @@ -6040,9 +6048,7 @@ public final class BatteryStatsImpl extends BatteryStats { * @param out the Parcel to be written to. */ public void writeSummaryToParcel(Parcel out) { // Need to update with current kernel wake lock counts. updateKernelWakelocksLocked(); updateNetworkActivityLocked(); pullPendingStateUpdatesLocked(); final long NOW_SYS = SystemClock.uptimeMillis() * 1000; final long NOWREAL_SYS = SystemClock.elapsedRealtime() * 1000; Loading @@ -6058,6 +6064,7 @@ public final class BatteryStatsImpl extends BatteryStats { out.writeLong(computeBatteryRealtime(NOWREAL_SYS, STATS_SINCE_CHARGED)); out.writeLong(computeUptime(NOW_SYS, STATS_SINCE_CHARGED)); out.writeLong(computeRealtime(NOWREAL_SYS, STATS_SINCE_CHARGED)); out.writeLong(mStartClockTime); out.writeInt(mDischargeUnplugLevel); out.writeInt(mDischargeCurrentLevel); out.writeInt(getLowDischargeAmountSinceCharge()); Loading Loading @@ -6293,6 +6300,7 @@ public final class BatteryStatsImpl extends BatteryStats { mBatteryLastUptime = 0; mBatteryRealtime = in.readLong(); mBatteryLastRealtime = 0; mStartClockTime = in.readLong(); mScreenOn = false; mScreenOnTimer = new StopwatchTimer(null, -1, null, mUnpluggables, in); for (int i=0; i<NUM_SCREEN_BRIGHTNESS_BINS; i++) { Loading Loading @@ -6408,6 +6416,7 @@ public final class BatteryStatsImpl extends BatteryStats { out.writeInt(mStartCount); out.writeLong(mBatteryUptime); out.writeLong(mBatteryRealtime); out.writeLong(mStartClockTime); mScreenOnTimer.writeToParcel(out, batteryRealtime); for (int i=0; i<NUM_SCREEN_BRIGHTNESS_BINS; i++) { mScreenBrightnessTimer[i].writeToParcel(out, batteryRealtime); Loading