package com.mobileTicket.hello12306.widget;

import android.graphics.Bitmap;
import android.graphics.Picture;
import android.net.http.SslCertificate;
import android.view.KeyEvent;
import android.view.View;
import android.webkit.ValueCallback;

import java.lang.reflect.Method;
import java.util.Map;

public class XWebView implements APWebView {
    private final Object aPWebView;
    private final Class<?> aPWebViewCls;
    private Method evaluateJavascript;

    public XWebView(Object aPWebView) {
        this.aPWebView = aPWebView;
        this.aPWebViewCls = aPWebView.getClass();
    }

    @Override
    public void addJavascriptInterface(Object obj, String str) {
        try {
            Method method = aPWebViewCls.getDeclaredMethod("addJavascriptInterface",
                    Object.class, String.class);
            method.invoke(aPWebView, obj, str);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    @Override
    public boolean canGoBack() {
        return false;
    }

    @Override
    public boolean canGoBackOrForward(int i) {
        return false;
    }

    @Override
    public boolean canGoForward() {
        return false;
    }

    @Override
    public Picture capturePicture() {
        return null;
    }

    @Override
    public void clearCache(boolean z) {

    }

    @Override
    public void clearFormData() {

    }

    @Override
    public void clearHistory() {

    }

    @Override
    public void clearSslPreferences() {

    }

    @Override
    public void destroy() {

    }

    @Override
    public boolean dispatchKeyEvent(KeyEvent keyEvent) {
        return false;
    }

    @Override
    public void evaluateJavascript(String js, ValueCallback<String> valueCallback) {
        try {
            evaluateJavascriptWithException(js, valueCallback);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public void evaluateJavascriptWithException(String js, ValueCallback<String> valueCallback) throws Exception {
        if (evaluateJavascript == null) {
            evaluateJavascript = aPWebViewCls.getDeclaredMethod("evaluateJavascript", String.class, ValueCallback.class);
        }
        evaluateJavascript.invoke(aPWebView, js, valueCallback);
    }

    @Override
    public void flingScroll(int i, int i2) {

    }

    @Override
    public void freeMemory() {

    }

    @Override
    public SslCertificate getCertificate() {
        return null;
    }

    @Override
    public int getContentHeight() {
        return 0;
    }

    @Override
    public int getContentWidth() {
        return 0;
    }

    @Override
    public Bitmap getFavicon() {
        return null;
    }

    @Override
    public String[] getHttpAuthUsernamePassword(String str, String str2) {
        return new String[0];
    }

    @Override
    public String getOriginalUrl() {
        return null;
    }

    @Override
    public int getProgress() {
        return 0;
    }

    @Override
    public int getScrollY() {
        return 0;
    }

    @Override
    public String getTitle() {
        try {
            Method method = aPWebViewCls.getDeclaredMethod("getTitle");
            return (String) method.invoke(aPWebView);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return "";
    }

    @Override
    public String getUrl() {
        try {
            Method method = aPWebViewCls.getDeclaredMethod("getUrl");
            return (String) method.invoke(aPWebView);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

    @Override
    public String getVersion() {
        return null;
    }

    @Override
    public View getView() {
        return null;
    }

    @Override
    public void goBack() {
        try {
            Method method = aPWebViewCls.getDeclaredMethod("goBack");
            method.invoke(aPWebView);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    @Override
    public void goBackOrForward(int i) {

    }

    @Override
    public void goForward() {

    }

    @Override
    public void invokeZoomPicker() {

    }

    @Override
    public boolean isPaused() {
        return false;
    }

    @Override
    public void loadData(String str, String str2, String str3) {

    }

    @Override
    public void loadDataWithBaseURL(String str, String str2, String str3, String str4, String str5) {

    }

    @Override
    public void loadUrl(String str) {
        try {
            Method loadUrl = aPWebViewCls.getDeclaredMethod("loadUrl", String.class);
            loadUrl.invoke(aPWebView, str);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    @Override
    public void loadUrl(String str, Map<String, String> map) {

    }

    @Override
    public void onPause() {

    }

    @Override
    public void onResume() {

    }

    @Override
    public boolean overlayHorizontalScrollbar() {
        return false;
    }

    @Override
    public boolean overlayVerticalScrollbar() {
        return false;
    }

    @Override
    public boolean pageDown(boolean z) {
        return false;
    }

    @Override
    public boolean pageUp(boolean z) {
        return false;
    }

    @Override
    public void postUrl(String str, byte[] bArr) {

    }

    @Override
    public void reload() {

    }

    @Override
    public void removeJavascriptInterface(String str) {

    }

    @Override
    public void savePassword(String str, String str2, String str3) {

    }

    @Override
    public void setHorizontalScrollBarEnabled(boolean z) {

    }

    @Override
    public void setHorizontalScrollbarOverlay(boolean z) {

    }

    @Override
    public void setHttpAuthUsernamePassword(String str, String str2, String str3, String str4) {

    }

    @Override
    public void setInitialScale(int i) {

    }

    @Override
    public void setNetworkAvailable(boolean z) {

    }

    @Override
    public void setVerticalScrollBarEnabled(boolean z) {

    }

    @Override
    public void setVerticalScrollbarOverlay(boolean z) {

    }

    @Override
    public void setWebContentsDebuggingEnabled(boolean z) {
        try {
            Method setWebContentsDebuggingEnabled = aPWebViewCls.getDeclaredMethod("setWebContentsDebuggingEnabled", boolean.class);
            setWebContentsDebuggingEnabled.invoke(aPWebView, z);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    @Override
    public void stopLoading() {

    }

    @Override
    public boolean zoomIn() {
        return false;
    }

    @Override
    public boolean zoomOut() {
        return false;
    }

    @Override
    public int hashCode() {
        return aPWebView.hashCode();
    }

    @Override
    public boolean equals(Object obj) {
        if (!(obj instanceof XWebView)) {
            return false;
        }
        return aPWebView.equals(((XWebView) obj).aPWebView);
    }
}