Author: remi
Date: 2008-08-29 16:25:45 +0200 (Fri, 29 Aug 2008)
New Revision: 1642

Added:
   
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/libraries/TuxApi.jar
   
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/resources/fr.po
   
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/resources/help.html
   
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/resources/help_fr.html
   
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/resources/nl.po
   
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/sources/net/karmaLab/tuxDroid/gadgets/ATTMessages.java
   
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/sources/net/karmaLab/tuxDroid/gadgets/messages.properties
   
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/sources/net/karmaLab/tuxDroid/gadgets/messages_en.properties
   
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/sources/net/karmaLab/tuxDroid/gadgets/messages_fr.properties
   
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/sources/net/karmaLab/tuxDroid/gadgets/messages_nl.properties
Modified:
   
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/gadgets.xml
   
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/resources/gadget.pot
   
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/sources/net/karmaLab/tuxDroid/gadgets/MailGadget.java
Log:
Refactored the mail gadget.
Work standalone but don't work in CC ...

Modified: 
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/gadgets.xml
===================================================================
--- 
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/gadgets.xml
      2008-08-29 14:13:34 UTC (rev 1641)
+++ 
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/gadgets.xml
      2008-08-29 14:25:45 UTC (rev 1642)
@@ -16,19 +16,19 @@
                <parameters>
                        <parameter
                                name="host"
-                               description="server host"
+                               description="Server host"
                                type="string"
-                               defaultValue="nephilia" />
+                               defaultValue="pop.myserver.be" />
                        <parameter
                                name="port"
                                description="Server port"
                                type="integer"
-                               defaultValue="143" />
+                               defaultValue="0" />
                        <parameter
                                name="user"
                                description="Username"
                                type="string"
-                               defaultValue="yoran" />
+                               defaultValue="[EMAIL PROTECTED]" />
                        <parameter
                                name="folder"
                                description="IMAP folder to retreive"
@@ -44,14 +44,16 @@
                                description="Protocol"
                                type="enum(pop3,imap)"
                                defaultValue="imap" />
+            <parameter
+                               name="readOne"
+                               description="Alert mode"
+                               type="boolean"
+                               defaultValue="true" />
                </parameters>
                <commands>
                        <command
                                name="check"
                                description="Check if there is any new mail" />
-                       <command
-                               name="read"
-                               description="Read your mail" />
                </commands>
        </gadget>
 </gadgets>
\ No newline at end of file

Added: 
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/libraries/TuxApi.jar
===================================================================
(Binary files differ)


Property changes on: 
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/libraries/TuxApi.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: 
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/resources/fr.po
===================================================================
--- 
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/resources/fr.po
                          (rev 0)
+++ 
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/resources/fr.po
  2008-08-29 14:25:45 UTC (rev 1642)
@@ -0,0 +1,35 @@
+msgid "Username"
+msgstr "Nom de l'utilisateur"
+
+msgid "Server host"
+msgstr "Adresse du serveur"
+
+msgid "Server port"
+msgstr "Port du serveur"
+
+msgid "IMAP folder to retreive"
+msgstr "Dossier IMAP de r�ception"
+
+msgid "Password"
+msgstr "Mot de passe"
+
+msgid "Protocol"
+msgstr "Protocole"
+
+msgid "Alert mode"
+msgstr "Mode alerte"
+
+msgid "Check if there is any new mail"
+msgstr "V�rifier si il y a un nouvel email"
+
+msgid "Read your mail"
+msgstr "Lire votre email"
+
+msgid ""You have a new message""
+msgstr ""Vous avez un nouveau message""
+
+msgid "This message is sent by %s"
+msgstr "Ce message est envoy� par %s"
+
+msgid "The message subject is : %s"
+msgstr "Le sujet du message est : %s"

Modified: 
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/resources/gadget.pot
===================================================================
--- 
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/resources/gadget.pot
     2008-08-29 14:13:34 UTC (rev 1641)
+++ 
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/resources/gadget.pot
     2008-08-29 14:25:45 UTC (rev 1642)
