Fix #2478711

* We needed to check that clientId wasn't null before sending it back
  to the server
* Exceptions don't have a clientId

Bug: 2478711
Change-Id: Ic0d42bb699605a7bb77535b050a4d03b4b6b8b09
diff --git a/src/com/android/exchange/adapter/CalendarSyncAdapter.java b/src/com/android/exchange/adapter/CalendarSyncAdapter.java
index d6482e8..fdbb2a7 100644
--- a/src/com/android/exchange/adapter/CalendarSyncAdapter.java
+++ b/src/com/android/exchange/adapter/CalendarSyncAdapter.java
@@ -1109,9 +1109,11 @@
                 }
             }
 
-            // We've got to send a UID.  If the event is new, we've generated one; if not,
-            // we should have gotten one from extended properties.
-            s.data(Tags.CALENDAR_UID, clientId);
+            // We've got to send a UID, unless this is an exception.  If the event is new, we've
+            // generated one; if not, we should have gotten one from extended properties.
+            if (clientId != null) {
+                s.data(Tags.CALENDAR_UID, clientId);
+            }
 
             // Handle attendee data here; keep track of organizer and stream it afterward
             String organizerName = null;