• Home
  • History
  • Annotate
  • only in /packages/providers/CalendarProvider/src/com/android/providers/calendar/
History log of /packages/providers/CalendarProvider/src/com/android/providers/calendar/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
bcc65b8d27454f460902a15d25524925fc1f1893 14-Jun-2016 Leszek Ślażyński <lslazynski@google.com> Merge "CalendarProvider2: log failures to get the cached calling package." into nyc-dev
69bc134573749242032eb3c6a472c82a61b51413 13-Jun-2016 Leszek Ślażyński <lslazynski@google.com> SQLiteContentProvider: log failures to get the calling package.

Bug: 29321239
QLiteContentProvider.java
254be6e254814a3e476e984463e20f0bfd7f7768 13-Jun-2016 Leszek Ślażyński <lslazynski@google.com> CalendarProvider2: log failures to get the cached calling package.

Throttle to once per thread, as this can be called many times in a batch for example.

Bug: 29321239
alendarProvider2.java
a636a75adaa6e56f9e6b0e6605d33db414980c26 19-Apr-2016 Narayan Kamath <narayan@google.com> Tidy up uses of Integer.valueOf.

Use parseInt when the result is assigned to an int. Allocates fewer
objects.

bug: 28078871
Change-Id: Ibe942226a0945e06f80136cea842890b703fd228
alendarProvider2.java
b1a3171dcc3b653654ba29c3e76a0dcca1241144 31-Mar-2016 Ricky Wai <rickywai@google.com> Fix Calendar is closed issue

CalendarDatabaseHelper instance should not be closed,
as it is shared across all code in CalendarProvider.

Bug: 27937880
Change-Id: I347023b9eadd559f93b2684b44a984c9daf81b34
alendarUpgradeReceiver.java
9b2d8e17e12557251a8dd7ede3f455c5fb40d1b4 04-Nov-2015 Dianne Hackborn <hackbod@google.com> Work on issue #25467052: System lagged out

Use REPLACE_PENDING when sending change broadcasts for the calendar
provider, so they don't cause backup in the queue.

Change-Id: Iab92c4a48a3e1ff085246e5ebc16fefae927133b
alendarProvider2.java
350bdf916ba93f0318a5c3b0cbd2c9794c748c80 17-Jul-2015 Tony Mak <tonymak@google.com> Turn on verbose logging to debug flaky test cases

We have some flaky test cases about recurrent event that fail sometime in
nexus9, turn on DEBUG_INSTANCES flag for more logging.

ag/729934 turn on verbose logging when running cts.

Bug: 22449592

Change-Id: I728a07fa41251a92aa3d786932dddf7cfbc433df
alendarProvider2.java
ea1b82d2ab660a15659258da19fabe19e5d4fbd5 16-Jul-2015 Tony Mak <tonymak@google.com> Fix calendar reminder notification is not shown in idle state

M introduce "doze" which prevents alarm goes off when devices is in idle
state.

The solution is to use setExactAndAllowWhileIdle, however,
there is a restriction that we can only have one such an alarm within 15
mins during dozing.

Before explaining the changes, here is the brief introduction how reminder
notification works.
CalendarProvider send EVENT_REMINDER broadcast to notify calendar app
to show notification.
It sets two alarms, one to send this broadcast and set one another to
schedule the next coming reminder.
The scheduler alarm goes off one minute after the reminder alarm.

Here are the changes:
1.Due to the 15 min restriction, the current architecture is not working.
This commit removes the scheduler alarm.
CalendarProvider now listens for the EVENT_REMINDER broadcast and
schedule the next reminder immediately.

2. When there is no reminder within 1 day, CalendarProvider will setup
an alarm on the next day to start the scheduler again.
This alarm needs to goes off in idle state. But due to the 15 mins
restriction, now the time is set to 15 mins earlier.

3. Also remove SCHEDULE broadcast which is basically same as the
ACTION_CHECK_NEXT_ALARM broadcast.

4. ag/720759 make sure the reminder alarm goes off during dozing.

Please notice that even with this commit, we can't have more than
one reminder notification within 15 minutes due to the restriction
mentioned above.

Bug: 22182280

Change-Id: I950dab5595a98a26370f2cd8decf0b32d9363591
alendarAlarmManager.java
alendarProvider2.java
alendarProviderBroadcastReceiver.java
alendarProviderIntentService.java
alendarReceiver.java
08007188ce3af03ed13e9252febc9b22e1bfe953 19-May-2015 Keith Cheung <keithcheung@google.com> fix cursor.getColumnIndex(Calendars.IS_PRIMARY) always returns -1

Bug: 20921928
Change-Id: I8582eaba6031904d5c820203900f32d0f7ff32c0
alendarProvider2.java
503a798e5f76ecce75607277292bd9a326ba79ec 08-Jun-2015 Tony Mak <tonymak@google.com> Fix crash when inserting reminder/attendee/extended property to a non-existent event

The problem is when inserting reminder/attendee/extended property, the code assumes the event it belongs to exists.
However, it may not be true in some edge cases.
For example, user is on the event edit page, while the event is being deleted in server at this moment.

Add checking to confirm the event does exists before having the insert logic.
As all logics in insert is run within a single transaction, we can be assured that the event does exist throughout the transaction.

Bug: b2/13287671

Change-Id: I655720c67ab3176d52759c43032682874aa3eb8b
alendarDatabaseHelper.java
alendarProvider2.java
ea28dfc327c87b24855f7abd9a48ba9a1b3f43f5 08-Jun-2015 Tony Mak <tonymak@google.com> Fix CalendarProvider2Test

1. Add authority into ProviderInfo
2. Add more features we needed in IsolatedContext
3. testInsertOriginalTimezoneInExtProperties is removed as we dun have this extended property anymore
4. Fix bug in instance search due to wrong order of selection args
5. Fix bug that dirty is not marked to 1 when attendee of event is deleted

Bug: 20715117

Change-Id: I494348742491eedf99355b44378d75e637b1e3c7
alendarProvider2.java
a48a040eaad1bc32d79b31d36fb68003f768ba6e 30-Jan-2015 Dianne Hackborn <hackbod@google.com> No longer need to take care of pre boot msg.

Change-Id: I877c569a0e134cd501d7b95518d5c15a7e4489f2
alendarUpgradeReceiver.java
96d67800c827efb5c08adaa32e221aaae53d02a4 04-Dec-2014 Sam Blitzstein <sblitz@google.com> Before the first call to clearCallingIdentity, cache the calling package.

Then it will be saved as a mutator when the dirty bit is set.
This may be accessed by multiple threads, so the data is cached in ThreadLocal.
Also track the calling Uid, and clear the cached package when the tracked Uid
is restored.

Bug: 18421411
Change-Id: I4597bd4169636c3988d72ddde51578a02af193ea
alendarProvider2.java
QLiteContentProvider.java
0ab307238107189b4717127b638e6c7dc9f988f1 30-Jul-2014 Jay Shrauner <shrauner@google.com> Fix stale db handle crash

Need to reacquire db handle before handling requests.
Fix NPEs when timezonetype isn't in the cache.

Bug:16559219
Change-Id: Ie037399aec91feb80312adf7c37d8d210b6aa544
alendarAlarmManager.java
alendarInstancesHelper.java
alendarProvider2.java
0aeb094381148a08ae05c805f1c91a5c6b6e4900 19-Nov-2013 Alon Albert <aalbert@google.com> Merge "Ignore Wakelock Under-Locked Exception" into klp-dev
d46932bf3e0cc194ca8e6194a9f4e619b6bd009f 19-Nov-2013 Alon Albert <aalbert@google.com> Ignore Wakelock Under-Locked Exception

Bug: 11751204
Change-Id: I78d9e16ea83a06e1fe3e69b0d8a596d16da271f7
alendarAlarmManager.java
98e01573880a2f1b1547d1e2e9a1c5c7d5e09043 12-Nov-2013 Alon Albert <aalbert@google.com> Initialize WakeLock in the CTOR

Protect against possible race

Also added a log that will indicate if a second provider is created in the in
same process.

Bug: 11260491
Change-Id: I3048d3c57d1cf6a13b808b85151d20ddb85d95a9
alendarAlarmManager.java
alendarProvider2.java
ad8584116bf0fb9d494ec7e5dd2354029ed18306 01-Nov-2013 Alon Albert <aalbert@google.com> Merge "Don't trigger a sync for ALERTS tables" into klp-dev
a55c3aaa2b13b5350918efda98906afb8b6206c1 31-Oct-2013 Alon Albert <aalbert@google.com> Don't trigger a sync for ALERTS tables

Bug: 11350900
Change-Id: Iede3da60cb45ac496bea90c85d06eac36af617e1
alendarProvider2.java
QLiteContentProvider.java
d3b51e172bba03af7d2fcc3559cfa73b6ce60095 28-Oct-2013 Alon Albert <aalbert@google.com> Handle Missing Event Row

When checking for Calendars.CAN_PARTIALLY_UPDATE in duplicateEvent() , don't
crash if there is no matching event id in the db.

Bug: 11392862
Change-Id: I895c3a307b842c4340c851da27c25951d3e7968f
alendarDatabaseHelper.java
8015a4086559d9d025473c2e773b2f64888c2942 16-Sep-2013 Alon Albert <aalbert@google.com> Call clearCallingIdentity in Provider Entry Points

Bug: 10777084
Change-Id: I7de6289e9b05b2ef51a9fe65c3a04f0d814c3362
alendarProvider2.java
QLiteContentProvider.java
74dfe7de007563af5cab1c1bb458f4ebd4e4f66d 19-Jul-2013 Christopher Tate <ctate@google.com> Make sure to use exact alarms for Calendar events

Change-Id: Idfe11d65c81999b76cbbe2611bb77816f0c8875a
alendarAlarmManager.java
c817154d2185340a0d0d4b81f06e33e32ce81b37 27-Jun-2013 Alon Albert <aalbert@google.com> Remove RDATE, EXRULE & EXDATE From Exception

When inserting an exception all recurrence fields need to be stripped.

Bug: 9598339
Change-Id: I1226b135c170015073d020aaf791774ff10dc0dd
alendarProvider2.java
ccfee5ca255652892b407fa046a797bf62d3b1c3 04-Feb-2013 Alon Albert <aalbert@google.com> Add EVENT_COLOR's to Event Entity Iterator

Bug: 8132457
Change-Id: I292d10844bdeb21a2845a656dd0676b9acb8219e
alendarProvider2.java
043587d3ef1a9cc156a6819fdcb7ef5b2aa81ed4 25-Jan-2013 Dianne Hackborn <hackbod@google.com> Protect calendar with app ops.

Change-Id: I9d6705b0fa5257434a825809ad46d422f2ee57cc
alendarProvider2.java
7a2531a4b68e9efe14353cc7f4a64a8c5613e5d3 18-Dec-2012 Alon Albert <aalbert@google.com> Put some useful information in User-Agent Header

Put information in User-Agent:
* Build fingerprint
* Calendar or CalendarSyncAdapter package name + version code
* Package name of app making changes to provider for uphill syncs

Example:
google/mantaray/manta:K/MASTER/eng.aalbert.20121217.140040:eng/dev-keys:com.google.android.calendar:201212060:com.google.android.calendar Google-HTTP-Java-Client/1.11.0-beta (gzip)

Change-Id: I729c64ba9b922523d35903fcaf2a51cc234799a8
alendarDatabaseHelper.java
alendarProvider2.java
49b7d3c4222a6b9e8e4639ba6d5128df5eac7e73 12-Oct-2012 Sara Ting <sarating@google.com> Fix race condition for missing alerts after boot up.

After boot up, it was possible to miss scheduling alerts due to improper synchronization of the BOOT_COMPLETED and TIME_CHANGED actions.

Bug:7221716
Change-Id: Id97266a19bb1ff8182576f687c34e10ef8644dc6
alendarAlarmManager.java
d2e4cb09054364f1b09e453426f642961cfbf7cf 02-Oct-2012 Sara Ting <sarating@google.com> am f4b1756f: Fix event color query (which fixes the failing CTS test).

* commit 'f4b1756f88c34efefb33b4103230ee334d9c9262':
Fix event color query (which fixes the failing CTS test).
f4b1756f88c34efefb33b4103230ee334d9c9262 02-Oct-2012 Sara Ting <sarating@google.com> Fix event color query (which fixes the failing CTS test).

Bug:7261590
Change-Id: I72c60af1ae8d563db7693fdf7d87972dfc80ab82
alendarProvider2.java
b5570054791d2ae2743ab952a7f0e1d0ccf4d0ad 27-Sep-2012 Sara Ting <sarating@google.com> Merge "Fix possible NPE in runScheduleNextAlarm." into jb-mr1-dev
a7c3f329245dc370151e611fdad85e177f4f6000 27-Sep-2012 Sara Ting <sarating@google.com> Fix possible NPE in runScheduleNextAlarm.

Bug:7244877
Change-Id: Ifda7343cd154fc53a8b7e39fd747c3088f21a5eb
alendarAlarmManager.java
501e60bcb1b519d80723f7b64ba60bd079b8ec8d 17-Sep-2012 Sara Ting <sarating@google.com> Adding new column 'uid2445' to Events table to support future handling of ical/ics format.

Bug:7029852
Change-Id: Ie2e5c0126583a68d2da81b6cc7c0101e29eb0649
alendarDatabaseHelper.java
alendarProvider2.java
b2695bf3cfb173c4c5ba7bfd3c93ba8a51d65810 18-Sep-2012 Alon Albert <aalbert@google.com> Add some columns

isPrimary to Calendars
isOrganizer to Events

Bug: 6888477

Change-Id: I6ea7d69eec4a7226bf3e9fac216a31b5cd170782
alendarDatabaseHelper.java
alendarProvider2.java
5cd969369a0e025bad07ad32bda9c8c4f0630457 03-Aug-2012 Michael Chan <mchan@android.com> Renamed calendarcommon to calendarcommon2 to avoid naming conflict with OEM devices

Change-Id: Ia765b4c17bfc00e283c66c440b8561fcd7b8e4dc
alendarInstancesHelper.java
alendarProvider2.java
10651e7b4f209a03649b9eac62facbc7bf864d17 25-Jul-2012 Michael Chan <mchan@android.com> Fixed the problem where updating event colors would cause exceptions

Bug: 6742712
Change-Id: Ie097e05c74995513b5b6fc04efd8e0d35876b698
alendarProvider2.java
f98ed2e5c5e08cac159ce4cf22ab86a718f0bb0b 25-Jul-2012 Michael Chan <mchan@android.com> Fixed the problem where updating event colors would cause exceptions

Bug: 6742712
Change-Id: Ie097e05c74995513b5b6fc04efd8e0d35876b698
alendarProvider2.java
8ca3274cd6bb8cf43992f9be6725c89d770011a7 25-May-2012 Sara Ting <sarating@google.com> Update widget after changing attendee status.

Bug:5934675
Change-Id: I51a9f3f1b7c4cce405d80d1bc92dd3b8a6febf66
alendarProvider2.java
c3f54281b3b4a1646923a726c9a1731bd39324a0 29-Apr-2012 Michael Chan <chanm@google.com> Keep the device awake while we schedule the next alarm

Bug: 5777855
Change-Id: I59e97ce69e0dcbaf1b8eaa25407f2d3234140b98
alendarProvider2.java
alendarReceiver.java
0332925aa9db8c4826327edd85030a4791b7a8e6 29-Apr-2012 Michael Chan <chanm@google.com> Fixed so potential memory leaks.

Bug: 6396900
Change-Id: Id02c323b567bfc49ae1da4dbe4335ba150241232
alendarDatabaseHelper.java
alendarInstancesHelper.java
alendarProvider2.java
c81732aeadada8f8bc4c216a317ba458374af2c9 21-Apr-2012 Michael Chan <chanm@google.com> Add support for custom app and uri in events

Bug: 6325441
Change-Id: If4a0f855e21d10aa63be67c5bb702618b776b29b
alendarDatabaseHelper.java
alendarProvider2.java
bafe9de156292f65b1079dd1eb586669f573d9e6 18-Apr-2012 Michael Chan <chanm@google.com> Add support for identity in attendees

Bug: 6353721
Change-Id: If167941b90b256073444f2660df2360f79872276
alendarDatabaseHelper.java
alendarProvider2.java
0d8699eedb0f3bcec1854b9753ae59154a122726 03-Mar-2012 Michael Chan <chanm@google.com> Drop all table when downgrading

Change-Id: I172d82eabeaa0f55831da9d105beb995ad1c3448
alendarDatabaseHelper.java
68609b8d3d5548cf21b2498739c3d84372133955 02-Apr-2012 Sara Ting <sarating@google.com> Merge "Fix for b/6176691: Move disk I/O during SCHEDULE_ALARM broadcast to a background thread."
ca25e4029cb48c2c165872a4253a00975404060f 30-Mar-2012 Sara Ting <sarating@google.com> Fix for b/6176691: Move disk I/O during SCHEDULE_ALARM broadcast to a background thread.

Change-Id: Ica5cd6c72687f7252ce4a6b22e66e9eff4a00b50
alendarReceiver.java
90b9254f6e5f990cfed3d11328f79a2db503961f 28-Mar-2012 Isaac Katzenelson <isaack@android.com> Merge "Fix original sync id bug in event exceptions"
ff5d02de9fddecbd5649f243233514e256a705c2 24-Mar-2012 Isaac Katzenelson <isaack@android.com> Fix original sync id bug in event exceptions

Bug: 6168812 original_id and/or original_sync_id may be wrong when there are multiple accounts
Change-Id: Icdc77abcc492a28b1ed04931f53b0ee9d8bffda8
alendarDatabaseHelper.java
alendarProvider2.java
8d2ed3bf1ef3525c3a6eb17b57f07b0af35ef4d0 23-Mar-2012 Alon Albert <aalbert@google.com> Throw if URI contains unknown parameters

Bug: 5784822
Change-Id: I89cd4633a03bf949f46becd94b356f563af9b053
alendarProvider2.java
8ca4cfe3c18cbfd332dd622935e802ee25b35e37 23-Mar-2012 Alon Albert <aalbert@google.com> Merge "Move Duration to common"
8253a84ce7abf2fa1c662b735432a502f4ace96f 22-Mar-2012 Alon Albert <aalbert@google.com> Allow instance deletion event without DTSART

Change-Id: Icbd063ffab1f198fa262b62fb2cb273aed30e4ad
alendarProvider2.java
fa2f3b5b13ae14bf023aa45120b617e53d42a9dc 17-Mar-2012 Alon Albert <aalbert@google.com> Move Duration to common

