X-Git-Url: http://git.ieval.ro/?p=unical.git;a=blobdiff_plain;f=src%2Fro%2Fieval%2Funical%2FDisplayEventActivity.java;h=0bff03217f7a9a15003b59b921548608e960063c;hp=967a556b5cf03c69303f343466f660086c5f5f83;hb=539deec9aa94ea7b7736b7597d9470a18204d7f8;hpb=82d6ca0169344ba4d1e6995ac26f059fc9e05a01 diff --git a/src/ro/ieval/unical/DisplayEventActivity.java b/src/ro/ieval/unical/DisplayEventActivity.java index 967a556..0bff032 100644 --- a/src/ro/ieval/unical/DisplayEventActivity.java +++ b/src/ro/ieval/unical/DisplayEventActivity.java @@ -8,26 +8,62 @@ 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(); - 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(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 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); @@ -35,23 +71,24 @@ public class DisplayEventActivity extends Activity { 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 TextView description= (TextView) findViewById(R.id.event_view_description);; - 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 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)!=dateFormat.format(end)) { + 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(e.description); + description.setText(event.description); + setAdapter(); } @Override @@ -65,20 +102,27 @@ public class DisplayEventActivity extends Activity { 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; } } }