ICEmobile
  1. ICEmobile
  2. MOBI-735

Google Maps navigation doesn't work on Android Container in BB10 runtime

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.2 Final
    • Fix Version/s: 1.3 Beta
    • Component/s: Containers
    • Labels:
      None
    • Environment:
      Android Container running in BB10 Runtime

      Description

      Navigating to the Google Maps page in mobileshowcase doesn't arrive at the page. Instead, the user is returned to the main application entry point, without any apparent error.

        Issue Links

          Activity

          Greg Dick created issue -
          Greg Dick made changes -
          Field Original Value New Value
          Assignee Steve Maryka [ steve.maryka ] Greg Dick [ greg.dick ]
          Hide
          Greg Dick added a comment -

          It appears that the browser is not reloading the page. Here's a series of requests generated by the browser when I click on the google maps link:

          3.8051 10:15:57.321s] – POST /mobileshowcase/showcase.jsf HTTP/1.1
          [3.8758 10:15:57.392s]
          [4.3241 10:15:57.840s] – GET /mobileshowcase/javax.faces.resource/jsf.js.jsf?ln=javax.faces&stage=Development&v=3_4_0_130514 HTTP/1.1
          [4.3432 10:15:57.859s] – GET /mobileshowcase/javax.faces.resource/bridge.uncompressed.js.jsf?ln=ice.core&v=3_4_0_130514 HTTP/1.1
          [4.3694 10:15:57.886s] – GET /mobileshowcase/javax.faces.resource/icepush.uncompressed.js.jsf?ln=ice.push&v=3_4_0_130514 HTTP/1.1
          [4.4080 10:15:57.924s] – GET /mobileshowcase/javax.faces.resource/component.js.jsf?ln=org.icefaces.component.util&v=3_4_0_130514 HTTP/1.1
          [4.4407 10:15:57.957s] – GET /mobileshowcase/javax.faces.resource/bb10.css.jsf?ln=org.icefaces.component.skins&v=3_4_0_130514 HTTP/1.1
          [4.4762 10:15:57.992s] – GET /mobileshowcase/javax.faces.resource/icemobile_thumb.png.jsf?ln=images&v=3_4_0_130514 HTTP/1.1
          [4.5004 10:15:58.016s] – GET /mobileshowcase/javax.faces.resource/showcase.css.jsf?ln=css&v=3_4_0_130514 HTTP/1.1
          [4.6085 10:15:58.125s] – GET /mobileshowcase/javax.faces.resource/org.icefaces.component.skins/bb10/back.png.jsf?v=3_4_0_130514 HTTP/1.1
          [4.6177 10:15:58.134s] – GET /mobileshowcase/javax.faces.resource/org.icefaces.component.skins/bb10/icons-18-white.png.jsf?v=3_4_0_130514 HTTP/1.1
          [4.6284 10:15:58.144s] – GET /mobileshowcase/javax.faces.resource/org.icefaces.component.skins/bb10/next.png.jsf?v=3_4_0_130514 HTTP/1.1
          [4.6492 10:15:58.165s] – GET /mobileshowcase/javax.faces.resource/org.icefaces.component.skins/bb10/fontawesome-webfont.ttf.jsf HTTP/1.1
          [4.6666 10:15:58.183s] – GET /mobileshowcase/javax.faces.resource/org.icefaces.component.skins/bb10/icons-36-white.png.jsf?v=3_4_0_130514 HTTP/1.1
          [4.7073 10:15:58.223s] – GET /mobileshowcase/javax.faces.resource/images/icons-white.png.jsf HTTP/1.1
          [4.8556 10:15:58.372s] – POST /mobileshowcase/javax.faces.resource/listen.icepush.xml.jsf HTTP/1.1

          I find it interesting that the browser requests all the resources loaded by the page, but not the page itself.

          The initial page response contains no caching instructions (shouldn't that make the page uncacheable?):

          [11.644 13:47:06.799s]
          HTTP/1.1 200 OK
          Server: Apache-Coyote/1.1
          X-Powered-By: JSF/2.0
          Content-Type: application/xhtml+xml;charset=UTF-8
          Transfer-Encoding: chunked
          Date: Tue, 14 May 2013 20:47:06 GMT

          2000
          <!DOCTYPE html>
          <html xmlns="http://www.w3.org/1999/xhtml"><head>
          <title>ICEfaces Mobile Showcase</title>
          <link href="./resources/images/touch-icon-iphone.png" rel="apple-touch-icon" />
          <link href="./resources/images/touch-icon-ipad.png" rel="apple-touch-icon" sizes="72x72" />
          <link href="./resources/images/touch-icon-iphone-retina.png" rel="apple-touch-icon" sizes="114x114" />

          Show
          Greg Dick added a comment - It appears that the browser is not reloading the page. Here's a series of requests generated by the browser when I click on the google maps link: 3.8051 10:15:57.321s] – POST /mobileshowcase/showcase.jsf HTTP/1.1 [3.8758 10:15:57.392s] – [4.3241 10:15:57.840s] – GET /mobileshowcase/javax.faces.resource/jsf.js.jsf?ln=javax.faces&stage=Development&v=3_4_0_130514 HTTP/1.1 [4.3432 10:15:57.859s] – GET /mobileshowcase/javax.faces.resource/bridge.uncompressed.js.jsf?ln=ice.core&v=3_4_0_130514 HTTP/1.1 [4.3694 10:15:57.886s] – GET /mobileshowcase/javax.faces.resource/icepush.uncompressed.js.jsf?ln=ice.push&v=3_4_0_130514 HTTP/1.1 [4.4080 10:15:57.924s] – GET /mobileshowcase/javax.faces.resource/component.js.jsf?ln=org.icefaces.component.util&v=3_4_0_130514 HTTP/1.1 [4.4407 10:15:57.957s] – GET /mobileshowcase/javax.faces.resource/bb10.css.jsf?ln=org.icefaces.component.skins&v=3_4_0_130514 HTTP/1.1 [4.4762 10:15:57.992s] – GET /mobileshowcase/javax.faces.resource/icemobile_thumb.png.jsf?ln=images&v=3_4_0_130514 HTTP/1.1 [4.5004 10:15:58.016s] – GET /mobileshowcase/javax.faces.resource/showcase.css.jsf?ln=css&v=3_4_0_130514 HTTP/1.1 [4.6085 10:15:58.125s] – GET /mobileshowcase/javax.faces.resource/org.icefaces.component.skins/bb10/back.png.jsf?v=3_4_0_130514 HTTP/1.1 [4.6177 10:15:58.134s] – GET /mobileshowcase/javax.faces.resource/org.icefaces.component.skins/bb10/icons-18-white.png.jsf?v=3_4_0_130514 HTTP/1.1 [4.6284 10:15:58.144s] – GET /mobileshowcase/javax.faces.resource/org.icefaces.component.skins/bb10/next.png.jsf?v=3_4_0_130514 HTTP/1.1 [4.6492 10:15:58.165s] – GET /mobileshowcase/javax.faces.resource/org.icefaces.component.skins/bb10/fontawesome-webfont.ttf.jsf HTTP/1.1 [4.6666 10:15:58.183s] – GET /mobileshowcase/javax.faces.resource/org.icefaces.component.skins/bb10/icons-36-white.png.jsf?v=3_4_0_130514 HTTP/1.1 [4.7073 10:15:58.223s] – GET /mobileshowcase/javax.faces.resource/images/icons-white.png.jsf HTTP/1.1 [4.8556 10:15:58.372s] – POST /mobileshowcase/javax.faces.resource/listen.icepush.xml.jsf HTTP/1.1 I find it interesting that the browser requests all the resources loaded by the page, but not the page itself. The initial page response contains no caching instructions (shouldn't that make the page uncacheable?): [11.644 13:47:06.799s] HTTP/1.1 200 OK Server: Apache-Coyote/1.1 X-Powered-By: JSF/2.0 Content-Type: application/xhtml+xml;charset=UTF-8 Transfer-Encoding: chunked Date: Tue, 14 May 2013 20:47:06 GMT 2000 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"><head> <title>ICEfaces Mobile Showcase</title> <link href="./resources/images/touch-icon-iphone.png" rel="apple-touch-icon" /> <link href="./resources/images/touch-icon-ipad.png" rel="apple-touch-icon" sizes="72x72" /> <link href="./resources/images/touch-icon-iphone-retina.png" rel="apple-touch-icon" sizes="114x114" />
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #35022 Tue May 14 16:57:31 MDT 2013 greg.dick MOBI-735 Add varying parameter to request for redirection if BB10 environment
          Files Changed
          Commit graph MODIFY /icemobile/trunk/icemobile/samples/mobileshowcase/src/main/java/org/icemobile/samples/mobileshowcase/view/navigation/NavigationModel.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #35024 Tue May 14 18:13:20 MDT 2013 philip.breau MOBI-735 Add varying parameter to request for redirection if BB10 environment
          - use '&' instead of '?' for extra parameter
          Files Changed
          Commit graph MODIFY /icemobile/trunk/icemobile/samples/mobileshowcase/src/main/java/org/icemobile/samples/mobileshowcase/view/navigation/NavigationModel.java
          Hide
          Greg Dick added a comment -

          The Android Webkit browser in BB10 runtime is caching the initial page. In our navigationModel for that application, the navigation outcome is a redirect to the main page. Various pieces of code insert google maps javascript into the page if the current navigation target is 'gmap'. The container is requesting all of the resources for the gmaps page, but not the main menu page itself, which means the javascript insertions haven't taken place.

          The solution is to append an extra request parameter into the redirect URL, which forces the container to request the main page. This fixes navigation to the page, but it is unclear if the page itself will work in the Android container in BB10 runtime, as Google maps is not supported inside the BB10 runtime. It's unclear what elements from the Google maps libraries in question this demonstration actually uses.

          Show
          Greg Dick added a comment - The Android Webkit browser in BB10 runtime is caching the initial page. In our navigationModel for that application, the navigation outcome is a redirect to the main page. Various pieces of code insert google maps javascript into the page if the current navigation target is 'gmap'. The container is requesting all of the resources for the gmaps page, but not the main menu page itself, which means the javascript insertions haven't taken place. The solution is to append an extra request parameter into the redirect URL, which forces the container to request the main page. This fixes navigation to the page, but it is unclear if the page itself will work in the Android container in BB10 runtime, as Google maps is not supported inside the BB10 runtime. It's unclear what elements from the Google maps libraries in question this demonstration actually uses.
          Greg Dick made changes -
          Link This issue blocks MOBI-674 [ MOBI-674 ]
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #35192 Tue May 21 10:34:02 MDT 2013 greg.dick MOBI-735 Enable asNeeded high precision geolocation for BB10 devices
          Files Changed
          Commit graph MODIFY /icemobile/trunk/icemobile/jsp/src/main/java/org/icemobile/jsp/tags/GeolocationTag.java
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #35202 Tue May 21 14:00:35 MDT 2013 greg.dick MOBI-735 Cleaned up logging in geolocation area
          Files Changed
          Commit graph MODIFY /icemobile/trunk/icemobile/jsp/src/main/javascript/icemobile.js
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #35203 Tue May 21 14:01:23 MDT 2013 greg.dick MOBI-735 Added geolocation timed listener removal js
          Files Changed
          Commit graph MODIFY /icemobile/trunk/icemobile/samples/icemobilespring/src/main/webapp/WEB-INF/views/inc/geolocation-content.jsp
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #35218 Wed May 22 10:27:57 MDT 2013 greg.dick MOBI-735 cleaned up some logging in geolocation to make it the same as JSP version
          Files Changed
          Commit graph MODIFY /icemobile/trunk/icemobile/jsf/components/component/resources/org.icefaces.component.util/component.js
          Hide
          Greg Dick added a comment -

          This was an issue with all Android 2.3 OS WebView objects, not just BB10. The notion of postpending a random request parameter to defeat caching worked for all cases

          Show
          Greg Dick added a comment - This was an issue with all Android 2.3 OS WebView objects, not just BB10. The notion of postpending a random request parameter to defeat caching worked for all cases
          Greg Dick made changes -
          Status Open [ 1 ] Resolved [ 5 ]
          Fix Version/s 1.3 Beta [ 10373 ]
          Resolution Fixed [ 1 ]

            People

            • Assignee:
              Greg Dick
              Reporter:
              Greg Dick
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: