Initial commit
This commit is contained in:
127
sources/com/ubt/jimu/user/feedback/LogUploadWorker.java
Normal file
127
sources/com/ubt/jimu/user/feedback/LogUploadWorker.java
Normal file
@@ -0,0 +1,127 @@
|
||||
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);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user