package com.num.ui.viewgenerator;
import com.num.activities.GraphActivity;
import com.num.database.DatabasePicker;
import com.num.database.datasource.LatencyDataSource;
import com.num.database.datasource.ThroughputDataSource;
import com.num.database.mapping.LatencyMapping;
import com.num.database.mapping.ThroughputMapping;
import com.num.graph.LinkGraph;
import com.num.graph.PingGraph;
import com.num.models.Model;
import com.num.models.Ping;
import com.num.models.Row;
import com.num.models.Throughput;
import com.num.utils.DeviceUtil;
import com.num.R;
import com.num.Values;
import android.bluetooth.BluetoothClass.Device;
import android.content.Context;
import android.content.Intent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
import android.widget.TextView;
public class ThroughputViewGenerator extends ViewGenerator{
ViewHolder holder;
LinkGraph link;
public ThroughputViewGenerator(LinkGraph link) {
super(R.layout.cell_view_keyprogress);
this.link = link;
holder = new ViewHolder();
}
@Override
public ViewHolder fillViewHolder(View view, LayoutInflater inflater) {
holder.first = (TextView) view.findViewById(R.id.key);
holder.second = (TextView) view.findViewById(R.id.message);
holder.progress = (ProgressBar) view.findViewById(R.id.value);
holder.linear = (LinearLayout) view.findViewById(R.id.main);
return holder;
}
@Override
public void populateView(Row item,final Context context,View view) {
final Values values = (Values) context.getApplicationContext();
holder.first.setText(link.getName());
holder.progress.setProgress(link.getProgressValue());
holder.second.setText(link.getLink().showData());
holder.linear.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
DatabasePicker picker = values.createPicker(new ThroughputDataSource(context));
picker.setTitle("Throughput Graph");
picker.filterBy(ThroughputMapping.COLUMN_TYPE,link.getType(),"Type");
picker.filterBy(ThroughputMapping.COLUMN_CONNECTION,DeviceUtil.getNetworkInfo(context),"Connection");
Intent myIntent = new Intent(context, GraphActivity.class);
context.startActivity(myIntent);
}
});
}
}