Add, show and remove alarms
[unical.git] / src / ro / ieval / unical / DisplayEventActivity.java
index 45da8dc740312b8c563a1a409d77d0e5d8828c61..0bff03217f7a9a15003b59b921548608e960063c 100644 (file)
@@ -8,16 +8,50 @@ 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<Long>(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, id);
@@ -37,11 +71,11 @@ 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 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);
 
@@ -54,6 +88,7 @@ public class DisplayEventActivity extends Activity {
                startTime.setText(timeFormat.format(start));
                endTime.setText(timeFormat.format(end));
                description.setText(event.description);
+               setAdapter();
        }
 
        @Override
@@ -75,17 +110,19 @@ public class DisplayEventActivity extends Activity {
 
                        return true;
                case R.id.eventlist:
-                       final Intent it=new Intent(this,EventListActivity.class);
+                       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:
-            startActivity(new Intent(this,AddAlarmActivity.class));
+                       final Intent intent = new Intent(this, AddAlarmActivity.class);
+                       intent.putExtra(AddAlarmActivity.EXTRA_EVENT, event._id);
+            startActivity(intent);
                        return true;
                default:
-                       return true;
+                       return false;
                }
        }
 }
This page took 0.011726 seconds and 4 git commands to generate.