测试荣通 v3.5.0版本的 MD5 值为:bce18831444e62ca30602ccf71f8b981

以下内容为反编译后的 C0178a.java 源代码,内容仅作参考


package io.card.payment;

import android.content.Context;
import android.util.Base64;
import com.facebook.common.util.UriUtil;
import java.lang.ref.WeakReference;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.WeakHashMap;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
import java.util.concurrent.ThreadPoolExecutor;
import org.apache.http.HttpEntity;
import org.apache.http.HttpVersion;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.methods.HttpUriRequest;
import org.apache.http.conn.params.ConnManagerParams;
import org.apache.http.conn.params.ConnPerRouteBean;
import org.apache.http.conn.scheme.PlainSocketFactory;
import org.apache.http.conn.scheme.Scheme;
import org.apache.http.conn.scheme.SchemeRegistry;
import org.apache.http.conn.ssl.SSLSocketFactory;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager;
import org.apache.http.params.BasicHttpParams;
import org.apache.http.params.HttpConnectionParams;
import org.apache.http.params.HttpProtocolParams;
import org.apache.http.protocol.BasicHttpContext;
import org.apache.http.protocol.HttpContext;
import org.apache.http.protocol.SyncBasicHttpContext;

public final class C0178a {
    private static int a = 10;
    private static int b = 10000;
    private final DefaultHttpClient c;
    private final HttpContext d;
    private ThreadPoolExecutor e;
    private final Map f;
    private final Map g;

    public C0178a() {
        BasicHttpParams basicHttpParams = new BasicHttpParams();
        ConnManagerParams.setTimeout(basicHttpParams, b);
        ConnManagerParams.setMaxConnectionsPerRoute(basicHttpParams, new ConnPerRouteBean(a));
        ConnManagerParams.setMaxTotalConnections(basicHttpParams, 10);
        HttpConnectionParams.setSoTimeout(basicHttpParams, b);
        HttpConnectionParams.setConnectionTimeout(basicHttpParams, b);
        HttpConnectionParams.setTcpNoDelay(basicHttpParams, true);
        HttpConnectionParams.setSocketBufferSize(basicHttpParams, 8192);
        HttpProtocolParams.setVersion(basicHttpParams, HttpVersion.HTTP_1_1);
        HttpProtocolParams.setUserAgent(basicHttpParams, String.format("android-async-http/%s (http://loopj.com/android-async-http)", "1.3.2"));
        SchemeRegistry schemeRegistry = new SchemeRegistry();
        schemeRegistry.register(new Scheme(UriUtil.HTTP_SCHEME, PlainSocketFactory.getSocketFactory(), 80));
        schemeRegistry.register(new Scheme(UriUtil.HTTPS_SCHEME, SSLSocketFactory.getSocketFactory(), 443));
        ThreadSafeClientConnManager threadSafeClientConnManager = new ThreadSafeClientConnManager(basicHttpParams, schemeRegistry);
        this.d = new SyncBasicHttpContext(new BasicHttpContext());
        DefaultHttpClient defaultHttpClient = new DefaultHttpClient(threadSafeClientConnManager, basicHttpParams);
        this.c = defaultHttpClient;
        defaultHttpClient.addRequestInterceptor(new af(this));
        defaultHttpClient.addResponseInterceptor(new ag());
        defaultHttpClient.setHttpRequestRetryHandler(new ak());
        this.e = (ThreadPoolExecutor) Executors.newCachedThreadPool();
        this.f = new WeakHashMap();
        this.g = new HashMap();
    }

    private void a(DefaultHttpClient defaultHttpClient, HttpContext httpContext, HttpUriRequest httpUriRequest, String str, C0183f c0183f, Context context) {
        if (str != null) {
            httpUriRequest.addHeader("Content-Type", str);
        }
        Future<?> submit = this.e.submit(new ai(defaultHttpClient, httpContext, httpUriRequest, c0183f));
        if (context != null) {
            List list = (List) this.f.get(context);
            if (list == null) {
                list = new LinkedList();
                this.f.put(context, list);
            }
            list.add(new WeakReference(submit));
        }
    }

    public final void a(Context context, String str, C0183f c0183f) {
        a(this.c, this.d, new HttpGet(str), null, c0183f, context);
    }

    public final void a(Context context, String str, HttpEntity httpEntity, String str2, C0183f c0183f) {
        DefaultHttpClient defaultHttpClient = this.c;
        HttpContext httpContext = this.d;
        HttpPost httpPost = new HttpPost(str);
        if (httpEntity != null) {
            httpPost.setEntity(httpEntity);
        }
        a(defaultHttpClient, httpContext, httpPost, str2, c0183f, context);
    }

    public final void a(String str) {
        HttpProtocolParams.setUserAgent(this.c.getParams(), str);
    }

    public final void a(String str, String str2) {
        this.g.remove("Authorization");
        if (str == null) {
            return;
        }
        if (str == null) {
            str = "";
        }
        this.g.put("Authorization", String.format("Basic %s", Base64.encodeToString(str.getBytes(), 2)));
    }

    public final void a(SSLSocketFactory sSLSocketFactory) {
        this.c.getConnectionManager().getSchemeRegistry().register(new Scheme(UriUtil.HTTPS_SCHEME, sSLSocketFactory, 443));
    }
}