package julianwi.javainstaller;
import android.content.Context;
import android.text.Html;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.TextView;
public class ChecklistAdapter extends BaseAdapter implements OnItemClickListener {
public CheckPoint[] List;
public Context mcontext;
public MainActivity ma;
private int id;
public ChecklistAdapter(MainActivity ma, CheckPoint[] items) {
mcontext = ma;
this.ma = ma;
List = items;
}
@Override
public int getCount() {
return List.length;
}
@Override
public Object getItem(int position) {
if(position<List.length){
return List[position];
}
return "button";
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
TextView tv = (TextView) convertView;
if(tv == null){
tv = new TextView(mcontext);
}
if(List[position].installed){
tv.setText(Html.fromHtml("<h2>"+((Update.update[position])?"(updateable) ":"(installed) ")+List[position].text+"</h2>"+List[position].source));
}
else{
tv.setText(Html.fromHtml("<h2>"+List[position].text+"</h2>"+List[position].source));
}
return tv;
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
this.id = position;
LinearLayout ll = new LinearLayout(mcontext);
ll.setOrientation(LinearLayout.VERTICAL);
TextView tv = new TextView(mcontext);
tv.setText(Html.fromHtml("<h2>"+List[position].text+"</h2>"+List[position].source+"<br>"+"path:"+List[position].getPath()+"<br>"+"source:"+List[position].getSource()));
LinearLayout ll2 = new LinearLayout(mcontext);
Button b = new Button(mcontext);
b.setText("change path");
b.setId(1);
b.setOnClickListener(List[position]);
if(position==0)b.setEnabled(false);
Button b2 = new Button(mcontext);
b2.setText("change source");
b2.setId(2);
b2.setOnClickListener(List[position]);
ll2.addView(b);
ll2.addView(b2);
ll.addView(tv);
ll.addView(ll2);
Button b1 = new Button(mcontext);
b1.setText((List[position].installed)?"uninstall":"install");
b1.setId(0);
b1.setOnClickListener(List[position]);
if(Update.update[position]&&List[position].installed){
TextView tv2 = new TextView(mcontext);
tv2.setText(Update.updatetext[position]);
LinearLayout ll3 = new LinearLayout(mcontext);
Button b3 = new Button(mcontext);
b3.setText("update");
b3.setId(3);
b3.setOnClickListener(List[position]);
ll3.addView(b1);
ll3.addView(b3);
ll.addView(tv2);
ll.addView(ll3);
}
else{
ll.addView(b1);
}
ma.setContentView(ll);
ma.state = 2;
}
public void update(){
onItemClick(null, null, id, 0);
}
}