Change-Id: I6a758ff462cd5338e7b12a5c000ab3613addb399
alendarInstancesHelper.java
alendarProvider2.java
uration.java
c339afc7df041ebfc5f4587f78cf38562aa23459 02-Mar-2012 Alon Albert <aalbert@google.com> Add displayColor column to view_events
Also fix bug with color change triggers

Change-Id: I0b62fb966cd9f24f47646c3a3613403e4ff4cc1e
alendarDatabaseHelper.java
alendarProvider2.java
4755452ab84f704f8ce4d7e0bf61a9faeeee2b99 01-Mar-2012 Michael Chan <mchan@android.com> Fixed the bug where one can't insert colors with the same key but different type.

Bug: 6075521
Change-Id: I7d16febe90735d64af8fbc8c5c7a73941e416ee5
alendarProvider2.java
d5af586101b6111ca188bb373098309c7c8a4abb 03-Feb-2012 Alon Albert <aalbert@google.com> Fix Typo that was causing a throwwhen updating Colors table

android.database.sqlite.SQLiteException: no such column: color: , while compiling: UPDATE Calendars SET color=? WHERE account_name=? AND account_type=? AND calendar_color_index=?
at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:704)
at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:324)
at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58)
at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:31)
at android.database.sqlite.SQLiteDatabase.updateWithOnConflict(SQLiteDatabase.java:1450)
at android.database.sqlite.SQLiteDatabase.update(SQLiteDatabase.java:1403)
at com.android.providers.calendar.CalendarProvider2.handleUpdateColors(CalendarProvider2.java:3577)
at com.android.providers.calendar.CalendarProvider2.updateInTransaction(CalendarProvider2.java:3822)
at com.android.providers.calendar.SQLiteContentProvider.update(SQLiteContentProvider.java:159)
at android.content.ContentProviderOperation.apply(ContentProviderOperation.java:225)
at com.android.providers.calendar.SQLiteContentProvider.applyBatch(SQLiteContentProvider.java:224)
at android.content.ContentProvider$Transport.applyBatch(ContentProvider.java:216)
at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:179)
at android.os.Binder.execTransact(Binder.java:338)
at dalvik.system.NativeStart.run(Native Method)

Change-Id: I3f28f3c3cef1692942d8f4a7fc9f49c7d6d2adf8
alendarProvider2.java
465c10df06ef302a035b4a26456fd6b3d758d5cf 21-Jan-2012 Michael Chan <mchan@android.com> am 7bca7b95: am c3780839: Fixed the problem where search result for recurring events were incomplete.

* commit '7bca7b95be5f7acfcb18716af951ae42aa37639b':
Fixed the problem where search result for recurring events were incomplete.
c3780839fd044b5d8109860b57a199a2da1d804f 19-Jan-2012 Michael Chan <mchan@android.com> Fixed the problem where search result for recurring events were incomplete.

Specifically instead of showing multiple instances, the search would return only 1 instance.

Bug: 5824042
Change-Id: Ifa57b00e8287bc6ebd343cbe4256a4e91afc79bf
alendarProvider2.java
77f0cf2de36fd24541480638da22f477ec0af22f 12-Jan-2012 Alon Albert <aalbert@google.com> Fix a problem with isCallerSyncAdapter
The field mIsCallerSyncAdapter is set by a call to getIsCallerSyncAdapter() but is reset by beginTransaction.
This means that by the time we call endTransaction, it may have been reset to null because getIsCallerSyncAdapter
was called before beginTransaction.

Change-Id: I3f8e4484965adae2d7565e34166f4c1a6635eecf
QLiteContentProvider.java
f3ac7696180b6018338bbef2e9c65a59750d905f 05-Jan-2012 Michael Chan <mchan@android.com> am 931bf7bb: am bfea6da7: Added logging for to debug bad events

* commit '931bf7bb23fe4e48c251e4bbbd7abb3e11831538':
Added logging for to debug bad events
bfea6da707f8d352432096371e7da76c230d9059 22-Dec-2011 Michael Chan <mchan@android.com> Added logging for to debug bad events

Bug: 5676414
Change-Id: I9af54046ecea9a7736d797ce68af0f88b35d6a0f
alendarProvider2.java
9adfc5e7e2c0b41ba2f53eb2397886dd61ec5f8a 05-Dec-2011 Andy McFadden <fadden@android.com> am 6d38c46e: am 3ac8148c: Speed up database update

* commit '6d38c46ea04674a1cbfafd04a0313a65f915c9f3':
Speed up database update
3ac8148cdc79bde4b009ccb6a9ffda77bdb547d3 03-Dec-2011 Andy McFadden <fadden@android.com> Speed up database update

Drop the trigger on sync_id before doing a bulk update of sync_id
fields. This dramatically reduces the time required for the
calendar database update when there are lots of events.

Bug 5699796

Change-Id: I94c2fb624b5b63bfdf760b3092697f9205a634c9
alendarDatabaseHelper.java
5503ef10b15a441730f02e5a2cbd41328a424984 26-Oct-2011 Andy McFadden <fadden@android.com> DO NOT MERGE - Move scheduled alarm scrub off main thread

We currently do a database update when the "boot completed" intent
is received. Doing it on the main thread appears to be causing ANRs,
so this moves it to a background thread. An "empty" service is
used to discourage the system from killing the provider while this
is in progress.

Also, removed an unused field from CalendarAlarmManager.

Bug 5262151

(cherry-pick from master)

Change-Id: Ic3a3da986b5c8f271a6310e56f61839897ba8336
alendarAlarmManager.java
alendarReceiver.java
fb52e9136e5b5bc2f2bece696426ee1d68d63038 10-Nov-2011 RoboErik <epastern@google.com> am ff2ce02c: am 7148c4fb: b/5497057 Remove references to PII from exception messages

* commit 'ff2ce02c7afe404472932d1914460edff1f9f7cc':
b/5497057 Remove references to PII from exception messages
7148c4fbb67fd9b20fb0b92d23e831b05ec22155 09-Nov-2011 RoboErik <epastern@google.com> b/5497057 Remove references to PII from exception messages

Change-Id: I106adf420536e42fd45befec04728755d7347c90
alendarProvider2.java
457ecf55b9d83b7fbd99f7707eea2d10ee2bd551 01-Nov-2011 Alon Albert <aalbert@google.com> Don't schedule a sync with SYNC_EXTRAS_MANUAL from the provider. This flag ignores the sync settings for the account

Bug: 5433356
Change-Id: Ie07e2147ac9feed5ed6f53c9ae239532de8d8e86
alendarDatabaseHelper.java
1d557af66e0ba44eae39a7bf3878cf256fd8f136 26-Oct-2011 Andy McFadden <fadden@android.com> Move scheduled alarm scrub off main thread

We currently do a database update when the "boot completed" intent
is received. Doing it on the main thread appears to be causing ANRs,
so this moves it to a background thread. An "empty" service is
used to discourage the system from killing the provider while this
is in progress.

Also, removed an unused field from CalendarAlarmManager.

Bug 5262151

Change-Id: I8e5b1bd7782500e1827f43d7a453f824a1e7944c
alendarAlarmManager.java
alendarReceiver.java
20afcb20352ef7c47297e91ddc5d5957bcada6af 27-Oct-2011 Andy McFadden <fadden@android.com> Merge "Disallow empty eventTimezone values" into ics-mr1
82b6bf9d994d084fc8548279f3cf09eaae082430 27-Oct-2011 Andy McFadden <fadden@android.com> Disallow empty eventTimezone values

We now reject insert and update requests from apps that could result
in an Event with a null/empty eventTimezone column.

Bug 5514124

Change-Id: I119456aafd0c2af6e34b60f6a860cca056ac92f5
alendarProvider2.java
387535fec9f646e0b7acb82d5354f2b5ebee4395 27-Oct-2011 RoboErik <epastern@google.com> change COLOR_INDEX to COLOR_KEY

for https://android-git.corp.google.com/g/#/c/145200/

Change-Id: I90355ff4ed0ebebc7701dbec485087034e0ad338
alendarDatabaseHelper.java
alendarProvider2.java
2f251c778c06d21ed7693a70f4a1268ff929242e 18-Oct-2011 RoboErik <epastern@google.com> Adds a Colors table to the db and updates events/cals tables

This adds provider support for the new set of APIs being added
for colors. Adds allowedAvailability and allowedAttendeeType
to the Calendars table. Also removes old code for handling event
specific time zones before the server supported it.

Cherry pick of https://android-git.corp.google.com/g/#/c/143430/

Change-Id: I2e28350338657641f8a736bcedfbc1df92f5a5fd
alendarDatabaseHelper.java
alendarProvider2.java
f029d7c00095e8fff6963f301ca85196b61525e3 14-Oct-2011 Andy McFadden <fadden@android.com> Fix StrictMode complaint

In some circumstances we were failing to close a cursor.

Bug 5443038

Change-Id: I2902214fb095a3fe8129d6ac14d87bc269c5e483
alendarProvider2.java
1c72909abbfe7559bcc880c339399f1eaa0478f3 08-Oct-2011 Andy McFadden <fadden@android.com> Auto-update Events.hasAlarm

The "hasAlarm" column in the Events table is supposed to be read-only
for applications, updated automatically by the provider as reminders
are added and deleted. This wasn't implemented (the Calendar app was
doing it manually).

Bug 5424486

Change-Id: Id4d167fe081b77fbd514b9a700359fd84d9e43e8
alendarDatabaseHelper.java
alendarProvider2.java
683c9db3f0a244969037a7f20767a35b3187ca4b 07-Oct-2011 Andy McFadden <fadden@android.com> Improve restriction on selection

The restrictions on whether or not "selection" should be specified
now also apply to deletion.

Added SYNCSTATE and EXTENDED_PROPERTIES to the list for which
selections are allowed.

Bug 5373449

Change-Id: I1c20d57cfa8401232555b90d53958f7a327be1f6
alendarProvider2.java
24abf95cb69e8040af1a8dc2faace1bfb3ab505c 05-Oct-2011 Andy McFadden <fadden@android.com> Add URIs for updating Attendees and Reminders

Previously you could only update a single entry in Attendees or
Reminders, using the "/#" form of the URI. Now you can update
multiple entries by specifying a selection. (This is not something
apps will commonly want to do, but if nothing else it rounds out
the APIs.)

Also, merged common code for updates to Attendees, Reminders, and
ExtendedProperties.

Also, fixed a couple of minor bugs with updating an Attendee and
the associated Event.selfAttendeeStatus (e.g. event_id had to be
specified in the update values or the provider would NPE).

Bug 5373449

Change-Id: I72df47ece69bf083739970ffa48a213a2cf76704
alendarProvider2.java
fe1cb130bba78b36292a64d7c0bfb3292738973c 29-Sep-2011 Andy McFadden <fadden@android.com> Add new URI

Add new "syncstate/#" URI.

Bug 5373449

Change-Id: Idb9ab70a51d4938e073cfc8c330b2028a8337810
alendarProvider2.java
f07b66b00b0ee35bddc64a6f7ac4039627fbcf89 28-Sep-2011 Andy McFadden <fadden@android.com> Restrict syncstate and extendedproperties URIs

Only sync adapters are allowed to use these URIs to make changes.

Bug 5373449

Change-Id: I1dbbda715b8da886a386da79a3618c6a88a6f14d
alendarProvider2.java
cad6bc946434363f6ba6fed58bfa818cd6736d21 23-Sep-2011 Andy McFadden <fadden@android.com> Disambiguate INSTANCES_SEARCH query

The unqualified "_id" reference in the GROUP BY portion was
confusing sqlite.

Also, commented on a few things.

Bug 5366218

Change-Id: I8429af45306f93837679e0b28e4b0f97cb4fa3ea
alendarCache.java
alendarProvider2.java
86c22e9a05df0848da465b9a43da6b1350da4dc5 22-Aug-2011 Dianne Hackborn <hackbod@google.com> Add boot message when upgrading database.

Change-Id: I33c880714f6e3da4a726d8890a64944f9e8953ba
alendarUpgradeReceiver.java
64af00286ccc989f390f7f43153688d4173ac62d 19-Aug-2011 Andy McFadden <fadden@android.com> Handle onAccountsUpdated off the main thread

The AccountManager is posting onAccountsUpdated to the main thread.
We want to handle it on a separate thread.

Bug 5103871

Change-Id: Ieda5651b0dabd19cc97394ae2a690ca2be237b9a
alendarProvider2.java
3b7c1cc29240628ed0f61b26375eba21665fe6d7 05-Aug-2011 Andy McFadden <fadden@android.com> Update provider for EMMA from CTS

The provider now accepts a "secret" request to dump EMMA coverage
data.

The commands in tests/EMMA_README were updated for the new world
order, in which the tests live in CTS rather than being one with
the provider itself. This also converts the commands from direct
execution to a shell function, and adds a second function that can
be used to de-EMMA the provider.

Bug 2361048

Change-Id: I38b494cc65a15523207f95d2e622756cc393b665
alendarProvider2.java
9f97cde4a34eb814b2e14f694c349c5ad6003a6d 17-Aug-2011 Andy McFadden <fadden@android.com> Don't reject updates to malformed events

We want to prevent apps from inserting bad data into the database,
but we need to be a bit more lenient when the bad data is already
present. When processing an update, we now only validate the merged
data if the original event looks okay.

Bug 5173841

Change-Id: Id5ec755eb0d8ef6e96a9d67857b4c5dbb2ef4741
alendarProvider2.java
222f23bb26b6a72a9a0725593f456cfe497f7e91 17-Aug-2011 Andy McFadden <fadden@android.com> Fix backfill of _sync_id

If we receive an exception to a recurring event before we receive
the event, we back-fill the originalSyncId when the event finally
arrives. The sql command that did this wasn't specifying the
calendar, which caused problems when different calendars had
(unrelated) events with identical _sync_ids.

Bug 5137544

Change-Id: I63d1eb4f531aa59044c93418e0c6d4828918b156
alendarProvider2.java
b843cb1b172f1e0ff870162e5d269d721c294f20 05-Aug-2011 Andy McFadden <fadden@android.com> Merge "Test null projections"
361695206f7a25577ddc374f20868105cae531cd 03-Aug-2011 Andy McFadden <fadden@android.com> Test null projections

This adds a test that issues various queries with null projections
to confirm that the database structure matches expectations.

This also fixes the Reminders projection.

Bug 4878015

Change-Id: I1acdd35699d0132eadec3b13abe8011449f764d5
alendarProvider2.java
bf986d8deeeed9566e0badeba89d4800533cbca6 04-Aug-2011 Andy McFadden <fadden@android.com> Correct allowedReminders defaults

This reduces the default set of allowed reminders to {default,alert},
and adds an upgrade step that expands the set to include email when
the calendar is a Google calendar.

Bug 5117661

Change-Id: I094858b16cc1f0ca8bd0aefd48124997079800b3
alendarDatabaseHelper.java
85c09a31bcc3a18e173428bf7b628cec2834bebc 03-Aug-2011 Andy McFadden <fadden@android.com> Clear duration when creating exception

When creating a single-instance exception to a recurring event,
we're expecting to have a DTEND but no DURATION. We were
neglecting to clear DURATION.

Also, don't act as a sync adapter when creating an exception in
the non-sync-adapter test.

Bug 5116044

Change-Id: I16d4e927cb1876a636ec9d6b0c2736df4a25af23
alendarProvider2.java
03138eb7b9359e9f99fffbe285cf584f23038e7e 03-Aug-2011 Andy McFadden <fadden@android.com> Merge "Allow multi-rule RRULEs"
5ce2a67ba623d3a32a2aa3bb70c5ded7e8fd7b5b 02-Aug-2011 Andy McFadden <fadden@android.com> Allow multi-rule RRULEs

We have partial support for events with multiple RRULEs, which
arrive as a single RRULE entry with elements separated by '\n'.
This updates the RRULE validation code to accept these.

Bug 4749046

Change-Id: I1045e1cc41f9c83522282caa643781a2448270c0
alendarProvider2.java
4b9f67cdc442ba0caa5bb007a4e0dfd3594ef945 02-Aug-2011 Andy McFadden <fadden@android.com> Don't re-use scrubbed mod values

The "scrub" code was changed so that it added explicit null
assignments to the values-to-be-updated set. This is fine for
single updates, but for multi-event updates (which happen during
the initial sync) we were nulling out stuff in later events. With
this change we make a copy of the set before modifying it.

Bug 2519655

Change-Id: Ib62a267bf6a45b57c85685e439ae4100487dd9df
alendarProvider2.java
be4ac5fac63f1619df46977891a6b4a3a0e02563 02-Aug-2011 Andy McFadden <fadden@android.com> Scrub some, validate others

The previous behavior of the Calendar provider was to scrub all
new events. This was changed to scrub and validate all new events
and all updates. This now changes it again: we now scrub new events
and updates that originate from a sync adapter, and validate new
events and updates that come from an application.

The idea is to retain compatibility with the sync adapters while
clamping down on apps.

Bug 2519655

Change-Id: I792ed1db126947ae99a6e97f81e9f2380dfa1a7f
alendarProvider2.java
7544af675ce2fd78f33198e5e9194f2bc7bd129f 01-Aug-2011 Andy McFadden <fadden@android.com> Recognize new-old database versions

Correcting the orphaned Attendees / Reminders issue in older
releases required introducing new database versions. We need to
recognize these.

Bug 5063315

Change-Id: Ibd1af65c5f24728f3b73a3b33ce529bbca010799
alendarDatabaseHelper.java
935132618f821883f101db31af24e6d4c2b1e82c 29-Jul-2011 Andy McFadden <fadden@android.com> Avoid re-use of orphaned data

Data is being added to Attendees and Reminders that is associated
with delete Events. When the Event ID is re-used, the orphaned
data attaches to the new event. To avoid this, change the Event
ID column to "autoincrement", ensuring that IDs are never re-used.

At database upgrade time, delete any orphaned rows.

Bug 5063315

Change-Id: I02051bf271ea9b9fd05c27e50f546177f42f43d0
alendarDatabaseHelper.java
499287f0ccd3f20f8cf5f9007a9b422b825a7b7c 29-Jul-2011 Andy McFadden <fadden@android.com> Fix fixAllDayTime

The code was incorrectly assuming the value was present.

Bug 5093896

Change-Id: I7741a03b96d5c7bff6307c67a61d08014a52cb85
alendarProvider2.java
498b6fa6ba6f2deea21aa8855705f572a8181b1d 28-Jul-2011 Andy McFadden <fadden@android.com> Merge "Scrub more data"
62fb6911ea17d10de9662f455983ea045324aa62 28-Jul-2011 Andy McFadden <fadden@android.com> Scrub more data

In certain circumstances, the sync adapter is issuing an update that
sets DURATION on an Event that already has DTEND, which makes the
validation code upset. This change modifies the "scrub" method so
it can be used with the update code as well.

Bug 2519655

Change-Id: Id9d5af0d76f3416e906311a5ad13c5ca3229eb74
alendarProvider2.java
d35e5b4423692b7b495ef31c390c1796e3c3651b 27-Jul-2011 Michael Chan <mchan@android.com> Merge "b/5064464 Fixed the problem where the attendee and reminder queries were returning dups."
ef1f983b14a586f579a0d2978a0b0ccc2fcc425c 27-Jul-2011 Michael Chan <mchan@android.com> b/5064464 Fixed the problem where the attendee and reminder queries
were returning dups.

Change-Id: I6e1c71086d765aec5b87b19171ebdf0228795e9e
alendarProvider2.java
d5be35c42732d610040a64dd5bab782ef10014ab 23-Jul-2011 Andy McFadden <fadden@android.com> Change the way event updates are handled

The previous implementation went to great lengths to avoid hitting
the database any more than necessary. Because event updates may
only be touching a handful of fields, this required handling a
variety of situations in which only partial data was available.
In some cases a few fields were queried from the database.

We want to validate requests more robustly as part of opening the
calendar provider, so we now pull the events out of the database,
merge them with the new values, and validate the result before
issuing the update.

"Bulk" updates are no longer issued as a single database command
(though they do all happen within a single transaction). Each event
update is validated individually. As a result, the partial-update
mechanism may be applied to events edited in bulk.

This doesn't introduce any new validation tests, but some of the
existing tests are now applied more broadly, so there is some risk of
previously-accepted requests being rejected.

The validateEventData() function was split into two parts. The code
that dealt with bad requests by stripping out undesirable fields
is now in scrubEventData(). Long-term we want to eliminate the
"scrub" pass.

Also, fixed the code that updates LAST_DATE in an update transaction
so that changing from a regular event or limited recurrence to an
infinitely-repeating recurrence causes LAST_DATE to be nulled out.

Bug 2519655,5057401

Change-Id: Ic5c510951334a11adb8bdc58c01d863bcf8bc01a
alendarInstancesHelper.java
alendarProvider2.java
ba54f5f9ca0c33fd518b1c87bb15fb7907672e04 15-Jul-2011 Andy McFadden <fadden@android.com> Verify RRULEs before adding to database

We check before adding a new event (either wholly new or an
exception to an existing recurrence) or updating an existing event.

Bug 4749046

Change-Id: If3ed6ef3d3481ecbe9638b15d686d66edb3c7995
alendarProvider2.java
4d10d2da7bef342c2f5dcbfd91cc51a569a3998f 15-Jul-2011 Andy McFadden <fadden@android.com> Delete exceptions when recurring event is deleted

When a recurring event is deleted:
If the event has been synced with the server:
Delete exceptions that have not been synced
If the event has NOT been synced:
Delete all exceptions

Bug 4901765

Change-Id: I515aab647e6085289185de6913763e8b40fbca62
alendarProvider2.java
bf61571797b7b6a390d35f16aad7765ea348e5ae 13-Jul-2011 Andy McFadden <fadden@android.com> Move a couple more classes to calendar-common

Move RecurrenceProcessor and DateException, so that app code can
access the recurrence generator. Useful for e.g. bug 4977517.

Change-Id: Id52f51873da0c4214333e17ed3a70987e0f40340
alendarInstancesHelper.java
alendarProvider2.java
ateException.java
uration.java
ecurrenceProcessor.java
93e0bbb921cce7a5cec355521bc570c03c9d6a1c 07-Jul-2011 Andy McFadden <fadden@android.com> Relocate common Calendar classes

Move some classes from android.pim to com.android.calendarcommon.

Bug 4575374

Change-Id: I3cb6a59bf761b97973c2590f71bdf8e28575adb0
alendarInstancesHelper.java
alendarProvider2.java
ecurrenceProcessor.java
32aa776d04075be5b5c945c68f7f352f4a3038b7 08-Jul-2011 Andy McFadden <fadden@android.com> Correctly split recurring events that have COUNT

The code that splits recurring events for "this and all future"
edits was always adding an UNTIL part. This didn't work right
when the original event had a COUNT part.

Bug 4977517

Change-Id: I7960e24fbd0fdfc67de45cced1f26200544706a4
alendarProvider2.java
77e53e0abfa609e3686ee02807d42e2b4a365ed9 30-Jun-2011 Andy McFadden <fadden@android.com> Merge "Tweak instance generation"
744fa975b40b24ea7377c0e273f60a7a4d47e2e0 30-Jun-2011 RoboErik <epastern@google.com> Updates for api comments

Change-Id: Idb9400d43b52664857ee78835ad1f4231eca7b75
alendarAlarmManager.java
alendarDebug.java
b09eb917f2490a1dae20709a667df845a2e67c94 28-Jun-2011 Andy McFadden <fadden@android.com> Tweak instance generation

The code that regenerates the Instances table understands _sync_id
and originalSyncId, but is generally unaware of originalId.
This isn't a supported mode of operation for the app -- you're not
allowed to create a recurrence exception until after the event has
been synchronized with the server -- but you can hit it with the
provider's exception creation URI.

This change doesn't fix the problem, but does take a step toward it.
In particular:

- Deletion of existing instances is now correct. This may be more
visually jarring than the previous approach when creating
exceptions in airplane mode: instead of seeing a doubled-up event,
you'll see the original event vanish (it adds an instance for
the exception, but can't find the recurrence).
- isRecurrenceEvent() now recognizes an event with a non-empty
originalId as a recurrence exception.
- Some stuff in updateRecurrenceInstancesLocked() was hitting the
database, some was assuming that values were in the set of goodies
passed in. This was potentially wrong for event updates, which
could have a partial set of goodies.
- The exception creation URI code now only updates the affected
Instances entries, instead of blowing away the entire table.

Two new tests have been added to exercise the various paths through
the instance regeneration code.

Also, adjusted the code that updates the Attendees table when an
exception changes selfAttendeeStatus to be more tolerant of transient
situations.

Bug 4473786

Change-Id: Ibd409373be002e71d5709ee1c17eb16976481ce2
alendarInstancesHelper.java
alendarProvider2.java
c832113820b3fe514077b45dc4daaae970ef3284 24-Jun-2011 Andy McFadden <fadden@android.com> Feature + exception fixes in CalendarProvider

New feature: if selfAttendeeStatus is updated when creating an
exception for a recurring event, the provider will automatically update
the "status" columns in the appropriate Attendees rows. (Normally this
goes the other direction, where updates to the Attendees table are
mirrored into Events.)

Added some test code to exercise it (though we're still not verifying
changes to Attendees).

Fix: the exception creation code was mis-handling the start date. This
didn't show up in testing because the tests were creating exceptions
with modified start dates.

Fix: the tests now fiddle with the duration rather than the start date,
so that problems like the above are visible.

Fix: don't allow DTEND to be specified in exception creation. This
value is automatically generated from originalInstanceTime + duration.
Also added two recent SYNC_DATA fields to the "don't copy" list.

Fix: set the dirty flag on exception events so the server will see them
(unless the creator is the sync adapter). Note the CTS tests do most
of their work claiming to be the sync adapter, so this doesn't really
show up there.

Bug 2664212

Change-Id: Iab43171926ee51a5ba0f9193830aa97b9b4fc147
alendarProvider2.java
4caf8d015918f619a67d321a152f150a01022717 23-Jun-2011 Andy McFadden <fadden@android.com> There can be only one MetaData

Instead of creating a new MetaData in CalendarInstancesHelper, use
the one created by CalendarProvider2.

Bug 4815094

Change-Id: I88633e4694e7879efaad601536e84cab2bc96e8d
alendarInstancesHelper.java
alendarProvider2.java
etaData.java
8b8bfc28f364749ace6c453907ac65a6ea60b8e4 15-Jun-2011 RoboErik <epastern@google.com> Merge "Ensure new events have a calendar_id"
95229b60087d6c25f80bbcdebf47ac110c01df68 15-Jun-2011 RoboErik <epastern@google.com> Ensure new events have a calendar_id

Change-Id: I85f10885f1ba0d22d2be02b8673614b1c1a734f1
alendarProvider2.java
470aa5bc291ca33d51dda356f38ac2954026da9a 13-Jun-2011 Alon Albert <aalbert@google.com> Upgrade database for GData 2 & Partial Update for Google accounts.

* Change event id's from ".../private/full/... to .../events/...
* Set Calendars.canPartiallyUpdate to 1 to support partial updates
* Nuke sync state so we re-sync with a fresh etag and edit url

Also re-add DIRTY to sEventEntitiesProjectionMap after it was dropped
by accident in a previous CL.

Change-Id: Ic3fed903c76ce94fb2b60ba746f4bd31b3df23f4
alendarDatabaseHelper.java
alendarProvider2.java
b9644fe24edf9e25f0b21c1394e88d25070e0238 14-Jun-2011 RoboErik <epastern@google.com> Rename Calendar.java to CalendarContract.java

Change-Id: Iecdf0141d6baeed4a93b4f219a72f7ed8a5b9ff3
alendarAlarmManager.java
alendarDatabaseHelper.java
alendarDebug.java
alendarInstancesHelper.java
alendarProvider2.java
etaData.java
QLiteContentProvider.java
c64ed6bf617167c73b3e036790a5e640bee725ca 13-Jun-2011 RoboErik <epastern@google.com> Remove refs to SyncColumns

Change-Id: I9a7d7424df9b8ba1ac76eaceb837e7106c2151b8
alendarProvider2.java
02f97c538fc46a08d857d2c807c76fd0eec12493 08-Jun-2011 RoboErik <epastern@google.com> Upgrade db to v305

-Add CAL_SYNC columns up to 10
-Rename Calendars.access_level to calendar_access_level
-Rename calendars _sync_version to cal_sync7
-Rename calendars _sync_time to cal_sync8
-Rename displayName to calendar_displayName
-Rename _sync_local_id to sync_data2
-Rename htmlUri to sync_data3
-Rename events _sync_version to sync_data4
-Rename events _sync_time to sync_data5
-Rename commentsUri to sync_data6
-Migrate Events _sync_mark to sync_data8
-Change sync_data2 from INTEGER to TEXT
-Change sync_data8 from INTEGER to TEXT
-Add SYNC_DATA columns up to 10
-Add EVENT_COLOR to Events table

Change-Id: I2b818bf54fbce57cb32918d239ec21035a499330
alendarDatabaseHelper.java
alendarDebug.java
alendarProvider2.java
bcba82631ab0ee16efe58f0e0b0b9c18d93a6fd2 24-May-2011 Andy McFadden <fadden@android.com> First cut at recurring event exception API

This adds two calls to the calendar provider:

insert(<baseURI>/exception/<original-event-id>)

This creates an exception to a recurring event. Depending on the
values provided, this may alter all instances, all future instances,
or just a single instance of the event.

delete(<baseURI>/exception/<original-event-id>/<exception-event-id>)

This deletes an exception to a recurring event.

Bug 4473786

Change-Id: I9bff5de24694dcd49d2036c6c99dd45b34b24c0f
alendarDatabaseHelper.java
alendarProvider2.java
9ec70fada3d8f7cf56d6b0d0947823ec5bce572c 04-Jun-2011 Alon Albert <aalbert@google.com> Prepare Calendar Provider for GData 2.0 & Partial Update

This CL prepares support for GData 2.0 by adding the _SYNC_7 column to the Events table.
This column will contain the edit URL which used to be in SYNC_VERSION but in 2.0, will hold the eTag instead.

It also prepares for Partial Update by adding a column called lastSynced to Events & a column called canPartiallyUpdate to Calendars.
If a sync adapter sets canPartiallyUpdate to 1, the provider will dup events before modifying them locally and mark them as dups using the lastSynced column.
When a sync adapter then updates an event and sets DIRTY to 0, the provider will remove the duplicated event.

Since no sync adapters yet set canPartiallyUpdate or use SYNC_7, this change should effectivly be a NOP.

Change-Id: I651056b3c0306391e9e559ceb185e77187118846
alendarDatabaseHelper.java
alendarInstancesHelper.java
alendarProvider2.java
QLiteContentProvider.java
2ce7955da7dffec7819ed38be85e72df8a6f33dc 03-Jun-2011 RoboErik <epastern@google.com> Support cleanup of Calendar.java

-replaced refs to columns interfaces with the class where possible
-added support for selection/selection args in instance queries
-further cleanup

Change-Id: I97ee0c7ed1703696166fd4a007e232a42cece376
alendarDebug.java
alendarInstancesHelper.java
alendarProvider2.java
d28490199861708e0e6890bcf0da80f09ab761fe 03-Jun-2011 Erik Pasternak <roboerik@android.com> Merge "Revert "b/4460608 Deletes exceptions with original event""
ab472739446ef9e4a6fdcf9903d6260741d96acf 03-Jun-2011 Erik Pasternak <roboerik@android.com> Revert "b/4460608 Deletes exceptions with original event"

This doesn't work with the implementation in Google Calendar Sync. Instead we will need to delete exceptions for unsynced events only.

This reverts commit 9785ee857d77e644bcfb2a317d84d0eff5752e28
alendarProvider2.java
fa332ecedc0c340109811552407142f6e4f600b2 31-May-2011 RoboErik <epastern@google.com> Migrate syncN columns to cal_syncN

Change-Id: I2d7aa19c55f95cd9256a5c7289e6214d4bff3d5d
alendarDatabaseHelper.java
alendarProvider2.java
da641c374b00946f37bfe00e53bb292f4e0103d8 25-May-2011 RoboErik <epastern@google.com> b/4466577 Migrate eventEndTimezone to sync_data1 for EAS

Change-Id: I02b3771e39c6e5e81dde05480683b5d5a991997f
alendarDatabaseHelper.java
alendarProvider2.java
9785ee857d77e644bcfb2a317d84d0eff5752e28 23-May-2011 RoboErik <epastern@google.com> b/4460608 Deletes exceptions with original event

Change-Id: I53fdc4783454e527860dcac187b5a88f66539665
alendarProvider2.java
34c32cd924eb8ee28381106b37044b78fd8cbc30 14-May-2011 RoboErik <epastern@google.com> Add original_id column + logic. db -> v301

Adds an original_id to the Events table for local reference to
an original event for exceptions. It also adds logic to keep this
value in sync with the original_sync_id so apps don't have to
update for it to continue working.

Change-Id: I0034ecedb6f7b582ba823daab8656b7778781d84
alendarDatabaseHelper.java
alendarProvider2.java
c8383567db3ade2aea28447ad3bd09ac3033bcd7 06-May-2011 RoboErik <epastern@google.com> Upgrade Calendars table and db to v300

Changes several column names in the calendars table and jumps
the versioning for the db up to 300.

Change-Id: I515b3e0a54d73c8a6d25ca2d9f7c153fae68a210
alendarDatabaseHelper.java
alendarDebug.java
alendarInstancesHelper.java
alendarProvider2.java
0739be04415dfd61619b5611e82b7c9a6c83eae3 28-Apr-2011 RoboErik <roboerik@android.com> Requires sync adapter include account and type for writes

This is an initial change to introduce restrictions on write access.
It currently only restricts the sync specific Calendar fields and
requires that to do a sync write the account and account type must
also be included.

Change-Id: I29eac991557da784290ba92cde7d1172472ebad9
alendarProvider2.java
180076a810558478f55ade53ebef0a2ddfa6bbc0 25-Apr-2011 Andy McFadden <fadden@android.com> Rename function

createCalendarsTable201() was actually creating 202.

Change-Id: I399465b912bfcdb22363ac82b7772247afbb1274
alendarDatabaseHelper.java
0fa12d08f1406e453ae62bf937bb7e2764f00622 22-Apr-2011 Michael Chan <mchan@android.com> Merge "Added debug utility to copy calendar db to sd card."
d5f4742d7ba16d791edd9fd33a1a2a42eeac709b 19-Apr-2011 RoboErik <epastern@google.com> Adds test to compare schema of upgraded and new db

Change-Id: I3a27b9eadb01fff9459b179a28100bb014a24785
alendarDatabaseHelper.java
9774e10b9b34b6b0715f8d5e413f068d7e29cd26 09-Mar-2011 Michael Chan <mchan@android.com> Added debug utility to copy calendar db to sd card.

Security team approved in
https://android-git.corp.google.com/g/#change,100928

Change-Id: I26560882584d4a7726f76dc13e94f3c3b559e6bd
alendarDebugActivity.java
4067700dbedcf4c8a379c9ecba9b5603972b4607 19-Apr-2011 Andy McFadden <fadden@android.com> Update calendar database schema

This increases the version from 204 to 205, and includes these changes:
- rename+reorder "_sync_mark" to "sync6" (changing type from INTEGER to TEXT)
- rename "selected" to "visible"
- rename "organizerCanRespond" to "canOrganizerRespond"
- add "canModifyTimeZone"
- add "maxReminders"
- remove "_sync_local_id" (a/k/a _SYNC_DATA)

This CL will be accompanied by changes to:
frameworks/base
packages/apps/Calendar
packages/apps/Exchange
vendor/google
vendor/unbundled_google/packages/GoogleCalendarSyncAdapter

Change-Id: Idc82c26819432ac8756230a4fb0dd8165d255f27
alendarAlarmManager.java
alendarDatabaseHelper.java
alendarProvider2.java
0c1b46a168426cb30db108ef1247c55c0bb06a1f 19-Apr-2011 RoboErik <epastern@google.com> Merge "Inlines all the fields used during upgrade and tests"
2cff10f1a005bd7302245d4c680cf851193c3a97 15-Apr-2011 RoboErik <epastern@google.com> Inlines all the fields used during upgrade and tests

W/o inline, changing the fields will cause any old update code that
uses them to break without warning. Added a test forupgrading all
the way from v50 to the current version and fixed some bugs that
showed up as a result of the test.

Change-Id: I3673c784bfbe38d65d2a04b7e5aaeaf8cdcb21fa
alendarDatabaseHelper.java
f5930ab5c4c0fe728cb8fdf923d482b4f272eb1f 13-Apr-2011 RoboErik <epastern@google.com> Refactors CP2 to pull instances code into a separate file

