package com.rak.letmeknow; import java.util.ArrayList; import org.json.JSONArray; import org.json.JSONObject; import com.rak.letmeknow.R; import android.app.AlertDialog; import android.app.ListActivity; import android.app.NotificationManager; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.os.Bundle; import android.view.KeyEvent; import android.view.LayoutInflater; import android.view.View; import android.widget.AdapterView; import android.widget.Toast; import android.widget.AdapterView.OnItemClickListener; import android.widget.ListView; public class MyEvents extends ListActivity implements ActivityInterface { private ArrayList<Event> eventList; private MyListAdapter listAdapter; @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); View viewToLoad = LayoutInflater.from(this.getParent()).inflate(R.layout.list_item, null); setContentView(viewToLoad); } @Override public void onResume(){ super.onResume(); try{ String ns = Context.NOTIFICATION_SERVICE; NotificationManager mNotificationManager = (NotificationManager) this.getSystemService(ns); mNotificationManager.cancelAll(); JSONObject jObj = new JSONObject(); jObj.put("email",this.getSharedPreferences("c2dmPref", Context.MODE_PRIVATE).getString("prefemail",null)); new MyHttpClient(this).execute(URLReader.getHost()+"FetchEvent",jObj.toString()); }catch(Exception e){ Toast.makeText(this,"Error Occurred", Toast.LENGTH_LONG).show(); e.printStackTrace(); } } public void onData(String data) { // TODO Auto-generated method stub try{ if(data.trim().equals("{}")) Toast.makeText(this,"No Events Found", Toast.LENGTH_LONG).show(); else{ JSONObject jObj = new JSONObject(data); eventList = new ArrayList<Event>(); JSONArray idArray = jObj.getJSONArray("id"); JSONArray eventDetailArray = jObj.getJSONArray("eventDetail"); JSONArray eventTimeArray = jObj.getJSONArray("time"); JSONArray eventDateArray = jObj.getJSONArray("date"); JSONArray sendEmailArray = jObj.getJSONArray("email"); JSONArray subjectArray = jObj.getJSONArray("subject"); JSONArray gpsLocArray = jObj.getJSONArray("gpsLoc"); for(int i = 0 ; i < idArray.length(); i++){ int id = idArray.getInt(i); String eventDetails = eventDetailArray.getString(i); String time = eventTimeArray.getString(i); String date = eventDateArray.getString(i); String senderEmail = sendEmailArray.getString(i); String subject = subjectArray.getString(i); String gpsLoc = gpsLocArray.getString(i); Event e = new Event(id, senderEmail, eventDetails, time, date, subject,gpsLoc); eventList.add(e); } listAdapter = new MyListAdapter(this, eventList); setListAdapter(listAdapter); ListView lv = getListView(); lv.setTextFilterEnabled(true); lv.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Event e = eventList.get(position); Intent previewMessage = new Intent(getParent(), DisplayActivity.class); previewMessage.putExtra("item",e); TabGroupActivity parentActivity = (TabGroupActivity)getParent(); parentActivity.startChildActivity("Display", previewMessage); } }); } } catch(Exception e){ Toast.makeText(this,"Server Error", Toast.LENGTH_LONG).show(); e.printStackTrace(); } } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { System.out.println("myevents bkey down"); if (keyCode == KeyEvent.KEYCODE_BACK) { return true; } return super.onKeyDown(keyCode, event); } /** * Overrides the default implementation for KeyEvent.KEYCODE_BACK * so that all systems call onBackPressed(). */ @Override public boolean onKeyUp(int keyCode, KeyEvent event) { System.out.println("my events key up"); if (keyCode == KeyEvent.KEYCODE_BACK) { TabGroupActivity parentActivity = (TabGroupActivity)getParent(); onBackPressed(parentActivity); return true; } return super.onKeyUp(keyCode, event); } // @Override public void onBackPressed(Context activity) { new AlertDialog.Builder(activity) .setIcon(R.drawable.icon) .setTitle("Quit") .setMessage("Are you sure you want to exit") .setPositiveButton("Yes", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { Intent i = new Intent(Intent.ACTION_MAIN); i.addCategory(Intent.CATEGORY_HOME); startActivity(i); } }) .setNegativeButton("No",new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { dialog.cancel(); } }) .show(); return ; } }