Switch to new "cpu running" state for showing wake time in chart.

Change-Id: I69b27c506e057353d9ee32f5d80e3077c7eba207
This commit is contained in:
Dianne Hackborn
2014-03-21 14:03:15 -07:00
parent 5f3442af6f
commit 55985d2cec

View File

@@ -117,7 +117,7 @@ public class BatteryHistoryChart extends View {
final Paint mScreenOnPaint = new Paint(); final Paint mScreenOnPaint = new Paint();
final Paint mGpsOnPaint = new Paint(); final Paint mGpsOnPaint = new Paint();
final Paint mWifiRunningPaint = new Paint(); final Paint mWifiRunningPaint = new Paint();
final Paint mWakeLockPaint = new Paint(); final Paint mCpuRunningPaint = new Paint();
final ChartData mPhoneSignalChart = new ChartData(); final ChartData mPhoneSignalChart = new ChartData();
final TextPaint mTextPaint = new TextPaint(Paint.ANTI_ALIAS_FLAG); final TextPaint mTextPaint = new TextPaint(Paint.ANTI_ALIAS_FLAG);
@@ -129,7 +129,7 @@ public class BatteryHistoryChart extends View {
final Path mScreenOnPath = new Path(); final Path mScreenOnPath = new Path();
final Path mGpsOnPath = new Path(); final Path mGpsOnPath = new Path();
final Path mWifiRunningPath = new Path(); final Path mWifiRunningPath = new Path();
final Path mWakeLockPath = new Path(); final Path mCpuRunningPath = new Path();
int mFontSize; int mFontSize;
@@ -141,7 +141,7 @@ public class BatteryHistoryChart extends View {
String mScreenOnLabel; String mScreenOnLabel;
String mGpsOnLabel; String mGpsOnLabel;
String mWifiRunningLabel; String mWifiRunningLabel;
String mWakeLockLabel; String mCpuRunningLabel;
String mPhoneSignalLabel; String mPhoneSignalLabel;
int mTextAscent; int mTextAscent;
@@ -157,7 +157,7 @@ public class BatteryHistoryChart extends View {
int mScreenOnOffset; int mScreenOnOffset;
int mGpsOnOffset; int mGpsOnOffset;
int mWifiRunningOffset; int mWifiRunningOffset;
int mWakeLockOffset; int mCpuRunningOffset;
int mPhoneSignalOffset; int mPhoneSignalOffset;
int mLevelOffset; int mLevelOffset;
int mLevelTop; int mLevelTop;
@@ -191,7 +191,7 @@ public class BatteryHistoryChart extends View {
mScreenOnPaint.setStyle(Paint.Style.STROKE); mScreenOnPaint.setStyle(Paint.Style.STROKE);
mGpsOnPaint.setStyle(Paint.Style.STROKE); mGpsOnPaint.setStyle(Paint.Style.STROKE);
mWifiRunningPaint.setStyle(Paint.Style.STROKE); mWifiRunningPaint.setStyle(Paint.Style.STROKE);
mWakeLockPaint.setStyle(Paint.Style.STROKE); mCpuRunningPaint.setStyle(Paint.Style.STROKE);
mPhoneSignalChart.setColors(new int[] { mPhoneSignalChart.setColors(new int[] {
0x00000000, 0xffa00000, 0xffa07000, 0xffa0a000, 0x00000000, 0xffa00000, 0xffa07000, 0xffa0a000,
0xff80a000, 0xff409000, 0xff008000 0xff80a000, 0xff409000, 0xff008000
@@ -347,7 +347,7 @@ public class BatteryHistoryChart extends View {
mScreenOnLabel = getContext().getString(R.string.battery_stats_screen_on_label); mScreenOnLabel = getContext().getString(R.string.battery_stats_screen_on_label);
mGpsOnLabel = getContext().getString(R.string.battery_stats_gps_on_label); mGpsOnLabel = getContext().getString(R.string.battery_stats_gps_on_label);
mWifiRunningLabel = getContext().getString(R.string.battery_stats_wifi_running_label); mWifiRunningLabel = getContext().getString(R.string.battery_stats_wifi_running_label);
mWakeLockLabel = getContext().getString(R.string.battery_stats_wake_lock_label); mCpuRunningLabel = getContext().getString(R.string.battery_stats_wake_lock_label);
mPhoneSignalLabel = getContext().getString(R.string.battery_stats_phone_signal_label); mPhoneSignalLabel = getContext().getString(R.string.battery_stats_phone_signal_label);
int pos = 0; int pos = 0;
@@ -396,7 +396,7 @@ public class BatteryHistoryChart extends View {
void finishPaths(int w, int h, int levelh, int startX, int y, Path curLevelPath, void finishPaths(int w, int h, int levelh, int startX, int y, Path curLevelPath,
int lastX, boolean lastCharging, boolean lastScreenOn, boolean lastGpsOn, int lastX, boolean lastCharging, boolean lastScreenOn, boolean lastGpsOn,
boolean lastWifiRunning, boolean lastWakeLock, Path lastPath) { boolean lastWifiRunning, boolean lastCpuRunning, Path lastPath) {
if (curLevelPath != null) { if (curLevelPath != null) {
if (lastX >= 0 && lastX < w) { if (lastX >= 0 && lastX < w) {
if (lastPath != null) { if (lastPath != null) {
@@ -421,8 +421,8 @@ public class BatteryHistoryChart extends View {
if (lastWifiRunning) { if (lastWifiRunning) {
mWifiRunningPath.lineTo(w, h-mWifiRunningOffset); mWifiRunningPath.lineTo(w, h-mWifiRunningOffset);
} }
if (lastWakeLock) { if (lastCpuRunning) {
mWakeLockPath.lineTo(w, h-mWakeLockOffset); mCpuRunningPath.lineTo(w, h - mCpuRunningOffset);
} }
if (mHavePhoneSignal) { if (mHavePhoneSignal) {
mPhoneSignalChart.finish(w); mPhoneSignalChart.finish(w);
@@ -449,7 +449,7 @@ public class BatteryHistoryChart extends View {
mScreenOnPaint.setARGB(255, 32, 64, 255); mScreenOnPaint.setARGB(255, 32, 64, 255);
mGpsOnPaint.setARGB(255, 32, 64, 255); mGpsOnPaint.setARGB(255, 32, 64, 255);
mWifiRunningPaint.setARGB(255, 32, 64, 255); mWifiRunningPaint.setARGB(255, 32, 64, 255);
mWakeLockPaint.setARGB(255, 32, 64, 255); mCpuRunningPaint.setARGB(255, 32, 64, 255);
} else { } else {
mLargeMode = false; mLargeMode = false;
mLineWidth = mThinLineWidth; mLineWidth = mThinLineWidth;
@@ -457,7 +457,7 @@ public class BatteryHistoryChart extends View {
mScreenOnPaint.setARGB(255, 0, 0, 255); mScreenOnPaint.setARGB(255, 0, 0, 255);
mGpsOnPaint.setARGB(255, 0, 0, 255); mGpsOnPaint.setARGB(255, 0, 0, 255);
mWifiRunningPaint.setARGB(255, 0, 0, 255); mWifiRunningPaint.setARGB(255, 0, 0, 255);
mWakeLockPaint.setARGB(255, 0, 0, 255); mCpuRunningPaint.setARGB(255, 0, 0, 255);
} }
if (mLineWidth <= 0) mLineWidth = 1; if (mLineWidth <= 0) mLineWidth = 1;
mTextPaint.setStrokeWidth(mThinLineWidth); mTextPaint.setStrokeWidth(mThinLineWidth);
@@ -468,14 +468,14 @@ public class BatteryHistoryChart extends View {
mScreenOnPaint.setStrokeWidth(mLineWidth); mScreenOnPaint.setStrokeWidth(mLineWidth);
mGpsOnPaint.setStrokeWidth(mLineWidth); mGpsOnPaint.setStrokeWidth(mLineWidth);
mWifiRunningPaint.setStrokeWidth(mLineWidth); mWifiRunningPaint.setStrokeWidth(mLineWidth);
mWakeLockPaint.setStrokeWidth(mLineWidth); mCpuRunningPaint.setStrokeWidth(mLineWidth);
if (mLargeMode) { if (mLargeMode) {
int barOffset = textHeight + mLineWidth; int barOffset = textHeight + mLineWidth;
mChargingOffset = mLineWidth; mChargingOffset = mLineWidth;
mScreenOnOffset = mChargingOffset + barOffset; mScreenOnOffset = mChargingOffset + barOffset;
mWakeLockOffset = mScreenOnOffset + barOffset; mCpuRunningOffset = mScreenOnOffset + barOffset;
mWifiRunningOffset = mWakeLockOffset + barOffset; mWifiRunningOffset = mCpuRunningOffset + barOffset;
mGpsOnOffset = mWifiRunningOffset + (mHaveWifi ? barOffset : 0); mGpsOnOffset = mWifiRunningOffset + (mHaveWifi ? barOffset : 0);
mPhoneSignalOffset = mGpsOnOffset + (mHaveGps ? barOffset : 0); mPhoneSignalOffset = mGpsOnOffset + (mHaveGps ? barOffset : 0);
mLevelOffset = mPhoneSignalOffset + (mHavePhoneSignal ? barOffset : 0) mLevelOffset = mPhoneSignalOffset + (mHavePhoneSignal ? barOffset : 0)
@@ -485,7 +485,7 @@ public class BatteryHistoryChart extends View {
} }
} else { } else {
mScreenOnOffset = mGpsOnOffset = mWifiRunningOffset mScreenOnOffset = mGpsOnOffset = mWifiRunningOffset
= mWakeLockOffset = mLineWidth; = mCpuRunningOffset = mLineWidth;
mChargingOffset = mLineWidth*2; mChargingOffset = mLineWidth*2;
mPhoneSignalOffset = 0; mPhoneSignalOffset = 0;
mLevelOffset = mLineWidth*3; mLevelOffset = mLineWidth*3;
@@ -501,7 +501,7 @@ public class BatteryHistoryChart extends View {
mScreenOnPath.reset(); mScreenOnPath.reset();
mGpsOnPath.reset(); mGpsOnPath.reset();
mWifiRunningPath.reset(); mWifiRunningPath.reset();
mWakeLockPath.reset(); mCpuRunningPath.reset();
mChargingPath.reset(); mChargingPath.reset();
final long timeStart = mHistStart; final long timeStart = mHistStart;
@@ -518,7 +518,7 @@ public class BatteryHistoryChart extends View {
Path curLevelPath = null; Path curLevelPath = null;
Path lastLinePath = null; Path lastLinePath = null;
boolean lastCharging = false, lastScreenOn = false, lastGpsOn = false; boolean lastCharging = false, lastScreenOn = false, lastGpsOn = false;
boolean lastWifiRunning = false, lastWakeLock = false; boolean lastWifiRunning = false, lastCpuRunning = false;
final int N = mNumHist; final int N = mNumHist;
if (mStats.startIteratingHistoryLocked()) { if (mStats.startIteratingHistoryLocked()) {
final HistoryItem rec = new HistoryItem(); final HistoryItem rec = new HistoryItem();
@@ -603,15 +603,15 @@ public class BatteryHistoryChart extends View {
lastWifiRunning = wifiRunning; lastWifiRunning = wifiRunning;
} }
final boolean wakeLock = final boolean cpuRunning =
(rec.states&HistoryItem.STATE_WAKE_LOCK_FLAG) != 0; (rec.states&HistoryItem.STATE_CPU_RUNNING_FLAG) != 0;
if (wakeLock != lastWakeLock) { if (cpuRunning != lastCpuRunning) {
if (wakeLock) { if (cpuRunning) {
mWakeLockPath.moveTo(x, h-mWakeLockOffset); mCpuRunningPath.moveTo(x, h - mCpuRunningOffset);
} else { } else {
mWakeLockPath.lineTo(x, h-mWakeLockOffset); mCpuRunningPath.lineTo(x, h - mCpuRunningOffset);
} }
lastWakeLock = wakeLock; lastCpuRunning = cpuRunning;
} }
if (mLargeMode && mHavePhoneSignal) { if (mLargeMode && mHavePhoneSignal) {
@@ -634,11 +634,11 @@ public class BatteryHistoryChart extends View {
if (curLevelPath != null) { if (curLevelPath != null) {
finishPaths(x+1, h, levelh, startX, lastY, curLevelPath, lastX, finishPaths(x+1, h, levelh, startX, lastY, curLevelPath, lastX,
lastCharging, lastScreenOn, lastGpsOn, lastWifiRunning, lastCharging, lastScreenOn, lastGpsOn, lastWifiRunning,
lastWakeLock, lastLinePath); lastCpuRunning, lastLinePath);
lastX = lastY = -1; lastX = lastY = -1;
curLevelPath = null; curLevelPath = null;
lastLinePath = null; lastLinePath = null;
lastCharging = lastScreenOn = lastGpsOn = lastWakeLock = false; lastCharging = lastScreenOn = lastGpsOn = lastCpuRunning = false;
} }
} }
@@ -648,7 +648,7 @@ public class BatteryHistoryChart extends View {
finishPaths(w, h, levelh, startX, lastY, curLevelPath, lastX, finishPaths(w, h, levelh, startX, lastY, curLevelPath, lastX,
lastCharging, lastScreenOn, lastGpsOn, lastWifiRunning, lastCharging, lastScreenOn, lastGpsOn, lastWifiRunning,
lastWakeLock, lastLinePath); lastCpuRunning, lastLinePath);
} }
@Override @Override
@@ -704,8 +704,8 @@ public class BatteryHistoryChart extends View {
canvas.drawPath(mWifiRunningPath, mWifiRunningPaint); canvas.drawPath(mWifiRunningPath, mWifiRunningPaint);
} }
} }
if (!mWakeLockPath.isEmpty()) { if (!mCpuRunningPath.isEmpty()) {
canvas.drawPath(mWakeLockPath, mWakeLockPaint); canvas.drawPath(mCpuRunningPath, mCpuRunningPaint);
} }
if (mLargeMode) { if (mLargeMode) {
@@ -721,8 +721,8 @@ public class BatteryHistoryChart extends View {
canvas.drawText(mWifiRunningLabel, textStartX, canvas.drawText(mWifiRunningLabel, textStartX,
height - mWifiRunningOffset - mTextDescent, mTextPaint); height - mWifiRunningOffset - mTextDescent, mTextPaint);
} }
canvas.drawText(mWakeLockLabel, textStartX, canvas.drawText(mCpuRunningLabel, textStartX,
height - mWakeLockOffset - mTextDescent, mTextPaint); height - mCpuRunningOffset - mTextDescent, mTextPaint);
canvas.drawText(mChargingLabel, textStartX, canvas.drawText(mChargingLabel, textStartX,
height - mChargingOffset - mTextDescent, mTextPaint); height - mChargingOffset - mTextDescent, mTextPaint);
canvas.drawText(mScreenOnLabel, textStartX, canvas.drawText(mScreenOnLabel, textStartX,