Author: jerome
Date: 2008-11-27 11:32:20 +0100 (Thu, 27 Nov 2008)
New Revision: 2857

Modified:
   
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/sources/net/karmaLab/tuxDroid/gadgets/MailGadget.java
Log:
* Filter on sender and subject for run command (bug fixes).

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-27 10:21:05 UTC (rev 2856)
+++ 
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/sources/net/karmaLab/tuxDroid/gadgets/MailGadget.java
    2008-11-27 10:32:20 UTC (rev 2857)
@@ -135,7 +135,8 @@
                                        /* Get the subject and the sender of 
the current mail */
                                        String subject = 
messages[i].getSubject();
                                        String sender = ((InternetAddress) 
messages[i].getFrom()[0]).getPersonal();
-
+                                       String mail = 
((InternetAddress)messages[i].getFrom()[0]).getAddress();
+                                       
                                        if (sender == null) {
                                                sender = ((InternetAddress) 
messages[i].getFrom()[0]).getAddress();
                                        }
@@ -163,53 +164,58 @@
                                                //Set sender filter.
                                                
if(this.configuration().isSenderFiltered())
                                                {
+                                                       Vector<Boolean> ver = 
new Vector<Boolean>();
                                                        for(String 
allowedSender : this.configuration().getSenderFilter())
                                                        {
-                                                               
if(!sender.equals(allowedSender))
+                                                               
if(!mail.equals(allowedSender))
                                                                {
-                                                                       /* 
Referencing the current mail */
-                                                                       
stateRun.getLastMessages().add(messages[i].getSubject());
+                                                                       
ver.add(new Boolean(false));
                                                                }
                                                        }
+                                                       
+                                                       for(Boolean bool : ver)
+                                                       {
+                                                               
if(!bool.booleanValue())
+                                                               {
+                                                                       
mailAlreadyRead = true;
+                                                                       break;
+                                                               }
+                                                       }
+                                                       
                                                }
                                                
+                                               
                                                //Set subject filter.
                                                
if(this.configuration().isSubjectFiltered())
                                                {
-                                                       Vector<Boolean> verT = 
new Vector<Boolean>();
-                                                       
-                                                       for(String 
allowedSubject : this.configuration().getSubjectFilter())
+                                                       Vector<Boolean> ver = 
new Vector<Boolean>();
+                                                       for(String 
allowedContent : this.configuration().getSubjectFilter())
                                                        {
-                                                               
if(!sender.contains(allowedSubject))
+                                                               
if(!subject.contains(allowedContent))
                                                                {
-                                                                       
verT.add(Boolean.valueOf(true));
+                                                                       
ver.add(new Boolean(false));
                                                                }
                                                        }
                                                        
-                                                       boolean canSay = true;
-                                                       
-                                                       for(Boolean allowed : 
verT)
+                                                       for(Boolean bool : ver)
                                                        {
-                                                               
if((!allowed.booleanValue()) || verT.size() <= 0)
+                                                               
if(!bool.booleanValue())
                                                                {
-                                                                       canSay 
= false;
+                                                                       
mailAlreadyRead = true;
                                                                        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++) {
-                                                       if 
(subject.equals(stateRun.getLastMessages().get(j))) {
-                                                               mailAlreadyRead 
= true;
-                                                               break;
+                                               else
+                                               {
+                                                       /* Check if the mail is 
not already read */
+                                                       for (int j = 0; j < 
stateRun.getLastMessages().size(); j++) {
+                                                               if 
(subject.equals(stateRun.getLastMessages().get(j))) {
+                                                                       
mailAlreadyRead = true;
+                                                                       break;
+                                                               }
                                                        }
                                                }
 


-------------------------------------------------------------------------
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

Reply via email to