Checkpoint of data usage UI, graphs and lists.
Chart of network usage over time, with draggable "sweep" bars for inspection region and warning/limits. Talks with NetworkStatsService for live data, and updates list of application usage as inspection region changes. Change-Id: I2a406e6776daf7d74143c07ec683c10fe711c277
This commit is contained in:
79
src/com/android/settings/widget/ChartGridView.java
Normal file
79
src/com/android/settings/widget/ChartGridView.java
Normal file
@@ -0,0 +1,79 @@
|
||||
/*
|
||||
* Copyright (C) 2011 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.settings.widget;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Canvas;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.Paint;
|
||||
import android.graphics.Paint.Style;
|
||||
import android.view.View;
|
||||
|
||||
import com.google.common.base.Preconditions;
|
||||
|
||||
/**
|
||||
* Background of {@link ChartView} that renders grid lines as requested by
|
||||
* {@link ChartAxis#getTickPoints()}.
|
||||
*/
|
||||
public class ChartGridView extends View {
|
||||
|
||||
private final ChartAxis mHoriz;
|
||||
private final ChartAxis mVert;
|
||||
|
||||
private final Paint mPaintHoriz;
|
||||
private final Paint mPaintVert;
|
||||
|
||||
public ChartGridView(Context context, ChartAxis horiz, ChartAxis vert) {
|
||||
super(context);
|
||||
|
||||
mHoriz = Preconditions.checkNotNull(horiz, "missing horiz");
|
||||
mVert = Preconditions.checkNotNull(vert, "missing vert");
|
||||
|
||||
setWillNotDraw(false);
|
||||
|
||||
// TODO: convert these colors to resources
|
||||
mPaintHoriz = new Paint();
|
||||
mPaintHoriz.setColor(Color.parseColor("#667bb5"));
|
||||
mPaintHoriz.setStrokeWidth(2.0f);
|
||||
mPaintHoriz.setStyle(Style.STROKE);
|
||||
mPaintHoriz.setAntiAlias(true);
|
||||
|
||||
mPaintVert = new Paint();
|
||||
mPaintVert.setColor(Color.parseColor("#28262c"));
|
||||
mPaintVert.setStrokeWidth(1.0f);
|
||||
mPaintVert.setStyle(Style.STROKE);
|
||||
mPaintVert.setAntiAlias(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDraw(Canvas canvas) {
|
||||
final int width = getWidth();
|
||||
final int height = getHeight();
|
||||
|
||||
final float[] vertTicks = mVert.getTickPoints();
|
||||
for (float y : vertTicks) {
|
||||
canvas.drawLine(0, y, width, y, mPaintVert);
|
||||
}
|
||||
|
||||
final float[] horizTicks = mHoriz.getTickPoints();
|
||||
for (float x : horizTicks) {
|
||||
canvas.drawLine(x, 0, x, height, mPaintHoriz);
|
||||
}
|
||||
|
||||
canvas.drawRect(0, 0, width, height, mPaintHoriz);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user