package ro.ieval.unical;
+import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
+import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ArrayAdapter;
+import android.widget.Button;
+import android.widget.ListView;
import android.widget.TextView;
public class DisplayEventActivity extends Activity {
+ private final class DeleteListener implements View.OnClickListener {
+ private final long time;
+ DeleteListener(final long time){
+ this.time=time;
+ }
+
+ @Override public void onClick(final View v){
+ Utils.deleteAlarm((Application) getApplication(), time);
+ setAdapter();
+ }
+ }
+
public static final String EXTRA_EVENT = "event";
+ private Event event;
+ private final DeleteEventDialog d=new DeleteEventDialog();
- public static void displayEvent(final Context context, final Event event){
+ private void setAdapter(){
+ final ListView alarms = (ListView) findViewById(R.id.alarm_list);
+ alarms.setAdapter(new ArrayAdapter<Long>(this, R.layout.alarm_row_layout, Utils.getAlarmsByEvent((Application) getApplication(), event._id)){
+ @Override public View getView(final int position, final View convertView, final ViewGroup parent) {
+ final LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
+ final View rowView = inflater.inflate(R.layout.alarm_row_layout, parent, false);
+ final TextView date = (TextView) rowView.findViewById(R.id.alarm_datetime);
+ final Button delete = (Button) rowView.findViewById(R.id.alarm_delete);
+ delete.setOnClickListener(new DeleteListener(getItem(position)));
+ date.setText(DateFormat.getDateTimeInstance().format(getItem(position)));
+
+ return rowView;
+ }
+ });
+ }
+
+ public static void displayEvent(final Context context, final long id){
final Intent i=new Intent(context,DisplayEventActivity.class);
- i.putExtra(DisplayEventActivity.EXTRA_EVENT, event);
+ i.putExtra(DisplayEventActivity.EXTRA_EVENT, id);
context.startActivity(i);
}
@Override
- protected void onCreate(final Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- final Event e=getIntent().getParcelableExtra(EXTRA_EVENT);
+ protected void onStart() {
+ super.onStart();
+ event=getIntent().hasExtra(EXTRA_EVENT) ? Event.getEventById(this, getIntent().getLongExtra(EXTRA_EVENT, 0)) : new Event();
setContentView(R.layout.event_view);
- setTitle(e.title);
-
+ setTitle(event.title);
+
final TextView startDay= (TextView) findViewById(R.id.startday);
final TextView endDay= (TextView) findViewById(R.id.endday);
final TextView startDate= (TextView) findViewById(R.id.startdate);
final TextView endDate= (TextView) findViewById(R.id.enddate);
final TextView startTime= (TextView) findViewById(R.id.starttime);
final TextView endTime= (TextView) findViewById(R.id.endtime);
-
- final Date start=new Date(e.dtstart);
- final Date end=new Date(e.dtend);
- final SimpleDateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy", Locale.UK);
- final SimpleDateFormat timeFormat = new SimpleDateFormat("HH:mm:ss", Locale.UK);
- final SimpleDateFormat dayOfWeekFormat = new SimpleDateFormat("E", Locale.UK);
-
+ final TextView description= (TextView) findViewById(R.id.event_view_description);;
+
+ final Date start=new Date(event.dtstart);
+ final Date end=new Date(event.dtend);
+ final DateFormat dateFormat = DateFormat.getDateInstance();
+ final DateFormat timeFormat = DateFormat.getTimeInstance();
+ final DateFormat dayOfWeekFormat = new SimpleDateFormat("EEEEEEE", Locale.UK);
+
startDay.setText(dayOfWeekFormat.format(start));
- if(dayOfWeekFormat.format(start)!=dayOfWeekFormat.format(end))
+ if(!dateFormat.format(start).equals(dateFormat.format(end))) {
endDay.setText(dayOfWeekFormat.format(end));
- startDate.setText(dateFormat.format(start));
- if(dateFormat.format(start)!=dateFormat.format(end))
endDate.setText(dateFormat.format(end));
+ }
+ startDate.setText(dateFormat.format(start));
startTime.setText(timeFormat.format(start));
endTime.setText(timeFormat.format(end));
+ description.setText(event.description);
+ setAdapter();
}
-
+
@Override
public boolean onCreateOptionsMenu(final Menu menu) {
final MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.event, menu);
return true;
}
-
+
@Override
public boolean onOptionsItemSelected(final MenuItem item) {
// Handle item selection
switch (item. getItemId()) {
- case R.id.NewEvent:
- final Intent i=new Intent(this,AddEventActivity.class);
- startActivity(i);
- return true;
- case R.id.deleteevent:
- final DeleteEventDialog d=new DeleteEventDialog();
- d.show(getFragmentManager(), "Delete");
- return true;
- case R.id.eventlist:
- final Intent it=new Intent(this,EventListActivity.class);
- startActivity(it);
- return true;
- default:
- return true;
+ case R.id.deleteevent:
+ final Bundle b=new Bundle();
+ b.putParcelable("Event",event);
+ d.setArguments(b);
+ d.show(getFragmentManager(), "Delete");
+
+ return true;
+ case R.id.eventlist:
+ final Intent it=new Intent(this, EventListActivity.class);
+ startActivity(it);
+ return true;
+ case R.id.edit_event:
+ AddEventActivity.editEvent(this, event);
+ return true;
+ case R.id.add_alarm:
+ final Intent intent = new Intent(this, AddAlarmActivity.class);
+ intent.putExtra(AddAlarmActivity.EXTRA_EVENT, event._id);
+ startActivity(intent);
+ return true;
+ default:
+ return false;
}
}
}