cordova-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CB-11326) use navigator.app.loadUrl got uncaught exception with allow-navigation
Date Wed, 08 Jun 2016 15:13:21 GMT

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

ASF GitHub Bot commented on CB-11326:
-------------------------------------

GitHub user vladimir-kotikov opened a pull request:

    https://github.com/apache/cordova-plugin-splashscreen/pull/104

    CB-11326 Prevent crash when initializing plugin after navigating to another URL

    <!--
    Please make sure the checklist boxes are all checked before submitting the PR. The checklist
    is intended as a quick reference, for complete details please see our Contributor Guidelines:
    
    http://cordova.apache.org/contribute/contribute_guidelines.html
    
    Thanks!
    -->
    
    ### Platforms affected
    - Android
    
    ### What does this PR do?
    Fixes app hang (due to internal crash) after calling `navigator.app.loadUrl(myurl)`
    
    ### What testing has been done on this change?
    Manual testing
    
    ### Checklist
    - [x] [ICLA](http://www.apache.org/licenses/icla.txt) has been signed and submitted to
secretary@apache.org.
    - [x] [Reported an issue](http://cordova.apache.org/contribute/issues.html) in the JIRA
database
    - [x] Commit message follows the format: "CB-3232: (android) Fix bug with resolving file
paths", where CB-xxxx is the JIRA ID & "android" is the platform affected.
    - [ ] Added automated test coverage as appropriate for this change.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/vladimir-kotikov/cordova-plugin-splashscreen CB-11326

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/cordova-plugin-splashscreen/pull/104.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #104
    
----
commit b7ace248116826b8b5858b748b5525ee7cf92b25
Author: Vladimir Kotikov <kotikov.vladimir@gmail.com>
Date:   2016-06-08T15:04:03Z

    CB-11326 Prevent crash when initializing plugin after navigating to another URL

----


> use navigator.app.loadUrl got uncaught exception with allow-navigation 
> -----------------------------------------------------------------------
>
>                 Key: CB-11326
>                 URL: https://issues.apache.org/jira/browse/CB-11326
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: Plugin SplashScreen
>         Environment: Cordova 6.2.0
>            Reporter: zhuisui
>            Assignee: Vladimir Kotikov
>              Labels: triaged
>
> I get this stack when {{navigator.app.loadUrl(myurl)}} with {{<allow-navigation href="myurl"
/>}}, which occurs after {{pluginManager.shouldAllowNavigation(myurl)}} returns true
> {code}
> Uncaught exception from plugin
>                                                          android.view.ViewRootImpl$CalledFromWrongThreadException:
Only the original thread that created a view hierarchy can touch its views.
>                                                              at android.view.ViewRootImpl.checkThread(ViewRootImpl.java:6556)
>                                                              at android.view.ViewRootImpl.clearChildFocus(ViewRootImpl.java:3023)
>                                                              at android.view.ViewGroup.clearChildFocus(ViewGroup.java:964)
>                                                              at android.view.ViewGroup.clearChildFocus(ViewGroup.java:964)
>                                                              at android.view.ViewGroup.clearChildFocus(ViewGroup.java:964)
>                                                              at android.view.View.clearFocusInternal(View.java:5602)
>                                                              at android.view.View.clearFocus(View.java:5585)
>                                                              at android.view.ViewGroup.clearFocus(ViewGroup.java:977)
>                                                              at android.view.View.setFlags(View.java:10622)
>                                                              at android.view.View.setVisibility(View.java:7431)
>                                                              at org.apache.cordova.splashscreen.SplashScreen.pluginInitialize(SplashScreen.java:85)
>                                                              at org.apache.cordova.CordovaPlugin.privateInitialize(CordovaPlugin.java:58)
>                                                              at org.apache.cordova.PluginManager.getPlugin(PluginManager.java:172)
>                                                              at org.apache.cordova.PluginManager.startupPlugins(PluginManager.java:98)
>                                                              at org.apache.cordova.PluginManager.init(PluginManager.java:87)
>                                                              at org.apache.cordova.CordovaWebViewImpl.loadUrlIntoView(CordovaWebViewImpl.java:138)
>                                                              at org.apache.cordova.CordovaWebViewImpl.showWebPage(CordovaWebViewImpl.java:216)
>                                                              at org.apache.cordova.CoreAndroid.loadUrl(CoreAndroid.java:203)
>                                                              at org.apache.cordova.CoreAndroid.execute(CoreAndroid.java:92)
>                                                              at org.apache.cordova.CordovaPlugin.execute(CordovaPlugin.java:98)
>                                                              at org.apache.cordova.PluginManager.exec(PluginManager.java:133)
>                                                              at org.apache.cordova.CordovaBridge.jsExec(CordovaBridge.java:59)
>                                                              at org.apache.cordova.engine.SystemExposedJsApi.exec(SystemExposedJsApi.java:41)
>                                                              at org.chromium.base.SystemMessageHandler.nativeDoRunLoopOnce(Native
Method)
>                                                              at org.chromium.base.SystemMessageHandler.handleMessage(SystemMessageHandler.java:53)
>                                                              at android.os.Handler.dispatchMessage(Handler.java:102)
>                                                              at android.os.Looper.loop(Looper.java:148)
>                                                              at android.os.HandlerThread.run(HandlerThread.java:61)
> {code}
> Then, app cannot accept any command and doesn't response.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@cordova.apache.org
For additional commands, e-mail: issues-help@cordova.apache.org


Mime
View raw message