in metrics/src/main/java/com/facebook/battery/metrics/core/ProcFileReader.java [177:205]
public long readNumber() {
long sign = 1;
long result = 0;
boolean isFirstRun = true;
while (hasNext()) {
next();
if (Character.isDigit(mChar)) {
result = result * 10 + (mChar - '0');
} else if (isFirstRun) {
if (mChar == '-') {
sign = -1;
} else {
throw new ParseException("Couldn't read number!");
}
} else {
rewind();
break;
}
isFirstRun = false;
}
if (isFirstRun) {
throw new ParseException("Couldn't read number because the file ended!");
}
return sign * result;
}