david-kennan / pheet

2 stars 0 forks source link

Welcome Splash won't dismiss on Gingerbread #16

Open david-kennan opened 12 years ago

david-kennan commented 12 years ago

Tested on Android 2.3.4 (Gingerbread) on HTC Incredible 2 and also another handset with Android 2.x (details TBD). The Welcome Splash "Play Game" button shows that it is being depressed but the dialog does not close. User cannot play game because the dialog never goes away.

xeoshow commented 12 years ago

Tested on my local android device (Android 3.1) and this issue did not appear, both v1 and v2 works as expected.

To david: could you send me a snapshot for this issue so I can try to find the possible issue in the code? At same time I will try to setup or get a 2.3.4 env to test...

david-kennan commented 12 years ago

This issue is really easy to visualize. A snapshot will simply show you the initial Welcome Splash on a black background. The Welcome Splash is displayed when the app first loads. On Android 2.3, no matter how many times you press the button, the Welcome Splash simply won't go away. It is as if the events to close the Welcome Splash never get called. We can see that the button is being pressed, because it's state changes momentarily (there is a blue highlight around it for a moment). But after that it goes back to its initial state. You never get to the game.

On Sat, Jun 30, 2012 at 10:38 AM, xeoshow < reply@reply.github.com

wrote:

Tested on my local android device (Android 3.1) and this issue did not appear, both v1 and v2 works as expected.

To david: could you send me a snapshot for this issue so I can try to find the possible issue in the code? At same time I will try to setup or get a 2.3.4 env to test...


Reply to this email directly or view it on GitHub: https://github.com/david-kennan/pheet/issues/16#issuecomment-6682175

xeoshow commented 12 years ago

Borrowed a device with android 2.3.4 and testing...

xeoshow commented 12 years ago

recreated the issue on onda pad (android 2.3.4) and trying to fix it.

xeoshow commented 12 years ago

Possible helpful links collected:

http://www.bobbychanblog.com/2011/07/faster-android-emulator-alternative-using-virtualbox/ Faster Android Emulator Alternative – Using VirtualBox

http://www.infoq.com/news/2011/07/mobile-web-debugging Debugging Mobile Web Apps: Weinre and JSConsole Now, Remote WebKit Eventually

https://developers.google.com/chrome/mobile/docs/debugging Google Chrome Mobile Remote Debugging

http://jsconsole.com/remote-debugging.html Remotely debug a mobile web app

http://www.mobilexweb.com/blog/debugging-web-safari-phonegap-iphone-ipad iWebInspector: Debugging webapps and PhoneGap apps on iOS

xeoshow commented 12 years ago

Finally used weinre to debug remotely on android 2.3.4, and based on below guide step by step (Chinese version): http://www.donglongfei.com/2012/03/debug-phonegap-app-using-weinre/

Now still trying the tool to debug ...

xeoshow commented 12 years ago

Key note: MUST change the line bind_address = 127.0.0.1 to bind_address = 192.168.1.101 (your intranet ip address) to make it can be accessed externally. This line in in file default.ini (like C:\CouchDB\etc\couchdb). After this change, the 127.0.0.1 still works.

xeoshow commented 12 years ago

When bind_address changed to 192.168.1.101, should also use below to push app, otherwise will get cross origin issue. couchapp push pheet http://admin:admin@192.168.1.101:5984/quote

xeoshow commented 12 years ago

From debugging, the playbutton is triggered when clicked, and below error log trace:


