Hello,
I'm experiencing something really strange with one of the devices I'm working with.
We've been trying to deploy one of our existing Sencha Touch 2 app on a HP Slate 8 Pro Android tablet. The app itself seems to work fine (at least, it starts properly), however, none of the touch events (touch start, touch move or touch end....nor tap, etc.) are being registered by this device. We basically can't press a button, scroll a list, etc.
The screen is properly responsive since we can tap on a textbox and get the soft keyboard to pop up. So I assumed something was wrong with the bindings...But I can't figure out what exactly.
This app is built with Sencha Touch 2 and Cordova 3.1. In order to eliminate potential sources of issues:
So I started to wonder what exactly could cause this. I tested this last version (lite Android app) in 3 different devices:
First difference is, the user agents:
Mozilla/5.0 (Linux; Android 4.4.2; SAMSUNG-SGH-I747 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Mobile Safari/537.36
Mozilla/5.0 (Linux; U; Android 4.2.1; en-us; Galaxy Nexus Build/JOP40D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30
Mozilla/5.0 (Linux; U; Android 4.2.2; en-us; HP Slate 8 Pro Build/JDQ39) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30
The only difference (excluding the SGS3 using Chrome as a webview which is a new feature of Android KitKat) is that the Slate isn't using a Mobile version of safari. This might be expected since this is a tablet and not a phone. I'm not quite sure if there's a real impact.
Other test I ran was to trace all the events bound on the app startup:
Galaxy S3 Cyanogen 4.4.2
Galaxy Nexus (4.2.1)
Slate 8 Pro (4.2.2)
Funny thing is the binding of both the Galaxy and the Slate are the same...But the Slate still won't react to touch (binding Ext.event.publisher.TouchGesture#onEvent)
I'm running out of ideas right now. Is there anything you'd recommend looking at?
I already tried the solution presented in this post with no luck.
EDIT:
I'm not sure if this is appropriate to post this as a bug as I couldn't yet identify if this is related to Sencha Touch or specifically this device.
Thanks
I'm experiencing something really strange with one of the devices I'm working with.
We've been trying to deploy one of our existing Sencha Touch 2 app on a HP Slate 8 Pro Android tablet. The app itself seems to work fine (at least, it starts properly), however, none of the touch events (touch start, touch move or touch end....nor tap, etc.) are being registered by this device. We basically can't press a button, scroll a list, etc.
The screen is properly responsive since we can tap on a textbox and get the soft keyboard to pop up. So I assumed something was wrong with the bindings...But I can't figure out what exactly.
This app is built with Sencha Touch 2 and Cordova 3.1. In order to eliminate potential sources of issues:
- I got rid of Cordova and built the application with the Sencha Native Packager. Behavior persisted.
- I got rid of the Sencha Native Packager and built a very simple 1 activity application which loads index.html from the asset folder to the webview. Behavior persisted.
So I started to wonder what exactly could cause this. I tested this last version (lite Android app) in 3 different devices:
- A Samsung Galaxy S3 running the latest Cyanogen Mod (Android 4.4.2)
- A Galaxy Nexus running Android 4.2.1 (retail)
- The HP Slate 8 pro running Android 4.2.2 (probably some HP homebrew fork which so far I blame for the issue...)
First difference is, the user agents:
- SGS3 Webview uses:
Mozilla/5.0 (Linux; Android 4.4.2; SAMSUNG-SGH-I747 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Mobile Safari/537.36
- The Galaxy Webview uses:
Mozilla/5.0 (Linux; U; Android 4.2.1; en-us; Galaxy Nexus Build/JOP40D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30
- The Slate Webview uses:
Mozilla/5.0 (Linux; U; Android 4.2.2; en-us; HP Slate 8 Pro Build/JDQ39) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30
The only difference (excluding the SGS3 using Chrome as a webview which is a new feature of Android KitKat) is that the Slate isn't using a Mobile version of safari. This might be expected since this is a tablet and not a phone. I'm not quite sure if there's a real impact.
Other test I ran was to trace all the events bound on the app startup:
Galaxy S3 Cyanogen 4.4.2
Code:
binding Ext.AnimationQueue#run
binding Ext.AnimationQueue#whenIdle
binding Ext.AnimationQueue#processIdleQueueItem
binding Ext.AnimationQueue#processTaskQueueItem
binding Ext.TaskQueue#run
binding Ext.TaskQueue#watch
binding Ext.event.publisher.Dom#onEvent
binding Ext.event.publisher.TouchGesture#onEvent
binding Ext.viewport.Default#doPreventPanning
binding Ext.viewport.Default#doPreventZooming
binding Ext.viewport.Default#doBlurInput
firing event initialize
binding Ext.viewport.Default#onOrientationChange
binding Ext.viewport.Default#onElementFocus
binding Ext.viewport.Default#onElementBlur
firing event ready
binding Ext.util.paintmonitor.OverflowChange#onElementPainted
binding Ext.util.sizemonitor.OverflowChange#onExpand
binding Ext.util.sizemonitor.OverflowChange#onShrink
binding Ext.util.sizemonitor.Abstract#refresh
firing event initialize
firing event initialize
binding Ext.app.History#detectStateChange
firing event exception
firing event beforeloadGalaxy Nexus (4.2.1)
Code:
binding Ext.AnimationQueue#run
binding Ext.AnimationQueue#whenIdle
binding Ext.AnimationQueue#processIdleQueueItem
binding Ext.AnimationQueue#processTaskQueueItem
binding Ext.TaskQueue#run
binding Ext.TaskQueue#watch
binding Ext.event.publisher.Dom#onEvent
binding Ext.event.publisher.TouchGesture#onEvent
binding Ext.viewport.Default#doPreventPanning
binding Ext.viewport.Android#doPreventZooming
binding undefined
firing event initialize
binding Ext.viewport.Default#onElementFocus
binding Ext.viewport.Default#onElementBlur
firing event ready
binding Ext.util.paintmonitor.CssAnimation#onElementPainted
binding Ext.util.sizemonitor.Scroll#onScroll
binding Ext.util.sizemonitor.Abstract#refresh
firing event initialize
firing event initialize
binding Ext.app.History#detectStateChange
firing event exception
firing event beforeloadSlate 8 Pro (4.2.2)
Code:
binding Ext.AnimationQueue#run
binding Ext.AnimationQueue#whenIdle
binding Ext.AnimationQueue#processIdleQueueItem
binding Ext.AnimationQueue#processTaskQueueItem
binding Ext.TaskQueue#run
binding Ext.TaskQueue#watch
binding Ext.event.publisher.Dom#onEvent
binding Ext.event.publisher.TouchGesture#onEvent
binding Ext.viewport.Default#doPreventPanning
binding Ext.viewport.Android#doPreventZooming
binding undefined
firing event initialize
binding Ext.viewport.Default#onElementFocus
binding Ext.viewport.Default#onElementBlur
firing event ready
binding Ext.util.paintmonitor.CssAnimation#onElementPainted
binding Ext.util.sizemonitor.Scroll#onScroll
binding Ext.util.sizemonitor.Abstract#refresh
firing event initialize
firing event initialize
binding Ext.app.History#detectStateChange
firing event exception
firing event beforeloadFunny thing is the binding of both the Galaxy and the Slate are the same...But the Slate still won't react to touch (binding Ext.event.publisher.TouchGesture#onEvent)
I'm running out of ideas right now. Is there anything you'd recommend looking at?
I already tried the solution presented in this post with no luck.
EDIT:
I'm not sure if this is appropriate to post this as a bug as I couldn't yet identify if this is related to Sencha Touch or specifically this device.
Thanks
Aucun commentaire:
Enregistrer un commentaire