X-Git-Url: http://git.ieval.ro/?a=blobdiff_plain;f=src%2Fro%2Fieval%2Funical%2FDisplayEventActivity.java;h=31e0626f907b16ca709431ace770f82dca1bdc54;hb=5f71502fa3d0e4a942dbb776a697a5f84d1c72dc;hp=906ed5cddf77e7118f4f851469fefdbfdda71078;hpb=dc52b2617d80acc8b1c82a96f2fcb4fb8de7885c;p=unical.git diff --git a/src/ro/ieval/unical/DisplayEventActivity.java b/src/ro/ieval/unical/DisplayEventActivity.java index 906ed5c..31e0626 100644 --- a/src/ro/ieval/unical/DisplayEventActivity.java +++ b/src/ro/ieval/unical/DisplayEventActivity.java @@ -1,5 +1,6 @@ package ro.ieval.unical; +import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; @@ -8,26 +9,60 @@ 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(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); - event=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(event.title); @@ -37,32 +72,29 @@ 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(event.dtstart); final Date end=new Date(event.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("EEEEEEE", Locale.UK); + final DateFormat dateFormat = DateFormat.getDateInstance(); + final DateFormat timeFormat = DateFormat.getTimeInstance(); + final DateFormat dayOfWeekFormat = new SimpleDateFormat("EEEEEEE", Locale.UK); startDay.setText(dayOfWeekFormat.format(start)); + startDate.setText(dateFormat.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)); + if(!start.equals(end)) + endTime.setText(timeFormat.format(end)); + description.setText(event.description); + setAdapter(); } - @Override - protected void onResume () { - super.onResume(); - if(d.deleted) - finish(); - } - @Override public boolean onCreateOptionsMenu(final Menu menu) { final MenuInflater inflater = getMenuInflater(); @@ -80,19 +112,17 @@ public class DisplayEventActivity extends Activity { 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(DisplayEventActivity.this,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 true; + return false; } } }