@@ -0,0 +1,35 @@
+msgid "Username"
+msgstr "Username"
+
+msgid "Server host"
+msgstr "Server host"
+
+msgid "Server port"
+msgstr "Server port"
+
+msgid "IMAP folder to retreive"
+msgstr "IMAP folder to retreive"
+
+msgid "Password"
+msgstr "Password"
+
+msgid "Protocol"
+msgstr "Protocol"
+
+msgid "Alert mode"
+msgstr "Alert mode"
+
+msgid "Check if there is any new mail"
+msgstr "Check if there is any new mail"
+
+msgid "Read your mail"
+msgstr "Read your mail"
+
+msgid "You have a new message"
+msgstr ""You have a new message""
+
+msgid "This message is sent by %s"
+msgstr "This message is sent by %s"
+
+msgid "The message subject is : %s"
+msgstr "The message subject is : %s"

Added: 
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/resources/help.html
===================================================================
--- 
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/resources/help.html
                              (rev 0)
+++ 
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/resources/help.html
      2008-08-29 14:25:45 UTC (rev 1642)
@@ -0,0 +1,6 @@
+<html>
+<body>
+This gadget lets Tux Droid read the sender and the subject of your E-mail. 
Drag-and-dropping the gadget into "My Alerts" will enable it, giving you an 
alert upon receiving new E-mail.
+<br>
+</body>
+</html>

Added: 
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/resources/help_fr.html
===================================================================
--- 
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/resources/help_fr.html
                           (rev 0)
+++ 
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/resources/help_fr.html
   2008-08-29 14:25:45 UTC (rev 1642)
@@ -0,0 +1,6 @@
+<html>
+<body>
+Ce gadget permet � Tux Droid de lire l'exp�diteur et le sujet de votre 
courriel. Glissez-d�posez le gadget dans "Mes Alertes" le rendra actif et vous 
alertera de la r�ception d'un nouveau message.
+<br>
+</body>
+</html>

Added: 
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/resources/nl.po
===================================================================
--- 
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/resources/nl.po
                          (rev 0)
+++ 
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/resources/nl.po
  2008-08-29 14:25:45 UTC (rev 1642)
@@ -0,0 +1,35 @@
+msgid "Username"
+msgstr "Gebruikersnaam"
+
+msgid "Server host"
+msgstr "Server host"
+
+msgid "Server port"
+msgstr "Server poort"
+
+msgid "IMAP folder to retreive"
+msgstr "IMAP-map die je wil ophalen"
+
+msgid "Password"
+msgstr "Wachtwoord"
+
+msgid "Protocol"
+msgstr "Protocol"
+
+msgid "Alert mode"
+msgstr "Alert modus"
+
+msgid "Check if there is any new mail"
+msgstr "Controleer of er nieuwe E-mail is"
+
+msgid "Read your mail"
+msgstr "Lees je E-mail"
+
+msgid "You have a new message"
+msgstr "Je hebt een nieuw bericht"
+
+msgid "This message is sent by %s"
+msgstr "Dit bericht is verzonden door %s"
+
+msgid "The message subject is : %s"
+msgstr "Het onderwerp is : %s"

Added: 
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/sources/net/karmaLab/tuxDroid/gadgets/ATTMessages.java
===================================================================
--- 
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/sources/net/karmaLab/tuxDroid/gadgets/ATTMessages.java
                           (rev 0)
+++ 
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/sources/net/karmaLab/tuxDroid/gadgets/ATTMessages.java
   2008-08-29 14:25:45 UTC (rev 1642)
@@ -0,0 +1,36 @@
+package net.karmaLab.tuxDroid.gadgets;
+
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+import java.util.Locale;
+
+public class ATTMessages
+{
+       private static final String BUNDLE_NAME = 
"net.karmalab.tuxDroid.gadgets.messages"; //$NON-NLS-1$
+       private static final ResourceBundle RESOURCE_BUNDLE;
+       private static final String ccLang = 
System.getProperty("CC_SET_LANGUAGE");
+       
+       static
+       {
+               if (ccLang == null)
+               {
+                       RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME);
+               }
+               else
+               {
+                       RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME, 
new Locale(ccLang));
+               }
+       }
+       
+       public static String getString(String key)
+       {
+               try
+               {
+                       return RESOURCE_BUNDLE.getString(key);
+               }
+               catch (MissingResourceException e)
+               {
+                       return '!' + key + '!';
+               }
+       }
+}

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-08-29 14:13:34 UTC (rev 1641)
+++ 
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/sources/net/karmaLab/tuxDroid/gadgets/MailGadget.java
    2008-08-29 14:25:45 UTC (rev 1642)
