X-Git-Url: http://git.ieval.ro/?p=unical.git;a=blobdiff_plain;f=src%2Fro%2Fieval%2Funical%2FDisplayEventActivity.java;h=0bff03217f7a9a15003b59b921548608e960063c;hp=8055ec131fa3040bc9cc76c31888c9f2eee68607;hb=539deec9aa94ea7b7736b7597d9470a18204d7f8;hpb=99658f577dd666fd3b558d5346a5aadb0d9d3a06 diff --git a/src/ro/ieval/unical/DisplayEventActivity.java b/src/ro/ieval/unical/DisplayEventActivity.java index 8055ec1..0bff032 100644 --- a/src/ro/ieval/unical/DisplayEventActivity.java +++ b/src/ro/ieval/unical/DisplayEventActivity.java @@ -2,82 +2,127 @@ package ro.ieval.unical; import java.text.SimpleDateFormat; import java.util.Date; -import java.util.GregorianCalendar; +import java.util.Locale; import android.app.Activity; 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(); + + private void setAdapter(){ + final ListView alarms = (ListView) findViewById(R.id.alarm_list); + alarms.setAdapter(new ArrayAdapter(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(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.UK).format(getItem(position))); + + return rowView; + } + }); + } - public static void displayEvent(final Context context, final Event event){ + 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); - - 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); - - GregorianCalendar cstart = new GregorianCalendar(); - cstart.setTime(new Date(e.dtstart)); - GregorianCalendar cend = new GregorianCalendar(); - cend.setTime(new Date(e.dtend)); - SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy"); - SimpleDateFormat stf = new SimpleDateFormat("kk:mm:ss"); - - startday.setText(CalendarUtils.DayToString(this,cstart)); - if(CalendarUtils.DayToString(this,cstart)!=CalendarUtils.DayToString(this, cend)) - endday.setText(CalendarUtils.DayToString(this, cend)); - startdate.setText(sdf.format(cstart.getTime())); - if(sdf.format(cstart.getTime())!=sdf.format(cend.getTime())) - enddate.setText(sdf.format(cend.getTime())); - starttime.setText(stf.format(cstart.getTime())); - endtime.setText(stf.format(cend.getTime())); + 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 TextView description= (TextView) findViewById(R.id.event_view_description);; + + final Date start=new Date(event.dtstart); + final Date end=new Date(event.dtend); + final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.UK); + final SimpleDateFormat timeFormat = new SimpleDateFormat("HH:mm:ss", Locale.UK); + final SimpleDateFormat dayOfWeekFormat = new SimpleDateFormat("EEEEEEE", Locale.UK); + + startDay.setText(dayOfWeekFormat.format(start)); + if(!dateFormat.format(start).equals(dateFormat.format(end))) { + endDay.setText(dayOfWeekFormat.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); + 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; - } + // Handle item selection + switch (item. getItemId()) { + 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; + } } }