128 lines
4.9 KiB
Java
128 lines
4.9 KiB
Java
package com.ubt.jimu.user.feedback;
|
|
|
|
import com.ubt.jimu.JimuApplication;
|
|
import com.ubt.jimu.base.util.FileUtil;
|
|
import com.ubt.jimu.connect.model.FilePathUtils;
|
|
import com.ubt.jimu.upload.DataUploadProxy;
|
|
import com.ubt.jimu.upload.IUploadCallback;
|
|
import com.ubt.jimu.upload.UploadRequest;
|
|
import com.ubt.jimu.upload.UploadResponse;
|
|
import com.ubt.jimu.utils.DateTimeUtil;
|
|
import com.ubt.jimu.utils.Md5Utils;
|
|
import com.ubtrobot.log.ALog;
|
|
import com.ubtrobot.log.ExternalOverFroyoUtils;
|
|
import java.io.File;
|
|
import java.util.ArrayList;
|
|
|
|
/* loaded from: classes2.dex */
|
|
public class LogUploadWorker {
|
|
private File a;
|
|
|
|
public interface LogWorkerCallBack {
|
|
void a(String str);
|
|
|
|
void b(String str);
|
|
}
|
|
|
|
public void b(final LogWorkerCallBack logWorkerCallBack) {
|
|
UploadRequest uploadRequest = new UploadRequest();
|
|
ALog.a("LogWorker").d("\"MD5后数值" + Md5Utils.a(this.a.getName(), 8));
|
|
uploadRequest.a("jimu/post/" + (Md5Utils.a(this.a.getName(), 8) + ".zip"));
|
|
uploadRequest.b(this.a.getPath());
|
|
DataUploadProxy.c().a(uploadRequest, new IUploadCallback() { // from class: com.ubt.jimu.user.feedback.LogUploadWorker.1
|
|
@Override // com.ubt.jimu.upload.IUploadCallback
|
|
public void allComplete() {
|
|
ALog.a("LogWorker").d("日志上传allComplete:");
|
|
}
|
|
|
|
@Override // com.ubt.jimu.upload.IUploadCallback
|
|
public void allUploadSucceed() {
|
|
ALog.a("LogWorker").d("日志上传allUploadSucceed:");
|
|
}
|
|
|
|
@Override // com.ubt.jimu.upload.IUploadCallback
|
|
public void onProgress(UploadRequest uploadRequest2, double d) {
|
|
ALog.a("LogWorker").d("日志上传进度:" + d);
|
|
}
|
|
|
|
@Override // com.ubt.jimu.upload.IUploadCallback
|
|
public void uploadFaulted(UploadRequest uploadRequest2, Exception exc) {
|
|
ALog.a("LogWorker").d("日志上传失败:" + exc.getMessage());
|
|
logWorkerCallBack.b(exc.getMessage());
|
|
}
|
|
|
|
@Override // com.ubt.jimu.upload.IUploadCallback
|
|
public void uploadSucceed(UploadResponse uploadResponse) {
|
|
ALog.a("LogWorker").d("日志上传成功:" + uploadResponse);
|
|
logWorkerCallBack.a(uploadResponse.c());
|
|
FileUtil.deleteFile(LogUploadWorker.this.a);
|
|
}
|
|
});
|
|
}
|
|
|
|
public void c(LogWorkerCallBack logWorkerCallBack) {
|
|
ArrayList<String> a = a(logWorkerCallBack);
|
|
if (a.size() <= 0) {
|
|
logWorkerCallBack.b("未查到目标文件");
|
|
return;
|
|
}
|
|
boolean a2 = a(a);
|
|
ALog.a("LogWorker").d("日志压缩是否成功:" + a2);
|
|
if (a2) {
|
|
b(logWorkerCallBack);
|
|
} else {
|
|
logWorkerCallBack.b("文件压缩失败");
|
|
}
|
|
}
|
|
|
|
public boolean a(ArrayList<String> arrayList) {
|
|
this.a = new File(FilePathUtils.b("log") + System.currentTimeMillis() + ".zip");
|
|
int size = arrayList.size();
|
|
File[] fileArr = new File[size];
|
|
for (int i = 0; i < size; i++) {
|
|
fileArr[i] = new File(arrayList.get(i));
|
|
}
|
|
return FileUtil.zip(fileArr, this.a);
|
|
}
|
|
|
|
public ArrayList<String> a(LogWorkerCallBack logWorkerCallBack) {
|
|
ArrayList<String> arrayList = new ArrayList<>();
|
|
File a = ExternalOverFroyoUtils.a(JimuApplication.l(), "log");
|
|
ALog.a("LogWorker").d("日志保存的目录:" + a.getAbsolutePath());
|
|
if (!a.exists()) {
|
|
logWorkerCallBack.b("日志文件不存在");
|
|
return null;
|
|
}
|
|
File[] listFiles = a.listFiles();
|
|
if (listFiles != null && listFiles.length != 0) {
|
|
int length = listFiles.length;
|
|
for (int i = 0; i < length; i++) {
|
|
String path = listFiles[i].getPath();
|
|
String name = listFiles[i].getName();
|
|
ALog.a("LogWorker").d("文件目录:" + path + "名称:" + name);
|
|
if (a(name)) {
|
|
arrayList.add(path);
|
|
} else {
|
|
FileUtil.deleteFile(new File(path));
|
|
}
|
|
}
|
|
return arrayList;
|
|
}
|
|
logWorkerCallBack.b("日志文件不存在");
|
|
return null;
|
|
}
|
|
|
|
private boolean a(String str) {
|
|
int indexOf = str.indexOf(".");
|
|
ALog.a("LogWorker").d("index:" + indexOf);
|
|
String substring = str.substring(0, str.indexOf("."));
|
|
ALog.a("LogWorker").d("文件名称:" + substring);
|
|
String substring2 = substring.substring(0, str.indexOf("_"));
|
|
ALog.a("LogWorker").d("文件名称切割完:" + substring2);
|
|
String a = DateTimeUtil.a();
|
|
ALog.a("LogWorker").d("当前时间:" + a);
|
|
ALog.a("LogWorker").d("是否匹配:" + a.equalsIgnoreCase(substring2));
|
|
return a.equalsIgnoreCase(substring2);
|
|
}
|
|
}
|