package nerdydog.domoHomeProd;
import java.net.URL;
import java.util.ArrayList;
import nerdydog.domoHomeProd.db.ConfDatabase;
import nerdydog.domoHomeProd.db.ToDoDBAdapter;
import nerdydog.domoHomeProd.object.Actuator;
import nerdydog.domoHomeProd.object.Counter;
import android.app.ProgressDialog;
import android.content.Context;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;
public class MeterAdapter extends ArrayAdapter<Actuator> {
private ArrayList<Actuator> items;
String TAG = "ActuatorAdapter";
String actuatorName = "";
ProgressDialog dialogLoading;
Context c;
boolean goon = true;
public MeterAdapter(Context context, int textViewResourceId, ArrayList<Actuator> items) {
super(context, textViewResourceId, items);
c = context;
this.items = items;
}
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
LayoutInflater vi = (LayoutInflater)c.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.rowmeter, null);
}
final Actuator a = items.get(position);
if (a != null) {
ToDoDBAdapter toDoDBAdapter = new ToDoDBAdapter(c);
toDoDBAdapter.open();
Counter counter = toDoDBAdapter.getLast(a.getId());
TextView tinfo1 = (TextView) v.findViewById(R.id.meterinfo1);
TextView tmeter = (TextView) v.findViewById(R.id.meter);
ImageView icon = (ImageView)v.findViewById(R.id.icon);
if (tinfo1 != null) {
tinfo1.setText(a.getName());
}
if(a.getType().equals(new String(ConfDatabase.TYPE_TEMPERATURE)))
tmeter.setText(counter.getValue() + "�C");
else if(a.getType().equals(new String(ConfDatabase.TYPE_WATTMETER))){
Log.i(TAG, "counter.getValue() " + counter.getValue());
Log.i(TAG, "ConfDatabase.CURRENT_POWER_ADJ_KEY " + ConfDatabase.CURRENT_POWER_ADJ_KEY);
float v_w = 0;
if(ConfDatabase.CURRENT_POWER_ADJ_KEY!=null && ConfDatabase.CURRENT_POWER_ADJ_KEY!="0"){
v_w = Float.parseFloat(counter.getValue())/Float.parseFloat(ConfDatabase.CURRENT_POWER_ADJ_KEY);
}
tmeter.setText(String.valueOf(v_w) + " W");
}else
tmeter.setText(counter.getValue());
toDoDBAdapter.close();
// TODO other meter...
if(a.getType().equals(new String(ConfDatabase.TYPE_TEMPERATURE)))
icon.setImageResource(R.drawable.temperature);
else if(a.getType().equals(new String(ConfDatabase.TYPE_WATTMETER)))
icon.setImageResource(R.drawable.lightning);
// hide close button for the actuator that does not support this functions
Log.i(TAG, "bool "+a.isSingleButton() + " " + a.getType());
}
return v;
}
}