apache/cordova-android — pull request #115 by martincgg (2014-08-22 18:21:17+00:00)
Title: [CB-7371] Fixed: app crash after phone language change

The main reason of this behavior is the config.xml, origin="*" tag, specifies access to all kind of resources on the network and makes the whiteList object on the WhiteList class a null object, indicating that when origin="*", there's no whiteList, all is allowed.

When it tries to resume the application it checks:
if (url.startsWith("file://") || url.startsWith("javascript:") || whitelist.isUrlWhiteListed(url))
This condition passes and triggers the load for 'about:blank'
The condition passes because, whitelist.isUrlWhiteListed(url) statement returns true.
When the origin="*" is processed by the WhiteList class, it sets a null to the whiteList object, which it should contain the access to resources allowed, however when whitelist.isUrlWhiteListed(url) it returns a true if the whiteList object is null, therefore the condition passes and continues to the loadurl method on webClient, stopping the application, because of the 'about:blank' url.

Adding another condition along with that statement for when whiteList = null, but url= about:blank, in that way it won't be able to load the url.