[
https://issues.apache.org/jira/browse/CB-10692?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sergey Shakhnazarov resolved CB-10692.
--------------------------------------
Resolution: Fixed
> [Android] SplashScreen plugin crashes due to race condition on hide
> -------------------------------------------------------------------
>
> Key: CB-10692
> URL: https://issues.apache.org/jira/browse/CB-10692
> Project: Apache Cordova
> Issue Type: Bug
> Components: Plugin SplashScreen
> Affects Versions: 3.2.0
> Reporter: Dan Polivy
> Labels: android, pendingPR, triaged
>
> On Android, there is a small race condition in the code to hide the splash
> screen when a fade out is used. It may only be visible in certain edge cases,
> but the net result is that the app will crash.
> Specifically, if multiple calls come in to {{removeSplashScreen}} in a row,
> it's possible for the first call to null out {{splashImageView}} before the
> second call uses it (but after the second call tests for {{splashDialog ==
> null}}), because of the animation delay.
> Crashing code:
> https://github.com/apache/cordova-plugin-splashscreen/blob/master/src/android/SplashScreen.java#L219
> My repro for this scenario is due to having a native dialog box that appears
> if we have a network connection error when trying to connect to the starting
> URL (in my case, it is a remote URL). The dialog box has a 'retry' button
> which allows the user to retry the network request. When the user does this,
> we tell the webview to load a new URL; the webview then re-initializes the
> plugin manager, which in turn sends onPause and onDestroy events to the
> Splash Screen plugin. It's this sequence of events, which, in quick
> succession, can trigger the crash.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]