I have been working on a particular UI scenario, and I'm running up against 
time barriers to figure out what is going on.  I'm hoping someone here can 
shortcut the process for me, so I don't have to start walking the angular 
sources or worse :).

The scenario is pretty simple to explain.  I have an Angular SPA using 
angular-route and $location.path to traverse the app flow.

On a given page, however, I want to transition to another route while 
maintaining an on-going press/drag event.  The problem is, when I call 
$location.path(...) to transition to another route, the press event (and 
the underlying touch event tracking) gets squashed.  The press, pan and 
underlying touchevents stop firing.

The details:
I am running the lastest version of Angular, angular-route, and the 
Ryan-Mullins' version of Angular-hammer with hammerjs 2.04 (all the latest, 
according to bower ;).  I'm also running with a few other modules I don't 
think impact anything--animation, resource... sce (I forget now which 
module that's in). sanitize I think.  Anyway, typical stuff.  

The next important detail is that I'm running this setup via Cordova on an 
Android device.

What I am seeing is, on transition, the touchevent which triggers the press 
simply "goes away".  Which is to say, there is no touchend or touchcancel 
(unless it's getting hidden from me, for example by Angular).  Also no 
pressup.  I had hoped to continue the event by restarting the press with 
programmatic touch events.  That didn't work either.  I can get the press 
to start, but the OS does not generate any on-going touch events.

Now, given the above, I figure this could be a "Cordova problem" relating 
to how Cordova supports location routing in its hosted WebView (somehow 
changing Activities, for instance, which will cause Android to reset the 
touchevent).  Alternatively (and seemingly more likely since I would have 
thought the entire WebView was a single Activity (pretty sure it is), it 
could be as simple as the Cordova event pass through being one way.  So OS 
triggered events come into the WebView, but javascript triggered events do 
not go out, and the WebView itself is relying on the OS to continue touch 
tracking.  Implying that my solution would lie in some sort of plugin or 
patch to Cordova itself to all me to restart touch tracking from Javascript 
(I haven't done much native Android development, so the costs thereof are a 
little out of band).  Alternatively, the problem may originate (and be 
solvable) at the Angular/javascript layer.  There are enough layers 
involved that discerning exactly what's going on will likely take longer 
than I have been given the budget for on this problem, so I'm really just 
hoping someone has experience doing something similar in Angular and can 
tell me if I should be looking at the angular layer for a solution.

-- 
You received this message because you are subscribed to the Google Groups 
"AngularJS" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/angular.
For more options, visit https://groups.google.com/d/optout.

Reply via email to