X-Git-Url: http://git.ieval.ro/?p=unical.git;a=blobdiff_plain;f=src%2Fro%2Fieval%2Funical%2FDisplayEventActivity.java;h=0bff03217f7a9a15003b59b921548608e960063c;hp=6208d232378701a6f04227ee93f652449119a767;hb=539deec9aa94ea7b7736b7597d9470a18204d7f8;hpb=5cf4714f0675349ed599707e024cf0e70fe114b2 diff --git a/src/ro/ieval/unical/DisplayEventActivity.java b/src/ro/ieval/unical/DisplayEventActivity.java index 6208d23..0bff032 100644 --- a/src/ro/ieval/unical/DisplayEventActivity.java +++ b/src/ro/ieval/unical/DisplayEventActivity.java @@ -1,61 +1,128 @@ package ro.ieval.unical; +import java.text.SimpleDateFormat; import java.util.Date; +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); - final TextView eventTitle= (TextView) findViewById(R.id.eventTitle); - final TextView date=(TextView) findViewById(R.id.date); - final TextView description=(TextView) findViewById(R.id.description); - final TextView location= (TextView) findViewById(R.id.location); - eventTitle.setText(e.title); - date.setText(new Date(e.dtstart).toString()); - description.setText(e.description); - location.setText(e.eventLocation); + 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; - 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; + } } }