summaryrefslogtreecommitdiffstats
path: root/core/java/android/pim
diff options
context:
space:
mode:
authorKen Shirriff <kens@google.com>2009-08-21 14:21:59 -0700
committerKen Shirriff <kens@google.com>2009-08-21 14:37:25 -0700
commit1ce2e2e78d473cc6c07ebdc0991a2d2829a714c7 (patch)
tree4ce8ced43f9fb321e5eb2b853775168257c57611 /core/java/android/pim
parent00ddbcaa2e8a181a2efd5456a65c619ed941e4b0 (diff)
downloadframeworks_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.java8
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,