Change-Id: I2e6046dcdec0f134724d8220525bd2395677f19e
alendarInstancesHelper.java
alendarProvider2.java
4cd49582b08291d51cd152e1d2bff7fb547bcae2 08-Apr-2011 RoboErik <epastern@google.com> Start of CTS test development for Calendar API

Adds testing of adding, deleting, and updating a calendar. Adds
support for local calendars to the provider and for using
selectionArgs to specify a calendar id.

Change-Id: I078ec5f64b33d0dac464a4962e906e0e65a2992f
alendarProvider2.java
420b7fb569773ae573fbe90c3a9c522d4c368863 23-Mar-2011 Erik <epastern@google.com> Refactor CP2 to move alarm code into CalendarAlarmManager

Change-Id: I07d8d028115ce21047afe9aeecb3bf9cc5f170be
alendarAlarmManager.java
alendarProvider2.java
alendarProviderBroadcastReceiver.java
alendarProviderIntentService.java
alendarReceiver.java
39c65e5716e21e863d8de587d139dae85f99422f 25-Feb-2011 Fred Quintana <fredq@google.com> Make the "too many deletes" feature work for Calendar.

Bug: 3423269
Change-Id: I4a1680845f1b4d2d872302d796ecad76b091ec27
alendarProvider2.java
74ca9ba319a55a7dcb222344d2582e4dabe5d3bf 02-Feb-2011 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #3410789 (CalendarProvider: Support for selection args for delete calendars)

- add support for selection args
- add corresponding unit tests

Change-Id: I052d2f4792baf307b003ee602d0bd546ec8c5fc4
alendarProvider2.java
06c305d35741db303bd3aacd0eab5af8de0ab34e 21-Jan-2011 Erik <epastern@google.com> b/3374582 Deletes canceled events from the instances table

This ensures that events that are changed to canceled (occurs with
exceptions that are then deleted) will be removed from the instances
table. After testing:
-creating a new deletion exception uses the new event code path and
doesn't hit this change, only existing events
that get deleted trigger it
-deleting a non-existing event is a noop that does not throw any errors
-the google sync adapter does hit this code again later, but has no
apparent side-effects from doing so

Change-Id: I9f9eb76988bed6edc108009bb7d982f551a6e72c
alendarProvider2.java
4f5b624afe3a23161c1937ebe5f6cd6990923d51 14-Dec-2010 Fabrice Di Meglio <fdimeglio@google.com> Add more unit test for validating non repro of bug #3267616 on Honeycomb

- also fix units tests
- bug description: Phantom calendar event on phone (event does not exist)

Change-Id: I1c6384ed1da7a167868d8c7e61ccc877f33948bf
ecurrenceProcessor.java
fc30eb24b8ed12dec09957479f489f67cc43b42b 10-Dec-2010 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #3218104 (CalendarSyncAdapter says "android.content.OperationApplicationException: wrong number of rows: 0")

- revert code from https://android-git.corp.google.com/g/#change,54585 concerning deleteEventInternal()
- transform an UPDATE to a DELETE if we are processing a recurrence exception whose status is updated to STATUS_CANCEL
and if the recurrence exception does not have its original event (parent) anymore

This is due to special semantics attributed to STATUS_CANCEL by the Server

Change-Id: I2e71e68d6c740293920e3c52679f094314cab37a
alendarProvider2.java
06c61055fc7a1504eefcd6c9a471f7370526e532 01-Dec-2010 Fabrice Di Meglio <fdimeglio@google.com> Improve logging for performInstanceExpansion

- make it consistent with Gingerbread

Change-Id: Ife0b18404bb36b27a703d763d9e80342fe0b92d4
alendarProvider2.java
c4d44fd028e7f5f44f46439c3410dab3456e6d3f 05-Nov-2010 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #1776278 (consider supplying our own (unique) eid for calendar entries created on the device)

- change schema for adding SYNC_ADAPTER_DATA into the Events view
- put the "gCal:uid" value into the Events.SYNC_ADAPTER_DATA column

Change-Id: I08788e9cd6d899c00d77a9b4b7f61d36a1e40aa3
alendarDatabaseHelper.java
alendarProvider2.java
656f9cb431c798c972260f31a4ebcd56047dff21 04-Nov-2010 Fabrice Di Meglio <fdimeglio@google.com> Simplify CalendarAlarmManager code and unit tests

- implement only the needed delegations to AlarmService
- MockCalendarAlarmManager is mocking all the CalendarAlarmManager methods

Change-Id: I6f97a9a133a2336a791beb9b25874cbbb05ac857
alendarAlarmManager.java
e7a04f1fe637bc1322a6b4942e0251e3831cd544 03-Nov-2010 Fabrice Di Meglio <fdimeglio@google.com> Code refactoring for fixing unit tests and making CalendarProvider2 more testable

- refactoring for mocking the use of the Wake locks
- refactoring for mocking the use of the AlarmManager (introduce the CalendarAlarmManager)
- fix the unit tests
- fix bug 3122402

Change-Id: I5914ccf886612de260bc3c60fa192aad6c9887d2
alendarAlarmManager.java
alendarProvider2.java
8bb142159463f654ef07e20a341fcb527f0109f2 23-Oct-2010 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #3098972 (event notifications may not fire on time)

- aggregate scheduling of next alarm checks for 5s
- use the AlarmService for controlling when to do the checks
- suppress the AlarmScheduler threads
- use a Service and trampoline for running the next alarm check

Change-Id: Id54f45375b0051e57f9c9d59499c7c4c9d247500
alendarProvider2.java
alendarProviderBroadcastReceiver.java
alendarProviderIntentService.java
b5e628f741ca3f09f31af41cc12d3c8661caf330 13-Oct-2010 Fabrice Di Meglio <fdimeglio@google.com> More code cleaning

- extract SQL sentences
- use tables / columns constants

Change-Id: I209bfab1338ae4e86c3dd3002c81b57b2b461bcb
alendarProvider2.java
f82c2b1bc19b8493d324f95166444f2d206bc30e 13-Oct-2010 Fabrice Di Meglio <fdimeglio@google.com> Merge "More code cleaning"
258fc0a0054d6aba8556921c270379cea6bf3de1 13-Oct-2010 Fabrice Di Meglio <fdimeglio@google.com> More code cleaning

- use table / columns constants where they were missing

Change-Id: I3a72e88bf0c70919bd7590a9e067053cb24b5d85
alendarDatabaseHelper.java
b7c010fdc02695b692cd74acf432e8ccb3bda70c 13-Oct-2010 Fabrice Di Meglio <fdimeglio@google.com> Fix issue where upward syncs were requested from the CalendarProvider2 even if the sync was initiated by the SyncAdapter

Change-Id: Ibf3f8aac6798e6882ca45a720ecab7ed5ca75b9b
alendarProvider2.java
ueryParameterUtils.java
QLiteContentProvider.java
deefe0733f0e52fc68f7234ba765163545880e41 08-Oct-2010 Bjorn Bringert <bringert@android.com> cal: Move SyncStateContentProviderHelper to frameworks/ex

Change-Id: I086fc7ea7ef62f24c138ba7d26da3a0f48919862
alendarDatabaseHelper.java
d8223536b8f050ff81dfb19a6ad6b186b3941211 01-Oct-2010 Erik <roboerik@android.com> Sends broadcast to widgets when htz changes

Change-Id: Ia7b3ad669fe6dd8512d02fcb68fdf13bf7b3b62e
alendarProvider2.java
c2d2953fa4ac4bf9066f40d97858e69e519269f1 01-Oct-2010 Fabrice Di Meglio <fdimeglio@google.com> resolved conflicts for merge of 3443e3eb to master

Change-Id: I3ae69d380d1fefd4cb69e7e0d234fc424914020d
3443e3ebeaa39e8415b43e7cf3b218caee554e9b 30-Sep-2010 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #3025267 (Calendar App TZ are messed up when using Secondary TZ feature in Web Calendar)

- updateEventsStartEndFromEventRawTimesLocked() is now using the Event's timezone instead of the device one
- update unit tests

Fixed also cleaning of old CalendarCache data.

Change-Id: Ia7d543eda26a4a0dee1d7174f84d0f50097b81b0
alendarDatabaseHelper.java
alendarProvider2.java
616e6f19fcef87a7dcc910a95c4c340683648ad0 27-Sep-2010 Daisuke Miyakawa <dmiyakawa@google.com> Hide events in a calendar when it becomes hidden. Do not merge

Bug: 3035826
Change-Id: I4845a674414bf4fa03e1db11004a80c813893932
alendarProvider2.java
2c59eec67ab5a46ddb1ca9284f1116c1fd821a33 24-Sep-2010 Fabrice Di Meglio <fdimeglio@google.com> Fix but #2942211 (Suppress CalendarDatabaseHelpder code that deals with versions...)

- remove upgrade code for obsolete versions 72, 73, 74

Change-Id: Ib49828a80be18bb3291be0bd644c72b3120166fa
alendarDatabaseHelper.java
930d4ce83fc1902de369c915a45c231d560bac36 24-Sep-2010 Fabrice Di Meglio <fdimeglio@google.com> resolved conflicts for merge of 8ba0d023 to master

Change-Id: I2c06ce83ae194d6dd3b9bf1ba9fe04fa9fdd2d37
8ba0d0238b153d331d612078b19492cb44728101 21-Sep-2010 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #2985570 Event timezone is changed to device or Calendar timezone after sync

- When adding an Event, also add the originalTimezone ExtendedProperties if needed

Change-Id: Id7e03d75db2411bc26f4053af1908957ebe6b9ef
alendarCache.java
alendarProvider2.java
9ea309741d32d9634a0eb6786f1cc3057d3f82a6 23-Sep-2010 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #3029831 (Finalizing a Cursor that has not been deactivated or closed. database...) - DO NOT MERGE

- add missing cursor.close() statement

Change-Id: I5a4287a6944bbc3091d30af45480e863405a8316
alendarDatabaseHelper.java
90b7162dc315dbd4553aca33d4689e4a1e3b6e07 23-Sep-2010 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug #3029831 (Finalizing a Cursor that has not been deactivated or closed. database...)"
58313767dd0e7e3823c35ca61b40eddb9dd229bb 23-Sep-2010 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #3029831 (Finalizing a Cursor that has not been deactivated or closed. database...)

- add missing cursor.close() statement

Change-Id: Id37be1d7b83049c090c4a83d5b690844c2bf561c
alendarDatabaseHelper.java
7be45683e367bd6897daf6444b03be938f8f5eaa 22-Sep-2010 Erik <roboerik@android.com> b/3008125 Make CP update the default prevTZ

The phone will default to GMT as the time zone on a fresh wipe
which is not a time zone that Calendar officially supports. This
change makes it so when the phone figures out where it is the
provider will update the default previous time zone to the phone's
new location instead of using GMT. This was manually merged from
gb.

