diff options
author | Ken Shirriff <kens@google.com> | 2009-08-21 14:21:59 -0700 |
---|---|---|
committer | Ken Shirriff <kens@google.com> | 2009-08-21 14:37:25 -0700 |
commit | 1ce2e2e78d473cc6c07ebdc0991a2d2829a714c7 (patch) | |
tree | 4ce8ced43f9fb321e5eb2b853775168257c57611 /core/java/android/pim | |
parent | 00ddbcaa2e8a181a2efd5456a65c619ed941e4b0 (diff) | |
download | frameworks_base-1ce2e2e78d473cc6c07ebdc0991a2d2829a714c7.zip frameworks_base-1ce2e2e78d473cc6c07ebdc0991a2d2829a714c7.tar.gz frameworks_base-1ce2e2e78d473cc6c07ebdc0991a2d2829a714c7.tar.bz2 |
Fix recurrence parsing for all-day events.
The doozer server requires P1D instead of P86400S for all-day events.
bug=1594638
Diffstat (limited to 'core/java/android/pim')
-rw-r--r-- | core/java/android/pim/RecurrenceSet.java | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/core/java/android/pim/RecurrenceSet.java b/core/java/android/pim/RecurrenceSet.java index 7920543..bd7924a 100644 --- a/core/java/android/pim/RecurrenceSet.java +++ b/core/java/android/pim/RecurrenceSet.java @@ -410,10 +410,14 @@ public static boolean populateComponent(ContentValues values, Time end = new Time(endTzid); end.parse(dtendProperty.getValue()); - long durationMillis = end.toMillis(false /* use isDst */) + long durationMillis = end.toMillis(false /* use isDst */) - start.toMillis(false /* use isDst */); long durationSeconds = (durationMillis / 1000); - return "P" + durationSeconds + "S"; + if (start.allDay && (durationSeconds % 86400) == 0) { + return "P" + (durationSeconds / 86400) + "D"; // Server wants this instead of P86400S + } else { + return "P" + durationSeconds + "S"; + } } private static String flattenProperties(ICalendar.Component component, |