From 4840e143df9804e3399a4e0341c0601f80d65d6e Mon Sep 17 00:00:00 2001 From: Dianne Hackborn <> Date: Tue, 24 Mar 2009 22:40:29 -0700 Subject: Automated import from //branches/master/...@142348,142348 --- core/java/android/os/BatteryStats.java | 115 ++++++++++++++++-- .../com/android/internal/app/IBatteryStats.aidl | 2 + .../com/android/internal/os/BatteryStatsImpl.java | 133 ++++++++++++++++++--- .../java/com/android/server/TelephonyRegistry.java | 11 ++ .../com/android/server/am/BatteryStatsService.java | 15 +++ .../com/android/server/status/StatusBarPolicy.java | 24 +++- 6 files changed, 270 insertions(+), 30 deletions(-) diff --git a/core/java/android/os/BatteryStats.java b/core/java/android/os/BatteryStats.java index d492b6a..c72b828 100644 --- a/core/java/android/os/BatteryStats.java +++ b/core/java/android/os/BatteryStats.java @@ -4,8 +4,6 @@ import java.io.PrintWriter; import java.util.Formatter; import java.util.Map; -import com.android.internal.os.BatteryStatsImpl.Timer; - import android.util.Log; import android.util.Printer; import android.util.SparseArray; @@ -92,6 +90,8 @@ public abstract class BatteryStats implements Parcelable { private static final String BATTERY_DATA = "battery"; private static final String WIFI_LOCK_DATA = "wifilock"; private static final String MISC_DATA = "misc"; + private static final String SIGNAL_STRENGTH_DATA = "signal"; + private static final String DATA_CONNECTION_DATA = "dataconn"; private final StringBuilder mFormatBuilder = new StringBuilder(8); private final Formatter mFormatter = new Formatter(mFormatBuilder); @@ -122,7 +122,7 @@ public abstract class BatteryStats implements Parcelable { /** * Temporary for debugging. */ - public abstract void logState(); + public abstract void logState(Printer pw, String prefix); } /** @@ -293,6 +293,48 @@ public abstract class BatteryStats implements Parcelable { */ public abstract long getPhoneOnTime(long batteryRealtime, int which); + public static final int SIGNAL_STRENGTH_NONE_OR_UNKNOWN = 0; + public static final int SIGNAL_STRENGTH_POOR = 1; + public static final int SIGNAL_STRENGTH_MODERATE = 2; + public static final int SIGNAL_STRENGTH_GOOD = 3; + public static final int SIGNAL_STRENGTH_GREAT = 4; + + static final String[] SIGNAL_STRENGTH_NAMES = { + "none", "poor", "moderate", "good", "great" + }; + + public static final int NUM_SIGNAL_STRENGTH_BINS = 5; + + /** + * Returns the time in milliseconds that the phone has been running with + * the given signal strength. + * + * {@hide} + */ + public abstract long getPhoneSignalStrengthTime(int strengthBin, + long batteryRealtime, int which); + + public static final int DATA_CONNECTION_NONE = 0; + public static final int DATA_CONNECTION_GPRS = 1; + public static final int DATA_CONNECTION_EDGE = 2; + public static final int DATA_CONNECTION_UMTS = 3; + public static final int DATA_CONNECTION_OTHER = 4; + + static final String[] DATA_CONNECTION_NAMES = { + "none", "gprs", "edge", "umts", "other" + }; + + public static final int NUM_DATA_CONNECTION_TYPES = 5; + + /** + * Returns the time in milliseconds that the phone has been running with + * the given data connection. + * + * {@hide} + */ + public abstract long getPhoneDataConnectionTime(int dataType, + long batteryRealtime, int which); + /** * Returns the time in milliseconds that wifi has been on while the device was * running on battery. @@ -561,6 +603,20 @@ public abstract class BatteryStats implements Parcelable { screenOnTime / 1000, phoneOnTime / 1000, wifiOnTime / 1000, wifiRunningTime / 1000, bluetoothOnTime / 1000); + // Dump signal strength stats + Object[] args = new Object[NUM_SIGNAL_STRENGTH_BINS]; + for (int i=0; i