1 package ro
.ieval
.unical
;
3 import java
.text
.DateFormat
;
4 import java
.text
.SimpleDateFormat
;
6 import java
.util
.Locale
;
8 import android
.app
.Activity
;
9 import android
.content
.Context
;
10 import android
.content
.Intent
;
11 import android
.os
.Bundle
;
12 import android
.view
.LayoutInflater
;
13 import android
.view
.Menu
;
14 import android
.view
.MenuInflater
;
15 import android
.view
.MenuItem
;
16 import android
.view
.View
;
17 import android
.view
.ViewGroup
;
18 import android
.widget
.*;
20 public class DisplayEventActivity
extends Activity
{
21 private final class DeleteListener
implements View
.OnClickListener
{
22 private final long time
;
23 DeleteListener(final long time
){
27 @Override public void onClick(final View v
){
28 Utils
.deleteAlarm((Application
) getApplication(), time
);
33 public static final String EXTRA_EVENT
= "event";
35 private final DeleteEventDialog d
=new DeleteEventDialog();
37 private void setAdapter(){
38 final ListView alarms
= (ListView
) findViewById(R
.id
.alarm_list
);
39 alarms
.setAdapter(new ArrayAdapter
<Long
>(this, R
.layout
.alarm_row_layout
, Utils
.getAlarmsByEvent((Application
) getApplication(), event
._id
)){
40 @Override public View
getView(final int position
, final View convertView
, final ViewGroup parent
) {
41 final LayoutInflater inflater
= (LayoutInflater
) getSystemService(Context
.LAYOUT_INFLATER_SERVICE
);
42 final View rowView
= inflater
.inflate(R
.layout
.alarm_row_layout
, parent
, false);
43 final TextView date
= (TextView
) rowView
.findViewById(R
.id
.alarm_datetime
);
44 final ImageButton delete
= (ImageButton
) rowView
.findViewById(R
.id
.alarm_delete
);
45 delete
.setOnClickListener(new DeleteListener(getItem(position
)));
46 date
.setText(DateFormat
.getDateTimeInstance().format(getItem(position
)));
53 public static void displayEvent(final Context context
, final long id
){
54 final Intent i
=new Intent(context
,DisplayEventActivity
.class);
55 i
.putExtra(DisplayEventActivity
.EXTRA_EVENT
, id
);
56 context
.startActivity(i
);
60 protected void onStart() {
62 event
=getIntent().hasExtra(EXTRA_EVENT
) ? Event
.getEventById(this, getIntent().getLongExtra(EXTRA_EVENT
, 0)) : new Event();
63 setContentView(R
.layout
.event_view
);
64 setTitle(event
.title
);
66 final TextView startDay
= (TextView
) findViewById(R
.id
.startday
);
67 final TextView endDay
= (TextView
) findViewById(R
.id
.endday
);
68 final TextView startDate
= (TextView
) findViewById(R
.id
.startdate
);
69 final TextView endDate
= (TextView
) findViewById(R
.id
.enddate
);
70 final TextView startTime
= (TextView
) findViewById(R
.id
.starttime
);
71 final TextView endTime
= (TextView
) findViewById(R
.id
.endtime
);
72 final TextView description
= (TextView
) findViewById(R
.id
.event_view_description
);;
74 final Date start
=new Date(event
.dtstart
);
75 final Date end
=new Date(event
.dtend
);
76 final DateFormat dateFormat
= DateFormat
.getDateInstance();
77 final DateFormat timeFormat
= DateFormat
.getTimeInstance();
78 final DateFormat dayOfWeekFormat
= new SimpleDateFormat("EEEEEEE", Locale
.UK
);
80 startDay
.setText(dayOfWeekFormat
.format(start
));
81 startDate
.setText(dateFormat
.format(start
));
82 if(!dateFormat
.format(start
).equals(dateFormat
.format(end
))) {
83 endDay
.setText(dayOfWeekFormat
.format(end
));
84 endDate
.setText(dateFormat
.format(end
));
87 startTime
.setText(timeFormat
.format(start
));
88 if(!start
.equals(end
))
89 endTime
.setText(timeFormat
.format(end
));
91 description
.setText(event
.description
);
96 public boolean onCreateOptionsMenu(final Menu menu
) {
97 final MenuInflater inflater
= getMenuInflater();
98 inflater
.inflate(R
.menu
.event
, menu
);
103 public boolean onOptionsItemSelected(final MenuItem item
) {
104 // Handle item selection
105 switch (item
. getItemId()) {
106 case R
.id
.deleteevent
:
107 final Bundle b
=new Bundle();
108 b
.putParcelable("Event",event
);
110 d
.show(getFragmentManager(), "Delete");
113 case R
.id
.edit_event
:
114 AddEventActivity
.editEvent(this, event
);
117 AddAlarmActivity
.addAlarm(this,event
);