Use timezone in exception ics files

* Exchange seems to require time zone information in ics files containing
  event exceptions, although this is NOT the case for iCalendar, and appears
  not to conform to VCALENDAR specifications
* This causes exceptions to be placed on the wrong date or perhaps even
  ignored, depending on the circumstance
* This CL simply adds time zone information to all exception ics files

Bug: 2640878
Change-Id: Ibc614eb7a2c45e9e782b10be979d9892bbfc0029
diff --git a/src/com/android/exchange/utility/CalendarUtilities.java b/src/com/android/exchange/utility/CalendarUtilities.java
index 4051f1a..6f38047 100644
--- a/src/com/android/exchange/utility/CalendarUtilities.java
+++ b/src/com/android/exchange/utility/CalendarUtilities.java
@@ -1416,8 +1416,11 @@
 
             // If we're inviting people and the meeting is recurring, we need to send our time zone
             // information and make sure to send DTSTART/DTEND in local time (unless, of course,
-            // this is an all-day event)
-            if (!isReply  && entityValues.containsKey(Events.RRULE) && !allDayEvent) {
+            // this is an all-day event).  Recurring, for this purpose, includes exceptions to
+            // recurring events
+            if (!isReply && !allDayEvent &&
+                    (entityValues.containsKey(Events.RRULE) ||
+                            entityValues.containsKey(Events.ORIGINAL_EVENT))) {
                 vCalendarTimeZone = TimeZone.getDefault();
                 // Write the VTIMEZONE block to the writer
                 timeZoneToVTimezone(vCalendarTimeZone, ics);