Author: jerome
Date: 2009-02-04 14:03:42 +0100 (Wed, 04 Feb 2009)
New Revision: 3557

Modified:
   
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/CcInterface.java
   
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/alerts/FiFo.java
   
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/gadget/GadgetsFramework.java
Log:
Fixed : #132 ?\226?\128?\148 D?\195?\169sactivation anormale de l'alarme lors 
d'un changement de condiguration de l'alarme.

Modified: 
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/CcInterface.java
===================================================================
--- 
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/CcInterface.java
     2009-02-04 12:27:42 UTC (rev 3556)
+++ 
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/CcInterface.java
     2009-02-04 13:03:42 UTC (rev 3557)
@@ -95,6 +95,7 @@
 import com.tuxdroid.cc.control.CCRemoteActions;
 import com.tuxdroid.cc.gadget.GadgetObject;
 import com.tuxdroid.cc.gadget.GadgetsCommandsUtils;
+import com.tuxdroid.cc.gadget.GadgetsFramework;
 import com.tuxdroid.cc.swing.About;
 import com.tuxdroid.cc.swing.JLogWindow;
 import com.tuxdroid.cc.swing.JStatusBar;
@@ -1854,7 +1855,8 @@
                        this.setPlayerControlsConsistants(true);
                        try{
                                CcCommons.tux.tts.stop();
-                       }catch(Exception except){}
+                       }catch(Exception except){}
+                       FiFo.canRelease = true;
                }
                
                else 
if(arg0.getPropertyName().equalsIgnoreCase("deployement-terminated")){
@@ -2357,8 +2359,9 @@
                        }
                        else 
if(this.schedulerActionType.equalsIgnoreCase("gadget")){
                                try{
-                                       
this.fileBrowser.getFramework().letTalk(true);
-                                       
this.instance.getGadget().create().start(this.schedulerGadgetCommand, 
this.schedulerGadgetParameters); 
+                                       GadgetInstance instance = 
this.instance.getGadget().create();
+                                       GadgetsFramework.gadget = instance;
+                                       
instance.start(this.schedulerGadgetCommand, this.schedulerGadgetParameters);
                                }catch(Exception e){
                                        
CcCommons.logger.appendError(e.getStackTrace());
                                        e.printStackTrace();
@@ -2369,6 +2372,7 @@
                                        
CcCommons.tux.tts.speak(this.schedulerAction);
                                        FiFo.canRelease = true;
                                }catch(NullPointerException e){
+                                       e.printStackTrace();
                                        
CcCommons.logger.appendError(e.getStackTrace());
                                }
                        }
@@ -2710,6 +2714,8 @@
         */
        public void doneWhenExit()
        {
+               //Destroying first the alert fifos.
+               CcCommons.alertsFifo.destroy();
                if(CcCommons.type == CcConstants.TYPE_REMOTELIST) {
                        this.remotePlaylist.checkForEdition();
                        saveFavoritesParams();
@@ -2732,9 +2738,9 @@
                playflag = !playflag;
                if (!playflag) 
                {
-                       if(fileBrowser.getFramework().gadget != null)
+                       setPlayerControlsConsistants(false);
+                       if(GadgetsFramework.gadget != null)
                        {
-                               System.out.println("One gadget is already 
running");
                                return;
                        }
                        CCRemoteActions.deleteContext();
@@ -2762,7 +2768,6 @@
                                
                        else if(CcCommons.type == CcConstants.TYPE_ATTITUNES){
                                FiFo.canRelease = false;
-                               setPlayerControlsConsistants(false);
                                fileBrowser.playAttitune(CcCommons.view);
                        }
                        
@@ -2790,10 +2795,8 @@
                                                }
                                                
                                                fileBrowser.playGadget(gadget, 
params, "run");
-                                               
setPlayerControlsConsistants(false);
                                        }
                                        else{
-                                               
setPlayerControlsConsistants(false);
                                                
fileBrowser.playAttituneFromPath(remotePlaylist.getPath());
                                        }
                                        

Modified: 
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/alerts/FiFo.java
===================================================================
--- 
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/alerts/FiFo.java
     2009-02-04 12:27:42 UTC (rev 3556)
+++ 
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/alerts/FiFo.java
     2009-02-04 13:03:42 UTC (rev 3557)
@@ -69,21 +69,55 @@
        public void inject(String jobName){
                String uid = jobName;
                
if(CcCommons.settings.getAlertObjectKind(uid).equalsIgnoreCase("attitune")){
+                       String path = CcCommons.settings.getPathByUUID(uid);
+                       if(path == "none")
+                       {
+                               return;
+                       }
                        AttitunesFifo.add(jobName);
-                       this.addToAttitunesWatcher("Injected: " + new 
File(CcCommons.settings.getPathByUUID(uid)).getName() + " to attitunes fifo");
+                       this.addToAttitunesWatcher("Injected: " + new 
File(path).getName() + " to attitunes fifo");
                }
                else{
+                       String path = CcCommons.settings.getPathByUUID(uid);
+                       if(path == "none")
+                       {
+                               return;
+                       }
                        GadgetFifo.add(jobName);
-                       this.addToGadgetsWatcher("Injected: " + new 
File(CcCommons.settings.getPathByUUID(uid)).getName() + " to gadgets fifo");
+                       this.addToGadgetsWatcher("Injected: " + new 
File(path).getName() + " to gadgets fifo");
                }
        }
        
        
        /**
+        * Destroy the fifo.
+        */
+       public void destroy()
+       {
+               synchronized(GadgetFifo)
+               {
+                       GadgetFifo.clear();
+                       GadgetFifo = null;
+               }
+               
+               synchronized(AttitunesFifo)
+               {
+                       AttitunesFifo.clear();
+                       AttitunesFifo = null;
+               }
+       }
+       
+       
+       /**
         * Trigger events and remove first incomming.
         */
        public void trigger(){
        
+               if((GadgetFifo == null) || (AttitunesFifo == null))
+               {
+                       return;
+               }
+               
                if((!CcCommons.isFrameworkBusy) && (canRelease)){ //if 
framework is available.
                        if(GadgetFifo.size() > 0){
                                //Then trigger gadgets events.

Modified: 
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/gadget/GadgetsFramework.java
===================================================================
--- 
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/gadget/GadgetsFramework.java
 2009-02-04 12:27:42 UTC (rev 3556)
+++ 
software_suite_v2/software/control_center/trunk/control_center/sources/com/tuxdroid/cc/gadget/GadgetsFramework.java
 2009-02-04 13:03:42 UTC (rev 3557)
@@ -57,9 +57,6 @@
 
                public void notification(GadgetInstance source, String name,
                                Object... parameters) {
-                       if(GadgetsFramework.gadget == null){
-                               return;
-                       }
                        
                        // Example of global notification handling
                        if ((name.equalsIgnoreCase("speak")) || 
(name.contains("message"))){
@@ -102,6 +99,8 @@
                        if(talk)
                                changes.firePropertyChange("Gadget-stopped", 
null, null);
                        GadgetsFramework.gadget = null;
+                       CcCommons.isFrameworkBusy = false;
+                       talk = true;
                        
                }
 


------------------------------------------------------------------------------
Create and Deploy Rich Internet Apps outside the browser with Adobe(R)AIR(TM)
software. With Adobe AIR, Ajax developers can use existing skills and code to
build responsive, highly engaging applications that combine the power of local
resources and data with the reach of the web. Download the Adobe AIR SDK and
Ajax docs to start building applications today-http://p.sf.net/sfu/adobe-com
_______________________________________________
Tux-droid-svn mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tux-droid-svn

Reply via email to