am 09eca807: Fallback to "Delivery-date" if message has no "Date"

* commit '09eca8072a2396527baede2b312d91daf1c9c2b9':
  Fallback to "Delivery-date" if message has no "Date"
diff --git a/src/com/android/emailcommon/internet/MimeMessage.java b/src/com/android/emailcommon/internet/MimeMessage.java
index 021d280..aa275c5 100644
--- a/src/com/android/emailcommon/internet/MimeMessage.java
+++ b/src/com/android/emailcommon/internet/MimeMessage.java
@@ -23,6 +23,7 @@
 import com.android.emailcommon.mail.MessagingException;
 import com.android.emailcommon.mail.Multipart;
 import com.android.emailcommon.mail.Part;
+import com.android.mail.utils.LogUtils;
 
 import org.apache.james.mime4j.BodyDescriptor;
 import org.apache.james.mime4j.ContentHandler;
@@ -55,7 +56,7 @@
     private MimeHeader mHeader;
     private MimeHeader mExtendedHeader;
 
-    // NOTE:  The fields here are transcribed out of headers, and values stored here will supercede
+    // NOTE:  The fields here are transcribed out of headers, and values stored here will supersede
     // the values found in the headers.  Use caution to prevent any out-of-phase errors.  In
     // particular, any adds/changes/deletes here must be echoed by changes in the parse() function.
     private Address[] mFrom;
@@ -174,6 +175,20 @@
                 DateTimeField field = (DateTimeField)Field.parse("Date: "
                         + MimeUtility.unfoldAndDecode(getFirstHeader("Date")));
                 mSentDate = field.getDate();
+                // TODO: We should make it more clear what exceptions can be thrown here,
+                // and whether they reflect a normal or error condition.
+            } catch (Exception e) {
+
+            }
+        }
+        if (mSentDate == null) {
+            // If we still don't have a date, fall back to "Delivery-date"
+            try {
+                DateTimeField field = (DateTimeField)Field.parse("Date: "
+                        + MimeUtility.unfoldAndDecode(getFirstHeader("Delivery-date")));
+                mSentDate = field.getDate();
+                // TODO: We should make it more clear what exceptions can be thrown here,
+                // and whether they reflect a normal or error condition.
             } catch (Exception e) {
 
             }
@@ -527,7 +542,7 @@
     }
 
     class MimeMessageBuilder implements ContentHandler {
-        private Stack<Object> stack = new Stack<Object>();
+        private final Stack<Object> stack = new Stack<Object>();
 
         public MimeMessageBuilder() {
         }