Use Account Email for Main Calendar

If it doesn't already include the email in it's name

Requires remove and re-add account to take affect.

Bug: 11025715
Change-Id: I6f3e315b37b63a0075a62eba686d429f2ebfa5c3
diff --git a/src/com/android/exchange/Eas.java b/src/com/android/exchange/Eas.java
index 00509bb..93ce041 100644
--- a/src/com/android/exchange/Eas.java
+++ b/src/com/android/exchange/Eas.java
@@ -88,6 +88,30 @@
     public static final String MIME_BODY_PREFERENCE_TEXT = "0";
     public static final String MIME_BODY_PREFERENCE_MIME = "2";
 
+    // Mailbox Types
+    // Section 2.2.3.170.3 Type (FolderSync)
+    // http://msdn.microsoft.com/en-us/library/gg650877(v=exchg.80).aspx
+    public static final int MAILBOX_TYPE_USER_GENERIC = 1;
+    public static final int MAILBOX_TYPE_INBOX = 2;
+    public static final int MAILBOX_TYPE_DRAFTS = 3;
+    public static final int MAILBOX_TYPE_DELETED = 4;
+    public static final int MAILBOX_TYPE_SENT = 5;
+    public static final int MAILBOX_TYPE_OUTBOX = 6;
+//    public static final int MAILBOX_TYPE_TASKS = 7;
+    public static final int MAILBOX_TYPE_CALENDAR = 8;
+    public static final int MAILBOX_TYPE_CONTACTS = 9;
+//    public static final int MAILBOX_TYPE_NOTES = 10;
+//    public static final int MAILBOX_TYPE_JOURNAL = 11;
+    public static final int MAILBOX_TYPE_USER_MAIL = 12;
+    public static final int MAILBOX_TYPE_USER_CALENDAR = 13;
+    public static final int MAILBOX_TYPE_USER_CONTACTS = 14;
+//    public static final int MAILBOX_TYPE_USER_TASKS = 15;
+//    public static final int MAILBOX_TYPE_USER_JOURNAL = 16;
+//    public static final int MAILBOX_TYPE_USER_NOTES = 17;
+//    public static final int MAILBOX_TYPE_UNKNOWN = 18;
+//    public static final int MAILBOX_TYPE_RECIPIENT_INFORMATION_CACHE = 19;
+
+
     // These limits must never exceed about 500k which is half the max size of a Binder IPC buffer.
 
     // For EAS 12, we use HTML, so we want a larger size than in EAS 2.5