2012-07-02 21:25:11.795:INFO:weinre:target 350186668: weinre: target 350186668 c onnected to client 350186666 2012-07-02 21:25:24.295:WARN:weinre:client 350186666: weinre: invocation excepti on on Object.childNodeInserted(): TypeError: Cannot call method '_insertChild' o f undefined 2012-07-02 21:25:24.295:WARN:weinre:client 350186666: weinre: invocation excepti on on Object.childNodeInserted(): TypeError: Cannot call method '_insertChild' o f undefined 2012-07-02 21:25:24.295:WARN:weinre:client 350186666: weinre: invocation excepti on on Object.childNodeInserted(): TypeError: Cannot call method '_insertChild' o f undefined 2012-07-02 21:25:24.295:WARN:weinre:client 350186666: weinre: invocation excepti on on Object.childNodeInserted(): TypeError: Cannot call method '_insertChild' o f undefined 2012-07-02 21:25:24.295:WARN:weinre:client 350186666: weinre: invocation excepti on on Object.childNodeInserted(): TypeError: Cannot call method '_insertChild' o f undefined 2012-07-02 21:25:24.295:WARN:weinre:client 350186666: weinre: invocation excepti on on Object.childNodeInserted(): TypeError: Cannot call method '_insertChild' o f undefined 2012-07-02 21:25:24.295:WARN:weinre:client 350186666: weinre: invocation excepti on on Object.childNodeInserted(): TypeError: Cannot call method '_insertChild' o f undefined 2012-07-02 21:25:24.295:WARN:weinre:client 350186666: weinre: invocation excepti on on Object.childNodeInserted(): TypeError: Cannot call method '_insertChild' o f undefined 2012-07-02 21:25:24.295:WARN:weinre:client 350186666: weinre: invocation excepti on on Object.childNodeCountUpdated(): TypeError: Cannot set property 'childNode Count' of undefined 2012-07-02 21:25:24.295:WARN:weinre:client 350186666: weinre: invocation excepti on on Object.childNodeRemoved(): TypeError: Cannot call method 'removeChild' of undefined 2012-07-02 21:25:24.311:WARN:weinre:client 350186666: weinre: invocation excepti on on Object.childNodeCountUpdated(): TypeError: Cannot set property 'childNode Count' of undefined 2012-07-02 21:25:24.311:WARN:weinre:client 350186666: weinre: invocation excepti on on Object.childNodeRemoved(): TypeError: Cannot call method 'removeChild' of undefined 2012-07-02 21:25:24.311:WARN:weinre:client 350186666: weinre: invocation excepti on on Object.childNodeRemoved(): TypeError: Cannot call method 'removeChild_' of undefined 2012-07-02 21:25:24.311:WARN:weinre:client 350186666: weinre: invocation excepti on on Object.childNodeCountUpdated(): TypeError: Cannot set property 'childNode Count' of undefined 2012-07-02 21:25:24.311:WARN:weinre:client 350186666: weinre: invocation excepti on on Object.childNodeRemoved(): TypeError: Cannot call method 'removeChild' of undefined 2012-07-02 21:25:24.311:WARN:weinre:client 350186666: weinre: invocation excepti on on Object.childNodeCountUpdated(): TypeError: Cannot set property '_childNode Count' of undefined 2012-07-02 21:25:24.311:WARN:weinre:client 350186666: weinre: invocation excepti on on Object.childNodeCountUpdated(): TypeError: Cannot set property 'childNode Count' of undefined 2012-07-02 21:25:24.311:WARN:weinre:client 350186666: weinre: invocation excepti on on Object.childNodeRemoved(): TypeError: Cannot call method 'removeChild' of undefined 2012-07-02 21:25:24.311:WARN:weinre:client 350186666: weinre: invocation excepti on on Object.childNodeCountUpdated(): TypeError: Cannot set property '_childNode Count' of undefined 2012-07-02 21:25:24.311:WARN:weinre:client 350186666: weinre: invocation excepti on on Object.childNodeInserted(): TypeError: Cannot call method '_insertChild' o f undefined 2012-07-02 21:25:24.311:WARN:weinre:client 350186666: weinre: invocation excepti on on Object.childNodeInserted(): TypeError: Cannot call method '_insertChild' o f undefined 2012-07-02 21:25:24.311:WARN:weinre:client 350186666: weinre: invocation excepti on on Object.childNodeInserted(): TypeError: Cannot call method 'insertChild' o f undefined 2012-07-02 21:25:24.311:WARN:weinre:client 350186666: weinre: invocation excepti on on Object.childNodeRemoved(): TypeError: Cannot call method 'removeChild' of undefined 2012-07-02 21:25:24.311:WARN:weinre:client 350186666: weinre: invocation excepti on on Object.childNodeInserted(): TypeError: Cannot call method 'insertChild' o f undefined 2012-07-02 21:25:24.311:WARN:weinre:client 350186666: weinre: invocation excepti on on Object.childNodeRemoved(): TypeError: Cannot call method 'removeChild' of undefined 2012-07-02 21:25:24.311:WARN:weinre:client 350186666: weinre: invocation excepti on on Object.childNodeInserted(): TypeError: Cannot call method 'insertChild' o f undefined 2012-07-02 21:25:24.326:WARN:weinre:client 350186666: weinre: invocation excepti on on Object.childNodeRemoved(): TypeError: Cannot call method 'removeChild' of undefined 2012-07-02 21:25:24.326:WARN:weinre:client 350186666: weinre: invocation excepti on on Object.childNodeInserted(): TypeError: Cannot call method '_insertChild' o f undefined 2012-07-02 21:25:24.326:WARN:weinre:client 350186666: weinre: invocation excepti on on Object.childNodeInserted(): TypeError: Cannot call method 'insertChild' o f undefined 2012-07-02 21:25:24.326:WARN:weinre:client 350186666: weinre: invocation excepti on on Object.childNodeRemoved(): TypeError: Cannot call method 'removeChild' of undefined 2012-07-02 21:25:24.326:WARN:weinre:client 350186666: weinre: invocation excepti on on Object.childNodeInserted(): TypeError: Cannot call method 'insertChild' o f undefined 2012-07-02 21:25:24.326:WARN:weinre:client 350186666: weinre: invocation excepti on on Object.childNodeRemoved(): TypeError: Cannot call method 'removeChild' of undefined 2012-07-02 21:25:24.326:WARN:weinre:client 350186666: weinre: invocation excepti on on Object.childNodeInserted(): TypeError: Cannot call method 'insertChild' o f undefined 2012-07-02 21:25:24.326:WARN:weinre:client 350186666: weinre: invocation excepti on on Object.childNodeRemoved(): TypeError: Cannot call method 'removeChild' of undefined 2012-07-02 21:25:24.326:WARN:weinre:client 350186666: weinre: invocation excepti on on Object.childNodeInserted(): TypeError: Cannot call method '_insertChild' o f undefined

xeoshow commented 12 years ago

Even commented out "$.mobile.changePage($('#page'), 'pop', false, true);", still will get the same error as above, and if only leave this "$.mobile.changePage($('#page'), 'pop', false, true);", the pop dialog will also not dismissed, so this should be narrowed down to a bug of JQM in android 2.3.4 ... at least the minimal behavior should be: the pop dialog should be dismissed and only left black background there ...

Now in such minimal scenario, the error log is: 2012-07-02 23:20:06.201:WARN:weinre:client 1890883796: weinre: invocation except ion on Object.childNodeRemoved(): TypeError: Cannot call method 'indexOf' of null