git clone of logicmail with some fixes/features added
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Added analytics tracking of folder/account type to mailbox screen views.

git-svn-id: https://logicmail.svn.sourceforge.net/svnroot/logicmail/trunk@918 5c734088-3d25-0410-9155-b3c3832efda5

octorian d3d66041 97ab08ee

+49
+7
LogicMail/src/org/logicprobe/LogicMail/model/AccountNode.java
··· 169 169 return result; 170 170 } 171 171 172 + /** 173 + * The name of the protocol behind this account. 174 + */ 175 + public String getProtocolName() { 176 + return ""; 177 + } 178 + 172 179 public void accept(NodeVisitor visitor) { 173 180 visitor.visit(this); 174 181 }
+4
LogicMail/src/org/logicprobe/LogicMail/model/LocalAccountNode.java
··· 51 51 return "Local Folders"; 52 52 } 53 53 54 + public String getProtocolName() { 55 + return "Local"; 56 + } 57 + 54 58 protected int getMailboxType(FolderTreeItem folderTreeItem) { 55 59 int mailboxType; 56 60 String path = folderTreeItem.getPath();
+13
LogicMail/src/org/logicprobe/LogicMail/model/NetworkAccountNode.java
··· 35 35 import org.logicprobe.LogicMail.conf.AccountConfig; 36 36 import org.logicprobe.LogicMail.conf.IdentityConfig; 37 37 import org.logicprobe.LogicMail.conf.ImapConfig; 38 + import org.logicprobe.LogicMail.conf.PopConfig; 38 39 import org.logicprobe.LogicMail.mail.AbstractMailSender; 39 40 import org.logicprobe.LogicMail.mail.FolderTreeItem; 40 41 import org.logicprobe.LogicMail.mail.MailStoreEvent; ··· 83 84 */ 84 85 public String toString() { 85 86 return this.accountConfig.toString(); 87 + } 88 + 89 + public String getProtocolName() { 90 + if(this.accountConfig instanceof ImapConfig) { 91 + return "IMAP"; 92 + } 93 + else if(this.accountConfig instanceof PopConfig) { 94 + return "POP"; 95 + } 96 + else { 97 + return ""; 98 + } 86 99 } 87 100 88 101 /**
+25
LogicMail/src/org/logicprobe/LogicMail/ui/MailboxScreen.java
··· 177 177 */ 178 178 public void onDisplay() { 179 179 super.onDisplay(); 180 + 181 + String eventType; 182 + switch(mailboxNode.getType()) { 183 + case MailboxNode.TYPE_INBOX: 184 + eventType = "Mailbox_INBOX"; 185 + break; 186 + case MailboxNode.TYPE_OUTBOX: 187 + eventType = "Mailbox_OUTBOX"; 188 + break; 189 + case MailboxNode.TYPE_DRAFTS: 190 + eventType = "Mailbox_DRAFTS"; 191 + break; 192 + case MailboxNode.TYPE_SENT: 193 + eventType = "Mailbox_SENT"; 194 + break; 195 + case MailboxNode.TYPE_TRASH: 196 + eventType = "Mailbox_TRASH"; 197 + break; 198 + default: 199 + eventType = "Mailbox_NORMAL"; 200 + break; 201 + } 202 + String contentGroup = mailboxNode.getParentAccount().getProtocolName(); 203 + AnalyticsDataCollector.getInstance().onContentView(getScreenPath(), getScreenName(), eventType, contentGroup); 204 + 180 205 if(this.hideDeleted != globalConfig.getHideDeletedMsg()) { 181 206 this.hideDeleted = !this.hideDeleted; 182 207 displayableChanged();