Iterate on data usage chart UI.

Switched to inflating chart views from XML, using attributes for
configuration.  Start using drawable assets for chart components
instead of manually painting.  Include hand-cut assets, and animate
between states when touched to invoke.

Clamp sweeps to valid chart ranges and prepare for sweep labels.

Bug: 4768483, 4598460
Change-Id: Ic660c35bec826eb5e3f6a1dde3cc04d8c437ef2b
This commit is contained in:
Jeff Sharkey
2011-06-23 00:39:38 -07:00
parent aef3981e86
commit 52c3f4461b
27 changed files with 608 additions and 223 deletions

View File

@@ -27,7 +27,6 @@ import static android.net.NetworkTemplate.MATCH_MOBILE_3G_LOWER;
import static android.net.NetworkTemplate.MATCH_MOBILE_4G;
import static android.net.NetworkTemplate.MATCH_MOBILE_ALL;
import static android.net.NetworkTemplate.MATCH_WIFI;
import static android.view.ViewGroup.LayoutParams.MATCH_PARENT;
import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT;
import android.app.AlertDialog;
@@ -68,7 +67,6 @@ import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AbsListView;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.AdapterView.OnItemSelectedListener;
@@ -204,6 +202,7 @@ public class DataUsageSummary extends Fragment {
mDataEnabled.setOnCheckedChangeListener(mDataEnabledListener);
mDisableAtLimit = new CheckBox(inflater.getContext());
mDisableAtLimit.setClickable(false);
mDisableAtLimitView = inflatePreference(inflater, mSwitches, mDisableAtLimit);
mDisableAtLimitView.setOnClickListener(mDisableAtLimitListener);
@@ -216,11 +215,8 @@ public class DataUsageSummary extends Fragment {
mCycleSpinner.setAdapter(mCycleAdapter);
mCycleSpinner.setOnItemSelectedListener(mCycleListener);
final int chartHeight = getResources().getDimensionPixelSize(
R.dimen.data_usage_chart_height);
mChart = new DataUsageChartView(context);
mChart = (DataUsageChartView) inflater.inflate(R.layout.data_usage_chart, mListView, false);
mChart.setListener(mChartListener);
mChart.setLayoutParams(new AbsListView.LayoutParams(MATCH_PARENT, chartHeight));
mListView.addHeaderView(mChart, null, false);
mAdapter = new DataUsageAdapter();
@@ -791,7 +787,7 @@ public class DataUsageSummary extends Fragment {
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = LayoutInflater.from(parent.getContext()).inflate(
android.R.layout.simple_list_item_2, parent, false);
R.layout.data_usage_item, parent, false);
}
final Context context = parent.getContext();
@@ -1080,7 +1076,7 @@ public class DataUsageSummary extends Fragment {
/**
* Set {@link android.R.id#title} for a preference view inflated with
* {@link #inflatePreference(LayoutInflater, View, View)}.
* {@link #inflatePreference(LayoutInflater, ViewGroup, View)}.
*/
private static void setPreferenceTitle(View parent, int resId) {
final TextView title = (TextView) parent.findViewById(android.R.id.title);