CB-5398 Work-around for KitKat content: URLs not rendering in <img> tags

This commit is contained in:
Andrew Grieve 2014-02-13 15:56:24 -05:00
parent 87285d94f7
commit 954a1723f1

View File

@ -59,7 +59,7 @@ public class IceCreamCordovaWebViewClient extends CordovaWebViewClient {
// Allow plugins to intercept WebView requests.
Uri remappedUri = resourceApi.remapUri(origUri);
if (!origUri.equals(remappedUri) || needsSpecialsInAssetUrlFix(origUri)) {
if (!origUri.equals(remappedUri) || needsSpecialsInAssetUrlFix(origUri) || needsKitKatContentUrlFix(origUri)) {
OpenForReadResult result = resourceApi.openForRead(remappedUri, true);
return new WebResourceResponse(result.mimeType, "UTF-8", result.inputStream);
}
@ -74,6 +74,14 @@ public class IceCreamCordovaWebViewClient extends CordovaWebViewClient {
}
}
private static boolean needsKitKatContentUrlFix(Uri uri) {
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT) {
if ("content".equals(uri.getScheme()) && uri.toString().contains("%3A")) {
return true;
}
}
return false;
}
private static boolean needsSpecialsInAssetUrlFix(Uri uri) {
if (CordovaResourceApi.getUriType(uri) != CordovaResourceApi.URI_TYPE_ASSET) {
return false;