Change-Id: I8d641b92ed488f243119fdb1fdd194b16b7e151f
alendarProvider2.java
a637bc824d92888eec9c6d2da0d5f1e594bebeba 22-Sep-2010 Fabrice Di Meglio <fdimeglio@google.com> Fix CalendarProvider2 unit tests (bug #2395696)

Change-Id: I539726fd82974af22e2d6e79782ed5ff2fcc4edb
alendarCache.java
alendarProvider2.java
52913fc7cdf91c335e3559e0b38f9b3e2090737f 21-Sep-2010 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #3021653 (Clean CalendarProvider2 logging) - DO NOT MERGE

- use Log.isLoggable() pattern
- add a log when dtStart2445 and dtEnd2445 are null at the same time in EventsRawTimes table
- make get2445ToMillis() less verbose

Change-Id: Ib1a560bc6732fa5c1569b56b0789a383cc4f34e5
alendarProvider2.java
f39a880f0554ce58ab7cf5e2e2191cb01a60fe75 21-Sep-2010 Fabrice Di Meglio <fdimeglio@google.com> Manual merge - Fix bug #3021653 (Clean CalendarProvider2 logging)

- use Log.isLoggable() pattern
- add a log when dtStart2445 and dtEnd2445 are null at the same time in EventsRawTimes table
- make get2445ToMillis() less verbos

Change-Id: Ie5e13dff1dec10184e5cc336d0d40292791aa8cd
alendarProvider2.java
315d9326acd39566959f3c547225483f1fb6aefc 11-Sep-2010 Fabrice Di Meglio <fdimeglio@google.com> Manually merge "Add home timezone support" from Gingerbread:

- add querying CalendarCache key/values thru CalendarProvider
- add unit tests

Change-Id: I21bf5935789c663ba01409142df734007c5a3a4e
alendarCache.java
alendarDatabaseHelper.java
alendarProvider2.java
63c1db9914a7b01181b71cc6c66d046ad7e794a9 17-Sep-2010 Erik <roboerik@android.com> b/3008125 Make CP update the default prevTZ. Do not merge

The phone will default to GMT as the time zone on a fresh wipe
which is not a time zone that Calendar officially supports. This
change makes it so when the phone figures out where it is the
provider will update the default previous time zone to the phone's
new location instead of using GMT.

Change-Id: I359f5370f82c2aba8aa59fc0e60b40167ed3c8f3
alendarProvider2.java
b8d67669dc0c02b4cb07afe920a714d0cf4ac238 15-Sep-2010 Erik <roboerik@android.com> Fix widget to update correctly. Do not merge

This changes widget to query the db directly since it is
already in a background thread. There were issues with using
an async query on top of a bg thread that this avoids.

Change-Id: If1a90e893627da4172530b073d0e89ea934409cb
alendarAppWidgetProvider.java
alendarAppWidgetService.java
1431b9ded6f7a429a6f3c9e737fc79320627409c 15-Sep-2010 Erik <roboerik@android.com> Adds home tz support to calendar widget. Do not merge

Change-Id: I797d75b70b935a3b1b65bef994fcffffa764a693
alendarAppWidgetService.java
alendarProvider2.java
76f4f0375fa5892d3b2ab0c39d1fc367528b974c 11-Sep-2010 Fabrice Di Meglio <fdimeglio@google.com> Add home timezone support - DO NOT MERGE

- have handleEventDayQuery() use timezone
- update Javadoc

Change-Id: I1e5e4ce1dfa43088ea93566661f4b298fa53e47f
alendarProvider2.java
830f982e42eafaeb95b72fef9830167d39b025dc 11-Sep-2010 Erik <roboerik@android.com> Fix bug where instances didn't regen. Do not merge

Instances table wasn't regenerating when the user switched to auto.

Change-Id: I43a40699f6fa99c3c90f3005ce464d50ef56b45a
alendarProvider2.java
68040cf2602bb15bb4cf1072cf99132118d5a805 03-Sep-2010 Fabrice Di Meglio <fdimeglio@google.com> Add home timezone support - DO NOT MERGE

- add querying CalendarCache key/values thru CalendarProvider
- add unit tests

Change-Id: I87da6b5174c800dca76d3965a7d7cb8953003e1a
alendarCache.java
alendarDatabaseHelper.java
alendarProvider2.java
b222a85a892be92fe380c36abeaea79aa8f160dd 27-Aug-2010 Mason Tang <masontang@google.com> Fixed alerts so that alerts for all-day events now fire relative to local time

- Fixes b/1522903

Change-Id: I4489ec65022d73db72405be067fa8841c421e265
alendarProvider2.java
e38b846ecb52bcc7aa300b7a67f359f861a7cae2 23-Aug-2010 Fabrice Di Meglio <fdimeglio@google.com> Merge "Merge Froyo fix for CalendarCache init (Change I268be53d) - DO NOT MERGE" into gingerbread
b492524403ca34b0cb03bfad6456909494479925 21-Aug-2010 Fabrice Di Meglio <fdimeglio@google.com> Merge Froyo fix for CalendarCache init (Change I268be53d)

- update database schema version to 200 (need room for potential Gingerbread updates)
- fix initial row insert into CalendarCache table
- recreate the CalendarCache table with correct data when upgrading the schema
- make old 72/73/74 versions numbers obsolete on Honeycomb

Change-Id: Iaba940798ce1677d02efad342f79a9ce00be45ad
alendarDatabaseHelper.java
a2f46bd2223d1bdad7ecd69803288493f73bc4bc 20-Aug-2010 Fabrice Di Meglio <fdimeglio@google.com> Merge Froyo fix for CalendarCache init (Change I268be53d) - DO NOT MERGE

- update database schema version to 100 (need room for potential Froyo updates)
- fix initial row insert into CalendarCache table
- recreate the CalendarCache table with correct data when upgrading the schema

Change-Id: I5d6844c3a10fdf63aedd9e7b7952cae144d6c35e
alendarDatabaseHelper.java
d74f8960b33b91b397c561662f69d8cd2e15ab20 06-Aug-2010 Mason Tang <masontang@google.com> Modified alerts behavior to not fire reminders for non-visible events

- Changed behavior of scheduleNextAlarmLocked to clean out the CalendarAlerts
table for events on non-visible calendars
- Added a call to scheduleNextAlarmLocked when calendar visibility is toggled

Change-Id: I67ef124c4ea654a24dd6c3aff6a59fa50ca74131
alendarProvider2.java
56292bcd683034ea05dd407ed15cebb70f954210 20-Aug-2010 Fabrice Di Meglio <fdimeglio@google.com> resolved conflicts for merge of d69a1a64 to master

Change-Id: Idbdf00fde2b62a6e910c5a7433473a589998e737
d69a1a64027cd5937c7db622aaf7af493e6d3610 17-Aug-2010 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #2891424 (Cant see events in Calendar - after updating timezone db)

- force the Instances re-expansion after cleaning them

Change-Id: Ie4c843ff95039b343caab7b34de5e1d963727a72
alendarProvider2.java
f50ca85e25d0e450b9f2ad78ee37870294462d4c 28-Jul-2010 Mason Tang <masontang@google.com> Small fix to bug in attendee search in search arg loop logic

Change-Id: I0f8a3cdf92d91a85a0108dd2005ab0bfe8937392
alendarProvider2.java
18f75d6fe8dd0b4fb1deb5e56b4356ae6527bdbc 21-Jul-2010 Mason Tang <masontang@google.com> Added support for searching attendees

Change-Id: I0ea6049cb97f213f529e06a10c468dbf553f2d23
alendarProvider2.java
dc866a1a66871a55810cbf98169f3212fb47acd3 21-Jul-2010 Mason Tang <masontang@google.com> Added support for quoted phrase search, string escaping in calendar provider

- We can now parse queries that include quoted phrases
- We also escape special characters like "%" and "_"

Change-Id: Iaf2519aa1b1af4753a2bf3b9bea342379186dac2
alendarProvider2.java
81d904d66bd746c077cc0baa6cf1f51fe030eac4 13-Jul-2010 Mason Tang <masontang@google.com> Added event search to the provider, fixed provider unit tests

- Implemented using LIKE pattern matching, no changes to the database
- This is completely transparent to the database itself
- The CalendarProvider2 unit tests will now pass...sometimes

Change-Id: I47f8285ad97edb6943951a563eaf9c5df83043d9
alendarDatabaseHelper.java
alendarProvider2.java
7e7329964ddd60c98e93a7eda18b68944a630382 16-Jul-2010 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #2846543 Delete HIDDEN column from the "Calendars" table

- delete the "hidden" column and udpate the schema version for adding the "sync5" column

Change-Id: Ibeba3ab547626b4f6f8a0cb0f2dd49874e4d73d6
alendarDatabaseHelper.java
836bc8e9da32b8231f1b0d57be271730d7a5368d 08-Jul-2010 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #2793828 (Sync/visible setting on the phone should not affect what's visible on the web.)

- introduce "sync4" column into Calendars table to store "selected" from Web calendar

Change-Id: I29e8dc07969a4bc605cdfb4159c33cc5841b0c2e
alendarDatabaseHelper.java
1fc162fc3a3bb466a39146cf59a8b51ec5d9de52 08-Jul-2010 Fabrice Di Meglio <fdimeglio@google.com> Fix calendar database update to version 72

- need to delete the trigger as it is still there even after altering the table name

Change-Id: I03633c204c8667de5cb39a08996d2c4caddede72
alendarDatabaseHelper.java
1b6beb61ef04c3da6ab0bdf8504ffecea2b9534c 30-Jun-2010 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #2779582 (Columns cleanup for the Calendars table)

- suppress deprecated "url" column
- replace eventsUrl / editUrl / selfUrl columns by sync1 / sync2 / sync3
- upgrade database

Change-Id: I03553dd926374f1125650db90af6ac4156261e8a
alendarDatabaseHelper.java
alendarProvider2.java
dabc4a9d60080bf97e50baad83acf2ec6c3adc07 01-Jul-2010 Mason Tang <masontang@google.com> Fix bug 2812165 - Flooding of notification intents during CalendarSync

- Instead of a fixed timeout delay of 1 second for all provider updates, we
now will choose either a 1 second delay for regular updates, or a 30 second
delay for sync-related updates. This should be a long enough window so that
the notification intent only fires once or twice even over a very long sync.

Change-Id: Ife292d04749717c4d3770fd6bcc7c42c3b5a9e05
alendarProvider2.java
a84cc39ca05e0e799f03e04a1d3e30b5ff733cd7 18-Jun-2010 Mason Tang <masontang@google.com> Refactored so that the widget is now with the app, not the provider

- CalendarProvider2 now broadcasts a PROVIDER_CHANGED intent to notify the
widget and any listeners of changes
- CalendarProvider2 will also batch any update notifications over a
configurable timeout, right now at 3 seconds, in order to prevent a storm
of intents.

Change-Id: I884c2fff505be39f6a17b389e002b7bd07976141
ppWidgetShared.java
alendarAppWidgetProvider.java
alendarAppWidgetService.java
alendarProvider2.java
mptyService.java
imeChangeReceiver.java
ae4e50b2c35fe4549d1df6568544aa72057dcbe1 04-May-2010 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #2619140 (ANR: calendar provider does too much in onCreate())

- make the CalendarProvider2 onCreate() similar to the ContactsProvider2
- do lazy initialization and use the previous Timezone checker thread to run the verifyAccounts()
- get the writable database reference as soon as possible

Change-Id: I9e840ae47d7aacfe48c5e4ebc22b509189bb51bd
alendarProvider2.java
3ee5e75440f52e76bfef1aae73e2a4047ae45e7c 16-Jun-2010 Mason Tang <masontang@google.com> Fix bug #2589483 and implemented animated pagination in the widget

- Fixed a number of refresh issues in the widget
- Implemented animated pagination for overflowing events
- Updated corresponding unit tests for new behavior

Change-Id: I8883611be476d61d655c4427b8b9ba86092b0cbb
alendarAppWidgetService.java
alendarProvider2.java
bedfbe0065e48c652814bd3b864dabf7589f344b 17-Jun-2010 Fabrice Di Meglio <fdimeglio@google.com> Fix broken AFTER_EVENT_INSERT_SQL trigger for CalendarDatabaseHelper

- was broken in https://android-git.corp.google.com/g/#change,54504

as part of fix for http://b/2772317

Change-Id: I11d3ed62a2cd3f16edab2eb25ec3edd7abe41e28
alendarDatabaseHelper.java
c59a6b5d8ff6b941fc44e9181e668fe0ec7df088 16-Jun-2010 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #2772731 (Start deprecation of "url" Calendars column in favor of "eventsUrl" column)

- suppress references to Calendars.URL

Change-Id: I40ffe3ca5c6113bc09802521f1c4b35eb8c67d80
alendarDatabaseHelper.java
alendarProvider2.java
7cb72fa3ea680dce378d8dac71f878e52e03f83a 16-Jun-2010 Fabrice Di Meglio <fdimeglio@google.com> Fix bug# 2772317 (CalendarDatabaseHelper internal cleanup)

- use constants defined into Calendar interfaces

Change-Id: Ia1e87e0605c75619677826fc8a1dcadbe0973ca6
alendarCache.java
alendarDatabaseHelper.java
alendarProvider2.java
370f91c0cfe5a5fecaba6120e703f4d2271d2277 16-Jun-2010 Erik <roboerik@android.com> b/2635697 Makes recurring events disappear immediately when deleted

We had added a special check to make sure deletion exceptions weren't reexpanded
but deleted recurrences were still being reexpanded until after they synced up
to the server and the underlying event was removed. This change prevents deleted
recurring events from being expanded in the instances table. Also needed to delete
all exceptions to the event ( b/1383817 ).

Change-Id: Ia9bb69e35c34086f691653fe24aad6d96a211da9
alendarProvider2.java
4755f64efe4aee60d0c2236d35b7e42ed74e4cb9 15-Jun-2010 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug #1661857 (switch from using meta feed to the new allcalendars feed)"
7fcb12833c80a7f33a156d6ab25121bc05fc70de 11-Jun-2010 Michael Chan <mchan@android.com> b/2550724 Clean up of https://android-git.corp.google.com/g/#change,46783

No functional change. Just clean up per code review:
Rename TextAppearance.widget_xxx to TextAppearance.XxxWidget
Added android:visibility="gone" for items that won't be visible
Replaced hard coded strings with constants in where clause e.g. "startDay" -> Instances.START_DAY
Removed EventInfo.hashCode() and EventInfo.equal(). Will be comparing .toString in the tests instead
Renamed getAppWidgetModel to buildAppWidgetModel

Change-Id: Id70b891df2323ae0af9500c3cfabc60940366934
alendarAppWidgetService.java
43b3eba05ef67bdd4b0a2b285b6ed2b377c136c5 22-May-2010 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #1661857 (switch from using meta feed to the new allcalendars feed)

- add support for new database schema for Calendars table (new columns: selfUrl, editUrl, alternateUrl, eventsUrl)
- add database upgrade code
- update Events.DELETE constant
- add Calendars Entity support

Change-Id: I040d153ce9ba15f77b582c083a79ea6e8e777535
alendarDatabaseHelper.java
alendarProvider2.java
1e0a2eebcf3c9d4609c5719856c013072d10facb 09-Jun-2010 Michael Chan <mchan@android.com> b/2550724 Add second event to calendar widget in portrait mode.

- Show "<time>, Tomorrow" if the event happens tomorrow.
- Show "<time>, <day of the week>" if within the next 7 days
- Drop the time for all day events
- Stop showing current event 15 minutes into the event or halfway which ever is first
and switch to the next event. (previously it was midway through an event or no grace
period for events longer than a day)
- b/2278475 Fixed the problem where the widget is not refreshing at midnight
- Query for 10 events instead of a weeks worth

Change-Id: Ia516ab25ed12ba9905e4e9ed9d49aa7209817f2c
alendarAppWidgetService.java
207a50356465283ec613deeb10057c1bcde34218 28-May-2010 Jeff Hamilton <jham@android.com> am 25b0f0ee: Add a PRE_BOOT_COMPLETED receiver.
25b0f0ee070a5fff18cfcaffa86cb1607941c8a5 26-May-2010 Jeff Hamilton <jham@android.com> Add a PRE_BOOT_COMPLETED receiver.

It runs the first time after an OTA and either creates
the database or runs the upgrade path on it. This may
take a significatn amount of time so it's done before
the boot animation completes.

Bug: 2713849
Change-Id: Ie7ac396bd82577cd421daa102ad05c0abf55b6f0
alendarDatabaseHelper.java
alendarUpgradeReceiver.java
ventLogTags.logtags
02494e34ecc44c1557a9929cdaef24d603e63450 30-Apr-2010 Fabrice Di Meglio <fdimeglio@google.com> Improve deleteEventInternal() by issuing only the correct deletes

- suppress explicit deletion of Attendees when deleting an Event (because of the delete trigger on the Events table)
- delete Instances / EventsRawTimes / Reminders / CalendarAlerts / ExtendedProperties for the Calendar App only

Change-Id: Icab7fc4fe3ff48381c6a24ff20cae1d88caf4c9b
alendarProvider2.java
54ae579e0d35448ab78aa35b44c471f27f7e5335 28-Apr-2010 Fabrice Di Meglio <fdimeglio@google.com> am 10b51a19: Fix for bug #2634470 (Force close in FRF26)
10b51a19b296eac6c43608a7a57fb910b0e5e8bc 28-Apr-2010 Fabrice Di Meglio <fdimeglio@google.com> Fix for bug #2634470 (Force close in FRF26)

- make deleteEventInternal() not launching a thread for checking alarms when used in a batch

Change-Id: I72f8fe9ba1561623732f02bcbfb3d92dd4fde097
alendarProvider2.java
f0a323569abc78c869990cfb706a709418733700 27-Apr-2010 Fabrice Di Meglio <fdimeglio@google.com> am 1dc29193: Fix bug #2622128 (Can\'t delete Exchange event exception)
1dc2919361bc56af0c5ea763845fae49d289839a 27-Apr-2010 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #2622128 (Can't delete Exchange event exception)

- use DELETE status during instances expansion

It was previously only checking if the eventStatus was not STATUS_CANCELED for inserting
the instance. Now it should be not DELETED as well.

Change-Id: Ifc870ad5026c9680593e4adf63596852c056b3eb
alendarProvider2.java
d8866559e203841fef69293d4e7d5c6c88e47a3b 13-Apr-2010 Fabrice Di Meglio <fdimeglio@google.com> am 34a32009: Merge "Fix bug #2590414 (android.database.sqlite.DatabaseObjectNotClosedException: Application did not close the cursor or database object that was opened here)" into froyo
34a320093a689fa326c1b2b2b6a26771f0ba7400 13-Apr-2010 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug #2590414 (android.database.sqlite.DatabaseObjectNotClosedException: Application did not close the cursor or database object that was opened here)" into froyo
89b9b3303f629b277adc44c5a0e7b9845f045a25 13-Apr-2010 Erik <roboerik@android.com> am e3730b9d: b/2440161 Made UTC override timezone for allday events
e3730b9dce00439666e7ef324a28263a0ee92032 12-Apr-2010 Erik <roboerik@android.com> b/2440161 Made UTC override timezone for allday events

Exchange events had an incorrect timezone set for allDay events and we were setting
sec, min, hour to zero on that timezone. This change will make it override any tz
set and force allDay events to be in UTC.

Change-Id: I14fbdcc14bae2ef45b2e5e0c70e68e4c26136d7b
alendarDatabaseHelper.java
1f755da44aeecdc84d0e957d55178f942dfdb15d 12-Apr-2010 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #2590414 (android.database.sqlite.DatabaseObjectNotClosedException: Application did not close the cursor or database object that was opened here)

- close Cursor as needed
- code formatting

Change-Id: Ia4d00392927eabbd2e69cc6181b9809656fc5299
alendarProvider2.java
67c464e0099db5b6da561c46031f71910ba075b8 10-Apr-2010 Erik <roboerik@android.com> am 63540b18: Merge "b/2560858 Upgrade will clean up allDay events" into froyo
7b40dde3168f4af2c757cb43955aa3bfe1668666 08-Apr-2010 Erik <roboerik@android.com> b/2560858 Upgrade will clean up allDay events

Added an upgrade step that will clean up allDay events in the database. This
will set times to have hms be 0 for allday events and try to format duration
into P<#>D. This doesn't fix other problems, such as fields having a value
when they shouldn't.

Change-Id: Ifb1e28bd2e536324e73558ce79da44f7c5b550d7
alendarDatabaseHelper.java
e6ef9bfeeea2c618a025ef49154548cd1c93f9c9 09-Apr-2010 Fabrice Di Meglio <fdimeglio@google.com> am 679d544f: A better and simplier fix for bug #2556677 (pre-froyo->froyo calendar schema upgrade mangles CalendarMetaData schema, causing strange instance expansion issues)
679d544f38aa33d00c12884b987d8f8af2a6a6d3 09-Apr-2010 Fabrice Di Meglio <fdimeglio@google.com> A better and simplier fix for bug #2556677 (pre-froyo->froyo calendar schema upgrade mangles CalendarMetaData schema, causing strange instance expansion issues)

We need to clean the Instance table and recreate the CalendarMetaData table
when database version is between 59 and 66 included.

Change-Id: If105ce3629685d40bc5966bb3cdd7ca613a29f7e
alendarDatabaseHelper.java
422108d903a31f5ae31971a1305e523f91cc90a1 09-Apr-2010 Fabrice Di Meglio <fdimeglio@google.com> am 1599ceb2: Fix bug #2556677 (pre-froyo->froyo calendar schema upgrade mangles CalendarMetaData schema, ...causing strange instance expansion issues)
1599ceb270bc70f81dcaf8ecf4568453d7dddd9e 08-Apr-2010 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #2556677 (pre-froyo->froyo calendar schema upgrade mangles CalendarMetaData schema,
...causing strange instance expansion issues)

- force recreation of CalendarMetaData table for versions 59 (start of the problem) to 66 included
- clean Instance table (we need to have it recomputed)
- update schema version to 67
- moved code of upgradeToVersion56() and upgradeResync() to their correct location

Change-Id: Ie95b11cc75ec2200ce32deaee49e0a7c6114acf7
alendarDatabaseHelper.java
e197216a892052d41acefbccbb79299ac9c65386 07-Apr-2010 Michael Chan <mchan@android.com> am 6c7b032a: b/2278475 Refresh calendar widget at midnight
6c7b032aa9d84c703f6c02982837ecb8a1ac509a 06-Apr-2010 Michael Chan <mchan@android.com> b/2278475 Refresh calendar widget at midnight

Change-Id: Ie7340c5b79733c9124bbeff9de72fa0d776644dc
alendarAppWidgetService.java
36cb2d807c8dbfbd11cc65c66ad9004d27f34cec 31-Mar-2010 Ken Shirriff <kens@google.com> am d5aa3cc1: Upgrade sync state database for calendar if necessary.
d5aa3cc17ecda3d72882d9a2e6c48577892df903 29-Mar-2010 Ken Shirriff <kens@google.com> Upgrade sync state database for calendar if necessary.

bug 2549250

Change-Id: I9957cc5385363aeac93f2bea20453bab3e8446a8
alendarDatabaseHelper.java
d6365380723489d2d38afe34d267f747325108c3 25-Mar-2010 Erik <roboerik@android.com> b/2542803 Removed the throw for other time formats.

Were throwing an exception if an allDay event had duration in a format
other than 'P#S' or 'P#D'. Removed the throw so other formats can be
used (though we will not check them for correctness).

Change-Id: I3541b43c693c2ee42af3d3be5463ec02cf69aedc
alendarProvider2.java
d5475a8c72d98644718dbecdb5dce8bfedc18b4b 18-Mar-2010 Ken Shirriff <kens@google.com> Fix recurrence expansion with COUNT.

The problem was the first instance was not getting counted if it fell to the left
of the expansion range, resulting in one extra instance getting created on the end.

Also provide unittests for recurrence expansion and remove some dead code.

bug 2515885

Change-Id: Idcc46ef45c860c26fd6cff5b9ae6d5d160d3ed00
ecurrenceProcessor.java
1030436aca59c5123ac90e325e8dbd7e04143909 18-Mar-2010 Ken Shirriff <kens@google.com> Make instance expansion specific to a calendar.

In the old code, canceling of recurrence instances due to exceptions was
based on the sync_id and time. If two calendars happened to have events
with the same sync_id and time, the wrong cancellations could happen.

In this change, sync_id:calendar_id is used to track instances and cancellations
to ensure uniqueness.

bug 2425227

Change-Id: I0b79340f3f45a124f3e3850754c5e5c9cb2bd5a0
alendarProvider2.java
25e5cdec4e39982fedcce0733d2b8ad1aa665b19 18-Mar-2010 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #2519159 (com.android.providers.calendar.CalendarProvider2Test:testChangeTimezoneDB is failing)

- update visibility for method getTimezoneDatabaseVersion()
- update CalendarProvider2 make file (add guava) and clean tests make files

Change-Id: I61a0f1a8fb164e6f28137eb816555b3a96dc8a80
alendarProvider2.java
e604c19770482e181aa60a611b861ce5d8ed67d7 16-Mar-2010 Ken Shirriff <kens@google.com> Make sure values are set correctly when inserting event.

For a recurrence, dtend must be null. This change enforces that,
as well as some other conditions on the value.
Includes unittest.

bug 2513213

Change-Id: I04a1b7bd2f91e579177dd80741b4487409e903fc
alendarProvider2.java
2c32ee7d6feec2b6823dbaa3778e8f4b10102214 12-Mar-2010 Erik <roboerik@android.com> Looks like db version wasn't updated with the last change

Upped the DATABASE_VERSION to 66.

Change-Id: I6431eeee24560925ea9774a79bc89faeae19d826
alendarDatabaseHelper.java
a6357118c223d00ed722ecd40ecdda92d705d211 12-Mar-2010 Erik <roboerik@android.com> b/2497120 Added method for rebuilding db in upgrade failure

We're getting crashes from experimental testers that look like the user
downgraded then upgraded their phone without doing a data wipe. Added a
catch for this that will wipe and rebuild the db if the upgrade fails like
this.

