Fix data usage
- Fix int conversion (evidently a month doesn't fit in an int - Remove gaps because they don't make sense for data usage Bug: 27632250 Change-Id: I87c2c05960b6ee489289e94eb12de9d52de1f3aa
This commit is contained in:
@@ -66,7 +66,7 @@ public class ChartDataUsagePreference extends Preference {
|
|||||||
|
|
||||||
int top = getTop();
|
int top = getTop();
|
||||||
chart.clearPaths();
|
chart.clearPaths();
|
||||||
chart.configureGraph((int) (mEnd - mStart), top, false, false);
|
chart.configureGraph(toInt(mEnd - mStart), top, false, false);
|
||||||
calcPoints(chart);
|
calcPoints(chart);
|
||||||
chart.setBottomLabels(new CharSequence[] {
|
chart.setBottomLabels(new CharSequence[] {
|
||||||
Utils.formatDateRange(getContext(), mStart, mStart),
|
Utils.formatDateRange(getContext(), mStart, mStart),
|
||||||
@@ -96,7 +96,6 @@ public class ChartDataUsagePreference extends Preference {
|
|||||||
SparseIntArray points = new SparseIntArray();
|
SparseIntArray points = new SparseIntArray();
|
||||||
NetworkStatsHistory.Entry entry = null;
|
NetworkStatsHistory.Entry entry = null;
|
||||||
|
|
||||||
long lastTime = -1;
|
|
||||||
long totalData = 0;
|
long totalData = 0;
|
||||||
|
|
||||||
final int start = mNetwork.getIndexAfter(mStart);
|
final int start = mNetwork.getIndexAfter(mStart);
|
||||||
@@ -113,23 +112,19 @@ public class ChartDataUsagePreference extends Preference {
|
|||||||
// increment by current bucket total
|
// increment by current bucket total
|
||||||
totalData += entry.rxBytes + entry.txBytes;
|
totalData += entry.rxBytes + entry.txBytes;
|
||||||
|
|
||||||
if (lastTime != startTime) {
|
points.put(toInt(startTime - mStart + 1), (int) (totalData / RESOLUTION));
|
||||||
if (points.size() > 1) {
|
points.put(toInt(endTime - mStart), (int) (totalData / RESOLUTION));
|
||||||
chart.addPath(points);
|
|
||||||
}
|
|
||||||
points.clear();
|
|
||||||
}
|
|
||||||
|
|
||||||
points.put((int) (startTime - mStart + 1), (int) (totalData / RESOLUTION));
|
|
||||||
points.put((int) (endTime - mStart), (int) (totalData / RESOLUTION));
|
|
||||||
|
|
||||||
lastTime = endTime;
|
|
||||||
}
|
}
|
||||||
if (points.size() > 1) {
|
if (points.size() > 1) {
|
||||||
chart.addPath(points);
|
chart.addPath(points);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private int toInt(long l) {
|
||||||
|
// Don't need that much resolution on these times.
|
||||||
|
return (int) (l / (1000 * 60));
|
||||||
|
}
|
||||||
|
|
||||||
private void bindNetworkPolicy(UsageView chart, NetworkPolicy policy, int top) {
|
private void bindNetworkPolicy(UsageView chart, NetworkPolicy policy, int top) {
|
||||||
CharSequence[] labels = new CharSequence[3];
|
CharSequence[] labels = new CharSequence[3];
|
||||||
int middleVisibility = 0;
|
int middleVisibility = 0;
|
||||||
|
Reference in New Issue
Block a user