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