Skip to content

Commit 3639958

Browse files
Implementar URL de código
1 parent 3c2b42b commit 3639958

File tree

1 file changed

+20
-16
lines changed

1 file changed

+20
-16
lines changed

WebViewCREA/src/main/java/org/CredoresProgram/WebViewCREA/WebViewCreaClient.java

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -21,34 +21,38 @@ public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceReque
2121
@Override
2222
public WebResourceResponse shouldInterceptRequest(WebView view, String url){
2323
String[] partes = url.split("/");
24-
if(url.toLowerCase().endsWith(".html") || !partes[partes.length - 1].contains(".")){
25-
Request request = new Request.Builder()
26-
.url(url)
27-
.addHeader("User-Agent", view.getSettings().getUserAgentString())
28-
.build();
29-
Response response = null;
24+
if(url.toLowerCase().endsWith(".html") || !partes[partes.length - 1].contains(".") || url.toLowerCase().startsWith("data:text/html,")){
3025
try {
31-
response = client.newCall(request).execute();
26+
Document content;
27+
if(url.toLowerCase().startsWith("data:text/html,")){
28+
content = Jsoup.parse(url.replaceFirst("data:text/html,"));
29+
}else{
30+
Request request = new Request.Builder()
31+
.url(url)
32+
.addHeader("User-Agent", view.getSettings().getUserAgentString())
33+
.build();
34+
Response response = client.newCall(request).execute();
3235
if (!response.isSuccessful() || response.body() == null) {
3336
return super.shouldInterceptRequest(view, url);
3437
}
35-
Document content = Jsoup.parse(response.body().string());
36-
Element head = content.head();
37-
for (Element script : content.select("script")) {
38+
content = Jsoup.parse(response.body().string());
39+
}
40+
Element head = content.head();
41+
for (Element script : content.select("script")) {
3842
if (script.attr("type").isEmpty() || script.attr("type").equalsIgnoreCase("text/javascript") || script.attr("type").equalsIgnoreCase("application/javascript")) {
3943
script.attr("type", "text/babel");
4044
}
41-
}
42-
if (head != null) {
45+
}
46+
if (head != null) {
4347
String urlPrefix = "file:///android_asset/WebViewCrea";
4448
head.prepend("<script src='"+urlPrefix+"/babel.min.js'></script>\n<script src='"+urlPrefix+"/runtime.js' type='text/babel'></script>\n<script src='"+urlPrefix+"/core-js.min.js' type='text/babel'></script>\n<script src='"+urlPrefix+"/customEventPoly.js' type='text/babel'></script>\n<script src='"+urlPrefix+"/fetch.js' type='text/babel'></script>\n<script src='"+urlPrefix+"/url-polyfill.js' type='text/babel'></script>\n");
45-
}
46-
InputStream inputStream = new ByteArrayInputStream(content.html().getBytes("UTF-8"));
47-
return new WebResourceResponse("text/html", "UTF-8", inputStream);
49+
}
50+
InputStream inputStream = new ByteArrayInputStream(content.html().getBytes("UTF-8"));
51+
return new WebResourceResponse("text/html", "UTF-8", inputStream);
4852
}catch(Exception e){
4953
return super.shouldInterceptRequest(view, url);
5054
}
5155
}
5256
return super.shouldInterceptRequest(view, url);
5357
}
54-
}
58+
}

0 commit comments

Comments
 (0)