You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cordova.apache.org by "Dmitry Zemnitskiy (JIRA)" <ji...@apache.org> on 2012/10/16 23:13:03 UTC
[jira] [Created] (CB-1665) 'pause' and 'resume' events are fired
immediately when added by document.addEventListener if they were fired once
before
Dmitry Zemnitskiy created CB-1665:
-------------------------------------
Summary: 'pause' and 'resume' events are fired immediately when added by document.addEventListener if they were fired once before
Key: CB-1665
URL: https://issues.apache.org/jira/browse/CB-1665
Project: Apache Cordova
Issue Type: Bug
Components: Android
Affects Versions: 2.0.0
Reporter: Dmitry Zemnitskiy
Assignee: Joe Bowser
Priority: Minor
I use cordova together with jquery mobile. In my app I install pause/resume event handlers just for one page (with canvas) on 'pageshow' and uninstall them on 'pagehide', so this can happen multiple times during application lifecycle.
I noticed, that after pause/resume was fired at least once, next time I add event handlers they are fired immediately.
Below is stack trace I made, you can notice that problematic line is in
cordova-2.0.0.js line 564 (Channel.subscribe)
The problem is that 'fired' flag is set in Channel.fire and never reset back, which is probably ok for deviceready event but not appropriate for
pause/resume events which can happen multiple times.
10-16 23:36:04.901: D/CordovaLog(22015): at stopAccelerometerWatch (file:///android_asset/www/scripts/app.js:128:4)
10-16 23:36:04.901: D/CordovaLog(22015): at [object Object].onPause (file:///android_asset/www/scripts/app.js:85:3)
10-16 23:36:04.901: D/CordovaLog(22015): at [object Object].subscribe (file:///android_asset/www/cordova-2.0.0.js:564:26)
10-16 23:36:04.901: D/CordovaLog(22015): at HTMLDocument.addEventListener (file:///android_asset/www/cordova-2.0.0.js:105:38)
10-16 23:36:04.901: D/CordovaLog(22015): at initGame (file:///android_asset/www/scripts/app.js:43:12)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Assigned] (CB-1665) 'pause' and 'resume' events are fired
immediately when added by document.addEventListener if they were fired once
before
Posted by "Andrew Grieve (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CB-1665?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andrew Grieve reassigned CB-1665:
---------------------------------
Assignee: Andrew Grieve (was: Joe Bowser)
> 'pause' and 'resume' events are fired immediately when added by document.addEventListener if they were fired once before
> ------------------------------------------------------------------------------------------------------------------------
>
> Key: CB-1665
> URL: https://issues.apache.org/jira/browse/CB-1665
> Project: Apache Cordova
> Issue Type: Bug
> Components: Android
> Affects Versions: 2.0.0
> Reporter: Dmitry Zemnitskiy
> Assignee: Andrew Grieve
> Priority: Minor
>
> I use cordova together with jquery mobile. In my app I install pause/resume event handlers just for one page (with canvas) on 'pageshow' and uninstall them on 'pagehide', so this can happen multiple times during application lifecycle.
> I noticed, that after pause/resume was fired at least once, next time I add event handlers they are fired immediately.
> Below is stack trace I made, you can notice that problematic line is in
> cordova-2.0.0.js line 564 (Channel.subscribe)
> The problem is that 'fired' flag is set in Channel.fire and never reset back, which is probably ok for deviceready event but not appropriate for
> pause/resume events which can happen multiple times.
> 10-16 23:36:04.901: D/CordovaLog(22015): at stopAccelerometerWatch (file:///android_asset/www/scripts/app.js:128:4)
> 10-16 23:36:04.901: D/CordovaLog(22015): at [object Object].onPause (file:///android_asset/www/scripts/app.js:85:3)
> 10-16 23:36:04.901: D/CordovaLog(22015): at [object Object].subscribe (file:///android_asset/www/cordova-2.0.0.js:564:26)
> 10-16 23:36:04.901: D/CordovaLog(22015): at HTMLDocument.addEventListener (file:///android_asset/www/cordova-2.0.0.js:105:38)
> 10-16 23:36:04.901: D/CordovaLog(22015): at initGame (file:///android_asset/www/scripts/app.js:43:12)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Resolved] (CB-1665) 'pause' and 'resume' events are fired
immediately when added by document.addEventListener if they were fired once
before
Posted by "Andrew Grieve (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CB-1665?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andrew Grieve resolved CB-1665.
-------------------------------
Resolution: Fixed
Fix Version/s: 2.2.0
Thanks for the report! This should be fixed in head (and will be included in the 2.2RC). The fix was making channel have a sticky vs. non-sticky type. If it's not fixed in the RC, feel free to re-open.
> 'pause' and 'resume' events are fired immediately when added by document.addEventListener if they were fired once before
> ------------------------------------------------------------------------------------------------------------------------
>
> Key: CB-1665
> URL: https://issues.apache.org/jira/browse/CB-1665
> Project: Apache Cordova
> Issue Type: Bug
> Components: Android
> Affects Versions: 2.0.0
> Reporter: Dmitry Zemnitskiy
> Assignee: Andrew Grieve
> Priority: Minor
> Fix For: 2.2.0
>
>
> I use cordova together with jquery mobile. In my app I install pause/resume event handlers just for one page (with canvas) on 'pageshow' and uninstall them on 'pagehide', so this can happen multiple times during application lifecycle.
> I noticed, that after pause/resume was fired at least once, next time I add event handlers they are fired immediately.
> Below is stack trace I made, you can notice that problematic line is in
> cordova-2.0.0.js line 564 (Channel.subscribe)
> The problem is that 'fired' flag is set in Channel.fire and never reset back, which is probably ok for deviceready event but not appropriate for
> pause/resume events which can happen multiple times.
> 10-16 23:36:04.901: D/CordovaLog(22015): at stopAccelerometerWatch (file:///android_asset/www/scripts/app.js:128:4)
> 10-16 23:36:04.901: D/CordovaLog(22015): at [object Object].onPause (file:///android_asset/www/scripts/app.js:85:3)
> 10-16 23:36:04.901: D/CordovaLog(22015): at [object Object].subscribe (file:///android_asset/www/cordova-2.0.0.js:564:26)
> 10-16 23:36:04.901: D/CordovaLog(22015): at HTMLDocument.addEventListener (file:///android_asset/www/cordova-2.0.0.js:105:38)
> 10-16 23:36:04.901: D/CordovaLog(22015): at initGame (file:///android_asset/www/scripts/app.js:43:12)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira