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

Commit f5091acc authored by Jeff Sharkey's avatar Jeff Sharkey Committed by Android (Google) Code Review
Browse files

Merge "Auto grid lines, lower minimum, disable estimates."

parents 4d28820b a8106f24
Loading
Loading
Loading
Loading
+20 −9
Original line number Diff line number Diff line
@@ -237,7 +237,7 @@ public class ChartDataUsageView extends ChartView {
        final long maxSweep = Math.max(mSweepWarning.getValue(), mSweepLimit.getValue());
        final long maxSeries = Math.max(mSeries.getMaxVisible(), mDetailSeries.getMaxVisible());
        final long maxVisible = Math.max(maxSeries, maxSweep) * 12 / 10;
        final long maxDefault = Math.max(maxVisible, 2 * GB_IN_BYTES);
        final long maxDefault = Math.max(maxVisible, 50 * MB_IN_BYTES);
        newMax = Math.max(maxDefault, newMax);

        // only invalidate when vertMax actually changed
@@ -636,15 +636,9 @@ public class ChartDataUsageView extends ChartView {
        /** {@inheritDoc} */
        public float[] getTickPoints() {
            final long range = mMax - mMin;
            final long tickJump;
            if (range < 6 * GB_IN_BYTES) {
                tickJump = 256 * MB_IN_BYTES;
            } else if (range < 12 * GB_IN_BYTES) {
                tickJump = 512 * MB_IN_BYTES;
            } else {
                tickJump = 1 * GB_IN_BYTES;
            }

            // target about 16 ticks on screen, rounded to nearest power of 2
            final long tickJump = roundUpToPowerOfTwo(range / 16);
            final int tickCount = (int) (range / tickJump);
            final float[] tickPoints = new float[tickCount];
            long value = mMin;
@@ -681,4 +675,21 @@ public class ChartDataUsageView extends ChartView {
        return new int[] { start, end };
    }

    private static long roundUpToPowerOfTwo(long i) {
        // NOTE: borrowed from Hashtable.roundUpToPowerOfTwo()

        i--; // If input is a power of two, shift its high-order bit right

        // "Smear" the high-order bit all the way to the right
        i |= i >>>  1;
        i |= i >>>  2;
        i |= i >>>  4;
        i |= i >>>  8;
        i |= i >>> 16;
        i |= i >>> 32;

        i++;

        return i > 0 ? i : Long.MAX_VALUE;
    }
}
+27 −23
Original line number Diff line number Diff line
@@ -44,6 +44,8 @@ public class ChartNetworkSeriesView extends View {
    private static final String TAG = "ChartNetworkSeriesView";
    private static final boolean LOGD = false;

    private static final boolean ESTIMATE_ENABLED = false;

    private ChartAxis mHoriz;
    private ChartAxis mVert;

@@ -252,6 +254,7 @@ public class ChartNetworkSeriesView extends View {

        mMax = totalData;

        if (ESTIMATE_ENABLED) {
            // build estimated data
            mPathEstimate.moveTo(lastX, lastY);

@@ -282,6 +285,7 @@ public class ChartNetworkSeriesView extends View {
            }

            mMaxEstimate = totalData;
        }

        invalidate();
    }
@@ -291,7 +295,7 @@ public class ChartNetworkSeriesView extends View {
    }

    public void setEstimateVisible(boolean estimateVisible) {
        mEstimateVisible = estimateVisible;
        mEstimateVisible = ESTIMATE_ENABLED ? estimateVisible : false;
        invalidate();
    }