int mScreenBrightnessBin = -1;
final StopwatchTimer[] mScreenBrightnessTimer = new StopwatchTimer[NUM_SCREEN_BRIGHTNESS_BINS];
+ boolean mPretendScreenOff;
+
boolean mInteractive;
StopwatchTimer mInteractiveTimer;
mNoAutoReset = enabled;
}
+ public void setPretendScreenOff(boolean pretendScreenOff) {
+ mPretendScreenOff = pretendScreenOff;
+ noteScreenStateLocked(pretendScreenOff ? Display.STATE_OFF : Display.STATE_ON);
+ }
+
private String mInitialAcquireWakeName;
private int mInitialAcquireWakeUid = -1;
}
public void noteScreenStateLocked(int state) {
+ state = mPretendScreenOff ? Display.STATE_OFF : state;
if (mScreenState != state) {
recordDailyStatsIfNeededLocked(true);
final int oldState = mScreenState;
import android.telephony.TelephonyManager;
import android.util.IntArray;
import android.util.Slog;
-
import android.util.TimeUtils;
+
import com.android.internal.annotations.GuardedBy;
import com.android.internal.app.IBatteryStats;
import com.android.internal.os.BatteryStatsHelper;
pw.println(" full-history: include additional detailed events in battery history:");
pw.println(" wake_lock_in, alarms and proc events");
pw.println(" no-auto-reset: don't automatically reset stats when unplugged");
+ pw.println(" pretend-screen-off: pretend the screen is off, even if screen state changes");
}
private int doEnableOrDisable(PrintWriter pw, int i, String[] args, boolean enable) {
synchronized (mStats) {
mStats.setNoAutoReset(enable);
}
+ } else if ("pretend-screen-off".equals(args[i])) {
+ synchronized (mStats) {
+ mStats.setPretendScreenOff(enable);
+ }
} else {
pw.println("Unknown enable/disable option: " + args[i]);
dumpHelp(pw);