package edu.cc.oba;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Timer;
import java.util.TimerTask;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.ComponentName;
import android.content.DialogInterface;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;
public class createConnection extends Activity {
/** Called when the activity is first created. */
// public TestOBA oba;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.createconnection);
Intent this_intent = getIntent();
String username = this_intent.getStringExtra("username");
String password = this_intent.getStringExtra("password");
final TextView conn_status = (TextView) this
.findViewById(R.id.conn_status);
conn_status.setText("Current Reservations");
Boolean flag = false;
doCheckUpdates();
// GET ALL REQUEST IDs:
ProgressDialog pd = new ProgressDialog(this);
this.pd = ProgressDialog.show(this, "Working..", "Downloading Data...",
true, false);
updateListView();
final ListView listView = (ListView) findViewById(R.id.tab3_listView);
listView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View v, int position,
long id) {
// Toast.makeText(getBaseContext(),
// ((TextView)v.findViewById(R.id.lngValue)).getText().toString(),4).show();
final int request_id = Integer.parseInt(((TextView) v
.findViewById(R.id.tab3_hidden_req)).getText()
.toString());
// Toast.makeText(getBaseContext(),
// arg0.findViewById(R.id.lngValue).getResources().toString(),4).show();
AlertDialog.Builder adb = new AlertDialog.Builder(
createConnection.this);
adb.setCancelable(true);
adb.setNeutralButton("Extend",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
// CODE TO EXTEND RESERVATION
}
});
adb.setMessage("Select an Option");
adb.setPositiveButton("Delete Reservation",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
// DELETE RESERVATION CODE
TestOBA.oba.cancelReservation(request_id);
updateListView();
}
});
adb.setNegativeButton("Cancel",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog,
int which) {
// TODO Auto-generated method stub
}
});
adb.show();
}
});
}
public void updateListView() {
String[] from = { "imagename", "status", "time", "requestid" };
int[] to = { R.id.tab3_imageName, R.id.tab3_status, R.id.tab3_time,
R.id.tab3_hidden_req };
ArrayList list = getUserRequests();
System.out.println(list.toString());
SimpleAdapter adapter = new SimpleAdapter(this, list,
R.layout.row_status, from, to);
final ListView listView = (ListView) findViewById(R.id.tab3_listView);
listView.setAdapter(adapter);
listView.setTextFilterEnabled(true);
}
private ArrayList getUserRequests() {
Object[] req_id = (Object[]) TestOBA.oba.getRequestIDs()
.get("requests");
ArrayList list = new ArrayList();
System.out.println("Started");
for (Object object : req_id) {
HashMap obaImagesHash = (HashMap) object;
System.out.println("Adding to array: "
+ obaImagesHash.get("requestid").toString());
System.out.println(obaImagesHash.get("imagename"));
HashMap req_status = TestOBA.oba.getRequestStatus(Integer
.parseInt((String) obaImagesHash.get("requestid")));
obaImagesHash.putAll(req_status);
System.out.println(req_status.get("status"));
list.add(obaImagesHash);
}
System.out.println(list.toString());
this.pd.dismiss();
return list;
}
private String[] conn_data_secure;
public void conn_cancel(View V) {
Toast.makeText(getBaseContext(), "Cancelling", Toast.LENGTH_LONG)
.show();
if (TestOBA.oba.cancelReservation()) {
finish();
}
}
private ProgressDialog pd = null;
public void refresh(View v) {
this.pd = ProgressDialog.show(this, "Working..", "Downloading Data...",
true, false);
updateListView();
}
public void conn_do(View v) {
Toast.makeText(getBaseContext(), "Connecting", Toast.LENGTH_LONG);
try {
String Conn_URI = "ssh://" + conn_data_secure[1] + "@"
+ conn_data_secure[0] + ":22/#adith";
Log.d("conn_string", Conn_URI);
Intent intent = new Intent("android.intent.action.VIEW",
Uri.parse(Conn_URI));
startActivity(intent);
ConnectWithPass.conn_do(conn_data_secure);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
TimerTask scanTask;
final Handler handler = new Handler();
Timer t = new Timer();
public void doCheckUpdates() {
scanTask = new TimerTask() {
public void run() {
handler.post(new Runnable() {
public void run() {
Toast.makeText(getBaseContext(), "List Updated", 4)
.show();
updateListView();
Log.d("TIMER", "Timer set off");
}
});
}
};
t.schedule(scanTask, 300, 20000);
}
}