package com.num.ui.viewgenerator;
import java.util.ArrayList;
import com.num.activities.GraphActivity;
import com.num.database.DatabasePicker;
import com.num.database.datasource.LatencyDataSource;
import com.num.database.mapping.LatencyMapping;
import com.num.graph.PingGraph;
import com.num.models.Model;
import com.num.models.Ping;
import com.num.models.Row;
import com.num.R;
import com.num.Values;
import android.content.Context;
import android.content.Intent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
public class PickerOutlierViewGenerator extends ViewGenerator{
ViewHolder holder;
final DatabasePicker picker;
ArrayList<String> items;
ArrayList<String> displayitems;
public PickerOutlierViewGenerator(DatabasePicker picker) {
super(R.layout.cell_view_spinner);
this.picker = picker;
holder = new ViewHolder();
}
@Override
public ViewHolder fillViewHolder(View view, LayoutInflater inflater) {
holder.spinner = (Spinner) view.findViewById(R.id.choose);
holder.first = (TextView) view.findViewById(R.id.key);
holder.second = (TextView) view.findViewById(R.id.value);
holder.imageview = (ImageView) view.findViewById(R.id.edit);
return holder;
}
@Override
public void populateView(Row item,final Context context,View view) {
holder.first.setText("Outliers");
holder.second.setText((int)(picker.getOutlierFraction()*100)+"%");
displayitems = new ArrayList<String>();
int initialSelection = 0;
int count = 0;
for(float option : picker.getOutlierOptions()) {
if(option==picker.getOutlierFraction()) {
initialSelection = count;
}
displayitems.add((int)(option*100)+"%");
count++;
}
ArrayAdapter<String> adapter =
new ArrayAdapter<String> (context,
R.layout.spinner_text,displayitems);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
holder.spinner.setAdapter(adapter);
holder.spinner.setSelection(initialSelection);
holder.imageview.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
holder.spinner.performClick();
}
});
holder.spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
int pos = holder.spinner.getSelectedItemPosition();
picker.setOutlierFraction(picker.getOutlierOptions()[pos]);
holder.second.setText((int)(picker.getOutlierFraction()*100)+"%");
picker.updateGraph();
}
public void onNothingSelected(AdapterView<?> arg0) {
}
});
}
}