// Path: chh/src/main/java/com/fei_ke/chiphellclient/api/support/WebViewCookieHandler.java
// public class WebViewCookieHandler extends CookieHandler {
//     private static WebViewCookieHandler singleton;
// 
//     private CookieManager cookieManager = CookieManager.getInstance();
// 
//     public static WebViewCookieHandler getInstance() {
//         if (singleton == null) {
//             synchronized (WebViewCookieHandler.class) {
//                 if (singleton == null) {
//                     singleton = new WebViewCookieHandler();
//                 }
//             }
//         }
//         return singleton;
//     }
// 
//     private WebViewCookieHandler() {
//     }
// 
//     @Override
//     public Map<String, List<String>> get(URI uri, Map<String, List<String>> requestHeaders) throws IOException {
//         String url = uri.toString();
//         String cookieValue = cookieManager.getCookie(url);
//         Map<String, List<String>> cookies = new HashMap<>();
//         if (!TextUtils.isEmpty(cookieValue)) {
//             cookies.put("Cookie", Arrays.asList(cookieValue));
//         }
//         return cookies;
//     }
// 
//     @Override
//     public void put(URI uri, Map<String, List<String>> responseHeaders) throws IOException {
//         String url = uri.toString();
//         for (String header : responseHeaders.keySet()) {
//             if (header.equalsIgnoreCase("Set-Cookie") || header.equalsIgnoreCase("Set-Cookie2")) {
//                 for (String value : responseHeaders.get(header)) {
//                     //if (!TextUtils.isEmpty(value))
//                     cookieManager.setCookie(url, value);
//                 }
//             }
//         }
//     }
// }
// 
// Path: chh/src/main/java/com/fei_ke/chiphellclient/utils/LogMessage.java
// public class LogMessage {
// 
//     // 是否打印日志
//     private static boolean isDebug = true;
//     // 日志标签
//     public static String LOG_TAG = "frame";
// 
//     public static void v(String tag, Object msg) {
//         if (isDebug) {
//             Log.v(tag, msg != null ? msg.toString() : "null");
//         }
//     }
// 
//     public static void i(String tag, Object msg) {
//         if (isDebug) {
//             Log.i(tag, msg != null ? msg.toString() : "null");
//         }
//     }
// 
//     public static void d(String tag, Object msg) {
//         if (isDebug) {
//             Log.d(tag, msg != null ? msg.toString() : "null");
//         }
//     }
// 
//     public static void w(String tag, Object msg) {
//         if (isDebug) {
//             Log.w(tag, msg != null ? msg.toString() : "null");
//         }
//     }
// 
//     public static void e(String tag, Object msg) {
//         if (isDebug) {
//             Log.e(tag, msg != null ? msg.toString() : "null");
//         }
//     }
// 
//     public static void print(String tag, String msg) {
//         // System.out.println("tag=="+msg);
//     }
// 
//     /**
//      * 设置debug 模式
//      * 
//      * @param isDebug true 打印日志 false：不打印
//      */
// 
//     public static void setDebug(boolean isDebug) {
//         LogMessage.isDebug = isDebug;
//     }
// 
//     public static boolean isDebug(){
//         return isDebug;
//     }
// 
// }


