summaryrefslogtreecommitdiffstats
path: root/core/java
diff options
context:
space:
mode:
authorEric Shienbrood <>2009-03-24 18:14:17 -0700
committerThe Android Open Source Project <initial-contribution@android.com>2009-03-24 18:14:17 -0700
commitf93f02fb8a6b6bdbc294085d89e733dcd5078630 (patch)
treed1f5dbc26f126fbeba72b5a23de78cddc6499a8b /core/java
parente025d2d74641d7654f65cbc1bc409f45f4a7b354 (diff)
downloadframeworks_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.java21
-rw-r--r--core/java/com/android/internal/app/IBatteryStats.aidl2
-rw-r--r--core/java/com/android/internal/os/BatteryStatsImpl.java34
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();
}