diff options
-rw-r--r-- | res/layout/agenda_item.xml | 7 | ||||
-rw-r--r-- | res/layout/edit_event_single_column.xml | 12 | ||||
-rw-r--r-- | src/com/android/calendar/CalendarEventModel.java | 18 | ||||
-rw-r--r-- | src/com/android/calendar/DayView.java | 14 | ||||
-rw-r--r-- | src/com/android/calendar/SearchActivity.java | 20 | ||||
-rw-r--r-- | src/com/android/calendar/agenda/AgendaFragment.java | 28 | ||||
-rw-r--r-- | src/com/android/calendar/event/EditEventActivity.java | 26 | ||||
-rw-r--r-- | src/com/android/calendar/event/EditEventFragment.java | 34 | ||||
-rw-r--r-- | tests/src/com/android/calendar/CalendarTests.java | 39 |
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; - } -} |