Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5ce4345d authored by Jason Monk's avatar Jason Monk
Browse files

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
parent 68d1ca6d
Loading
Loading
Loading
Loading
+8 −13
Original line number Diff line number Diff line
@@ -66,7 +66,7 @@ public class ChartDataUsagePreference extends Preference {

        int top = getTop();
        chart.clearPaths();
        chart.configureGraph((int) (mEnd - mStart), top, false, false);
        chart.configureGraph(toInt(mEnd - mStart), top, false, false);
        calcPoints(chart);
        chart.setBottomLabels(new CharSequence[] {
                Utils.formatDateRange(getContext(), mStart, mStart),
@@ -96,7 +96,6 @@ public class ChartDataUsagePreference extends Preference {
        SparseIntArray points = new SparseIntArray();
        NetworkStatsHistory.Entry entry = null;

        long lastTime = -1;
        long totalData = 0;

        final int start = mNetwork.getIndexAfter(mStart);
@@ -113,21 +112,17 @@ public class ChartDataUsagePreference extends Preference {
            // increment by current bucket total
            totalData += entry.rxBytes + entry.txBytes;

            if (lastTime != startTime) {
            points.put(toInt(startTime - mStart + 1), (int) (totalData / RESOLUTION));
            points.put(toInt(endTime - mStart), (int) (totalData / RESOLUTION));
        }
        if (points.size() > 1) {
            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) {
            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) {