You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cordova.apache.org by "Zhang Zengbo (JIRA)" <ji...@apache.org> on 2014/09/10 05:37:29 UTC

[jira] [Commented] (CB-6667) window.requestFileSystem - callbacks are not fired in a particular circumstance

    [ https://issues.apache.org/jira/browse/CB-6667?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14127998#comment-14127998 ] 

Zhang Zengbo commented on CB-6667:
----------------------------------

Hello, as https://issues.apache.org/jira/browse/CB-6761 is marked as resolved but I found it maybe not,  could you please see the latest two comments and the attach file of that issue, I don't know how that is related to this issue.

> window.requestFileSystem - callbacks are not fired in a particular circumstance
> -------------------------------------------------------------------------------
>
>                 Key: CB-6667
>                 URL: https://issues.apache.org/jira/browse/CB-6667
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: Plugin File
>    Affects Versions: 3.4.0
>         Environment: Mac OS X 10.9.2
> Android SDK (latest) - API v19
> Eclipse 4.2.2
>            Reporter: Kelvin Dart
>            Priority: Critical
>              Labels: Android4.4.x, Cordova, androidmanifest.xml, window
>
> Excuse the essay, but I have a very odd issue that I have singled down to Cordova which happens in a very specific circumstance on Android.
> I have provided a project of the stock Cordova Android project which can be found here: http://www.filedropper.com/windowfstest - with a minor modification for the issue I am having.
> I have uploaded a compiled APK to install to your device here: http://www.filedropper.com/windowfstest140509-1404
> Steps to replicate are:
> 1) Download and install that APK onto your device (I was using the Samsung Galaxy S4 with Android 4.4.2 running, no root, and stock TouchWiz ROM, I *hope* this occurs on other Android devices but have not had an opportunity to verify).
> 2) Start the application and observe an alert appears stating 'dr', then afterwards another alert appears, 'got FS' - if you check the code, you'll see this is normal from my app.initialize().
> 3) Once those two alerts have appeared, press the Android 'home' button, to quit to the main Android home screen.
> 4) Go into another app or two and just use your phone normally. What we are trying to achieve here is for the Android memory management system to 'end'/kill the WindowFSTest app in the backend.
> 5) Go into Apps > WindowFSTest (i.e. the app in question) and hopefully it will have restarted - the app has to have restarted for the bug to occur, and observe a few things here:
> a) Verify the app has restarted, this can be verified by the 'dr' popup occuring when Cordova loads.
> b) Once you are confident the app has been restarted, observe the initial 'dr' popup, but *not* the 'got FS' popup - this is the bug, the window.requestFileSystem does not fire the callbacks for some reason - and I do not know why.
> N.b. there are a few things to note here which is why the bug is tricky to replicate AND I imagine will be even more difficult to debug at a lower level ;-)
> 1) The Android system has to kill the app in the backend once you've pressed the 'home' button - there's no way of determining when this has happened, just use the phone like ordinary for half a minute or so - normally it kills it after a short period.
> 2) The way to restart the app is via Apps > WindowFSTest (not via the task manager).
> 3) ***IMPORTANT*** the above two steps seem to occur only when you run it from a compiled APK, not directly from source/debug APK - so it's not as easy to debug since you cannot put line breaks in the Java file(s).
> Although not perfect, one way to fix this is to use:
> android:launchMode="singleTop"
> In AndroidManifest.xml - since it ensures the app is 'resumed' instead of restarted.
> I can provide a video upon request illustrating the issue.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)