diff options
author | Eric Shienbrood <> | 2009-03-24 18:14:17 -0700 |
---|---|---|
committer | The Android Open Source Project <initial-contribution@android.com> | 2009-03-24 18:14:17 -0700 |
commit | f93f02fb8a6b6bdbc294085d89e733dcd5078630 (patch) | |
tree | d1f5dbc26f126fbeba72b5a23de78cddc6499a8b /core/java | |
parent | e025d2d74641d7654f65cbc1bc409f45f4a7b354 (diff) | |
download | frameworks_base-f93f02fb8a6b6bdbc294085d89e733dcd5078630.zip frameworks_base-f93f02fb8a6b6bdbc294085d89e733dcd5078630.tar.gz frameworks_base-f93f02fb8a6b6bdbc294085d89e733dcd5078630.tar.bz2 |
Automated import from //branches/master/...@140680,140680
Diffstat (limited to 'core/java')
-rw-r--r-- | core/java/android/os/BatteryStats.java | 21 | ||||
-rw-r--r-- | core/java/com/android/internal/app/IBatteryStats.aidl | 2 | ||||
-rw-r--r-- | core/java/com/android/internal/os/BatteryStatsImpl.java | 34 |
3 files changed, 51 insertions, 6 deletions
diff --git a/core/java/android/os/BatteryStats.java b/core/java/android/os/BatteryStats.java index 76c74df..d492b6a 100644 --- a/core/java/android/os/BatteryStats.java +++ b/core/java/android/os/BatteryStats.java @@ -292,7 +292,7 @@ public abstract class BatteryStats implements Parcelable { * {@hide} */ public abstract long getPhoneOnTime(long batteryRealtime, int which); - + /** * Returns the time in milliseconds that wifi has been on while the device was * running on battery. @@ -300,7 +300,15 @@ public abstract class BatteryStats implements Parcelable { * {@hide} */ public abstract long getWifiOnTime(long batteryRealtime, int which); - + + /** + * Returns the time in milliseconds that wifi has been on and the driver has + * been in the running state while the device was running on battery. + * + * {@hide} + */ + public abstract long getWifiRunningTime(long batteryRealtime, int which); + /** * Returns the time in milliseconds that bluetooth has been on while the device was * running on battery. @@ -535,6 +543,7 @@ public abstract class BatteryStats implements Parcelable { final long screenOnTime = getScreenOnTime(batteryRealtime, which); final long phoneOnTime = getPhoneOnTime(batteryRealtime, which); final long wifiOnTime = getWifiOnTime(batteryRealtime, which); + final long wifiRunningTime = getWifiRunningTime(batteryRealtime, which); final long bluetoothOnTime = getBluetoothOnTime(batteryRealtime, which); StringBuilder sb = new StringBuilder(128); @@ -549,7 +558,8 @@ public abstract class BatteryStats implements Parcelable { // Dump misc stats dumpLine(pw, 0 /* uid */, category, MISC_DATA, - screenOnTime / 1000, phoneOnTime / 1000, wifiOnTime / 1000, bluetoothOnTime / 1000); + screenOnTime / 1000, phoneOnTime / 1000, wifiOnTime / 1000, + wifiRunningTime / 1000, bluetoothOnTime / 1000); if (which == STATS_UNPLUGGED) { dumpLine(pw, 0 /* uid */, category, BATTERY_DATA, getUnpluggedStartLevel(), @@ -667,7 +677,7 @@ public abstract class BatteryStats implements Parcelable { final long rawUptime = SystemClock.uptimeMillis() * 1000; final long rawRealtime = SystemClock.elapsedRealtime() * 1000; final long batteryUptime = getBatteryUptime(rawUptime); - final long batteryRealtime = getBatteryUptime(rawRealtime); + final long batteryRealtime = getBatteryRealtime(rawRealtime); final long whichBatteryUptime = computeBatteryUptime(rawUptime, which); final long whichBatteryRealtime = computeBatteryRealtime(rawRealtime, which); @@ -692,6 +702,7 @@ public abstract class BatteryStats implements Parcelable { final long screenOnTime = getScreenOnTime(batteryRealtime, which); final long phoneOnTime = getPhoneOnTime(batteryRealtime, which); + final long wifiRunningTime = getWifiRunningTime(batteryRealtime, which); final long wifiOnTime = getWifiOnTime(batteryRealtime, which); final long bluetoothOnTime = getBluetoothOnTime(batteryRealtime, which); pw.println(prefix @@ -701,6 +712,8 @@ public abstract class BatteryStats implements Parcelable { + "(" + formatRatioLocked(phoneOnTime, whichBatteryRealtime) + "), time with wifi on: " + formatTimeMs(wifiOnTime / 1000) + "(" + formatRatioLocked(wifiOnTime, whichBatteryRealtime) + + "), time with wifi running: " + formatTimeMs(wifiRunningTime / 1000) + + "(" + formatRatioLocked(wifiRunningTime, whichBatteryRealtime) + "), time with bluetooth on: " + formatTimeMs(bluetoothOnTime / 1000) + "(" + formatRatioLocked(bluetoothOnTime, whichBatteryRealtime)+ ")"); diff --git a/core/java/com/android/internal/app/IBatteryStats.aidl b/core/java/com/android/internal/app/IBatteryStats.aidl index d259756..e0de421 100644 --- a/core/java/com/android/internal/app/IBatteryStats.aidl +++ b/core/java/com/android/internal/app/IBatteryStats.aidl @@ -32,6 +32,8 @@ interface IBatteryStats { void notePhoneOff(); void noteWifiOn(); void noteWifiOff(); + void noteWifiRunning(); + void noteWifiStopped(); void noteBluetoothOn(); void noteBluetoothOff(); void noteFullWifiLockAcquired(int uid); diff --git a/core/java/com/android/internal/os/BatteryStatsImpl.java b/core/java/com/android/internal/os/BatteryStatsImpl.java index b3ae0d6..38335b5 100644 --- a/core/java/com/android/internal/os/BatteryStatsImpl.java +++ b/core/java/com/android/internal/os/BatteryStatsImpl.java @@ -47,7 +47,7 @@ public final class BatteryStatsImpl extends BatteryStats { private static final int MAGIC = 0xBA757475; // 'BATSTATS' // Current on-disk Parcel version - private static final int VERSION = 27; + private static final int VERSION = 28; private final File mFile; private final File mBackupFile; @@ -94,6 +94,9 @@ public final class BatteryStatsImpl extends BatteryStats { boolean mWifiOn; Timer mWifiOnTimer; + + boolean mWifiRunning; + Timer mWifiRunningTimer; boolean mBluetoothOn; Timer mBluetoothOnTimer; @@ -497,6 +500,20 @@ public final class BatteryStatsImpl extends BatteryStats { } } + public void noteWifiRunningLocked() { + if (!mWifiRunning) { + mWifiRunning = true; + mWifiRunningTimer.startRunningLocked(this); + } + } + + public void noteWifiStoppedLocked() { + if (mWifiRunning) { + mWifiRunning = false; + mWifiRunningTimer.stopRunningLocked(this); + } + } + public void noteBluetoothOnLocked() { if (!mBluetoothOn) { mBluetoothOn = true; @@ -551,6 +568,10 @@ public final class BatteryStatsImpl extends BatteryStats { return mWifiOnTimer.getTotalTime(batteryRealtime, which); } + @Override public long getWifiRunningTime(long batteryRealtime, int which) { + return mWifiRunningTimer.getTotalTime(batteryRealtime, which); + } + @Override public long getBluetoothOnTime(long batteryRealtime, int which) { return mBluetoothOnTimer.getTotalTime(batteryRealtime, which); } @@ -1597,7 +1618,8 @@ public final class BatteryStatsImpl extends BatteryStats { mScreenOnTimer = new Timer(-1, null, mUnpluggables); mPhoneOnTimer = new Timer(-2, null, mUnpluggables); mWifiOnTimer = new Timer(-3, null, mUnpluggables); - mBluetoothOnTimer = new Timer(-4, null, mUnpluggables); + mWifiRunningTimer = new Timer(-4, null, mUnpluggables); + mBluetoothOnTimer = new Timer(-5, null, mUnpluggables); mOnBattery = mOnBatteryInternal = false; mTrackBatteryPastUptime = 0; mTrackBatteryPastRealtime = 0; @@ -1935,6 +1957,8 @@ public final class BatteryStatsImpl extends BatteryStats { mPhoneOnTimer.readSummaryFromParcelLocked(in); mWifiOn = false; mWifiOnTimer.readSummaryFromParcelLocked(in); + mWifiRunning = false; + mWifiRunningTimer.readSummaryFromParcelLocked(in); mBluetoothOn = false; mBluetoothOnTimer.readSummaryFromParcelLocked(in); @@ -2038,6 +2062,7 @@ public final class BatteryStatsImpl extends BatteryStats { mScreenOnTimer.writeSummaryFromParcelLocked(out, NOWREAL); mPhoneOnTimer.writeSummaryFromParcelLocked(out, NOWREAL); mWifiOnTimer.writeSummaryFromParcelLocked(out, NOWREAL); + mWifiRunningTimer.writeSummaryFromParcelLocked(out, NOWREAL); mBluetoothOnTimer.writeSummaryFromParcelLocked(out, NOWREAL); final int NU = mUidStats.size(); @@ -2163,6 +2188,8 @@ public final class BatteryStatsImpl extends BatteryStats { mPhoneOnTimer = new Timer(-2, null, mUnpluggables, in); mWifiOn = false; mWifiOnTimer = new Timer(-2, null, mUnpluggables, in); + mWifiRunning = false; + mWifiRunningTimer = new Timer(-2, null, mUnpluggables, in); mBluetoothOn = false; mBluetoothOnTimer = new Timer(-2, null, mUnpluggables, in); mUptime = in.readLong(); @@ -2217,6 +2244,7 @@ public final class BatteryStatsImpl extends BatteryStats { mScreenOnTimer.writeToParcel(out, batteryRealtime); mPhoneOnTimer.writeToParcel(out, batteryRealtime); mWifiOnTimer.writeToParcel(out, batteryRealtime); + mWifiRunningTimer.writeToParcel(out, batteryRealtime); mBluetoothOnTimer.writeToParcel(out, batteryRealtime); out.writeLong(mUptime); out.writeLong(mUptimeStart); @@ -2264,6 +2292,8 @@ public final class BatteryStatsImpl extends BatteryStats { mPhoneOnTimer.logState(); Log.i(TAG, "*** Wifi timer:"); mWifiOnTimer.logState(); + Log.i(TAG, "*** WifiRunning timer:"); + mWifiRunningTimer.logState(); Log.i(TAG, "*** Bluetooth timer:"); mBluetoothOnTimer.logState(); } |