Fix Issue 2536139 Camera testJpegExif cts test is failing.

Change-Id: Ia5ef0df9627504d8d0a165c74264448b59e499fc
diff --git a/gpsinfo.c b/gpsinfo.c
index 8508ef0..a0ebaea 100644
--- a/gpsinfo.c
+++ b/gpsinfo.c
@@ -140,9 +140,6 @@
     strcpy(ImageInfo.GpsLat, "? ?");
     strcpy(ImageInfo.GpsLong, "? ?");
     ImageInfo.GpsAlt[0] = 0;
-    memset(ImageInfo.GpsTimeStamp, 0, sizeof(ImageInfo.GpsTimeStamp));
-    memset(ImageInfo.GpsDateStamp, 0, sizeof(ImageInfo.GpsDateStamp));
-    memset(ImageInfo.GpsProcessingMethod, 0, sizeof(ImageInfo.GpsProcessingMethod));
 
     for (de=0;de<NumDirEntries;de++){
         unsigned Tag, Format, Components;
@@ -271,7 +268,7 @@
                 break;
 
             case TAG_GPS_PROCESSING_METHOD:
-                if (ByteCount > EXIF_ASCII_PREFIX_LEN && 
+                if (ByteCount > EXIF_ASCII_PREFIX_LEN &&
                     memcmp(ValuePtr, ExifAsciiPrefix, EXIF_ASCII_PREFIX_LEN) == 0) {
                     int length =
                         ByteCount < GPS_PROCESSING_METHOD_LEN + EXIF_ASCII_PREFIX_LEN ?
diff --git a/main.c b/main.c
index 110a5ed..1b1eabd 100644
--- a/main.c
+++ b/main.c
@@ -646,14 +646,22 @@
     }
 
     if (ImageInfo.GpsInfoPresent) {
-        bufLen = addKeyValueString(&buf, bufLen, "GPSLatitude", ImageInfo.GpsLatRaw);
-        if (bufLen == 0) return NULL;
-        bufLen = addKeyValueString(&buf, bufLen, "GPSLatitudeRef", ImageInfo.GpsLatRef);
-        if (bufLen == 0) return NULL;
-        bufLen = addKeyValueString(&buf, bufLen, "GPSLongitude", ImageInfo.GpsLongRaw);
-        if (bufLen == 0) return NULL;
-        bufLen = addKeyValueString(&buf, bufLen, "GPSLongitudeRef", ImageInfo.GpsLongRef);
-        if (bufLen == 0) return NULL;
+        if (ImageInfo.GpsLatRaw[0]) {
+            bufLen = addKeyValueString(&buf, bufLen, "GPSLatitude", ImageInfo.GpsLatRaw);
+            if (bufLen == 0) return NULL;
+        }
+        if (ImageInfo.GpsLatRef[0]) {
+            bufLen = addKeyValueString(&buf, bufLen, "GPSLatitudeRef", ImageInfo.GpsLatRef);
+            if (bufLen == 0) return NULL;
+        }
+        if (ImageInfo.GpsLongRaw[0]) {
+            bufLen = addKeyValueString(&buf, bufLen, "GPSLongitude", ImageInfo.GpsLongRaw);
+            if (bufLen == 0) return NULL;
+        }
+        if (ImageInfo.GpsLongRef[0]) {
+            bufLen = addKeyValueString(&buf, bufLen, "GPSLongitudeRef", ImageInfo.GpsLongRef);
+            if (bufLen == 0) return NULL;
+        }
         if (ImageInfo.GpsAlt[0]) {
             bufLen = addKeyValueString(&buf, bufLen, "GPSAltitude", ImageInfo.GpsAlt);
             if (bufLen == 0) return NULL;