summaryrefslogtreecommitdiffstats
path: root/core/java
diff options
context:
space:
mode:
authorDianne Hackborn <hackbod@google.com>2015-03-19 23:05:15 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2015-03-19 23:05:16 +0000
commit79ec42e6a3c6a6f6a00ef3ad92221a5ad2149aa9 (patch)
treea117c0350ba0eccf49450ced9c60b6a31a6bbb14 /core/java
parent4dd12ef0c548603be256b189e37b0a314829e719 (diff)
parent8ad2af7e5b28f71e7bdfc1bb097937c6c1d22b18 (diff)
downloadframeworks_base-79ec42e6a3c6a6f6a00ef3ad92221a5ad2149aa9.zip
frameworks_base-79ec42e6a3c6a6f6a00ef3ad92221a5ad2149aa9.tar.gz
frameworks_base-79ec42e6a3c6a6f6a00ef3ad92221a5ad2149aa9.tar.bz2
Merge "First stab at device idle mode."
Diffstat (limited to 'core/java')
-rw-r--r--core/java/android/hardware/display/DisplayManager.java3
-rw-r--r--core/java/android/net/INetworkPolicyManager.aidl3
-rw-r--r--core/java/android/os/BatteryStats.java82
-rw-r--r--core/java/com/android/internal/app/IBatteryStats.aidl1
-rw-r--r--core/java/com/android/internal/os/BatteryStatsImpl.java129
5 files changed, 164 insertions, 54 deletions
diff --git a/core/java/android/hardware/display/DisplayManager.java b/core/java/android/hardware/display/DisplayManager.java
index b077e06..12e1963 100644
--- a/core/java/android/hardware/display/DisplayManager.java
+++ b/core/java/android/hardware/display/DisplayManager.java
@@ -472,7 +472,8 @@ public final class DisplayManager {
/**
* Creates a virtual display.
*
- * @see #createVirtualDisplay(String, int, int, int, Surface, int, VirtualDisplay.Callback)
+ * @see #createVirtualDisplay(String, int, int, int, Surface, int,
+ * VirtualDisplay.Callback, Handler)
*/
public VirtualDisplay createVirtualDisplay(@NonNull String name,
int width, int height, int densityDpi, @Nullable Surface surface, int flags) {
diff --git a/core/java/android/net/INetworkPolicyManager.aidl b/core/java/android/net/INetworkPolicyManager.aidl
index 1129c9e..7e92de2 100644
--- a/core/java/android/net/INetworkPolicyManager.aidl
+++ b/core/java/android/net/INetworkPolicyManager.aidl
@@ -54,7 +54,8 @@ interface INetworkPolicyManager {
void setRestrictBackground(boolean restrictBackground);
boolean getRestrictBackground();
+ void setDeviceIdleMode(boolean enabled);
+
NetworkQuotaInfo getNetworkQuotaInfo(in NetworkState state);
boolean isNetworkMetered(in NetworkState state);
-
}
diff --git a/core/java/android/os/BatteryStats.java b/core/java/android/os/BatteryStats.java
index d96a0e9..cab03da 100644
--- a/core/java/android/os/BatteryStats.java
+++ b/core/java/android/os/BatteryStats.java
@@ -30,7 +30,6 @@ import android.content.pm.ApplicationInfo;
import android.telephony.SignalStrength;
import android.text.format.DateFormat;
import android.util.Printer;
-import android.util.Slog;
import android.util.SparseArray;
import android.util.SparseIntArray;
import android.util.TimeUtils;
@@ -1044,14 +1043,15 @@ public abstract class BatteryStats implements Parcelable {
public static final int STATE2_WIFI_SIGNAL_STRENGTH_MASK =
0x7 << STATE2_WIFI_SIGNAL_STRENGTH_SHIFT;
- public static final int STATE2_LOW_POWER_FLAG = 1<<31;
+ public static final int STATE2_POWER_SAVE_FLAG = 1<<31;
public static final int STATE2_VIDEO_ON_FLAG = 1<<30;
public static final int STATE2_WIFI_RUNNING_FLAG = 1<<29;
public static final int STATE2_WIFI_ON_FLAG = 1<<28;
public static final int STATE2_FLASHLIGHT_FLAG = 1<<27;
+ public static final int STATE2_DEVICE_IDLE_FLAG = 1<<26;
public static final int MOST_INTERESTING_STATES2 =
- STATE2_LOW_POWER_FLAG | STATE2_WIFI_ON_FLAG;
+ STATE2_POWER_SAVE_FLAG | STATE2_WIFI_ON_FLAG | STATE2_DEVICE_IDLE_FLAG;
public int states2;
@@ -1086,10 +1086,18 @@ public abstract class BatteryStats implements Parcelable {
public static final int EVENT_USER_RUNNING = 0x0007;
// Events for foreground user.
public static final int EVENT_USER_FOREGROUND = 0x0008;
- // Events for connectivity changed.
+ // Event for connectivity changed.
public static final int EVENT_CONNECTIVITY_CHANGED = 0x0009;
+ // Event for significant motion taking us out of idle mode.
+ public static final int EVENT_SIGNIFICANT_MOTION = 0x000a;
+ // Event for becoming active taking us out of idle mode.
+ public static final int EVENT_ACTIVE = 0x000b;
+ // Event for a package being installed.
+ public static final int EVENT_PACKAGE_INSTALLED = 0x000c;
+ // Event for a package being uninstalled.
+ public static final int EVENT_PACKAGE_UNINSTALLED = 0x000d;
// Number of event types.
- public static final int EVENT_COUNT = 0x000a;
+ public static final int EVENT_COUNT = 0x000e;
// Mask to extract out only the type part of the event.
public static final int EVENT_TYPE_MASK = ~(EVENT_FLAG_START|EVENT_FLAG_FINISH);
@@ -1486,19 +1494,34 @@ public abstract class BatteryStats implements Parcelable {
long elapsedRealtimeUs, int which);
/**
- * Returns the time in microseconds that low power mode has been enabled while the device was
+ * Returns the time in microseconds that power save mode has been enabled while the device was
* running on battery.
*
* {@hide}
*/
- public abstract long getLowPowerModeEnabledTime(long elapsedRealtimeUs, int which);
+ public abstract long getPowerSaveModeEnabledTime(long elapsedRealtimeUs, int which);
/**
- * Returns the number of times that low power mode was enabled.
+ * Returns the number of times that power save mode was enabled.
*
* {@hide}
*/
- public abstract int getLowPowerModeEnabledCount(int which);
+ public abstract int getPowerSaveModeEnabledCount(int which);
+
+ /**
+ * Returns the time in microseconds that device has been in idle mode while
+ * running on battery.
+ *
+ * {@hide}
+ */
+ public abstract long getDeviceIdleModeEnabledTime(long elapsedRealtimeUs, int which);
+
+ /**
+ * Returns the number of times that the devie has gone in to idle mode.
+ *
+ * {@hide}
+ */
+ public abstract int getDeviceIdleModeEnabledCount(int which);
/**
* Returns the number of times that connectivity state changed.
@@ -1692,11 +1715,12 @@ public abstract class BatteryStats implements Parcelable {
public static final BitDescription[] HISTORY_STATE2_DESCRIPTIONS
= new BitDescription[] {
- new BitDescription(HistoryItem.STATE2_LOW_POWER_FLAG, "low_power", "lp"),
+ new BitDescription(HistoryItem.STATE2_POWER_SAVE_FLAG, "power_save", "ps"),
new BitDescription(HistoryItem.STATE2_VIDEO_ON_FLAG, "video", "v"),
new BitDescription(HistoryItem.STATE2_WIFI_RUNNING_FLAG, "wifi_running", "Wr"),
new BitDescription(HistoryItem.STATE2_WIFI_ON_FLAG, "wifi", "W"),
new BitDescription(HistoryItem.STATE2_FLASHLIGHT_FLAG, "flashlight", "fl"),
+ new BitDescription(HistoryItem.STATE2_DEVICE_IDLE_FLAG, "device_idle", "di"),
new BitDescription(HistoryItem.STATE2_WIFI_SIGNAL_STRENGTH_MASK,
HistoryItem.STATE2_WIFI_SIGNAL_STRENGTH_SHIFT, "wifi_signal_strength", "Wss",
new String[] { "0", "1", "2", "3", "4" },
@@ -1707,11 +1731,13 @@ public abstract class BatteryStats implements Parcelable {
};
public static final String[] HISTORY_EVENT_NAMES = new String[] {
- "null", "proc", "fg", "top", "sync", "wake_lock_in", "job", "user", "userfg", "conn"
+ "null", "proc", "fg", "top", "sync", "wake_lock_in", "job", "user", "userfg", "conn",
+ "motion", "active", "pkginst", "pkgunin"
};
public static final String[] HISTORY_EVENT_CHECKIN_NAMES = new String[] {
- "Enl", "Epr", "Efg", "Etp", "Esy", "Ewl", "Ejb", "Eur", "Euf", "Ecn"
+ "Enl", "Epr", "Efg", "Etp", "Esy", "Ewl", "Ejb", "Eur", "Euf", "Ecn",
+ "Esm", "Eac", "Epi", "Epu"
};
/**
@@ -2310,7 +2336,8 @@ public abstract class BatteryStats implements Parcelable {
final long totalUptime = computeUptime(rawUptime, which);
final long screenOnTime = getScreenOnTime(rawRealtime, which);
final long interactiveTime = getInteractiveTime(rawRealtime, which);
- final long lowPowerModeEnabledTime = getLowPowerModeEnabledTime(rawRealtime, which);
+ final long powerSaveModeEnabledTime = getPowerSaveModeEnabledTime(rawRealtime, which);
+ final long deviceIdleModeEnabledTime = getDeviceIdleModeEnabledTime(rawRealtime, which);
final int connChanges = getNumConnectivityChange(which);
final long phoneOnTime = getPhoneOnTime(rawRealtime, which);
final long wifiOnTime = getWifiOnTime(rawRealtime, which);
@@ -2382,7 +2409,8 @@ public abstract class BatteryStats implements Parcelable {
fullWakeLockTimeTotal / 1000, partialWakeLockTimeTotal / 1000,
0 /*legacy input event count*/, getMobileRadioActiveTime(rawRealtime, which) / 1000,
getMobileRadioActiveAdjustedTime(which) / 1000, interactiveTime / 1000,
- lowPowerModeEnabledTime / 1000, connChanges);
+ powerSaveModeEnabledTime / 1000, connChanges, deviceIdleModeEnabledTime / 1000,
+ getDeviceIdleModeEnabledCount(which));
// Dump screen brightness stats
Object[] args = new Object[NUM_SCREEN_BRIGHTNESS_BINS];
@@ -2849,7 +2877,8 @@ public abstract class BatteryStats implements Parcelable {
final long screenOnTime = getScreenOnTime(rawRealtime, which);
final long interactiveTime = getInteractiveTime(rawRealtime, which);
- final long lowPowerModeEnabledTime = getLowPowerModeEnabledTime(rawRealtime, which);
+ final long powerSaveModeEnabledTime = getPowerSaveModeEnabledTime(rawRealtime, which);
+ final long deviceIdleModeEnabledTime = getDeviceIdleModeEnabledTime(rawRealtime, which);
final long phoneOnTime = getPhoneOnTime(rawRealtime, which);
final long wifiRunningTime = getGlobalWifiRunningTime(rawRealtime, which);
final long wifiOnTime = getWifiOnTime(rawRealtime, which);
@@ -2884,22 +2913,33 @@ public abstract class BatteryStats implements Parcelable {
}
if (!didOne) sb.append(" (no activity)");
pw.println(sb.toString());
- if (lowPowerModeEnabledTime != 0) {
+ if (powerSaveModeEnabledTime != 0) {
sb.setLength(0);
sb.append(prefix);
- sb.append(" Low power mode enabled: ");
- formatTimeMs(sb, lowPowerModeEnabledTime / 1000);
+ sb.append(" Power save mode enabled: ");
+ formatTimeMs(sb, powerSaveModeEnabledTime / 1000);
sb.append("(");
- sb.append(formatRatioLocked(lowPowerModeEnabledTime, whichBatteryRealtime));
+ sb.append(formatRatioLocked(powerSaveModeEnabledTime, whichBatteryRealtime));
sb.append(")");
pw.println(sb.toString());
}
+ if (deviceIdleModeEnabledTime != 0) {
+ sb.setLength(0);
+ sb.append(prefix);
+ sb.append(" Device idling: ");
+ formatTimeMs(sb, deviceIdleModeEnabledTime / 1000);
+ sb.append("(");
+ sb.append(formatRatioLocked(deviceIdleModeEnabledTime, whichBatteryRealtime));
+ sb.append(") "); sb.append(getDeviceIdleModeEnabledCount(which));
+ sb.append("x");
+ pw.println(sb.toString());
+ }
if (phoneOnTime != 0) {
sb.setLength(0);
sb.append(prefix);
sb.append(" Active phone call: "); formatTimeMs(sb, phoneOnTime / 1000);
sb.append("("); sb.append(formatRatioLocked(phoneOnTime, whichBatteryRealtime));
- sb.append(") "); sb.append(getPhoneOnCount(which));
+ sb.append(") "); sb.append(getPhoneOnCount(which)); sb.append("x");
}
int connChanges = getNumConnectivityChange(which);
if (connChanges != 0) {
@@ -4721,7 +4761,7 @@ public abstract class BatteryStats implements Parcelable {
prepareForDumpLocked();
dumpLine(pw, 0 /* uid */, "i" /* category */, VERSION_DATA,
- "12", getParcelVersion(), getStartPlatformVersion(), getEndPlatformVersion());
+ "13", getParcelVersion(), getStartPlatformVersion(), getEndPlatformVersion());
long now = getHistoryBaseTime() + SystemClock.elapsedRealtime();
diff --git a/core/java/com/android/internal/app/IBatteryStats.aidl b/core/java/com/android/internal/app/IBatteryStats.aidl
index 87b6ed7..bea4ece 100644
--- a/core/java/com/android/internal/app/IBatteryStats.aidl
+++ b/core/java/com/android/internal/app/IBatteryStats.aidl
@@ -111,6 +111,7 @@ interface IBatteryStats {
void noteWifiMulticastDisabledFromSource(in WorkSource ws);
void noteNetworkInterfaceType(String iface, int type);
void noteNetworkStatsEnabled();
+ void noteDeviceIdleMode(boolean enabled, boolean fromActive, boolean fromMotion);
void setBatteryState(int status, int health, int plugType, int level, int temp, int volt);
long getAwakeTimeBattery();
long getAwakeTimePlugged();
diff --git a/core/java/com/android/internal/os/BatteryStatsImpl.java b/core/java/com/android/internal/os/BatteryStatsImpl.java
index f9b1ca1..7d5df46 100644
--- a/core/java/com/android/internal/os/BatteryStatsImpl.java
+++ b/core/java/com/android/internal/os/BatteryStatsImpl.java
@@ -109,7 +109,7 @@ public final class BatteryStatsImpl extends BatteryStats {
private static final int MAGIC = 0xBA757475; // 'BATSTATS'
// Current on-disk Parcel version
- private static final int VERSION = 119 + (USE_OLD_HISTORY ? 1000 : 0);
+ private static final int VERSION = 120 + (USE_OLD_HISTORY ? 1000 : 0);
// Maximum number of items we will record in the history.
private static final int MAX_HISTORY_ITEMS = 2000;
@@ -307,8 +307,11 @@ public final class BatteryStatsImpl extends BatteryStats {
boolean mInteractive;
StopwatchTimer mInteractiveTimer;
- boolean mLowPowerModeEnabled;
- StopwatchTimer mLowPowerModeEnabledTimer;
+ boolean mPowerSaveModeEnabled;
+ StopwatchTimer mPowerSaveModeEnabledTimer;
+
+ boolean mDeviceIdleModeEnabled;
+ StopwatchTimer mDeviceIdleModeEnabledTimer;
boolean mPhoneOn;
StopwatchTimer mPhoneOnTimer;
@@ -1775,17 +1778,18 @@ public final class BatteryStatsImpl extends BatteryStats {
private final Map<String, KernelWakelockStats> readKernelWakelockStats() {
FileInputStream is;
- byte[] buffer = new byte[8192];
+ byte[] buffer = new byte[32*1024];
int len;
- boolean wakeup_sources = false;
+ boolean wakeup_sources;
try {
try {
- is = new FileInputStream("/proc/wakelocks");
+ is = new FileInputStream("/d/wakeup_sources");
+ wakeup_sources = true;
} catch (java.io.FileNotFoundException e) {
try {
- is = new FileInputStream("/d/wakeup_sources");
- wakeup_sources = true;
+ is = new FileInputStream("/proc/wakelocks");
+ wakeup_sources = false;
} catch (java.io.FileNotFoundException e2) {
return null;
}
@@ -1798,6 +1802,9 @@ public final class BatteryStatsImpl extends BatteryStats {
}
if (len > 0) {
+ if (len >= buffer.length) {
+ Slog.wtf(TAG, "Kernel wake locks exceeded buffer size " + buffer.length);
+ }
int i;
for (i=0; i<len; i++) {
if (buffer[i] == '\0') {
@@ -3386,29 +3393,73 @@ public final class BatteryStatsImpl extends BatteryStats {
}
}
- public void noteLowPowerMode(boolean enabled) {
- if (mLowPowerModeEnabled != enabled) {
+ public void notePowerSaveMode(boolean enabled) {
+ if (mPowerSaveModeEnabled != enabled) {
int stepState = enabled ? STEP_LEVEL_MODE_POWER_SAVE : 0;
mModStepMode |= (mCurStepMode&STEP_LEVEL_MODE_POWER_SAVE) ^ stepState;
mCurStepMode = (mCurStepMode&~STEP_LEVEL_MODE_POWER_SAVE) | stepState;
final long elapsedRealtime = SystemClock.elapsedRealtime();
final long uptime = SystemClock.uptimeMillis();
- mLowPowerModeEnabled = enabled;
+ mPowerSaveModeEnabled = enabled;
+ if (enabled) {
+ mHistoryCur.states2 |= HistoryItem.STATE2_POWER_SAVE_FLAG;
+ if (DEBUG_HISTORY) Slog.v(TAG, "Power save mode enabled to: "
+ + Integer.toHexString(mHistoryCur.states2));
+ mPowerSaveModeEnabledTimer.startRunningLocked(elapsedRealtime);
+ } else {
+ mHistoryCur.states2 &= ~HistoryItem.STATE2_POWER_SAVE_FLAG;
+ if (DEBUG_HISTORY) Slog.v(TAG, "Power save mode disabled to: "
+ + Integer.toHexString(mHistoryCur.states2));
+ mPowerSaveModeEnabledTimer.stopRunningLocked(elapsedRealtime);
+ }
+ addHistoryRecordLocked(elapsedRealtime, uptime);
+ }
+ }
+
+ public void noteDeviceIdleModeLocked(boolean enabled, boolean fromActive, boolean fromMotion) {
+ if (mDeviceIdleModeEnabled != enabled) {
+ final long elapsedRealtime = SystemClock.elapsedRealtime();
+ final long uptime = SystemClock.uptimeMillis();
+ mDeviceIdleModeEnabled = enabled;
+ if (fromMotion) {
+ addHistoryEventLocked(elapsedRealtime, uptime, HistoryItem.EVENT_SIGNIFICANT_MOTION,
+ "", 0);
+ }
+ if (fromActive) {
+ addHistoryEventLocked(elapsedRealtime, uptime, HistoryItem.EVENT_ACTIVE,
+ "", 0);
+ }
if (enabled) {
- mHistoryCur.states2 |= HistoryItem.STATE2_LOW_POWER_FLAG;
- if (DEBUG_HISTORY) Slog.v(TAG, "Low power mode enabled to: "
+ mHistoryCur.states2 |= HistoryItem.STATE2_DEVICE_IDLE_FLAG;
+ if (DEBUG_HISTORY) Slog.v(TAG, "Device idle mode enabled to: "
+ Integer.toHexString(mHistoryCur.states2));
- mLowPowerModeEnabledTimer.startRunningLocked(elapsedRealtime);
+ mDeviceIdleModeEnabledTimer.startRunningLocked(elapsedRealtime);
} else {
- mHistoryCur.states2 &= ~HistoryItem.STATE2_LOW_POWER_FLAG;
- if (DEBUG_HISTORY) Slog.v(TAG, "Low power mode disabled to: "
+ mHistoryCur.states2 &= ~HistoryItem.STATE2_DEVICE_IDLE_FLAG;
+ if (DEBUG_HISTORY) Slog.v(TAG, "Device idle mode disabled to: "
+ Integer.toHexString(mHistoryCur.states2));
- mLowPowerModeEnabledTimer.stopRunningLocked(elapsedRealtime);
+ mDeviceIdleModeEnabledTimer.stopRunningLocked(elapsedRealtime);
}
addHistoryRecordLocked(elapsedRealtime, uptime);
}
}
+ public void notePackageInstalledLocked(String pkgName, int versionCode) {
+ final long elapsedRealtime = SystemClock.elapsedRealtime();
+ final long uptime = SystemClock.uptimeMillis();
+ addHistoryEventLocked(elapsedRealtime, uptime, HistoryItem.EVENT_PACKAGE_INSTALLED,
+ pkgName, versionCode);
+ mNumConnectivityChange++;
+ }
+
+ public void notePackageUninstalledLocked(String pkgName) {
+ final long elapsedRealtime = SystemClock.elapsedRealtime();
+ final long uptime = SystemClock.uptimeMillis();
+ addHistoryEventLocked(elapsedRealtime, uptime, HistoryItem.EVENT_PACKAGE_UNINSTALLED,
+ pkgName, 0);
+ mNumConnectivityChange++;
+ }
+
public void notePhoneOnLocked() {
if (!mPhoneOn) {
final long elapsedRealtime = SystemClock.elapsedRealtime();
@@ -4195,12 +4246,20 @@ public final class BatteryStatsImpl extends BatteryStats {
return mInteractiveTimer.getTotalTimeLocked(elapsedRealtimeUs, which);
}
- @Override public long getLowPowerModeEnabledTime(long elapsedRealtimeUs, int which) {
- return mLowPowerModeEnabledTimer.getTotalTimeLocked(elapsedRealtimeUs, which);
+ @Override public long getPowerSaveModeEnabledTime(long elapsedRealtimeUs, int which) {
+ return mPowerSaveModeEnabledTimer.getTotalTimeLocked(elapsedRealtimeUs, which);
+ }
+
+ @Override public int getPowerSaveModeEnabledCount(int which) {
+ return mPowerSaveModeEnabledTimer.getCountLocked(which);
+ }
+
+ @Override public long getDeviceIdleModeEnabledTime(long elapsedRealtimeUs, int which) {
+ return mDeviceIdleModeEnabledTimer.getTotalTimeLocked(elapsedRealtimeUs, which);
}
- @Override public int getLowPowerModeEnabledCount(int which) {
- return mLowPowerModeEnabledTimer.getCountLocked(which);
+ @Override public int getDeviceIdleModeEnabledCount(int which) {
+ return mDeviceIdleModeEnabledTimer.getCountLocked(which);
}
@Override public int getNumConnectivityChange(int which) {
@@ -6662,8 +6721,9 @@ public final class BatteryStatsImpl extends BatteryStats {
for (int i=0; i<NUM_SCREEN_BRIGHTNESS_BINS; i++) {
mScreenBrightnessTimer[i] = new StopwatchTimer(null, -100-i, null, mOnBatteryTimeBase);
}
- mInteractiveTimer = new StopwatchTimer(null, -9, null, mOnBatteryTimeBase);
- mLowPowerModeEnabledTimer = new StopwatchTimer(null, -2, null, mOnBatteryTimeBase);
+ mInteractiveTimer = new StopwatchTimer(null, -10, null, mOnBatteryTimeBase);
+ mPowerSaveModeEnabledTimer = new StopwatchTimer(null, -2, null, mOnBatteryTimeBase);
+ mDeviceIdleModeEnabledTimer = new StopwatchTimer(null, -11, null, mOnBatteryTimeBase);
mPhoneOnTimer = new StopwatchTimer(null, -3, null, mOnBatteryTimeBase);
for (int i=0; i<SignalStrength.NUM_SIGNAL_STRENGTH_BINS; i++) {
mPhoneSignalStrengthsTimer[i] = new StopwatchTimer(null, -200-i, null,
@@ -7233,7 +7293,8 @@ public final class BatteryStatsImpl extends BatteryStats {
mScreenBrightnessTimer[i].reset(false);
}
mInteractiveTimer.reset(false);
- mLowPowerModeEnabledTimer.reset(false);
+ mPowerSaveModeEnabledTimer.reset(false);
+ mDeviceIdleModeEnabledTimer.reset(false);
mPhoneOnTimer.reset(false);
mAudioOnTimer.reset(false);
mVideoOnTimer.reset(false);
@@ -8534,7 +8595,8 @@ public final class BatteryStatsImpl extends BatteryStats {
mInteractive = false;
mInteractiveTimer.readSummaryFromParcelLocked(in);
mPhoneOn = false;
- mLowPowerModeEnabledTimer.readSummaryFromParcelLocked(in);
+ mPowerSaveModeEnabledTimer.readSummaryFromParcelLocked(in);
+ mDeviceIdleModeEnabledTimer.readSummaryFromParcelLocked(in);
mPhoneOnTimer.readSummaryFromParcelLocked(in);
for (int i=0; i<SignalStrength.NUM_SIGNAL_STRENGTH_BINS; i++) {
mPhoneSignalStrengthsTimer[i].readSummaryFromParcelLocked(in);
@@ -8835,7 +8897,8 @@ public final class BatteryStatsImpl extends BatteryStats {
mScreenBrightnessTimer[i].writeSummaryFromParcelLocked(out, NOWREAL_SYS);
}
mInteractiveTimer.writeSummaryFromParcelLocked(out, NOWREAL_SYS);
- mLowPowerModeEnabledTimer.writeSummaryFromParcelLocked(out, NOWREAL_SYS);
+ mPowerSaveModeEnabledTimer.writeSummaryFromParcelLocked(out, NOWREAL_SYS);
+ mDeviceIdleModeEnabledTimer.writeSummaryFromParcelLocked(out, NOWREAL_SYS);
mPhoneOnTimer.writeSummaryFromParcelLocked(out, NOWREAL_SYS);
for (int i=0; i<SignalStrength.NUM_SIGNAL_STRENGTH_BINS; i++) {
mPhoneSignalStrengthsTimer[i].writeSummaryFromParcelLocked(out, NOWREAL_SYS);
@@ -9132,9 +9195,10 @@ public final class BatteryStatsImpl extends BatteryStats {
in);
}
mInteractive = false;
- mInteractiveTimer = new StopwatchTimer(null, -9, null, mOnBatteryTimeBase, in);
+ mInteractiveTimer = new StopwatchTimer(null, -10, null, mOnBatteryTimeBase, in);
mPhoneOn = false;
- mLowPowerModeEnabledTimer = new StopwatchTimer(null, -2, null, mOnBatteryTimeBase, in);
+ mPowerSaveModeEnabledTimer = new StopwatchTimer(null, -2, null, mOnBatteryTimeBase, in);
+ mDeviceIdleModeEnabledTimer = new StopwatchTimer(null, -11, null, mOnBatteryTimeBase, in);
mPhoneOnTimer = new StopwatchTimer(null, -3, null, mOnBatteryTimeBase, in);
for (int i=0; i<SignalStrength.NUM_SIGNAL_STRENGTH_BINS; i++) {
mPhoneSignalStrengthsTimer[i] = new StopwatchTimer(null, -200-i,
@@ -9299,7 +9363,8 @@ public final class BatteryStatsImpl extends BatteryStats {
mScreenBrightnessTimer[i].writeToParcel(out, uSecRealtime);
}
mInteractiveTimer.writeToParcel(out, uSecRealtime);
- mLowPowerModeEnabledTimer.writeToParcel(out, uSecRealtime);
+ mPowerSaveModeEnabledTimer.writeToParcel(out, uSecRealtime);
+ mDeviceIdleModeEnabledTimer.writeToParcel(out, uSecRealtime);
mPhoneOnTimer.writeToParcel(out, uSecRealtime);
for (int i=0; i<SignalStrength.NUM_SIGNAL_STRENGTH_BINS; i++) {
mPhoneSignalStrengthsTimer[i].writeToParcel(out, uSecRealtime);
@@ -9436,8 +9501,10 @@ public final class BatteryStatsImpl extends BatteryStats {
}
pr.println("*** Interactive timer:");
mInteractiveTimer.logState(pr, " ");
- pr.println("*** Low power mode timer:");
- mLowPowerModeEnabledTimer.logState(pr, " ");
+ pr.println("*** Power save mode timer:");
+ mPowerSaveModeEnabledTimer.logState(pr, " ");
+ pr.println("*** Device idle mode timer:");
+ mDeviceIdleModeEnabledTimer.logState(pr, " ");
pr.println("*** Phone timer:");
mPhoneOnTimer.logState(pr, " ");
for (int i=0; i<SignalStrength.NUM_SIGNAL_STRENGTH_BINS; i++) {