EventInfoActivity.java revision 1d564f63f731565219aaca9e1b7e5f466b143c71
1/*
2 * Copyright (C) 2010 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *      http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17package com.android.calendar;
18
19
20import static android.provider.Calendar.EVENT_BEGIN_TIME;
21import static android.provider.Calendar.EVENT_END_TIME;
22import static android.provider.Calendar.AttendeesColumns.ATTENDEE_STATUS;
23
24import com.android.calendar.CalendarController.EventInfo;
25import com.android.calendar.CalendarController.EventType;
26
27import android.app.Fragment;
28import android.content.Intent;
29import android.net.Uri;
30import android.os.Bundle;
31import android.text.format.Time;
32
33public class EventInfoActivity extends AbstractCalendarActivity
34        implements CalendarController.EventHandler {
35
36    private static final int HANDLER_KEY = 0;
37
38    static final int ATTENDEE_NO_RESPONSE = -1;
39
40    private DeleteEventHelper mDeleteEventHelper;
41    private CalendarController mController;
42
43    @Override
44    protected void onCreate(Bundle savedInstanceState) {
45        super.onCreate(savedInstanceState);
46        // This needs to be created before setContentView
47        mController = CalendarController.getInstance(this);
48
49        Intent intent = getIntent();
50        Uri uri = intent.getData();
51        long startMillis = intent.getLongExtra(EVENT_BEGIN_TIME, 0);
52        long endMillis = intent.getLongExtra(EVENT_END_TIME, 0);
53        int attendeeResponseFromIntent = intent.getIntExtra(
54                ATTENDEE_STATUS, ATTENDEE_NO_RESPONSE);
55        Fragment f = new EventInfoFragment(
56                uri, startMillis, endMillis, attendeeResponseFromIntent);
57        getFragmentManager().openTransaction().add(android.R.id.content, f).commit();
58
59        mDeleteEventHelper = new DeleteEventHelper(this, this, true /* exit when done */);
60        mController.registerEventHandler(HANDLER_KEY, this);
61    }
62
63    @Override
64    protected void onDestroy() {
65        super.onDestroy();
66        CalendarController.removeInstance(this);
67    }
68
69    @Override
70    public void eventsChanged() {
71        // TODO Auto-generated method stub
72
73    }
74
75    @Override
76    public boolean getAllDay() {
77        // TODO Auto-generated method stub
78        return false;
79    }
80
81    @Override
82    public long getSelectedTime() {
83        // TODO Auto-generated method stub
84        return 0;
85    }
86
87    @Override
88    public long getSupportedEventTypes() {
89        return EventType.DELETE_EVENT;
90    }
91
92    @Override
93    public void goTo(Time time, boolean animate) {
94        // TODO Auto-generated method stub
95
96    }
97
98    @Override
99    public void goToToday() {
100        // TODO Auto-generated method stub
101
102    }
103
104    @Override
105    public void handleEvent(EventInfo event) {
106        if (event.eventType == EventType.DELETE_EVENT) {
107            long endTime = (event.endTime == null) ? -1 : event.endTime.toMillis(false);
108            mDeleteEventHelper.delete(
109                    event.startTime.toMillis(false), endTime, event.id, -1);
110        }
111    }
112
113}
114