Author: jerome
Date: 2008-11-26 20:40:08 +0100 (Wed, 26 Nov 2008)
New Revision: 2854
Modified:
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/resources/gadget.xml
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/sources/net/karmaLab/tuxDroid/gadgets/Configuration.java
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/sources/net/karmaLab/tuxDroid/gadgets/MailGadget.java
Log:
* Added subject and sender filter for "run" function for now.
Modified:
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/resources/gadget.xml
===================================================================
---
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/resources/gadget.xml
2008-11-26 17:43:41 UTC (rev 2853)
+++
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/resources/gadget.xml
2008-11-26 19:40:08 UTC (rev 2854)
@@ -50,6 +50,30 @@
description="IMAP folder to retreive"
type="string"
defaultValue="INBOX" />
+ <parameter
+ name="filerSubject"
+ category= "User parameters"
+ description="Use subject filter"
+ type="boolean"
+ defaultValue="true" />
+ <parameter
+ name="filterSender"
+ category= "User parameters"
+ description="Use sender filter"
+ type="boolean"
+ defaultValue="true" />
+ <parameter
+ name="subjectFilter"
+ category= "User parameters"
+ description="Subject filter to apply"
+ type="string"
+ defaultValue="Re:important document" />
+ <parameter
+ name="senderFilter"
+ category= "User parameters"
+ description="Sender filter to apply"
+ type="string"
+ defaultValue="[EMAIL PROTECTED],[EMAIL PROTECTED]" />
</parameters>
<commands>
<command
Modified:
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/sources/net/karmaLab/tuxDroid/gadgets/Configuration.java
===================================================================
---
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/sources/net/karmaLab/tuxDroid/gadgets/Configuration.java
2008-11-26 17:43:41 UTC (rev 2853)
+++
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/sources/net/karmaLab/tuxDroid/gadgets/Configuration.java
2008-11-26 19:40:08 UTC (rev 2854)
@@ -23,6 +23,8 @@
package net.karmaLab.tuxDroid.gadgets;
+import java.util.Vector;
+
import com.kysoh.tuxdroid.gadget.framework.gadget.SimpleGadgetConfiguration;
public class Configuration extends SimpleGadgetConfiguration
@@ -33,6 +35,12 @@
private String password;
private String user;
private String folder;
+
+ private boolean filerSubject;
+ private boolean filterSender;
+
+ private String subjectFilter;
+ private String senderFilter;
/**
* @return the folder
@@ -136,4 +144,60 @@
{
this.host = host;
}
+
+
+ /**
+ * Return true if sender is filtered.
+ * @return
+ */
+ public boolean isSenderFiltered()
+ {
+ return this.filterSender;
+ }
+
+
+ /**
+ * Return true if Subject is filtered.
+ * @return
+ */
+ public boolean isSubjectFiltered()
+ {
+ return this.filerSubject;
+ }
+
+
+ /**
+ * Return a list of allowed sender.
+ * @return
+ */
+ public Vector<String> getSenderFilter()
+ {
+ Vector<String> ret = new Vector<String>();
+ String value = this.senderFilter;
+ while(value.contains(","))
+ {
+ ret.add(value.substring(0, value.indexOf(",")));
+ value = value.substring(value.indexOf(",") + 1);
+ }
+ ret.add(value);
+ return ret;
+ }
+
+
+ /**
+ * Return a list of allowed words.
+ * @return
+ */
+ public Vector<String> getSubjectFilter()
+ {
+ Vector<String> ret = new Vector<String>();
+ String value = this.subjectFilter;
+ while(value.contains(","))
+ {
+ ret.add(value.substring(0, value.indexOf(",")));
+ value = value.substring(value.indexOf(",") + 1);
+ }
+ ret.add(value);
+ return ret;
+ }
}
\ No newline at end of file
Modified:
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/sources/net/karmaLab/tuxDroid/gadgets/MailGadget.java
===================================================================
---
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/sources/net/karmaLab/tuxDroid/gadgets/MailGadget.java
2008-11-26 17:43:41 UTC (rev 2853)
+++
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/sources/net/karmaLab/tuxDroid/gadgets/MailGadget.java
2008-11-26 19:40:08 UTC (rev 2854)
@@ -25,6 +25,7 @@
import java.io.IOException;
import java.security.Security;
import java.util.Properties;
+import java.util.Vector;
import javax.mail.Folder;
import javax.mail.Message;
@@ -113,6 +114,7 @@
/* If (ALERT MODE) */
if (readOne) {
/* If new message */
+ //TODO set filter here.
if (newMessageAlert) {
throwMessage("You have a new message.");
@@ -157,6 +159,51 @@
/* If the mail is marked as not seen */
if
(!messages[i].getFlags().contains(Flag.SEEN)) {
boolean mailAlreadyRead = false;
+
+ //Set sender filter.
+
if(this.configuration().isSenderFiltered())
+ {
+ for(String
allowedSender : this.configuration().getSenderFilter())
+ {
+
if(!sender.equals(allowedSender))
+ {
+ /*
Referencing the current mail */
+
stateRun.getLastMessages().add(messages[i].getSubject());
+ }
+ }
+ }
+
+ //Set subject filter.
+
if(this.configuration().isSubjectFiltered())
+ {
+ Vector<Boolean> verT =
new Vector<Boolean>();
+
+ for(String
allowedSubject : this.configuration().getSubjectFilter())
+ {
+
if(!sender.contains(allowedSubject))
+ {
+
verT.add(Boolean.valueOf(true));
+ }
+ }
+
+ boolean canSay = true;
+
+ for(Boolean allowed :
verT)
+ {
+
if((!allowed.booleanValue()) || verT.size() <= 0)
+ {
+ canSay
= false;
+ break;
+ }
+ }
+
+ if(!canSay)
+ {
+ /* Referencing
the current mail */
+
stateRun.getLastMessages().add(messages[i].getSubject());
+ }
+ }
+
/* Check if the mail is not
already read */
for (int j = 0; j <
stateRun.getLastMessages().size(); j++) {
@@ -171,6 +218,7 @@
/* Read max 5 mails */
mailCounter++;
if (mailCounter <= 5) {
+ //TODO set
filters.
throwMessage("Mail sent by {0}", sender);
throwMessage("The message subject is : {0}", subject);
}
@@ -217,6 +265,7 @@
*/
@Override
public void start() throws Exception {
+
if (getCommand().equals("check")) {
check();
return;
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Tux-droid-svn mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tux-droid-svn