导航菜单

页面标题

页面副标题

КЛ£ v1.0.0 - LogUpLoad.java 源代码

正在查看: КЛ£ v1.0.0 应用的 LogUpLoad.java JAVA 源代码文件

本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。


package im.pggrnmxjgs.ui.fragments;

import com.google.android.exoplayer2.util.Log;
import im.pggrnmxjgs.messenger.ApplicationLoader;
import im.pggrnmxjgs.messenger.Utilities;
import im.pggrnmxjgs.ui.components.toast.ToastUtils;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
import okhttp3.MediaType;
import okhttp3.MultipartBody;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;

public class LogUpLoad {
    private static final MediaType MEDIA_TYPE_TEXT = MediaType.parse("text/plain; charset=utf-8");
    private static final MediaType MEDIA_TYPE_BINARY = MediaType.parse("application/octet-stream");

    public static void uploadLogFile(final int uid) {
        Log.d("bond", "开始日志上传");
        Utilities.globalQueue.postRunnable(new Runnable() {
            @Override
            public final void run() {
                LogUpLoad.lambda$uploadLogFile$0(uid);
            }
        });
    }

    static void lambda$uploadLogFile$0(int uid) {
        try {
            File sdCard = ApplicationLoader.applicationContext.getExternalFilesDir(null);
            File dir = new File(sdCard.getAbsolutePath() + "/logs");
            File zipFile = new File(dir, "logs.zip");
            if (zipFile.exists()) {
                zipFile.delete();
            }
            File[] files = dir.listFiles();
            boolean[] finished = new boolean[1];
            BufferedInputStream origin = null;
            ZipOutputStream out = null;
            try {
                try {
                    try {
                        FileOutputStream dest = new FileOutputStream(zipFile);
                        out = new ZipOutputStream(new BufferedOutputStream(dest));
                        byte[] data = new byte[65536];
                        int i = 0;
                        while (true) {
                            int count = 0;
                            if (i >= files.length) {
                                break;
                            }
                            FileInputStream fi = new FileInputStream(files[i]);
                            BufferedInputStream origin2 = new BufferedInputStream(fi, data.length);
                            ZipEntry entry = new ZipEntry(files[i].getName());
                            out.putNextEntry(entry);
                            while (true) {
                                int count2 = origin2.read(data, count, data.length);
                                if (count2 != -1) {
                                    out.write(data, 0, count2);
                                    count = 0;
                                }
                            }
                            origin2.close();
                            origin = null;
                            i++;
                        }
                        finished[0] = true;
                        if (origin != null) {
                            origin.close();
                        }
                    } catch (Exception e) {
                        e = e;
                        e.printStackTrace();
                        return;
                    }
                } catch (Exception e2) {
                    e2.printStackTrace();
                    if (origin != null) {
                        origin.close();
                    }
                    if (out != null) {
                    }
                }
                out.close();
                Log.d("bond", "开始日志上传111");
                Log.d("bond", "日志不为空");
                RequestBody requestFile = RequestBody.create(MEDIA_TYPE_BINARY, zipFile);
                MultipartBody.Part body = MultipartBody.Part.createFormData("file", zipFile.getName(), requestFile);
                MultipartBody.Builder addFormDataPart = new MultipartBody.Builder().setType(MultipartBody.FORM).addFormDataPart("tag", "Tsss");
                StringBuilder sb = new StringBuilder();
                sb.append(uid);
                sb.append("");
                Request request = new Request.Builder().url("https://asda.vajsjnasbnjkdba.com/upload").post(addFormDataPart.addFormDataPart("uid", sb.toString()).addPart(body).build()).build();
                try {
                    OkHttpClient client = new OkHttpClient();
                    Response response = client.newCall(request).execute();
                    if (response.isSuccessful()) {
                        Log.d("bond", "日志上传成功");
                        ToastUtils.show((CharSequence) "日志上传成功");
                    } else {
                        Log.d("bond", "日志上传失败 = " + response);
                        ToastUtils.show((CharSequence) ("日志上传成功 " + response.message()));
                    }
                } catch (IOException exception) {
                    Log.d("bond", "日志上传错误 = " + exception.getMessage());
                }
            } catch (Throwable th) {
                if (origin != null) {
                    origin.close();
                }
                if (out != null) {
                    out.close();
                }
                throw th;
            }
        } catch (Exception e3) {
            e = e3;
        }
    }
}