aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/src/main/java/org/traccar/manager/MainFragment.java76
1 files changed, 3 insertions, 73 deletions
diff --git a/app/src/main/java/org/traccar/manager/MainFragment.java b/app/src/main/java/org/traccar/manager/MainFragment.java
index b970499..1a7db04 100644
--- a/app/src/main/java/org/traccar/manager/MainFragment.java
+++ b/app/src/main/java/org/traccar/manager/MainFragment.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016 Anton Tananaev (anton@traccar.org)
+ * Copyright 2016 - 2020 Anton Tananaev (anton@traccar.org)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -22,29 +22,20 @@ import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.pm.ApplicationInfo;
-import android.content.res.AssetManager;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.preference.PreferenceManager;
-import androidx.annotation.Nullable;
-import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import android.view.View;
import android.webkit.JavascriptInterface;
-import android.webkit.MimeTypeMap;
import android.webkit.ValueCallback;
import android.webkit.WebChromeClient;
-import android.webkit.WebResourceResponse;
import android.webkit.WebSettings;
import android.webkit.WebView;
-import android.webkit.WebViewClient;
import android.webkit.WebViewFragment;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.HttpURLConnection;
-import java.util.HashMap;
-import java.util.Map;
+import androidx.annotation.Nullable;
+import androidx.localbroadcastmanager.content.LocalBroadcastManager;
public class MainFragment extends WebViewFragment {
@@ -54,7 +45,6 @@ public class MainFragment extends WebViewFragment {
private final static int REQUEST_FILE_CHOOSER = 1;
- private AssetManager assetManager;
private LocalBroadcastManager broadcastManager;
public class AppInterface {
@@ -71,7 +61,6 @@ public class MainFragment extends WebViewFragment {
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- assetManager = getActivity().getAssets();
broadcastManager = LocalBroadcastManager.getInstance(getActivity());
}
@@ -85,7 +74,6 @@ public class MainFragment extends WebViewFragment {
}
}
- getWebView().setWebViewClient(webViewClient);
getWebView().setWebChromeClient(webChromeClient);
getWebView().addJavascriptInterface(new AppInterface(), "appInterface");
@@ -123,64 +111,6 @@ public class MainFragment extends WebViewFragment {
broadcastManager.unregisterReceiver(broadcastReceiver);
}
- public String getMimeType(String url) {
- String extension = MimeTypeMap.getFileExtensionFromUrl(url);
- if (extension != null) {
- switch (extension) {
- case "js":
- return "text/javascript";
- case "woff":
- return "application/font-woff";
- case "woff2":
- return "application/font-woff2";
- case "ttf":
- return "application/x-font-ttf";
- case "eot":
- return "application/vnd.ms-fontobject";
- case "svg":
- return "image/svg+xml";
- default:
- return MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);
- }
- }
- return null;
- }
-
- public WebResourceResponse loadFileFromAssets(String url, String file) throws IOException {
- String mimeType = getMimeType(url);
- String encoding = "UTF-8";
- InputStream inputStream = assetManager.open(file);
-
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
- int statusCode = HttpURLConnection.HTTP_OK;
- String reasonPhase = "OK";
- Map<String, String> responseHeaders = new HashMap<>();
- responseHeaders.put("Access-Control-Allow-Origin", "*");
- return new WebResourceResponse(mimeType, encoding, statusCode, reasonPhase, responseHeaders, inputStream);
- } else {
- return new WebResourceResponse(mimeType, encoding, inputStream);
- }
- }
-
- private WebViewClient webViewClient = new WebViewClient() {
-
- @Override
- public WebResourceResponse shouldInterceptRequest(WebView view, String url) {
- Uri uri = Uri.parse(url);
- String host = uri.getHost();
- if (host != null && host.equals("cdnjs.cloudflare.com")) {
- String path = uri.getPath().substring("/ajax/libs".length());
- try {
- return loadFileFromAssets(url, "cdnjs" + path);
- } catch (IOException e) {
- return null;
- }
- }
- return null;
- }
-
- };
-
private ValueCallback<Uri> openFileCallback;
private ValueCallback<Uri[]> openFileCallback2;