summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--res/layout/agenda_item.xml7
-rw-r--r--res/layout/edit_event_single_column.xml12
-rw-r--r--src/com/android/calendar/CalendarEventModel.java18
-rw-r--r--src/com/android/calendar/DayView.java14
-rw-r--r--src/com/android/calendar/SearchActivity.java20
-rw-r--r--src/com/android/calendar/agenda/AgendaFragment.java28
-rw-r--r--src/com/android/calendar/event/EditEventActivity.java26
-rw-r--r--src/com/android/calendar/event/EditEventFragment.java34
-rw-r--r--tests/src/com/android/calendar/CalendarTests.java39
9 files changed, 91 insertions, 107 deletions
diff --git a/res/layout/agenda_item.xml b/res/layout/agenda_item.xml
index aae82948..9ea9309b 100644
--- a/res/layout/agenda_item.xml
+++ b/res/layout/agenda_item.xml
@@ -19,14 +19,12 @@
android:id="@android:id/content"
android:layout_height="wrap_content"
android:layout_width="match_parent"
- android:gravity="center_vertical"
android:minHeight="?android:attr/listPreferredItemHeight">
<View
android:id="@+id/alignment_bar"
android:layout_width="match_parent"
android:layout_height="0px"
- android:layout_alignTop="@+id/title"
android:layout_alignParentTop="true" />
<!-- TODO: should be aligned with @id/title correctly without using
@@ -38,7 +36,7 @@
android:layout_below="@id/alignment_bar"
android:layout_alignParentLeft="true"
android:layout_alignTop="@+id/title"
- android:layout_marginTop="5dip"
+ android:layout_marginTop="8dip"
android:layout_marginLeft="16dip"
android:layout_marginRight="8dip" />
@@ -47,6 +45,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/agenda_item_color"
+ android:layout_marginTop="0dip"
android:ellipsize="end"
android:maxLines="2"
android:textStyle="bold"
@@ -80,8 +79,8 @@
android:id="@+id/selected_marker"
android:layout_width="wrap_content"
android:layout_height="match_parent"
- android:layout_below="@id/alignment_bar"
android:layout_alignParentRight="true"
+ android:layout_centerVertical="true"
android:visibility="gone"
android:background="@drawable/list_activated_holo" />
diff --git a/res/layout/edit_event_single_column.xml b/res/layout/edit_event_single_column.xml
index fbbdb4f0..7acc9d3a 100644
--- a/res/layout/edit_event_single_column.xml
+++ b/res/layout/edit_event_single_column.xml
@@ -62,13 +62,13 @@
<LinearLayout
android:id="@+id/two_pane"
android:orientation="vertical"
- android:paddingTop="32dip"
+ android:paddingTop="0dip"
android:paddingBottom="32dip"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="20dip"
android:layout_marginRight="20dip"
- android:layout_marginTop="12dip"
+ android:layout_marginTop="0dip"
android:layout_marginBottom="12dip"
android:layout_gravity="center_horizontal|top">
@@ -87,10 +87,10 @@
</LinearLayout>
<View android:id="@+id/color_chip"
- android:layout_width="30dip"
- android:layout_height="30dip"
- android:layout_marginLeft="5dip"
- android:layout_marginTop="17dip"
+ android:layout_width="45dip"
+ android:layout_height="45dip"
+ android:layout_marginLeft="12dip"
+ android:layout_marginTop="5dip"
android:layout_gravity="left|top" />
</FrameLayout>
</ScrollView>
diff --git a/src/com/android/calendar/CalendarEventModel.java b/src/com/android/calendar/CalendarEventModel.java
index 81aab791..44814e45 100644
--- a/src/com/android/calendar/CalendarEventModel.java
+++ b/src/com/android/calendar/CalendarEventModel.java
@@ -24,7 +24,6 @@ import android.provider.Calendar.Calendars;
import android.provider.Calendar.Events;
import android.provider.Calendar.Reminders;
import android.text.TextUtils;
-import android.util.Log;
import java.io.Serializable;
import java.util.ArrayList;
@@ -271,6 +270,10 @@ public class CalendarEventModel implements Serializable {
public CalendarEventModel(Context context, Intent intent) {
this(context);
+ if (intent == null) {
+ return;
+ }
+
String title = intent.getStringExtra(Events.TITLE);
if (title != null) {
mTitle = title;
@@ -300,6 +303,19 @@ public class CalendarEventModel implements Serializable {
if (!TextUtils.isEmpty(rrule)) {
mRrule = rrule;
}
+
+ String emails = intent.getStringExtra(Intent.EXTRA_EMAIL);
+ if (!TextUtils.isEmpty(emails)) {
+ String[] emailArray = emails.split("[ ,;]");
+ for (String email : emailArray) {
+ if (!TextUtils.isEmpty(email) && email.contains("@")) {
+ email = email.trim();
+ if (!mAttendeesList.containsKey(email)) {
+ mAttendeesList.put(email, new Attendee("", email));
+ }
+ }
+ }
+ }
}
public boolean isValid() {
diff --git a/src/com/android/calendar/DayView.java b/src/com/android/calendar/DayView.java
index 7fea7f0d..ae453e2c 100644
--- a/src/com/android/calendar/DayView.java
+++ b/src/com/android/calendar/DayView.java
@@ -4318,8 +4318,11 @@ public class DayView extends View implements View.OnCreateContextMenuListener,
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
if (mTouchStartedInAlldayArea) {
- // don't scroll if this started in the allday area
- return false;
+ if (Math.abs(distanceX) < Math.abs(distanceY)) {
+ return false;
+ }
+ // don't scroll vertically if this started in the allday area
+ distanceY = 0;
}
DayView.this.doScroll(e1, e2, distanceX, distanceY);
return true;
@@ -4328,8 +4331,11 @@ public class DayView extends View implements View.OnCreateContextMenuListener,
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
if (mTouchStartedInAlldayArea) {
- // don't fling if this started in the allday area
- return false;
+ if (Math.abs(velocityX) < Math.abs(velocityY)) {
+ return false;
+ }
+ // don't fling vertically if this started in the allday area
+ velocityY = 0;
}
DayView.this.doFling(e1, e2, velocityX, velocityY);
return true;
diff --git a/src/com/android/calendar/SearchActivity.java b/src/com/android/calendar/SearchActivity.java
index dabd4c30..c6c01931 100644
--- a/src/com/android/calendar/SearchActivity.java
+++ b/src/com/android/calendar/SearchActivity.java
@@ -18,14 +18,6 @@ package com.android.calendar;
import static android.provider.Calendar.EVENT_BEGIN_TIME;
import static android.provider.Calendar.EVENT_END_TIME;
-import com.android.calendar.CalendarController.EventInfo;
-import com.android.calendar.CalendarController.EventType;
-import com.android.calendar.CalendarController.ViewType;
-import com.android.calendar.agenda.AgendaFragment;
-import com.android.calendar.event.EditEventFragment;
-
-import dalvik.system.VMRuntime;
-
import android.app.ActionBar;
import android.app.Activity;
import android.app.FragmentManager;
@@ -34,7 +26,6 @@ import android.app.SearchManager;
import android.content.ContentResolver;
import android.content.ContentUris;
import android.content.Intent;
-import android.content.res.Configuration;
import android.database.ContentObserver;
import android.net.Uri;
import android.os.Bundle;
@@ -45,9 +36,16 @@ import android.text.format.Time;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
-import android.view.View;
import android.widget.SearchView;
+import com.android.calendar.CalendarController.EventInfo;
+import com.android.calendar.CalendarController.EventType;
+import com.android.calendar.CalendarController.ViewType;
+import com.android.calendar.agenda.AgendaFragment;
+import com.android.calendar.event.EditEventFragment;
+
+import dalvik.system.VMRuntime;
+
public class SearchActivity extends Activity
implements CalendarController.EventHandler, SearchView.OnQueryTextListener,
SearchView.OnCloseListener {
@@ -179,7 +177,7 @@ public class SearchActivity extends Activity
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction ft = fragmentManager.beginTransaction();
- mEventInfoFragment = new EditEventFragment(event, true);
+ mEventInfoFragment = new EditEventFragment(event, true, null);
ft.replace(R.id.agenda_event_info, mEventInfoFragment);
ft.commit();
mController.registerEventHandler(R.id.agenda_event_info, mEventInfoFragment);
diff --git a/src/com/android/calendar/agenda/AgendaFragment.java b/src/com/android/calendar/agenda/AgendaFragment.java
index d87aedd2..24b4691b 100644
--- a/src/com/android/calendar/agenda/AgendaFragment.java
+++ b/src/com/android/calendar/agenda/AgendaFragment.java
@@ -17,19 +17,6 @@
package com.android.calendar.agenda;
-import com.android.calendar.CalendarController;
-import com.android.calendar.CalendarController.EventHandler;
-import com.android.calendar.CalendarController.EventInfo;
-import com.android.calendar.CalendarController.EventType;
-import com.android.calendar.StickyHeaderListView.HeaderIndexer;
-import com.android.calendar.event.EditEventFragment;
-import com.android.calendar.GeneralPreferences;
-import com.android.calendar.StickyHeaderListView;
-import com.android.calendar.R;
-import com.android.calendar.Utils;
-
-import dalvik.system.VMRuntime;
-
import android.app.Activity;
import android.app.Fragment;
import android.app.FragmentManager;
@@ -45,6 +32,18 @@ import android.view.ViewGroup;
import android.widget.Adapter;
import android.widget.HeaderViewListAdapter;
+import com.android.calendar.CalendarController;
+import com.android.calendar.CalendarController.EventInfo;
+import com.android.calendar.CalendarController.EventType;
+import com.android.calendar.GeneralPreferences;
+import com.android.calendar.R;
+import com.android.calendar.StickyHeaderListView;
+import com.android.calendar.StickyHeaderListView.HeaderIndexer;
+import com.android.calendar.Utils;
+import com.android.calendar.event.EditEventFragment;
+
+import dalvik.system.VMRuntime;
+
public class AgendaFragment extends Fragment implements CalendarController.EventHandler {
private static final String TAG = AgendaFragment.class.getSimpleName();
@@ -265,7 +264,7 @@ public class AgendaFragment extends Fragment implements CalendarController.Event
if (mShowEventDetailsWithAgenda) {
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction ft = fragmentManager.beginTransaction();
- mEventFragment = new EditEventFragment(event, true);
+ mEventFragment = new EditEventFragment(event, true, null);
ft.replace(R.id.agenda_event_info, mEventFragment);
mController.registerEventHandler(R.id.agenda_event_info,
mEventFragment);
@@ -283,4 +282,3 @@ public class AgendaFragment extends Fragment implements CalendarController.Event
*/
}
}
-
diff --git a/src/com/android/calendar/event/EditEventActivity.java b/src/com/android/calendar/event/EditEventActivity.java
index 8dd04a6a..a7072ffe 100644
--- a/src/com/android/calendar/event/EditEventActivity.java
+++ b/src/com/android/calendar/event/EditEventActivity.java
@@ -19,21 +19,21 @@ package com.android.calendar.event;
import static android.provider.Calendar.EVENT_BEGIN_TIME;
import static android.provider.Calendar.EVENT_END_TIME;
-import com.android.calendar.AbstractCalendarActivity;
-import com.android.calendar.CalendarController;
-import com.android.calendar.CalendarController.EventInfo;
-import com.android.calendar.R;
-import com.android.calendar.Utils;
-
import android.app.ActionBar;
import android.app.FragmentTransaction;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
+import android.provider.Calendar;
import android.text.format.Time;
import android.util.Log;
import android.view.MenuItem;
-import android.widget.FrameLayout;
+
+import com.android.calendar.AbstractCalendarActivity;
+import com.android.calendar.CalendarController;
+import com.android.calendar.CalendarController.EventInfo;
+import com.android.calendar.R;
+import com.android.calendar.Utils;
public class EditEventActivity extends AbstractCalendarActivity {
private static final String TAG = "EditEventActivity";
@@ -44,7 +44,6 @@ public class EditEventActivity extends AbstractCalendarActivity {
private static boolean mIsMultipane;
- private FrameLayout mView;
private EditEventFragment mEditFragment;
private EventInfo mEventInfo;
@@ -53,7 +52,6 @@ public class EditEventActivity extends AbstractCalendarActivity {
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.edit_event_fragment);
- mView = (FrameLayout) findViewById(R.id.edit_event);
mEventInfo = getEventInfoFromIntent(icicle);
@@ -70,9 +68,13 @@ public class EditEventActivity extends AbstractCalendarActivity {
ActionBar.DISPLAY_HOME_AS_UP | ActionBar.DISPLAY_SHOW_HOME);
}
-
if (mEditFragment == null) {
- mEditFragment = new EditEventFragment(mEventInfo, false);
+ Intent intent = null;
+ if (mEventInfo.id == -1) {
+ intent = getIntent();
+ }
+
+ mEditFragment = new EditEventFragment(mEventInfo, false, intent);
mEditFragment.mShowModifyDialogOnLaunch = getIntent().getBooleanExtra(
CalendarController.EVENT_EDIT_ON_LAUNCH, false);
@@ -121,7 +123,7 @@ public class EditEventActivity extends AbstractCalendarActivity {
if (item.getItemId() == android.R.id.home) {
Intent launchIntent = new Intent();
launchIntent.setAction(Intent.ACTION_VIEW);
- launchIntent.setData(Uri.parse("content://com.android.calendar/time"));
+ launchIntent.setData(Uri.parse(Calendar.CONTENT_URI + "/time"));
launchIntent.setFlags(
Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED | Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(launchIntent);
diff --git a/src/com/android/calendar/event/EditEventFragment.java b/src/com/android/calendar/event/EditEventFragment.java
index e33d6f26..4aad21fe 100644
--- a/src/com/android/calendar/event/EditEventFragment.java
+++ b/src/com/android/calendar/event/EditEventFragment.java
@@ -16,18 +16,6 @@
package com.android.calendar.event;
-import com.android.calendar.AsyncQueryService;
-import com.android.calendar.CalendarController;
-import com.android.calendar.CalendarController.EventHandler;
-import com.android.calendar.CalendarController.EventInfo;
-import com.android.calendar.CalendarController.EventType;
-import com.android.calendar.CalendarEventModel;
-import com.android.calendar.CalendarEventModel.Attendee;
-import com.android.calendar.CalendarEventModel.ReminderEntry;
-import com.android.calendar.DeleteEventHelper;
-import com.android.calendar.R;
-import com.android.calendar.Utils;
-
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Fragment;
@@ -39,6 +27,7 @@ import android.content.ContentValues;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
+import android.content.Intent;
import android.database.Cursor;
import android.database.MatrixCursor;
import android.net.Uri;
@@ -58,6 +47,18 @@ import android.view.ViewGroup;
import android.view.inputmethod.InputMethodManager;
import android.widget.Toast;
+import com.android.calendar.AsyncQueryService;
+import com.android.calendar.CalendarController;
+import com.android.calendar.CalendarController.EventHandler;
+import com.android.calendar.CalendarController.EventInfo;
+import com.android.calendar.CalendarController.EventType;
+import com.android.calendar.CalendarEventModel;
+import com.android.calendar.CalendarEventModel.Attendee;
+import com.android.calendar.CalendarEventModel.ReminderEntry;
+import com.android.calendar.DeleteEventHelper;
+import com.android.calendar.R;
+import com.android.calendar.Utils;
+
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collections;
@@ -113,6 +114,8 @@ public class EditEventFragment extends Fragment implements EventHandler {
private InputMethodManager mInputMethodManager;
+ private Intent mIntent;
+
// TODO turn this into a helper function in EditEventHelper for building the
// model
private class QueryHandler extends AsyncQueryHandler {
@@ -358,12 +361,13 @@ public class EditEventFragment extends Fragment implements EventHandler {
}
public EditEventFragment() {
- this(null, false);
+ this(null, false, null);
}
- public EditEventFragment(EventInfo event, boolean readOnly) {
+ public EditEventFragment(EventInfo event, boolean readOnly, Intent intent) {
mEvent = event;
mIsReadOnly = readOnly;
+ mIntent = intent;
setHasOptionsMenu(true);
}
@@ -438,7 +442,7 @@ public class EditEventFragment extends Fragment implements EventHandler {
mHelper = new EditEventHelper(activity, null);
mHandler = new QueryHandler(activity.getContentResolver());
- mModel = new CalendarEventModel(activity);
+ mModel = new CalendarEventModel(activity, mIntent);
mInputMethodManager = (InputMethodManager)
activity.getSystemService(Context.INPUT_METHOD_SERVICE);
}
diff --git a/tests/src/com/android/calendar/CalendarTests.java b/tests/src/com/android/calendar/CalendarTests.java
deleted file mode 100644
index 222a64a8..00000000
--- a/tests/src/com/android/calendar/CalendarTests.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (C) 2007 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.calendar;
-
-import android.test.TestBrowserActivity;
-import junit.framework.TestSuite;
-
-
-/**
- * Unit tests for com.android.calendar.
- */
-public class CalendarTests extends TestBrowserActivity {
-
- @Override
- public final TestSuite getTopTestSuite() {
- return suite();
- }
-
- public static TestSuite suite() {
- TestSuite suite = new TestSuite(CalendarTests.class.getName());
- suite.addTestSuite(FormatDateRangeTest.class);
- suite.addTestSuite(WeekNumberTest.class);
- return suite;
- }
-}