WeChat.apk(点击下载) / CronetLogicTest.java


package com.tencent.mars.cdn;

import android.os.Environment;
import com.tencent.mars.cdn.CronetLogic;
import java.io.File;
import java.nio.charset.StandardCharsets;
import java.util.HashMap;

public class CronetLogicTest {
    private static final String TAG;
    private static final String mUserAgent;
    private static final String testUrl;

    public static class callback implements CronetLogic.CronetTaskCallback {
        private final String TAG;

        public callback(String str) {
            this.TAG = "CronetLogicTest." + str;
        }

        @Override // com.tencent.mars.cdn.CronetLogic.CronetTaskCallback
        public void onCronetReceiveChunkedData(CronetLogic.ChunkedData chunkedData, long j15) {
            int length = chunkedData.data.length;
        }

        @Override // com.tencent.mars.cdn.CronetLogic.CronetTaskCallback
        public int onCronetReceiveHeader(CronetLogic.ResponseHeader responseHeader, int i15, String str) {
            for (CronetLogic.HeaderMap headerMap : responseHeader.headers) {
                String str2 = headerMap.key;
            }
            return 0;
        }

        @Override // com.tencent.mars.cdn.CronetLogic.CronetTaskCallback
        public void onCronetReceiveUploadProgress(long j15, long j16) {
        }

        @Override // com.tencent.mars.cdn.CronetLogic.CronetTaskCallback
        public void onCronetTaskCompleted(String str, CronetLogic.CronetTaskResult cronetTaskResult, String str2) {
            int i15 = cronetTaskResult.errorCode;
            cronetTaskResult.getDataString();
        }

        @Override // com.tencent.mars.cdn.CronetLogic.CronetTaskCallback
        public void onDownloadProgressChanged(String str, CronetLogic.CronetDownloadProgress cronetDownloadProgress) {
            long j15 = cronetDownloadProgress.totalByte;
        }
    }

    public static void cronetDebugTest() {
        testChunk();
        testUpload();
        testIp();
        testCellular();
    }

    public static /* synthetic */ String[] lambda$testSimpleDns$0(String str) {
        return new String[0];
    }

    private static void testCellular() {
        CronetLogic.CronetRequestParams cronetRequestParams = new CronetLogic.CronetRequestParams();
        cronetRequestParams.taskType = 1;
        cronetRequestParams.url = "https://www.cip.cc/";
        cronetRequestParams.forceBindMobileNetwork = true;
        HashMap hashMap = new HashMap();
        hashMap.put("user-agent", mUserAgent);
        cronetRequestParams.makeRequestHeader(hashMap);
        CronetLogic.startCronetHttpTask(cronetRequestParams, new callback("testCellular"));
    }

    private static void testChunk() {
        CronetLogic.CronetRequestParams cronetRequestParams = new CronetLogic.CronetRequestParams();
        cronetRequestParams.taskType = 10;
        cronetRequestParams.url = "https://www.httpwatch.com/httpgallery/chunked/chunkedimage.aspx";
        HashMap hashMap = new HashMap();
        hashMap.put("user-agent", mUserAgent);
        cronetRequestParams.makeRequestHeader(hashMap);
        CronetLogic.startCronetHttpTask(cronetRequestParams, new callback("testChunk"));
    }

    private static void testIp() {
        CronetLogic.CronetRequestParams cronetRequestParams = new CronetLogic.CronetRequestParams();
        cronetRequestParams.taskType = 1;
        cronetRequestParams.url = "https://www.cip.cc/";
        HashMap hashMap = new HashMap();
        hashMap.put("user-agent", mUserAgent);
        cronetRequestParams.makeRequestHeader(hashMap);
        CronetLogic.cancelCronetTask(CronetLogic.startCronetHttpTask(cronetRequestParams, new callback("testIp")).taskId);
    }

    private static void testSimpleDns() {
        CronetLogic.CronetRequestParams cronetRequestParams = new CronetLogic.CronetRequestParams();
        cronetRequestParams.taskType = 1;
        cronetRequestParams.dnsType = 1;
        CronetLogic.setSimpleDnsCallback(new CronetLogicTest$$a());
        cronetRequestParams.url = testUrl;
        HashMap hashMap = new HashMap();
        hashMap.put("user-agent", mUserAgent);
        cronetRequestParams.makeRequestHeader(hashMap);
        CronetLogic.startCronetHttpTask(cronetRequestParams, new callback("testSimpleDns"));
    }

    private static void testUpload() {
        int i15;
        CronetLogic.CronetRequestParams cronetRequestParams = new CronetLogic.CronetRequestParams();
        cronetRequestParams.taskType = 7;
        cronetRequestParams.url = "http://www.csm-testcenter.org/test";
        cronetRequestParams.method = "POST";
        CronetLogic.UploadParams uploadParams = new CronetLogic.UploadParams();
        uploadParams.filePath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/upload_text";
        long length = new File(uploadParams.filePath).length();
        uploadParams.uploadOffset = 0;
        uploadParams.uploadRange = length;
        uploadParams.formData = "----WebKitFormBoundaryn35wXoQ8S5FsBTGs".getBytes(StandardCharsets.UTF_8);
        uploadParams.endData = "----WebKitFormBoundaryn35wXoQ8S5FsBTGs".getBytes(StandardCharsets.UTF_8);
        uploadParams.vfsPath = true;
        uploadParams.reportId = 1800;
        cronetRequestParams.uploadParams = uploadParams;
        HashMap hashMap = new HashMap();
        byte[] bArr = uploadParams.formData;
        int i16 = 0;
        if (bArr == null) {
            i15 = 0;
        } else {
            i15 = bArr.length;
        }
        long j15 = length + ((long) i15);
        byte[] bArr2 = uploadParams.endData;
        if (bArr2 != null) {
            i16 = bArr2.length;
        }
        hashMap.put("Content-Length", Long.toString(j15 + ((long) i16)));
        hashMap.put("Origin", "http://www.csm-testcenter.org");
        hashMap.put("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9");
        hashMap.put("Accept-Encoding", "gzip, deflate");
        hashMap.put("Referer", "http://www.csm-testcenter.org/test?do=show&subdo=common&test=file_upload");
        hashMap.put("Content-Type", "multipart/form-data; boundary=----WebKitFormBoundaryn35wXoQ8S5FsBTGs");
        hashMap.put("Host", "www.csm-testcenter.org");
        hashMap.put("User-Agent", mUserAgent);
        cronetRequestParams.makeRequestHeader(hashMap);
        CronetLogic.startCronetUploadTask(cronetRequestParams, new callback("testUpload"));
    }
}