Change-Id: I8d2f28dd7a4a312f56573e3fffd2d8e3a2539350
alendarDatabaseHelper.java
48de6f3f474a66bca2d9398f4697d13ab9857ad3 12-Mar-2010 Ken Shirriff <kens@google.com> Merge "Fix cursor leak."
ae2599e63fe5e153ba735564ef3c0898d4f3c833 12-Mar-2010 Ken Shirriff <kens@google.com> Fix cursor leak.

Cursor was not getting closed if cursor returned zero results.

bug 2510590

Change-Id: I39e65056e2639f1afe7872a2bd14c5cbf7ca8e67
alendarProvider2.java
bf897b03effb752368a98cfb89e6b90cfdde50fc 12-Mar-2010 Marc Blank <mblank@google.com> Add an organizerCanRespond column to Calendar table (with default 1)

* Partially addresses the referenced bug
* Exchange calendars will have this column set to 0
* When set to zero, the UI should not display the organizer's attendee status

Bug: 2507842
Change-Id: I1181a6eb3575a70b4587a94de35fc4abf6fb00c8
alendarDatabaseHelper.java
cf9dc6b9bd031b1f6f811a32326ee85429c94deb 10-Mar-2010 Marc Blank <mblank@google.com> Update database version and add upgracde code for previous change

Change-Id: Iec862424c552a30622a49f2b3eed81a714bcb503
alendarDatabaseHelper.java
1b7ecf93653da26f9aaf50bec329f29827129be3 10-Mar-2010 Marc Blank <mblank@google.com> Merge "Add _sync_mark to view_events view"
a450a5220c7aa7a2693cd23d8d21a0dfe5614067 10-Mar-2010 Marc Blank <mblank@google.com> Add _sync_mark to view_events view

Change-Id: I86d30f538a4c8e60136a244133cb9c7aec2353b4
alendarDatabaseHelper.java
646444fdde3bde0a2ac948e021bc52b07c1d4a18 05-Mar-2010 Erik <roboerik@android.com> b/2440161 Added time checks for allDay events.

allDay events where sec, min, hour are not 0 are being added into the db
which causes an exception to be thrown. Added in checks to cp2 that will
correct events with this mistake and warn instead.

Change-Id: I09485114be605b2b2dbb2c4897dc908e5c609cf5
alendarProvider2.java
48f38786c5eef920ff47bf08718be3ff94b68993 06-Mar-2010 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #2490708 (NPE in CalendarSyncAdapter when adding and deleting an Event)

- clean events from the Events/Attendees table is they are local

Change-Id: I4dd21db96034bde2cda9f8f1dd553033c5a25ff4
alendarProvider2.java
e1a154bbccfd224a90647ab16f5c52fc96b4339d 05-Mar-2010 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix bug #2485358 (add more logging to CalendarProvider2)"
26d0bf3c34f170f9398ac32bf04b87d4957a4441 04-Mar-2010 Ken Shirriff <kens@google.com> Move calendar wipeData to the test.

This method is only used by the test, so it doesn't make sense to have
it in the CalendarDatabaseHelper. This also caused test failures when
Proguard filtered out this method.

bug 2487351
alendarDatabaseHelper.java
ab42ec67e77c398ac94ff1cf561fadd9f6b48dcb 03-Mar-2010 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #2485358 (add more logging to CalendarProvider2)

Change-Id: I1bac8559d75e712b0a9c66c352ea971fc153367b
alendarProvider2.java
8888a5a92dc717a485a1b934347f804c264b57f5 01-Mar-2010 Ken Shirriff <kens@google.com> Replace android.pim.DateException with com.android.providers.calendar.DateException.

Since DateException is only used by the calendar provider, it should be in the provider
code. Then android.pim.DateException can be removed.

Also get rid of tests for DateUtils methods that are no longer used.
(The tests are the only thing that use these methods.)
alendarProvider2.java
ateException.java
uration.java
ecurrenceProcessor.java
550cfa4e2ebb03ec0f28b8bbfd466eef8811ef74 02-Mar-2010 Marc Blank <mblank@google.com> Merge "Handle rename of _SYNC_LOCAL_ID to _SYNC_DATA in Calendar"
c12fe4704e12519756b8da1a3f9199f2013e48f0 02-Mar-2010 Marc Blank <mblank@google.com> Handle rename of _SYNC_LOCAL_ID to _SYNC_DATA in Calendar

* This is being used as a discretionary column by Exchange calendar
sync, so rename to avoid association with old usage

Change-Id: Ifdcc0be10d45d261760ebd36bb6bc270c3f70699
alendarDatabaseHelper.java
alendarProvider2.java
9e318a560b6a56e4d8e1a4b2c89cf5d5a922254b 01-Mar-2010 Erik <roboerik@android.com> Another fix for widget launching Calendar when no accounts/events exist.

Widget wasn't setting a data string when no events existed, which caused it to be
ignored by calendar. I've moved things around so the data uri always gets set and
only the time field is optionally added to it.
alendarAppWidgetService.java
59759558e9dcce17a0f36770180c2a599c399076 28-Feb-2010 Marc Blank <mblank@google.com> Make sure _SYNC_LOCAL_ID is in the entity projection map

* This column was excluded from the projection map, presumably via an
oversight.
* The Exchange sync adapter requires this for sending meeting invite
change emails to attendees
* Remove two superfluous casts, and add an @Override to run

Change-Id: If515f9fc4ad0a2fcd59f93f644f6c104bdbd14e9
alendarProvider2.java
192b1807d4b6265a4f7581580bd6172dae3fc1b1 27-Feb-2010 Marc Blank <mblank@google.com> Don't delete attendees until Event is finally deleted

* Exchange (and potentially other sync adapters) needs to send cancellation
notices when Events are deleted; this requires that Attendee information
remain intact until the Event is actually deleted (rather than being marked
deleted)
* The change is to move the deletion of Attendee rows until the Event is
actually deleted
* There are also some IDE-compatible formatting changes and a little cleanup

Bug: 2474733
Change-Id: I1fcdfc58bb3341f77b1f1087029db39749851f5e
alendarProvider2.java
7fbdc1fa9e9ea1603948722f8ce971f075da4bb5 27-Feb-2010 Erik <roboerik@android.com> Added flag to ensure intent is always handled.

Currently, if the user presses home from within Calendar and then taps the widget it goes
to the last view the user had up. With this flag it will instead handle the intent from
the widget and go to the start of the next event.
alendarAppWidgetService.java
997e2e5cb006682bc1a82441304994b458d9745d 27-Feb-2010 Erik <roboerik@android.com> Quick fix to allow starting calendar without a time specified.
alendarProvider2.java
48587d3291c4db7f0942e1bff55b88cfa7764ba0 24-Feb-2010 Erik <roboerik@android.com> b/2412594 Changed widget to use an implicit intent.

Added an implicent intent filter to the Calendar launcher so it will no longer be tied
to the package name. The widget is now using that intent to launch the Calendar so it
doesn't have to use a hardcoded package name. Also added uri matching for a time to be
specified as part of the data field in the intent.
alendarAppWidgetService.java
alendarProvider2.java
157f659b2d1df5dfbba59ae010875487b6507446 26-Feb-2010 Marc Blank <mblank@google.com> Merge "Add lastSyncedAttendeeStatus to CalendarProvider2 database"
162c7c9bbd53b623fbe913b376e7f7f42915bb59 25-Feb-2010 Marc Blank <mblank@google.com> Add lastSyncedAttendeeStatus to CalendarProvider2 database

* This column is intended to be used by those sync adapters that need to
recognize a change in the user's attendee status; it is uninitialized,
so its value, until modified, will be retrieved as zero (no status)
* This column is not used directly by the provider, so that its semantics
are not defined outside of a particular sync adapter

Change-Id: Ibddc6cf3bf7df04e79c8ce919b54f1af5310b4ab
alendarDatabaseHelper.java
156ad29fe71eaae73cddad9b17690d1cc8225136 25-Feb-2010 Ken Shirriff <kens@google.com> Use SQL query parameters for reminder lookup.

Due to a complex issue with manifest typing in SQL, a cast is requierd.

bug 2458259 2464440
alendarProvider2.java
2d1b3d70a6ebce8194932f8a8355d97a89da113f 19-Feb-2010 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #2438401 (Froyo calendar is missing many entries)

We want to keep unsynced calendars from being visible in the UI:

- filter events by sync_event state when doing Instance expansion thru getEntries()
- keep events in the Events table (better than erasing them when a calendar is not syncable)
- change events_view View to be able to get the sync_event state
- add database schema upgrade for the Events view
- clean some comments

Change-Id: I9382fe572db371dfa33b200b6dfd870265c6ffcc
alendarDatabaseHelper.java
alendarProvider2.java
9323bb1bbb247bac4871595a3de387ec7568897e 23-Feb-2010 Ken Shirriff <kens@google.com> Partially revert "Use SQL query arguments."

Due to database bug 2463913, query arguments don't work in this case.
bug 2458259

Also improve comments.

This reverts commit dc538177512191886cc40bc5e5125aae9bb197aa.
alendarProvider2.java
241041ee4735c62083ca9a8c1879bb7655fce19e 23-Feb-2010 Ken Shirriff <kens@google.com> Fix *#*#CAL#*#*

Was using Events._sync_dirty instead of _sync_dirty
alendarDebug.java
5bbabdd2f8732a844f28fe545dc2fbf97b2b47e9 22-Feb-2010 Erik <roboerik@android.com> b/2458172 Changed launch intent for widget.

Changed the intent path for launching Calendar from com.android.calendar to com.google.android.calendar.
This change reflects package name changes.
alendarAppWidgetService.java
2cc859cab85391a240b9c3f28c935d919c8ceb8c 01-Feb-2010 Ken Shirriff <kens@google.com> Unbundling: remove deprecated deleteRow().

Delete calendar through resolver rather than using cursor operation that
isn't in SDK.
alendarProvider2.java
dc538177512191886cc40bc5e5125aae9bb197aa 19-Feb-2010 Ken Shirriff <kens@google.com> Use SQL query arguments.

Using static strings makes the SQL cache happy.
alendarProvider2.java
f8de1a9391de5d8b6a6a0ae7c55e1a2c318d6c05 16-Feb-2010 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #2331761 (Instances of a recurring event are missing)

by detecting and ignoring malformed recurrences

Change-Id: Ia669dad297edebd1a34eff839fc0235459f319b1
alendarProvider2.java
9535627bf6295cd94447beb83e1aac41f50c3600 12-Feb-2010 Erik <roboerik@android.com> b/2441483 Dropped url requirement in CP2.

CP2 will now pass in a null argument when no url is available. This means Sync adapters
are not required to supply a url feed for their calendars and should handle sync status
changes on their own if they don't.
alendarProvider2.java
f09652d7327e45711f0e5b210e4df9c4c4c78ac4 13-Feb-2010 Fabrice Di Meglio <fdimeglio@google.com> Fix for bug 2431102 (illegal argument exception / negative CalendarId)

Change-Id: I552083eddd716353f5525eb8ef35ca8b2f7aa598
alendarProvider2.java
46f3f01b132f97b51ec1f4670769dda499cd9da5 12-Feb-2010 Ken Shirriff <kens@google.com> Remove dependencies on gsf-client and google-common.

Use HashMap and HashSet instead of com.google.android.collect.Maps/Sets. Remove dead code.
bug 2425037
alendarProvider2.java
c874ed5c6cc0fcc6ac06ae7d20db0eab7d749608 11-Feb-2010 Ken Shirriff <kens@google.com> Fix instance expansion.

Was getting a constraint violation due to using insert instead of replace.
bug 2439297
alendarDatabaseHelper.java
alendarProvider2.java
dbaad88527665d5144a8a178fa822f58d2bc7d05 11-Feb-2010 Erik <roboerik@android.com> Quick fix for databases where events are missing a timezone.

Added a check to see if a timezone was returned for an event. If one wasn't it uses
UTC as a default timezone.
alendarDatabaseHelper.java
be0733e7f38cabc7eedcb2ee0ed9ab7005439a2f 10-Feb-2010 Erik <roboerik@android.com> b/2434881 Dropped not null requirement for dtstart2,dtend2

Calendar was crashing for certain events that contained a null entry in dtend.
Removed the requirement that dtend2 be non-null.
alendarDatabaseHelper.java
ae4f20e120d3107cef20be860a612c9c23816295 08-Feb-2010 Erik <roboerik@android.com> b/1522903 First step in converting allday events to local timezone

This is the first change for converting allDay events to use the local
timezone instead of being in UTC timezones. This will make dealing with
alarms on allDay events easier to manage and allow us to remove a large
number of checks throughout the code to deal with allDay events
differently.
alendarDatabaseHelper.java
754b6d0e96c7df4cb649a48cde21b72c3dcedf4a 09-Feb-2010 Erik <roboerik@android.com> Quick fix for missing version number.

In the db update from vs 60 to 61 the version number didn't get changed, this fixes any
issues this could create.
alendarDatabaseHelper.java
ae270e35e14b5c7a756050cb8dcccf5771743850 03-Feb-2010 Fabrice Di Meglio <fdimeglio@google.com> Fix bug 1025931 (need to reprocess events table when timezone db changes)

Change-Id: I4a196c2bf03fcae6cb53807940b7b59345fd4fb8
alendarCache.java
alendarDatabaseHelper.java
alendarProvider2.java
83512315d187baad2c9dc3ed686cc23676c9f463 30-Jan-2010 Ken Shirriff <kens@google.com> Unbundling: use URI instead of direct provider call for scheduling alarms.

See bug 2407593
alendarProvider2.java
alendarReceiver.java
1edaf77a7ef2fbad6b6116dd75591e0aeaff3a16 28-Jan-2010 Ken Shirriff <kens@google.com> Use DateUtils constants.

I thought these weren't in the SDK, but they are.

This partially reverts "Unbundling: remove dependencies on SyncStateContentProviderHelper and DateUtils from CalendarProvider2.", commit c4e53191b570e09959c5723f4d253977ba48f2d0.
alendarProvider2.java
9f9651d0ccd02a4156a02698fa5fb943ea7dc034 28-Jan-2010 Ken Shirriff <kens@google.com> Merge "Unbundling: Remove SECRET_CODE_ACTION import."
d3c602b07427cfeb90f9796d36f90cbf91dbc9f0 28-Jan-2010 Ken Shirriff <kens@google.com> Unbundling: Remove SECRET_CODE_ACTION import.

The receiver is called only for this action, so it doesn't need to explicitly check.
alendarDebugReceiver.java
00635105a4c45bb38324fd098ac66d491930fa8e 28-Jan-2010 Ken Shirriff <kens@google.com> Remove old CalendarProvider and CalendarSyncAdapter.

CalendarProvider2 has replaced CalendarProvider and the
CalendarSyncAdapter in com.google.android.syncadapters has replaced
this CalendarSyncAdapter.
alendarProvider.java
alendarReceiver.java
alendarSyncAdapter.java
alendarSyncAdapterService.java
Cal.java
c4e53191b570e09959c5723f4d253977ba48f2d0 26-Jan-2010 Ken Shirriff <kens@google.com> Unbundling: remove dependencies on SyncStateContentProviderHelper and DateUtils from CalendarProvider2.
alendarProvider2.java
8f4ccb20cce4cd09bd9e0c777d2d5cd92a2c9b78 28-Jan-2010 Ken Shirriff <kens@google.com> Fix calendar reminders.

This is a port to CalendarProvider2 of:

b/2224837 Clean up Alerts/Notifications
Also eliminated stale entries from the Calendar Notification list and keep the message and reminder count in the Notification shade up to date. Before you would see entries for events, instances, or reminders that have been changed or deleted.
Change-Id: I7f02fe378e5907e60b8ba5a99577fda444d69a32

bug 2390838
alendarProvider2.java
3654f1fa28d8018620de3a5275abeb81b228ee79 27-Jan-2010 Ken Shirriff <kens@google.com> Merge "Unbundling: copy calendarEmailAddressFromFeedUrl method"
e74157e34e174c923032a4b93ad298d0f234879c 27-Jan-2010 Ken Shirriff <kens@google.com> Fix CalendarAlerts query.

The alert code expects the color column, which requires the query to be joined with
the calendars table. Also add a unittest.

bug 2390762
alendarProvider2.java
d39cfe09aa7e752cdc7512ae58d90d49d4b5ef9e 26-Jan-2010 Ken Shirriff <kens@google.com> Unbundling: copy calendarEmailAddressFromFeedUrl method
alendarDatabaseHelper.java
5be95052daa6c35fa2f634086897b84259eae288 22-Jan-2010 Ken Shirriff <kens@google.com> Replace calendar authority with constant.

bug 2388178
alendarReceiver.java
b57f228c23d3672c1f08153f3fcc88ced2011714 22-Jan-2010 Ken Shirriff <kens@google.com> Change hardcoded calendar authority strings to use constants.

This will allow the authority to be changed in the future.

bug 2388178
alendarProvider.java
alendarProvider2.java
a6101d927be2fc5cccfcd93009e4a155e255884d 21-Jan-2010 Doug Zongker <dougz@android.com> relocate GoogleLoginService

Change-Id: I5932a668cdfd4a444d6e95a5d8d670c51215339b
alendarProvider.java
alendarSyncAdapter.java
cc2f3a9448fba7a6ee0e4c7d6e2aef21be294af8 21-Jan-2010 Ken Shirriff <kens@google.com> Merge "Add calendar database upgrade code."
8335a18ac6024f302b50e6f473ad4058cc355c85 20-Jan-2010 Ken Shirriff <kens@google.com> Optimize instance database operations by using selectionArgs.
alendarProvider2.java
56120dd505f0b89776ae71e93ed4e208e1f15e1d 20-Jan-2010 Ken Shirriff <kens@google.com> Disable debug logging by default.
alendarProvider2.java
636b4fb283b9d2802afd179b20a24f2f5035ee69 16-Jan-2010 Ken Shirriff <kens@google.com> Use fixed sql selects for performance.
alendarProvider2.java
ad37c99d051aa4e2508b940c8dec91ee87f53056 15-Jan-2010 Ken Shirriff <kens@google.com> Add calendar database upgrade code.

This switches the CalendarProvider2 code to use the calendar.db database
and upgrade it in place. The upgrade code from versions 57 and 58 is
copied from CalendarProvider.
alendarDatabaseHelper.java
43556fa5610bd302cb80aa5ddc98af1e2f2d8b18 14-Jan-2010 Ken Shirriff <kens@google.com> b/2363376 Fixed month view loading error.

Converted table expansion request dates to ms format so that it would take the proper
action in the month view.

This is I25aafacf applied to CalendarProvider2.
alendarProvider2.java
25aafacfdc4cd610e45333df94b0b2e81d9ff696 09-Jan-2010 Erik <roboerik@android.com> b/2363376 Fixed month view loading error.