@@ -38,24 +38,35 @@
 import javax.mail.Session;
 import javax.mail.Store;
 import javax.mail.Flags.Flag;
+import javax.mail.internet.InternetAddress;
 
 import net.karmaLab.xml.bean.XmlObjectReaderException;
 
 import com.kysoh.tuxdroid.gadget.framework.gadget.SimpleGadget;
 import com.kysoh.tuxdroid.gadget.framework.gadget.SimpleGadgetConfiguration;
+import com.tuxisalive.api.*;
 
-public class MailGadget extends SimpleGadget<MailGadget.Configuration> {
-       public enum ServerProtocol {
+/**
+ * 
+ * @author User
+ *
+ */
+public class MailGadget extends SimpleGadget<MailGadget.Configuration>
+{
+       public enum ServerProtocol
+       {
                pop3, imap
        }
 
-       public static class State implements Serializable {
+       public static class State implements Serializable
+       {
                private Vector<String> lastMessages = new Vector<String>();
 
                /**
                 * @return the lastMessages
                 */
-               public Vector<String> getLastMessages() {
+               public Vector<String> getLastMessages()
+               {
                        return lastMessages;
                }
 
@@ -63,56 +74,28 @@
                 * @param lastMessages
                 *            the lastMessages to set
                 */
-               public void setLastMessages(Vector<String> lastMessages) {
+               public void setLastMessages(Vector<String> lastMessages)
+               {
                        this.lastMessages = lastMessages;
                }
 
        }
 
-       public static class Configuration extends SimpleGadgetConfiguration {
+       public static class Configuration extends SimpleGadgetConfiguration
+       {
                private String host;
                private int port;
                private ServerProtocol protocol;
                private String password;
                private String user;
                private String folder;
-               private boolean useFrom;
-               private boolean useSubject;
+               private boolean readOne;
 
                /**
-                * @return the useFrom
-                */
-               public boolean isUseFrom() {
-                       return useFrom;
-               }
-
-               /**
-                * @param useFrom
-                *            the useFrom to set
-                */
-               public void setUseFrom(boolean useFrom) {
-                       this.useFrom = useFrom;
-               }
-
-               /**
-                * @return the useSubject
-                */
-               public boolean isUseSubject() {
-                       return useSubject;
-               }
-
-               /**
-                * @param useSubject
-                *            the useSubject to set
-                */
-               public void setUseSubject(boolean useSubject) {
-                       this.useSubject = useSubject;
-               }
-
-               /**
                 * @return the folder
                 */
-               public String getFolder() {
+               public String getFolder()
+               {
                        return folder;
                }
 
@@ -120,14 +103,16 @@
                 * @param folder
                 *            the folder to set
                 */
-               public void setFolder(String folder) {
+               public void setFolder(String folder)
+               {
                        this.folder = folder;
                }
 
                /**
                 * @return the password
                 */
-               public String getPassword() {
+               public String getPassword()
+               {
                        return password;
                }
 
@@ -135,14 +120,16 @@
                 * @param password
                 *            the password to set
                 */
-               public void setPassword(String password) {
+               public void setPassword(String password)
+               {
                        this.password = password;
                }
 
                /**
                 * @return the user
                 */
-               public String getUser() {
+               public String getUser()
+               {
                        return user;
                }
 
@@ -150,14 +137,16 @@
                 * @param user
                 *            the user to set
                 */
-               public void setUser(String user) {
+               public void setUser(String user)
+               {
                        this.user = user;
                }
 
                /**
                 * @return the port
                 */
-               public int getPort() {
+               public int getPort()
+               {
                        return port;
                }
 
@@ -165,14 +154,16 @@
                 * @param port
                 *            the port to set
                 */
-               public void setPort(int port) {
+               public void setPort(int port)
+               {
                        this.port = port;
                }
 
                /**
                 * @return the kind
                 */
-               public ServerProtocol getProtocol() {
+               public ServerProtocol getProtocol()
+               {
                        return protocol;
                }
 
@@ -180,83 +171,259 @@
                 * @param kind
                 *            the kind to set
                 */
-               public void setProtocol(ServerProtocol kind) {
+               public void setProtocol(ServerProtocol kind)
+               {
                        this.protocol = kind;
                }
 
-               public String getHost() {
+               /**
+                * 
+                * @return
+                */
+               public String getHost()
+               {
                        return host;
                }
 
-               public void setHost(String host) {
+               /**
+                * 
+                * @param host
+                */
+               public void setHost(String host)
+               {
                        this.host = host;
                }
+               
+               /**
+                * 
+                * @return
+                */
+               public boolean getReadOne()
+               {
+                       return readOne;
+               }
+               
+               /**
+                * 
+                * @param readOne
+                */
+               public void setReadOne(boolean readOne)
+               {
+                       this.readOne = readOne;
+               }
        }
 
        private static Configuration configuration;
 
-       public static void main(String[] args) throws Exception {
+       /**
+        * 
+        * @param args
+        * @throws Exception
+        */
+       public static void main(String[] args) throws Exception
+       {
                new MailGadget().boot(args, configuration = new 
Configuration());
        }
 
-       public void check() throws MessagingException, 
XmlObjectReaderException, IOException, ClassNotFoundException {
-               File sessionId = new File(configuration.getHost() + "_" + 
configuration.getPort() + "_" + configuration.getUser());
-               State state = null;
-               if (sessionId.exists()) {
-                       ObjectInputStream inputStream = new 
ObjectInputStream(new FileInputStream(sessionId));
-                       state = (State) inputStream.readObject();
-               } else {
-                       state = new State();
+       /**
+        * 
+        * @throws MessagingException
+        * @throws XmlObjectReaderException
+        * @throws IOException
+        * @throws ClassNotFoundException
+        */
+       public void check() throws MessagingException, 
XmlObjectReaderException, IOException, ClassNotFoundException
+       {
+               /* Get the locutor from the CC */
+               String ccLocutor = System.getProperty("CC_SET_LOCUTOR");
+               
+               /* Create an load the file object to the referenced mail 
(ALERT) */
+               ObjectInputStream inputStream;
+               
+               File sessionIdAlert = new File(System.getProperty("user.home") 
+ File.separator + "MyTux" +
+                               File.separator + "TuxDroidSettings" + 
File.separator + configuration.getHost() + "_" + configuration.getPort() + "_" 
+ configuration.getUser() + "ALERT");
+               State stateAlert = null;
+               
+               if (sessionIdAlert.exists())
+               {
+                       inputStream = new ObjectInputStream(new 
FileInputStream(sessionIdAlert));
+                       stateAlert = (State) inputStream.readObject();
+               } 
+               else
+               {
+                       stateAlert = new State();
                }
+               
+               /* Create an load the file object to the referenced mail (RUN) 
*/
+               File sessionIdRun = new File(System.getProperty("user.home") + 
File.separator + "MyTux" +
+                               File.separator + "TuxDroidSettings" + 
File.separator + configuration.getHost() + "_" + configuration.getPort() + "_" 
+ configuration.getUser() + "RUN");
+               State stateRun = null;
+               
+               if (sessionIdRun.exists())
+               {
+                       inputStream = new ObjectInputStream(new 
FileInputStream(sessionIdRun));
+                       stateRun = (State) inputStream.readObject();
+               } 
+               else
+               {
+                       stateRun = new State();
+               }
+               
+               /* Connect to the mail box */
                System.setProperty("mail.mime.decodetext.strict", "false");
-
-               throwTrace("Last Messages :" + state.getLastMessages().size());
                Properties props = new Properties();
                Session session = Session.getDefaultInstance(props, null);
-               throwTrace("Using protocol :" + configuration.getProtocol());
                Store store = 
session.getStore(configuration.getProtocol().toString());
-               throwTrace("Connecting to " + configuration.getHost() + " as " 
+ configuration.getUser() + " with " + configuration.getPassword());
                store.connect(configuration.getHost(), configuration.getUser(), 
configuration.getPassword());
                Folder folder = store.getFolder(configuration.getFolder());
-               throwTrace("Getting folder " + configuration.getFolder());
-
                folder.open(Folder.READ_ONLY);
                Message messages[] = folder.getMessages();
-               for (int i = 0; i < messages.length; i++) {
-                       String subject = messages[i].getSubject();
-                       // throwTrace("#" + i + " - " + subject);
-                       if (!messages[i].getFlags().contains(Flag.SEEN)) {
-                               boolean found = false;
-                               for (int j = 0; j < 
state.getLastMessages().size(); j++) {
-                                       if 
(subject.equals(state.getLastMessages().get(j))) {
-                                               found = true;
-                                               break;
+               
+               /* Create and connect a Tux api object*/
+               TuxAPI tux = new TuxAPI("localhost", 270);
+               tux.server.autoConnect(TuxAPIConst.CLIENT_LEVEL_RESTRICTED, 
"GadgetMail", "123456789");
+               tux.server.waitConnected(5.);
+               
+               if (ccLocutor != null)
+               {
+                       tux.tts.setLocutor(ccLocutor);
+               }
+               
+               /* Check if you have a new message */
+               boolean newMessageAlert = false;
+               boolean newMessageRun = false;
+               
+               for (int i = 0; i < messages.length; i++)
+               {
+                       if(!messages[i].getFlags().contains(Flag.SEEN))
+                       {
+                               if 
(!stateAlert.getLastMessages().contains(messages[i].getSubject()))
+                               {
+                                       newMessageAlert = true;
+                                       break;
+                               }
+                       }
+               }
+               
+               for (int i = 0; i < messages.length; i++)
+               {
+                       if(!messages[i].getFlags().contains(Flag.SEEN))
+                       {
+                               if 
(!stateRun.getLastMessages().contains(messages[i].getSubject()))
+                               {
+                                       newMessageRun = true;
+                                       break;
+                               }
+                       }
+               }
+               
+               
+               /* If (ALERT MODE) */
+               if (configuration.getReadOne())
+               {
+                       /* If new message */
+                       if (newMessageAlert)
+                       {
+                               tux.tts.speak(ATTMessages.getString("Msg.1"));
+                               
+                               /* referencing of the mails */
+                               for (int i = 0; i < messages.length; i++)
+                               {
+                                       
stateAlert.getLastMessages().add(messages[i].getSubject());
+                               }
+                       }
+               }
+               /* If (RUN MODE) */
+               else
+               {
+                       /* If new message */
+                       if (newMessageRun)
+                       {
+                               /* For all unread mails */
+                               for (int i = 0; i < messages.length; i++)
+                               {
+                                       /* Get the subject and the sender of 
the current mail */
+                                       String subject = 
messages[i].getSubject();
+                                       String sender = 
((InternetAddress)messages[i].getFrom()[0]).getPersonal();
+                                       
+                                       if (sender == null)
+                                       {
+                                               sender = 
((InternetAddress)messages[i].getFrom()[0]).getAddress();
                                        }
-                               }
-                               if (!found) {
-                                       if (!configuration.useFrom && 
!configuration.useSubject) {
-                                               throwMessage("You have a new 
message");
-                                       } else {
-                                               if (configuration.useFrom) {
-                                                       throwMessage("This 
message is sent by %s", messages[i].getFrom()[0].toString());
+                                       
+                                       /* Filtering the mail address */
+                                       if (sender.contains("<"))
+                                       {
+                                               sender = sender.substring(0, 
sender.indexOf("<"));
+                                       }
+                                       
+                                       /* Filtering the mail subject */
+                                       subject = subject.replace("*", " ");
+                                       subject = subject.replace("_", " ");
+                                       subject = subject.replace("{", " ");
+                                       subject = subject.replace("}", " ");
+                                       subject = subject.replace("[", " ");
+                                       subject = subject.replace("]", " ");
+                                       subject = subject.replace("/", " ");
+                                       subject = subject.replace("\\", " ");
+                                       subject = subject.replace("  ", " ");
+                                       
+                                       /* If the mail is marked as not seen */
+                                       if 
(!messages[i].getFlags().contains(Flag.SEEN))
+                                       {
+                                               boolean mailAlreadyRead = false;
+                                               
+                                               /* 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;
+                                                       }
                                                }
+                                               
+                                               /* If the mail is not already 
read */
+                                               if (!mailAlreadyRead)
+                                               {
+                                                       
tux.tts.speak(ATTMessages.getString("Msg.2") + String.format(" %s.", sender));
+                                                       
tux.tts.speak(ATTMessages.getString("Msg.3") + String.format(" %s.", subject));
 
-                                               if (configuration.useSubject) {
-                                                       throwMessage("The 
message subject is : %s", subject);
+                                                       /* Referencing the 
current mail */
+                                                       
stateRun.getLastMessages().add(messages[i].getSubject());
+
                                                }
                                        }
-                                       state.getLastMessages().add(subject);
                                }
                        }
+                       /* No new message */
+                       else
+                       {
+                               tux.tts.speak(ATTMessages.getString("Msg.4"));
+                       }
                }
-               ObjectOutputStream outputStream = new ObjectOutputStream(new 
FileOutputStream(sessionId));
-               outputStream.writeObject(state);
+               
+               /* Destroy the tux api object */
+               tux.destroy();
+
+               /* Save the current referenced mails */
+               ObjectOutputStream outputStream = new ObjectOutputStream(new 
FileOutputStream(sessionIdAlert));
+               outputStream.writeObject(stateAlert);
                outputStream.close();
+               
+               outputStream = new ObjectOutputStream(new 
FileOutputStream(sessionIdRun));
+               outputStream.writeObject(stateRun);
+               outputStream.close();
        }
 
+       /**
+        * 
+        */
        @Override
-       public void start() throws Exception {
-               if (getCommand().equals("check")) {
+       public void start() throws Exception
+       {
+               if (getCommand().equals("check"))
+               {
                        check();
                        return;
                }

Added: 
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/sources/net/karmaLab/tuxDroid/gadgets/messages.properties
===================================================================
--- 
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/sources/net/karmaLab/tuxDroid/gadgets/messages.properties
                                (rev 0)
+++ 
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/sources/net/karmaLab/tuxDroid/gadgets/messages.properties
        2008-08-29 14:25:45 UTC (rev 1642)
@@ -0,0 +1,4 @@
+Msg.1=You have a new message.
+Msg.2=Mail sent by
+Msg.3=The message subject is :
+Msg.4=No new mail.

Added: 
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/sources/net/karmaLab/tuxDroid/gadgets/messages_en.properties
===================================================================
--- 
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/sources/net/karmaLab/tuxDroid/gadgets/messages_en.properties
                             (rev 0)
+++ 
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/sources/net/karmaLab/tuxDroid/gadgets/messages_en.properties
     2008-08-29 14:25:45 UTC (rev 1642)
@@ -0,0 +1,4 @@
+Msg.1=You have a new message.
+Msg.2=Mail sent by
+Msg.3=The message subject is :
+Msg.4=No new mail.

Added: 
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/sources/net/karmaLab/tuxDroid/gadgets/messages_fr.properties
===================================================================
--- 
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/sources/net/karmaLab/tuxDroid/gadgets/messages_fr.properties
                             (rev 0)
+++ 
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/sources/net/karmaLab/tuxDroid/gadgets/messages_fr.properties
     2008-08-29 14:25:45 UTC (rev 1642)
@@ -0,0 +1,4 @@
+Msg.1=Vous avez un nouveau message!
+Msg.2=Mail envoy� par
+Msg.3=Le sujet est :
+Msg.4=Vous n'avez pas de nouveau message.

Added: 
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/sources/net/karmaLab/tuxDroid/gadgets/messages_nl.properties
===================================================================
--- 
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/sources/net/karmaLab/tuxDroid/gadgets/messages_nl.properties
                             (rev 0)
+++ 
software_suite_v2/software/gadgets/tuxdroid-gadget-mail/trunk/tuxdroid-gadget-mail/sources/net/karmaLab/tuxDroid/gadgets/messages_nl.properties
     2008-08-29 14:25:45 UTC (rev 1642)
@@ -0,0 +1,4 @@
+Msg.1=Je hebt een nieuw bericht.
+Msg.2=Mail verzonden door
+Msg.3=De boodschap is onderworpen :
+Msg.4=Geen nieuwe e-mail.


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