Merge "Potential fix for bug: 2564824 : Device runtime restart in BatteryService" into froyo
This commit is contained in:
committed by
Android (Google) Code Review
commit
0913ce95c2
@ -895,9 +895,15 @@ public final class BatteryStatsImpl extends BatteryStats {
|
|||||||
|
|
||||||
String[] nameStringArray = mProcWakelocksName;
|
String[] nameStringArray = mProcWakelocksName;
|
||||||
long[] wlData = mProcWakelocksData;
|
long[] wlData = mProcWakelocksData;
|
||||||
|
// Stomp out any bad characters since this is from a circular buffer
|
||||||
|
// A corruption is seen sometimes that results in the vm crashing
|
||||||
|
// This should prevent crashes and the line will probably fail to parse
|
||||||
|
for (int j = startIndex; j < endIndex; j++) {
|
||||||
|
if ((wlBuffer[j] & 0x80) != 0) wlBuffer[j] = (byte) '?';
|
||||||
|
}
|
||||||
boolean parsed = Process.parseProcLine(wlBuffer, startIndex, endIndex,
|
boolean parsed = Process.parseProcLine(wlBuffer, startIndex, endIndex,
|
||||||
PROC_WAKELOCKS_FORMAT, nameStringArray, wlData, null);
|
PROC_WAKELOCKS_FORMAT, nameStringArray, wlData, null);
|
||||||
|
|
||||||
name = nameStringArray[0];
|
name = nameStringArray[0];
|
||||||
count = (int) wlData[1];
|
count = (int) wlData[1];
|
||||||
// convert nanoseconds to microseconds with rounding.
|
// convert nanoseconds to microseconds with rounding.
|
||||||
|
Reference in New Issue
Block a user