diff --git a/src/com/android/exchange/adapter/FolderSyncParser.java b/src/com/android/exchange/adapter/FolderSyncParser.java
index 46a9c6d..20ce279 100644
--- a/src/com/android/exchange/adapter/FolderSyncParser.java
+++ b/src/com/android/exchange/adapter/FolderSyncParser.java
@@ -73,25 +73,25 @@
     private static final SparseIntArray MAILBOX_TYPE_MAP;
     static {
         MAILBOX_TYPE_MAP = new SparseIntArray(11);
-        MAILBOX_TYPE_MAP.put(1,  Mailbox.TYPE_MAIL);       // User-created folder (generic)
-        MAILBOX_TYPE_MAP.put(2,  Mailbox.TYPE_INBOX);      // Default Inbox folder
-        MAILBOX_TYPE_MAP.put(3,  Mailbox.TYPE_DRAFTS);     // Default Drafts folder
-        MAILBOX_TYPE_MAP.put(4,  Mailbox.TYPE_TRASH);      // Default Deleted Items folder
-        MAILBOX_TYPE_MAP.put(5,  Mailbox.TYPE_SENT);       // Default Sent Items folder
-        MAILBOX_TYPE_MAP.put(6,  Mailbox.TYPE_OUTBOX);     // Default Outbox folder
-        //MAILBOX_TYPE_MAP.put(7,  Mailbox.TYPE_TASKS);      // Default Tasks folder
-        MAILBOX_TYPE_MAP.put(8,  Mailbox.TYPE_CALENDAR);   // Default Calendar folder
-        MAILBOX_TYPE_MAP.put(9,  Mailbox.TYPE_CONTACTS);   // Default Contacts folder
-        //MAILBOX_TYPE_MAP.put(10, Mailbox.TYPE_NONE);       // Default Notes folder
-        //MAILBOX_TYPE_MAP.put(11, Mailbox.TYPE_NONE);       // Default Journal folder
-        MAILBOX_TYPE_MAP.put(12, Mailbox.TYPE_MAIL);       // User-created Mail folder
-        MAILBOX_TYPE_MAP.put(13, Mailbox.TYPE_CALENDAR);   // User-created Calendar folder
-        MAILBOX_TYPE_MAP.put(14, Mailbox.TYPE_CONTACTS);   // User-created Contacts folder
-        //MAILBOX_TYPE_MAP.put(15, Mailbox.TYPE_TASKS);      // User-created Tasks folder
-        //MAILBOX_TYPE_MAP.put(16, Mailbox.TYPE_NONE);       // User-created Journal folder
-        //MAILBOX_TYPE_MAP.put(17, Mailbox.TYPE_NONE);       // User-created Notes folder
-        //MAILBOX_TYPE_MAP.put(18, Mailbox.TYPE_NONE);       // Unknown folder type
-        //MAILBOX_TYPE_MAP.put(19, Mailbox.TYPE_NONE);       // Recipient information cache
+        MAILBOX_TYPE_MAP.put(Eas.MAILBOX_TYPE_USER_GENERIC,  Mailbox.TYPE_MAIL);
+        MAILBOX_TYPE_MAP.put(Eas.MAILBOX_TYPE_INBOX,  Mailbox.TYPE_INBOX);
+        MAILBOX_TYPE_MAP.put(Eas.MAILBOX_TYPE_DRAFTS,  Mailbox.TYPE_DRAFTS);
+        MAILBOX_TYPE_MAP.put(Eas.MAILBOX_TYPE_DELETED,  Mailbox.TYPE_TRASH);
+        MAILBOX_TYPE_MAP.put(Eas.MAILBOX_TYPE_SENT,  Mailbox.TYPE_SENT);
+        MAILBOX_TYPE_MAP.put(Eas.MAILBOX_TYPE_OUTBOX,  Mailbox.TYPE_OUTBOX);
+        //MAILBOX_TYPE_MAP.put(Eas.MAILBOX_TYPE_TASKS,  Mailbox.TYPE_TASKS);
+        MAILBOX_TYPE_MAP.put(Eas.MAILBOX_TYPE_CALENDAR,  Mailbox.TYPE_CALENDAR);
+        MAILBOX_TYPE_MAP.put(Eas.MAILBOX_TYPE_CONTACTS,  Mailbox.TYPE_CONTACTS);
+        //MAILBOX_TYPE_MAP.put(Eas.MAILBOX_TYPE_NOTES, Mailbox.TYPE_NONE);
+        //MAILBOX_TYPE_MAP.put(Eas.MAILBOX_TYPE_JOURNAL, Mailbox.TYPE_NONE);
+        MAILBOX_TYPE_MAP.put(Eas.MAILBOX_TYPE_USER_MAIL, Mailbox.TYPE_MAIL);
+        MAILBOX_TYPE_MAP.put(Eas.MAILBOX_TYPE_USER_CALENDAR, Mailbox.TYPE_CALENDAR);
+        MAILBOX_TYPE_MAP.put(Eas.MAILBOX_TYPE_USER_CONTACTS, Mailbox.TYPE_CONTACTS);
+        //MAILBOX_TYPE_MAP.put(Eas.MAILBOX_TYPE_USER_TASKS, Mailbox.TYPE_TASKS);
+        //MAILBOX_TYPE_MAP.put(Eas.MAILBOX_TYPE_USER_JOURNAL, Mailbox.TYPE_NONE);
+        //MAILBOX_TYPE_MAP.put(Eas.MAILBOX_TYPE_USER_NOTES, Mailbox.TYPE_NONE);
+        //MAILBOX_TYPE_MAP.put(Eas.MAILBOX_TYPE_UNKNOWN, Mailbox.TYPE_NONE);
+        //MAILBOX_TYPE_MAP.put(MAILBOX_TYPE_RECIPIENT_INFORMATION_CACHE, Mailbox.TYPE_NONE);
     }
 
     /** Content selection for all mailboxes belonging to an account. */
@@ -474,6 +474,9 @@
         if (name != null && serverId != null && parentId != null) {
             final int mailboxType = MAILBOX_TYPE_MAP.get(type, Mailbox.TYPE_NONE);
             if (mailboxType != Mailbox.TYPE_NONE) {
+                if (type == Eas.MAILBOX_TYPE_CALENDAR && !name.contains(mAccount.mEmailAddress)) {
+                    name = mAccount.mEmailAddress;
+                }
                 addMailboxOp(name, serverId, parentId, mailboxType, true);
             }
         }