96 lines
2.9 KiB
Java
96 lines
2.9 KiB
Java
package com.orhanobut.logger;
|
|
|
|
import android.os.Handler;
|
|
import android.os.Looper;
|
|
import android.os.Message;
|
|
import java.io.File;
|
|
import java.io.FileWriter;
|
|
import java.io.IOException;
|
|
import java.text.SimpleDateFormat;
|
|
import java.util.Date;
|
|
|
|
/* loaded from: classes.dex */
|
|
public class DiskLogStrategy implements LogStrategy {
|
|
private final Handler a;
|
|
|
|
public DiskLogStrategy(Handler handler) {
|
|
Utils.a(handler);
|
|
this.a = handler;
|
|
}
|
|
|
|
@Override // com.orhanobut.logger.LogStrategy
|
|
public void a(int i, String str, String str2) {
|
|
Utils.a(str2);
|
|
Handler handler = this.a;
|
|
handler.sendMessage(handler.obtainMessage(i, str2));
|
|
}
|
|
|
|
static class WriteHandler extends Handler {
|
|
private final String a;
|
|
private final int b;
|
|
|
|
/* JADX WARN: 'super' call moved to the top of the method (can break code semantics) */
|
|
WriteHandler(Looper looper, String str, int i) {
|
|
super(looper);
|
|
Utils.a(looper);
|
|
Utils.a(str);
|
|
this.a = str;
|
|
this.b = i;
|
|
}
|
|
|
|
private void a(FileWriter fileWriter, String str) throws IOException {
|
|
Utils.a(fileWriter);
|
|
Utils.a(str);
|
|
fileWriter.append((CharSequence) str);
|
|
}
|
|
|
|
@Override // android.os.Handler
|
|
public void handleMessage(Message message) {
|
|
FileWriter fileWriter;
|
|
String str = (String) message.obj;
|
|
try {
|
|
fileWriter = new FileWriter(a(this.a, new SimpleDateFormat("yyyy-MM-dd").format(new Date())), true);
|
|
try {
|
|
a(fileWriter, str);
|
|
fileWriter.flush();
|
|
fileWriter.close();
|
|
} catch (IOException unused) {
|
|
if (fileWriter != null) {
|
|
try {
|
|
fileWriter.flush();
|
|
fileWriter.close();
|
|
} catch (IOException unused2) {
|
|
}
|
|
}
|
|
}
|
|
} catch (IOException unused3) {
|
|
fileWriter = null;
|
|
}
|
|
}
|
|
|
|
private File a(String str, String str2) {
|
|
File file;
|
|
Utils.a(str);
|
|
Utils.a(str2);
|
|
File file2 = new File(str);
|
|
if (!file2.exists()) {
|
|
file2.mkdirs();
|
|
}
|
|
File file3 = null;
|
|
File file4 = new File(file2, String.format("%s_%s.csv", str2, 0));
|
|
int i = 0;
|
|
while (true) {
|
|
File file5 = file4;
|
|
file = file3;
|
|
file3 = file5;
|
|
if (!file3.exists()) {
|
|
break;
|
|
}
|
|
i++;
|
|
file4 = new File(file2, String.format("%s_%s.csv", str2, Integer.valueOf(i)));
|
|
}
|
|
return (file == null || file.length() >= ((long) this.b)) ? file3 : file;
|
|
}
|
|
}
|
|
}
|