曹妃甸核酸检测平台.apk(点击下载) / WebViewJavascriptBridge.java


package com.unionpay;

import android.app.Activity;
import android.webkit.JavascriptInterface;
import android.webkit.WebView;
import com.sina.weibo.sdk.constant.WBConstants;
import com.unionpay.utils.g;
import java.io.IOException;
import java.io.InputStream;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import org.json.JSONObject;

public class WebViewJavascriptBridge implements Serializable {
    AbstractC0469d _messageHandler;
    Map _messageHandlers = new HashMap();
    Map _responseCallbacks = new HashMap();
    long _uniqueId = 0;
    Activity mContext;
    WebView mWebView;

    public WebViewJavascriptBridge(Activity activity, WebView webView, AbstractC0469d dVar) {
        this.mContext = activity;
        this.mWebView = webView;
        this._messageHandler = dVar;
        this.mWebView.getSettings().setJavaScriptEnabled(true);
        this.mWebView.addJavascriptInterface(this, "_WebViewJavascriptBridge");
        this.mWebView.setWebViewClient(new C0443c(this, (byte) 0));
        this.mWebView.setWebChromeClient(new D(this, (byte) 0));
    }

    private String a(String str) {
        return str.replace("\\", "\\\\").replace("\"", "\\\"").replace("'", "\\'").replace("\n", "\\n").replace("\r", "\\r").replace("\f", "\\f");
    }

    private void a(String str, e eVar, String str2) {
        HashMap hashMap = new HashMap();
        hashMap.put("data", str);
        if (eVar != null) {
            StringBuilder sb = new StringBuilder("java_cb_");
            long j = this._uniqueId + 1;
            this._uniqueId = j;
            sb.append(j);
            String sb2 = sb.toString();
            this._responseCallbacks.put(sb2, eVar);
            hashMap.put(WBConstants.SHARE_CALLBACK_ID, sb2);
        }
        if (str2 != null) {
            hashMap.put("handlerName", str2);
        }
        a(hashMap);
    }

    /* access modifiers changed from: private */
    public void a(String str, String str2) {
        HashMap hashMap = new HashMap();
        hashMap.put("responseId", str);
        hashMap.put("responseData", str2);
        a(hashMap);
    }

    private void a(Map map) {
        String jSONObject = new JSONObject(map).toString();
        g.a("test", "sending:" + jSONObject);
        this.mContext.runOnUiThread(new B(this, String.format("javascript:WebViewJavascriptBridge._handleMessageFromJava('%s');", a(jSONObject))));
    }

    public static String convertStreamToString(InputStream inputStream) {
        String str = "";
        try {
            Scanner useDelimiter = new Scanner(inputStream, "UTF-8").useDelimiter("\\A");
            if (useDelimiter.hasNext()) {
                str = useDelimiter.next();
            }
            inputStream.close();
        } catch (IOException e2) {
            e2.printStackTrace();
        }
        return str;
    }

    @JavascriptInterface
    public void _handleMessageFromJs(String str, String str2, String str3, String str4, String str5) {
        AbstractC0469d dVar;
        if (str2 != null) {
            ((e) this._responseCallbacks.get(str2)).a(str3);
            this._responseCallbacks.remove(str2);
            return;
        }
        C c2 = null;
        if (str4 != null) {
            c2 = new C(this, str4);
        }
        if (str5 != null) {
            dVar = (AbstractC0469d) this._messageHandlers.get(str5);
            if (dVar == null) {
                g.b("test", "WVJB Warning: No handler for " + str5);
                return;
            }
        } else {
            dVar = this._messageHandler;
        }
        try {
            this.mContext.runOnUiThread(new A(this, dVar, str, c2));
        } catch (Exception e2) {
            g.b("test", "WebViewJavascriptBridge: WARNING: java handler threw. " + e2.getMessage());
        }
    }

    public void callHandler(String str) {
        callHandler(str, null, null);
    }

    public void callHandler(String str, String str2) {
        callHandler(str, str2, null);
    }

    public void callHandler(String str, String str2, e eVar) {
        a(str2, eVar, str);
    }

    public void registerHandler(String str, AbstractC0469d dVar) {
        this._messageHandlers.put(str, dVar);
    }

    public void send(String str) {
        send(str, null);
    }

    public void send(String str, e eVar) {
        a(str, eVar, null);
    }
}