import android.app.Application;
import android.content.Context;
import android.text.TextUtils;
import android.util.Log;
import android.webkit.CookieSyncManager;
import com.fei_ke.chiphellclient.api.support.WebViewCookieHandler;
import com.fei_ke.chiphellclient.utils.LogMessage;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import com.nostra13.universalimageloader.core.assist.ContentLengthInputStream;
import com.nostra13.universalimageloader.core.download.BaseImageDownloader;
import com.umeng.update.UmengUpdateAgent;
import java.io.IOException;
import java.io.InputStream;
import java.util.concurrent.TimeUnit;
import okhttp3.JavaNetCookieJar;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import okhttp3.ResponseBody;
    }

    private void setupUpdate() {
        UmengUpdateAgent.setUpdateAutoPopup(false);
        UmengUpdateAgent.setUpdateOnlyWifi(false);
    }


    public String getFormHash() {
        return formHash;
    }

    public void setFormHash(String formHash) {
        this.formHash = formHash;
    }

    // 初始化ImageLoader
    private void initImageLoader() {
        DisplayImageOptions defaultDisplayImageOptions = new DisplayImageOptions.Builder()
                .cacheInMemory(true)
                .cacheOnDisk(true)
                .showImageForEmptyUri(R.drawable.logo)
                .showImageOnFail(R.drawable.logo)
                .showImageOnLoading(R.drawable.logo)
                // .imageScaleType(ImageScaleType.EXACTLY_STRETCHED)
                .build();

        OkHttpClient client = new OkHttpClient.Builder()
                .connectTimeout(10, TimeUnit.SECONDS)
                .readTimeout(40, TimeUnit.SECONDS)
// Path: chh/src/main/java/com/fei_ke/chiphellclient/api/support/WebViewCookieHandler.java
// public class WebViewCookieHandler extends CookieHandler {
//     private static WebViewCookieHandler singleton;
// 
//     private CookieManager cookieManager = CookieManager.getInstance();
// 
//     public static WebViewCookieHandler getInstance() {
//         if (singleton == null) {
//             synchronized (WebViewCookieHandler.class) {
//                 if (singleton == null) {
//                     singleton = new WebViewCookieHandler();
//                 }
//             }
//         }
//         return singleton;
//     }
// 
//     private WebViewCookieHandler() {
//     }
// 
//     @Override
//     public Map<String, List<String>> get(URI uri, Map<String, List<String>> requestHeaders) throws IOException {
//         String url = uri.toString();
//         String cookieValue = cookieManager.getCookie(url);
//         Map<String, List<String>> cookies = new HashMap<>();
//         if (!TextUtils.isEmpty(cookieValue)) {
//             cookies.put("Cookie", Arrays.asList(cookieValue));
//         }
//         return cookies;
//     }
// 
//     @Override
//     public void put(URI uri, Map<String, List<String>> responseHeaders) throws IOException {
//         String url = uri.toString();
//         for (String header : responseHeaders.keySet()) {
//             if (header.equalsIgnoreCase("Set-Cookie") || header.equalsIgnoreCase("Set-Cookie2")) {
//                 for (String value : responseHeaders.get(header)) {
//                     //if (!TextUtils.isEmpty(value))
//                     cookieManager.setCookie(url, value);
//                 }
//             }
//         }
//     }
// }
// 
// Path: chh/src/main/java/com/fei_ke/chiphellclient/utils/LogMessage.java
// public class LogMessage {
// 
//     // 是否打印日志
//     private static boolean isDebug = true;
//     // 日志标签
//     public static String LOG_TAG = "frame";
// 
//     public static void v(String tag, Object msg) {
//         if (isDebug) {
//             Log.v(tag, msg != null ? msg.toString() : "null");
//         }
//     }
// 
//     public static void i(String tag, Object msg) {
//         if (isDebug) {
//             Log.i(tag, msg != null ? msg.toString() : "null");
//         }
//     }
// 
//     public static void d(String tag, Object msg) {
//         if (isDebug) {
//             Log.d(tag, msg != null ? msg.toString() : "null");
//         }
//     }
// 
//     public static void w(String tag, Object msg) {
//         if (isDebug) {
//             Log.w(tag, msg != null ? msg.toString() : "null");
//         }
//     }
// 
//     public static void e(String tag, Object msg) {
//         if (isDebug) {
//             Log.e(tag, msg != null ? msg.toString() : "null");
//         }
//     }
// 
//     public static void print(String tag, String msg) {
//         // System.out.println("tag=="+msg);
//     }
// 
//     /**
//      * 设置debug 模式
//      * 
//      * @param isDebug true 打印日志 false：不打印
//      */
// 
//     public static void setDebug(boolean isDebug) {
//         LogMessage.isDebug = isDebug;
//     }
// 
//     public static boolean isDebug(){
//         return isDebug;
//     }
// 
// }


// Path: chh/src/main/java/com/fei_ke/chiphellclient/ChhApplication.java
import android.app.Application;
import android.content.Context;
import android.text.TextUtils;
import android.util.Log;
import android.webkit.CookieSyncManager;
import com.fei_ke.chiphellclient.api.support.WebViewCookieHandler;
import com.fei_ke.chiphellclient.utils.LogMessage;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import com.nostra13.universalimageloader.core.assist.ContentLengthInputStream;
import com.nostra13.universalimageloader.core.download.BaseImageDownloader;
import com.umeng.update.UmengUpdateAgent;
import java.io.IOException;
import java.io.InputStream;
import java.util.concurrent.TimeUnit;
import okhttp3.JavaNetCookieJar;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import okhttp3.ResponseBody;

    }

    private void setupUpdate() {
        UmengUpdateAgent.setUpdateAutoPopup(false);
        UmengUpdateAgent.setUpdateOnlyWifi(false);
    }


    public String getFormHash() {
        return formHash;
    }

    public void setFormHash(String formHash) {
        this.formHash = formHash;
    }

    // 初始化ImageLoader
    private void initImageLoader() {
        DisplayImageOptions defaultDisplayImageOptions = new DisplayImageOptions.Builder()
                .cacheInMemory(true)
                .cacheOnDisk(true)
                .showImageForEmptyUri(R.drawable.logo)
                .showImageOnFail(R.drawable.logo)
                .showImageOnLoading(R.drawable.logo)
                // .imageScaleType(ImageScaleType.EXACTLY_STRETCHED)
                .build();

        OkHttpClient client = new OkHttpClient.Builder()
                .connectTimeout(10, TimeUnit.SECONDS)
                .readTimeout(40, TimeUnit.SECONDS)
                .cookieJar(new JavaNetCookieJar(WebViewCookieHandler.getInstance()))