diff --git a/core/java/android/os/BatteryStats.java b/core/java/android/os/BatteryStats.java index d492b6ae2c692..c72b8286dbfd5 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