Converted table expansion request dates to ms format so that it would take the proper
action in the month view.
alendarProvider.java
83c55844974ca611a553e704663ed845d84c7930 06-Jan-2010 Ken Shirriff <kens@google.com> Add trigger to keep event account correct.

When an event is inserted, the _sync_account and _sync_account_type will
be updated from the Calendars table.
alendarDatabaseHelper.java
348f0a5b9ef74356c32562ec4136e875fdb6811e 08-Jan-2010 Ken Shirriff <kens@google.com> Fix SQL broken by busybits change.
alendarDatabaseHelper.java
90185cd0857fa5fdc50e8e12c41af6fd4d887934 08-Jan-2010 Erik Pasternak <roboerik@android.com> Merge "b/2293263 Finished removing busyBits."
dbd797d59294d72d7ea9226d10128674b634aaad 08-Jan-2010 Erik <roboerik@android.com> b/2293263 Finished removing busyBits.

Removed the rest of the references to busyBits and refactored writeLocked to drop unused
fields (were previously part of busybits). Added revision update code for the db and
removed busybit db code from CalendarDatabaseHelper.
alendarDatabaseHelper.java
alendarProvider.java
alendarProvider2.java
etaData.java
df799b13349cecbe6be73bb3fe4d6d45adb2e951 08-Jan-2010 Doug Zongker <dougz@android.com> migrate CalendarProvider from gservices to secure settings

Change-Id: I5f116235473a117477daad8fbf34920392599e00
alendarSyncAdapter.java
982cbfe8b4e5af45b06fc5c18ff9e0868378ee40 06-Jan-2010 Ken Shirriff <kens@google.com> Fix calendar projection.
alendarProvider2.java
1ae4c22f15c107cd9f9cd8babaa11005e45e4647 05-Jan-2010 Ken Shirriff <kens@google.com> CalendarProvider2 fixes.

Add support for deleting a selection. Use the event view where appropriate.
Fix problems with conflicting column names. Add unittests. Add some missing
columns to projections. Remove unneeded Calendar joins.
alendarDatabaseHelper.java
alendarProvider2.java
6db535b458146a279bebd4a51d56c1bdfc204528 24-Dec-2009 Erik <roboerik@android.com> b/2293263 Replaced busybit functionality with eventday functionality.

Stripped out references to busybits and replaced with code to request only whether an event
exists for each day. In MetaData only minimal changes were made to prevent breaking the
build as I'm not certain all of the effects it has yet. Will do more complete removal of
busybits along with other references.
alendarProvider.java
alendarProvider2.java
etaData.java
ef8089b54085b860089a88dfe860e27cb13bb1c3 04-Jan-2010 Fred Quintana <fredq@google.com> clean up the location of the gdata helper objects
alendarProvider.java
alendarSyncAdapter.java
266045e9a016d2252b2532881799b8edf27f5327 19-Nov-2009 Michael Chan <mchan@android.com> b/2224837 Clean up Alerts/Notifications

Also eliminated stale entries from the Calendar Notification list and keep the message and reminder count in the Notification shade up to date. Before you would see entries for events, instances, or reminders that have been changed or deleted.

Change-Id: I7f02fe378e5907e60b8ba5a99577fda444d69a32
alendarProvider.java
2ad2455fcf8cea805b3824c9df1dfd37ae1bcf92 15-Dec-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I86397f6c into eclair-mr2

* changes:
moved the hidden sync helpers out of the framework
b5cb2522cdb260f21c983d9584d6f72b4f85879b 11-Dec-2009 Fred Quintana <fredq@google.com> moved the hidden sync helpers out of the framework
alendarProvider.java
alendarSyncAdapter.java
alendarSyncAdapterService.java
595242cb01dc0d2d90b01613ff195b2be7b2559e 12-Dec-2009 Ken Shirriff <kens@google.com> Add multiple account support to CalendarProvider2.

This appends the account information to the appropriate query
alendarDatabaseHelper.java
alendarProvider2.java
9a72b890f28b1c1f2ae870c4c46aa160ef156aa1 10-Dec-2009 Fred Quintana <fredq@google.com> hardcode the google sync gservices settings for now
alendarSyncAdapter.java
29b5eb9f7400cc3e9edfe21df758780c1f64dc57 09-Dec-2009 Ken Shirriff <kens@google.com> Remove default calendar code.

This has been moved to CalendarSyncAdapter.
alendarProvider2.java
19fb3af2ec12621bca575f5518c2ba3831cb3600 07-Dec-2009 Fred Quintana <fredq@google.com> changed to use the new EntityIterator interface
removed the queryEntity case from CalendarProviderTest since it is no longer relevant (we moved on to CalendarProvider2 before fully switching to the Entity reading approach)
alendarProvider.java
alendarProvider2.java
a7f687007ff4d0c30726bf86f717fde88f51b453 23-Nov-2009 Ken Shirriff <kens@google.com> CalendarProvider2: clean up the code for updating individual events.

This is a bit ugly; the ContentProviderOperation generates an _id=n selection string,
rather than the /id URL that is normally used, so we need to handle it here as a special
case for the sync adapter.
alendarProvider2.java
2fb3bc8f9ded55c0e379e1eaed2e036a5670b63a 04-Dec-2009 Ken Shirriff <kens@google.com> CalendarProvider2: support extended properties delete

This is needed for syncing extended properties.
Also check for unsupported selection args.
Also clean up comments.
alendarProvider2.java
02e5564690b3bb30d4f9cebfff7e4b94009098ba 25-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I5a7cf57f into eclair-mr2

* changes:
New calendar sync framework: code review changes, support delete, support multiple calendars, remove triggers.
7c58d880e23e401e472f0dbe87b01bbfaf8ac692 24-Nov-2009 Fred Quintana <fredq@google.com> moved the gdata library to vendor/google
alendarProvider.java
alendarSyncAdapter.java
860f89a0e6ffda7050b5d86b25850b0c2234252a 23-Nov-2009 Fred Quintana <fredq@google.com> move SubscribedFeeds to GSF
alendarSyncAdapter.java
7e3ec5f2025164fca508f81a5a01940bc912e064 02-Nov-2009 Ken Shirriff <kens@google.com> New calendar sync framework: code review changes, support delete, support multiple calendars, remove triggers.
alendarDatabaseHelper.java
alendarProvider2.java
alendarReceiver.java
8ec98208827ff649612891c486be2d132a812f25 16-Nov-2009 Ken Shirriff <kens@google.com> Add database upgrade for ExtendeProperties trigger.

This should have been in Change I55eb40e7. We don't currently use these triggers,
but I'm fixing them both for correctness and so I can add unittests to this code.
alendarProvider.java
55eb40e72a9cfd416926ecd55a49256b759e86b9 14-Nov-2009 Ken Shirriff <kens@google.com> Fix ExtendedProperties trigger.

Currently, inserts or deletes of ExtendedProperties don't mark the event as dirty.
alendarProvider.java
935606cfd0c168349ef51949050a4229b0240826 10-Nov-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change I12bbe40a into eclair-mr2

* changes:
Add new CalendarProvider2 for new sync framework.
ca3a90c264663857a44024123181f97e9b41acf5 29-Oct-2009 Mike Cleron <mcleron@google.com> am b0b1eb16: New widgets

Merge commit 'b0b1eb163e763258c94785906b7517ad54b3bb8d' into eclair-mr2

* commit 'b0b1eb163e763258c94785906b7517ad54b3bb8d':
New widgets
9f005e4843925efe4fa8434361c4ad4ad384ed4c 27-Oct-2009 Ken Shirriff <kens@google.com> Add new CalendarProvider2 for new sync framework.

This provider operates directly, rather than through a TempProviderSyncAdapter.
alendarDatabaseHelper.java
alendarProvider2.java
QLiteContentProvider.java
b0b1eb163e763258c94785906b7517ad54b3bb8d 27-Oct-2009 Mike Cleron <mcleron@google.com> New widgets
alendarAppWidgetService.java
1cbb86593128799a05d17d61c21d62b19f124707 19-Oct-2009 Ken Shirriff <kens@google.com> Add Calendar URL to EntityIterator.

This adds the Calendar URL to the Entity query for CalendarProvider.
alendarProvider.java
ef2d8bbc06d7613983637f54c2790c7349b765d4 09-Oct-2009 Ken Shirriff <kens@google.com> Fix CalendarProvider test race.

The CalendarProvider has a background thread to do timezone updates. This
background thread causes problems with unittests because it may try to access
the database after it has been closed. This change prevents the background
thread from being created when testing.
alendarProvider.java
bde29af962d7e3d073dc9bcae4ee2e9609a2eeb3 03-Oct-2009 Fred Quintana <fredq@google.com> account manager api review changes
alendarSyncAdapter.java
71c41a7c5048dd17d093a66dc46cded2c4f854ea 30-Sep-2009 Costin Manolache <costin@google.com> Remove GAIA string
alendarProvider.java
alendarSyncAdapter.java
9ac1b4e5645b1c76e8d8adc46920ee82c9ddbf71 29-Sep-2009 Debajit Ghosh <debajit@google.com> fix old typo in calendar subscription logic -- we want subscriptions for sync'd calendars, not selected calendars.
remove unused imports.
alendarProvider.java
alendarSyncAdapter.java
253d7965816118357422dd8e07a8506aaea76148 28-Sep-2009 Ken Shirriff <kens@google.com> Add checks to moveToFirst() calls.

The code assumed in multiple places that moveToFirst() would always succeed.
This caused several crashes.
alendarProvider.java
f2329e1c1c56cdcf587e634811280c0358a61e61 28-Sep-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 27333 into eclair

* changes:
convert id to full-selfattendance as well. check for null before doing conversion. fix typo where we were inserting an extra / as part of conversion.
9df37987987ab65c675181b71211f33a2e31192a 28-Sep-2009 Debajit Ghosh <debajit@google.com> convert id to full-selfattendance as well.
check for null before doing conversion.
fix typo where we were inserting an extra / as part of conversion.
alendarSyncAdapter.java
0a806bc86641c558552f7a827b99a9d9d2893463 26-Sep-2009 Ken Shirriff <kens@google.com> Add calendar organizer to event on create.

When an event is created, the CalendarProvider should add the organizer field.
This data is client-only, and is not sent to the server.

Also change behavior of SELF_ATTENDEE_STATUS to create Attendees entry for
the owner (email in the calendar URL) rather than for the _sync_account
(the user accessing the calendar). It appears the old behavior was
wrong for shared calendars.
alendarProvider.java
eecfe7eb5eac739aeb34f90344ac600393c7775f 27-Sep-2009 Debajit Ghosh <debajit@google.com> process the proxy's new hint that it is hiding guests.
also convert some getLong()s to getInt()s for some boolean bits.
alendarProvider.java
alendarSyncAdapter.java
a68e844e8e78368607aba494ac69816667b108b5 26-Sep-2009 Ken Shirriff <kens@google.com> Add hasAttendeeData support.

This flag indicates that the full feed (rather than the full-selfattendance) is being
used, so the attendees table contains all the attendees, rather than just self.
alendarProvider.java
alendarSyncAdapter.java
f9a4fecbb78809854df0d43b26541fe2b00078fe 19-Sep-2009 Debajit Ghosh <debajit@google.com> handle calendars with an access level of "root".
alendarSyncAdapter.java
e1ecd58c710cf02805a1893b65257af3c6bbb39d 11-Sep-2009 Ken Shirriff <kens@google.com> Support only primary account for calendar.

The CalendarProvider needs to filter out non-primary accounts from
the Calendars table.
alendarProvider.java
57d5c04c28cec6148e497682b6086de99383dd06 09-Sep-2009 Michael Chan <mchan@android.com> b/2092525 Fixed the organizer column in CalendarProvider. Edit Menu should appear again.
alendarProvider.java
0939d60cb31b7f9e46b4f597a899d7ec12e244c9 22-Aug-2009 Ken Shirriff <kens@google.com> Add calendar sliding window gservices setting.

The GOOGLE_CALENDAR_SYNC_WINDOW_DAYS setting will control how often
the sliding window is advanced.
alendarSyncAdapter.java
363e04c2ab2e268293bf4024b8b3bdb55daa38f1 22-Aug-2009 Ken Shirriff <kens@google.com> Fix initial calendar feed.

Feed should be full, not full-selfattendance.

bug=2071618
alendarProvider.java
5a7bd8a55ee01059f08d2f67415f2d083d1aa19a 21-Aug-2009 Fred Quintana <fredq@google.com> add the reset() method to EntityIterator
alendarProvider.java
c8de4c624a701d943ba5d2139e19a9fc226d60df 21-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 22192 into eclair

* changes:
Fix selfAttendanceStatus.
7c46027dc3768105d428e30b2e91ede3ad718356 21-Aug-2009 Ken Shirriff <kens@google.com> Fix selfAttendanceStatus.

Add ownerAccount to temp provider projection so the calendar's owner
can be obtained. This is needed for determining which attendee status
is relevant.

bug=2065008
alendarSyncAdapter.java
101f8d28e1143914b6f51d6614d53f815d8207c5 20-Aug-2009 Ken Shirriff <kens@google.com> Fix handleInstanceQuery.

handleInstanceQuery takes either days or ms as argument depending on a
flag, but didn't expand the instances correctly with days.

Also added documentation of which arguments are ms and which arguments
are days

bug=2066228
alendarProvider.java
34e416864a59b6205e33bfef4644a510d8b9abe2 18-Aug-2009 Ken Shirriff <kens@google.com> Add new columns to calendar database.

The columns are guestsCanModify, guestsCanInviteGuests,
guestsCanSeeGuests, organizer. The first three come from the database
feed, and the second is derived from the feed URL.
alendarProvider.java
alendarSyncAdapter.java
2d873adcbf7fa6525cae8b566ea6000cda4ea413 17-Aug-2009 Fred Quintana <fredq@google.com> make syncadapter set whether the account is syncable
alendarSyncAdapter.java
1db8ada1abdc990b8d88aa17155bb8347228887a 16-Aug-2009 Fred Quintana <fredq@google.com> do not merge: cherrypicked 1de41c66e767c009663496c899c62caf0e6c5ad7 and 63ccd6a02c219452ea6a16d899e56b4bf500f044 from master branch
alendarProvider.java
alendarSyncAdapter.java
75542165b96bfc13b044e06f2f9a838c407915eb 13-Aug-2009 Debajit Ghosh <debajit@google.com> Revving the calendar gdata ua version, so we can differentiate cupcake and eclair requests in the proxy.
alendarSyncAdapter.java
2c4b82d2a294c1612299641c163279a9062d4f09 10-Aug-2009 Ken Shirriff <kens@google.com> Implement sliding window sync.

For calendar sync, events are only synced up to the end of the window.
Daily the window is advanced, and new events in the gap are synced.

Currently sliding window is disabled unless gservices property
google_calendar_sync_window_day is set.
alendarSyncAdapter.java
bb00086ca3714705ffd6ae43c4435906a6dd4688 08-Aug-2009 Ken Shirriff <kens@google.com> Revert "Implement sliding window sync."

This reverts commit 860f62af2c6c6d14bf6c2038b9a2896a83c1d37d.
alendarSyncAdapter.java
f88fe24a7e976cf247a736f7b26681134c4108ca 08-Aug-2009 Ken Shirriff <kens@google.com> Add calendar guest notifications.

Set gCal:sendEventNotifications in the gdata feed to cause notifications
to be sent to guests.

BUG=2025098
alendarSyncAdapter.java
860f62af2c6c6d14bf6c2038b9a2896a83c1d37d 13-Jun-2009 Ken Shirriff <kens@google.com> Implement sliding window sync.

For calendar sync, events are only synced up to the end of the window. Occasionally
the window is advanced, and new events in the gap are synced.

Currently sliding window is disabled unless sync.slidingwindows system property
is set to true.
alendarSyncAdapter.java
528c9df78825d8dbf77c8e538d9afe899bd5fb97 07-Aug-2009 Ken Shirriff <kens@google.com> Enhance AbstractGDataSyncAdapter methods for sliding sync.

Add the feedSyncData to updateQueryParameters and updateProvider for the use of
sliding sync code.

This change needs to be submitted in conjunction with the vendor/google/frameworks change.
alendarSyncAdapter.java
0c16d2e013277ee0d3330f131433be9acad57338 07-Aug-2009 Michael Chan <mchan@android.com> Changed CalendarProvider to allow arbitrary deletion of the attendees table i.e. allow the use of where clause
alendarProvider.java
1928c8b7ee1317c56b45b129c4db2df4e94843ba 06-Aug-2009 Ken Shirriff <kens@google.com> Fix bad URIs. Also use URI constants in several places

The URIs should be calendar/... not calendars/... to match
the constants in Calendar.java
alendarProvider.java
50172248ffabb4eb45a444f4428c1a4388176937 06-Aug-2009 Ken Shirriff <kens@google.com> Calendar attendees: Add HAS_ATTENDEE_DATA

The HAS_ATTENDEE_DATA boolean will be set if the server has provided attendee data,
i.e. if the sync URL is /full/ and not /full-selfattendance/
alendarSyncAdapter.java
698f00cfe74fbda100bd0e4b143c61dd21d5061d 04-Aug-2009 Ken Shirriff <kens@google.com> Attendee database changes for calendar.

Fetch attendees from server when upgrading database to new version.
Add ownerAccount and hasAttendeeData fields to database.
Move calendarEmailAddressFromFeedUrl from CalendarProvider to CalendarSyncAdapter.
alendarProvider.java
alendarSyncAdapter.java
70687d36e77994cba08ad20238afa8104f4344aa 05-Aug-2009 Ken Shirriff <kens@google.com> Revert "Attendee database changes for calendar."

This reverts commit 97173e6dc7b109a38d16e8cf7c8831304a7bdc92.
alendarProvider.java
alendarSyncAdapter.java
97173e6dc7b109a38d16e8cf7c8831304a7bdc92 04-Aug-2009 Ken Shirriff <kens@google.com> Attendee database changes for calendar.

Fetch attendees from server when upgrading database to new version.
Add ownerAccount and hasAttendeeData fields to database.
Move calendarEmailAddressFromFeedUrl from CalendarProvider to CalendarSyncAdapter.
alendarProvider.java
alendarSyncAdapter.java
32508f96af7162d67e67b46e56a798f86ef1b6c9 29-Jul-2009 Ken Shirriff <kens@google.com> Enable multiple attendees in calendar.
alendarProvider.java
2c8c25e703c71573f696a16d84e6c2d5664ff18e 29-Jul-2009 Ken Shirriff <kens@google.com> Allow attendee changes.

The provider formerly blocked attendee changes except from sync
(through the temp provider). We are now supporting attendee
changes on the phone.
alendarProvider.java
52d1a2fce81e6f104b02130deb34663b2d1c8af5 28-Jul-2009 Ken Shirriff <kens@google.com> Calendar attendees: change feed

Use the full feed rather than full-selfattendance in order to get
the full list of attendees.
alendarSyncAdapter.java
41f9de3652292f89a102e684a7313af862f3365b 17-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am 5eab8c54: Merge change 7630 into donut

Merge commit '5eab8c543cfdfae0a1f18742e4e026bdaa948eaa'

* commit '5eab8c543cfdfae0a1f18742e4e026bdaa948eaa':
b/1915565 Fixed ANR when snoozing or dismissing calendar notifications
5eab8c543cfdfae0a1f18742e4e026bdaa948eaa 17-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 7630 into donut

* changes:
b/1915565 Fixed ANR when snoozing or dismissing calendar notifications
345f3dcaa75b5b0271afce8185f488b515b3f20f 17-Jul-2009 Michael Chan <mchan@android.com> b/1915565 Fixed ANR when snoozing or dismissing calendar notifications

DB calls are all moved from the UI thread to a background thread.
alendarProvider.java
0e0c5700ba7a169ae2c6741ca3fc4c0102ca9dfa 16-Jul-2009 Michael Chan <mchan@android.com> Added localization for the default calendar name: Default
alendarProvider.java
54741d97aac8c54c754c534c5e27eb07fa910d47 16-Jul-2009 Michael Chan <mchan@android.com> am 1d3f6700: b/1972231 Fixed the problem where the calendar was not showing the next event when launched from widget

Merge commit '1d3f6700d351506a828ff83dbdee6b4110d4ca68'

* commit '1d3f6700d351506a828ff83dbdee6b4110d4ca68':
b/1972231 Fixed the problem where the calendar was not showing the next event when launched from widget
1d3f6700d351506a828ff83dbdee6b4110d4ca68 15-Jul-2009 Michael Chan <mchan@android.com> b/1972231 Fixed the problem where the calendar was not showing the next event when launched from widget
alendarAppWidgetService.java
d5c41a495bb4cfbe95112e40d27d251445b32f6d 01-Jul-2009 Michael Chan <mchan@android.com> Added support for querying calendar event instances by day in additional to by time-millis.
alendarProvider.java
26f271e1a70599a710470624b2f6d0b934b97a17 29-Jun-2009 Ken Shirriff <kens@google.com> Add Entity support for CalendarProvider

This adds entityQuery to Calendar. This will be used by the
new sync framework.

bug=1943877
alendarProvider.java
7adda6577abfee912ee70134fc965c75a5c63109 23-Jun-2009 Fred Quintana <fredq@google.com> support for changes to the sync settings and control API
alendarProvider.java
alendarSyncAdapter.java
46cb0859f11a244e7136f1b92554148cf74fc732 12-Jun-2009 Ken Shirriff <kens@google.com> Add calendar info debug screen.

Dialing *#*#CAL#*#* will bring up a list of all the calendars,
the number of events in each, and the number of unsynced events
in each.
alendarDebug.java
alendarDebugReceiver.java
9972624a725e6134acdc98263d2bf251877774fe 13-Jun-2009 Ken Shirriff <kens@google.com> Move meta feed handling to CalendarSyncAdapter

The meta feed code is moved from CalendarProvider to CalendarSyncAdapter.
The feed is now updated by a sync, rather than a magic query.
bug=1886271
alendarProvider.java
alendarSyncAdapter.java
46fe9cfe702e4decd0589ef76516cfaeccf03d48 19-May-2009 Android (Google) Code Review <android-gerrit@google.com> am b250d293: Merge change 1722 into donut

Merge commit 'b250d29335bae367be26a6f00a04f9e04ff0d135'

* commit 'b250d29335bae367be26a6f00a04f9e04ff0d135':
Handle null timezone.
b250d29335bae367be26a6f00a04f9e04ff0d135 18-May-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 1722 into donut

* changes:
Handle null timezone.
2cc5ff176e83304114ad87d516ce3cf44cbc43e8 15-May-2009 Ken Shirriff <kens@google.com> am b42d4014: Fixed bug 1850510: missing recurrence exception event

Merge commit 'b42d40142b446c40b8917fcc54812f17639b20de'

* commit 'b42d40142b446c40b8917fcc54812f17639b20de':
Fixed bug 1850510: missing recurrence exception event
a50a5e80e5f2acb58959c620d82ab4ab3b4fa167 15-May-2009 Ken Shirriff <kens@google.com> Handle null timezone.

If an event has null timezone, set the timezone to the device's timezone.

bug=1604419
alendarSyncAdapter.java
b42d40142b446c40b8917fcc54812f17639b20de 14-May-2009 Ken Shirriff <kens@google.com> Fixed bug 1850510: missing recurrence exception event

The old code skipped an exception if the original recurrence instance
wasn't present. The benefit of this is that exceptions will disappear
as soon as a recurrence is deleted or truncated. (After talking to the
server, the exception will be tombstoned, so this is an optimization.)

The problem with the old code is if the original recurrence instance is
outside the expansion window, it will not be present in the list, so the
exception will be erroneously dropped.

This fix just removes the code to drop exceptions when the original instance
is not present. If the old behavior is desirable, the code will need to
expand the original recurrence around the original instance time (not the
current window) to see if it is present.

This change also adds a couple additional regression tests. It also changes
an existing test to add the server-side cancel message (since otherwise the
test won't pass after this change). Some additional logging is added to
the unittest when the test fails.
alendarProvider.java
24a0b5f0b2a5f5b2d09098cab996f2e362127ec5 04-May-2009 Ken Shirriff <kens@google.com> am 1016808: Add incremental instance expansion.

Merge commit '1016808b6ab82f62f61c464e5566598eb32c30d1'

* commit '1016808b6ab82f62f61c464e5566598eb32c30d1':
Add incremental instance expansion.
1016808b6ab82f62f61c464e5566598eb32c30d1 01-May-2009 Ken Shirriff <kens@google.com> Add incremental instance expansion.

The idea is for modifications to a recurrence or recurrence exception, instead
of discarding the entire instance table, only the instances related to that
recurrence are deleted, and then the instances related to that recurrence
are re-created.

bug=1655299
alendarProvider.java
bad84b293c08903c63be69bbc30355cb1e6af495 30-Apr-2009 Fred Quintana <fredq@google.com> decouple SyncAdapter from ContentProvider
alendarProvider.java
alendarSyncAdapterService.java
467c3fd8ca37c6b518ef477f976038be9b5b45a6 30-Apr-2009 Ken Shirriff <kens@google.com> am a8b23f2: Refactor expandInstanceRangeLocked

Merge commit 'a8b23f2b386e3e0be20ef06522292314de8cbc78'

* commit 'a8b23f2b386e3e0be20ef06522292314de8cbc78':
Refactor expandInstanceRangeLocked
a8b23f2b386e3e0be20ef06522292314de8cbc78 30-Apr-2009 Ken Shirriff <kens@google.com> Refactor expandInstanceRangeLocked

Split into getEvents to perform database lookup and
performInstanceExpansion to do the actual instance expansion. Remove some
dead code. Clean up try/catch so an error will just affect the specific
bad event.
alendarProvider.java
7267f8da4c5300723cfc4746eccc551551e2c363 29-Apr-2009 Android (Google) Code Review <android-gerrit@google.com> am f2132e5: Merge change 366 into donut

Merge commit 'f2132e50346563e2051a10fe4b98b42bc0315e86'

* commit 'f2132e50346563e2051a10fe4b98b42bc0315e86':
Filter bad calendar events.
17726c77f5b8c53d82cafc21844f24e0b1893d0d 23-Apr-2009 Fred Quintana <fredq@google.com> change the sync framework and users to understand Account
alendarProvider.java
alendarSyncAdapter.java
91bb0d86e0d335a48e19aabaec0a2da4dd74ec5a 23-Apr-2009 Jean-Baptiste Queru <jbq@google.com> Merge donut into master
0dd176ed633b197ef68c0c0206d067930091e832 21-Apr-2009 Ken Shirriff <kens@google.com> Filter bad calendar events.

Events expanded beyond 2038 were causing eventStatus crashes.

Events past 2038 were getting inserted into the database with a dtstart of -1
and lastDate of NULL. This caused the SQL query in expandInstanceRangeLocked
to pick up the event. Then, because dtendMillis was < end, the code assumed
it must be a recurrence exception and canceled it. The later code that
removes recurrence exceptions ignored the event because it wasn't a recurrence
exception, leaving the cancel in the ContentValues, causing a database error.
Thus, multiple errors had to exist to cause this bug.

The bug is no longer active, since some of the steps in the chain of events
have already been fixed. This change fixes the step that assumes the
event is a recurrence exception, which will make the code more robust.

Bug: 1705312
alendarProvider.java
0d3310586b605b18e2fa098f2f6520b183c1d16c 20-Apr-2009 Ken Shirriff <kens@google.com> Document instance invariants

Add comments to document invariants in expandInstanceRangeLocked
alendarProvider.java
d66a5e3494014c7529f06628e2d7e556fec3de32 21-Apr-2009 Fred Quintana <fredq@google.com> adding concept of features to accounts
alendarProvider.java
c97817cd150b786c7d18c484758802080b07f9ca 07-Apr-2009 Jeff Sharkey <jsharkey@android.com> Make Calendar widget treat multi-day events the same as allDay.

Events that start mid-day and span multiple days are not assigned the allDay flag, and were being treated as normal events. This caused us to show the same event on the calendar widget for several days, until half-way through the multi-day event.

This change treats any events with duration longer than a single day as allDay events, which triggers a widget change at the event start instead of half-way through the event.

http://b/issue?id=1772674
alendarAppWidgetService.java
1d468494e94945da5259655965a660bb5e6ead88 09-Apr-2009 Fred Quintana <> AI 145177: phase two of the AccountManager
- added an AccountManagerActivity, a base Activity that can be
used by activities that are launched by AccountAuthenticator
intents. This makes it easy for an Activity to send a result
using an AccountAuthenticatorResponse
- added debug strings to the AccountAuthenticatorCache
- improved the API for the AccountAuthenticatorResponse and
made it Parcelable so that it can be passed to an Activity
via an Intent
- changed the AccountManager to use Futures for the
asynchronous calls and to notify the user via a callback
when the request is complete
- changed the AccountManager to convert any errors that are
returned into Exceptions
- added constants for the error codes that are passed across
the IAccountManagerResponse and
IAccountAuthenticatorResponse interfaces
- added a dump() method to the AccountManagerService so that
it can display the list of active sessions and registered
authenticators
- added an way to interrogate the AccountManagerService for
the list of registered authenticators
- removed more methods from the GoogleLoginServiceHelper and
GoogleLoginServiceBlockingHelper and changed the callers to
use the AccountManager

Automated import of CL 145177
alendarProvider.java
170c196a4093b7448f002ad785b1baabaefcb493 02-Apr-2009 Jeffrey Sharkey <> AI 144202: am: CL 144137 am: CL 144136 Make calendar widget correctly launch Calendar app instead of creating a second task stack.
Fixes the following issues:
- Calendar widget and calendar icon always launch to a specific calendar view--the view last selected by user.
- Launching from both widget and app icon clears any existing activity stacks.
- We correctly keeps the stack history when switching between activities using long-press-home-hardkey
Original author: jsharkey
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...

Automated import of CL 144202
alendarAppWidgetService.java
8b0cc096a1842d8926aaf4dbfbfb2fab32fbf38f 02-Apr-2009 Jeffrey Sharkey <> AI 144100: am: CL 144068 am: CL 144067 Make Calendar widget launch into last-shown-mode to match behavior of Calendar app icon.
Original author: jsharkey
Merged from: //branches/cupcake/...
Original author: android-build
Merged from: //branches/donutburger/...

Automated import of CL 144100
alendarAppWidgetService.java
9ecfcc3659d7ecc9f60526cdc28fdd968abe6b79 02-Apr-2009 Jeffrey Sharkey <> AI 144137: am: CL 144136 Make calendar widget correctly launch Calendar app instead of creating a second task stack.
Fixes the following issues:
- Calendar widget and calendar icon always launch to a specific calendar view--the view last selected by user.
- Launching from both widget and app icon clears any existing activity stacks.
- We correctly keeps the stack history when switching between activities using long-press-home-hardkey
Original author: jsharkey
Merged from: //branches/cupcake/...

Automated import of CL 144137
alendarAppWidgetService.java
aebc7114a0ec468f291c8a7ff5480a77a277822f 01-Apr-2009 Jeffrey Sharkey <> AI 144068: am: CL 144067 Make Calendar widget launch into last-shown-mode to match behavior of Calendar app icon.
Original author: jsharkey
Merged from: //branches/cupcake/...

Automated import of CL 144068
alendarAppWidgetService.java
00dc6e1bfb8f1b4ba58293b26c79220967ee3304 26-Mar-2009 Jeffrey Sharkey <> Automated import from //branches/donutburger/...@142721,142721
alendarAppWidgetService.java
61a469794653c4337f5abcd44adff88cd52c9e4e 26-Mar-2009 Jeffrey Sharkey <> Automated import from //branches/master/...@142762,142762
alendarAppWidgetService.java
c47ce7e19a78ef7e535ffbc2f70ddb3e85a2c81d 25-Mar-2009 Fred Quintana <> Automated import from //branches/master/...@142414,142414
alendarProvider.java
de1faa11dfee3d4735e6a5ffdd6b26e67e697cc1 25-Mar-2009 Ken Shirriff <> Automated import from //branches/master/...@141764,141764
alendarSyncAdapter.java
8c33a8a31acea5699e504be861f5606f675d42ff 25-Mar-2009 Ken Shirriff <> Automated import from //branches/donutburger/...@141761,141761
alendarSyncAdapter.java
a48e5d04d39da396156925cb4a78f751c9dbf59e 25-Mar-2009 Jack Veenstra <> Automated import from //branches/donutburger/...@141279,141279
alendarProvider.java
e89a281b2d8df22d88b495695e56085af54fbd04 25-Mar-2009 Jack Veenstra <> Automated import from //branches/master/...@141282,141282
alendarProvider.java
42f855964bcd903e870e10c0dd63090a089c4e4a 25-Mar-2009 Jeffrey Sharkey <> Automated import from //branches/donutburger/...@141103,141103
ppWidgetShared.java
alendarAppWidgetProvider.java
alendarAppWidgetService.java
8f87d81901d960abd19a06c97ae4487f9fb1c0a0 25-Mar-2009 Jeffrey Sharkey <> Automated import from //branches/master/...@141104,141104
ppWidgetShared.java
alendarAppWidgetProvider.java
alendarAppWidgetService.java
d494a83e74787664ad68c086b8b4025ae4d4cf20 25-Mar-2009 Jack Veenstra <> Automated import from //branches/master/...@140912,140912
alendarProvider.java
818f28c9ba4fd9fd303931795e6d97d3322d2947 25-Mar-2009 Jack Veenstra <> Automated import from //branches/donutburger/...@140910,140910
alendarProvider.java
9c459b0193d1eb92ade63ef887cdfe08367266e0 25-Mar-2009 Debajit Ghosh <> Automated import from //branches/donutburger/...@140817,140817
alendarProvider.java
alendarSyncAdapter.java
9dc22df9b910e2a40750c7f5860574995fdbb572 25-Mar-2009 Debajit Ghosh <> Automated import from //branches/master/...@140820,140820
alendarProvider.java
alendarSyncAdapter.java
fccf362949c516d6810314d8e51d70375c05943f 19-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake_rel/...@140373
alendarAppWidgetProvider.java
alendarAppWidgetService.java
alendarProvider.java
383907963c93e41e1cd88b760c7c5e620ccd77bc 13-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake_rel/...@138607
ppWidgetShared.java
alendarAppWidgetProvider.java
alendarAppWidgetService.java
8c72707f905724d37c9aa8965129b5dedbdcbe22 11-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@137873
alendarAppWidgetProvider.java
alendarGadgetProvider.java
alendarProvider.java
imeChangeReceiver.java
93ac3484c10a93c016ed8158a6f09a558acd4dc8 09-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@137197
alendarProvider.java
14b93523154ba865156107bb2f3a97b998175170 05-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@136594
alendarGadgetProvider.java
imeChangeReceiver.java
cf013ece751816a07396845858f1c7037ead464f 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
alendarGadgetProvider.java
alendarProvider.java
alendarReceiver.java
alendarSyncAdapter.java
uration.java
etaData.java
ecurrenceProcessor.java
imeChangeReceiver.java
Cal.java
11d37e08e1fbd651f09a3960c5a063cda55e8f4e 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
alendarProvider.java
alendarReceiver.java
alendarSyncAdapter.java
uration.java
etaData.java
ecurrenceProcessor.java
Cal.java
ca9b36fc9a01a2b8b3c1ad3c4e8fb22dc82b5869 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@132589
alendarGadgetProvider.java
alendarProvider.java
alendarReceiver.java
alendarSyncAdapter.java
ecurrenceProcessor.java
imeChangeReceiver.java
d99ea592f918f8e71029c1c77bc257cca30e4a64 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@137055
alendarGadgetProvider.java
alendarProvider.java
alendarReceiver.java
alendarSyncAdapter.java
ecurrenceProcessor.java
imeChangeReceiver.java
21aa15bc1c446b904c7de507dfdce6fcced858cf 19-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@132276
alendarProvider.java
ecurrenceProcessor.java
e978e449ab8062e72c60d38043a60f87afac6f14 13-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@131421
alendarProvider.java
uration.java
ecurrenceProcessor.java
a01542cd5a9d1f6a328a11ae806f05eda133d60a 11-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@130745
alendarProvider.java
ecurrenceProcessor.java
bac373a84429fd2a38f7de37d215749d80eb78ba 16-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@126645
alendarProvider.java
alendarSyncAdapter.java
3cb9756c37e3e39dc488a98223ad8808f19c3c16 10-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@125939
alendarProvider.java
ae7b7b563f4a00891fac35b94109592f9137e027 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
alendarProvider.java
alendarSyncAdapter.java
ecurrenceProcessor.java
Cal.java
b558dececce20291e0a0195a4bd9835f4a8a1918 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
alendarProvider.java
alendarReceiver.java
alendarSyncAdapter.java
uration.java
etaData.java
ecurrenceProcessor.java
Cal.java