Initial commit

This commit is contained in:
2025-05-13 19:24:51 +02:00
commit a950f49678
10604 changed files with 932663 additions and 0 deletions

View File

@@ -0,0 +1,207 @@
package com.alibaba.sdk.android.oss.common;
import android.content.Context;
import android.os.Build;
import android.os.Environment;
import android.os.StatFs;
import com.alibaba.sdk.android.oss.ClientConfiguration;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.Writer;
import java.text.SimpleDateFormat;
import java.util.Date;
/* loaded from: classes.dex */
public class OSSLogToFileUtils {
private static Context c;
private static OSSLogToFileUtils d;
private static File e;
private boolean a = true;
private static LogThreadPoolManager b = LogThreadPoolManager.b();
private static SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
private static long g = 5242880;
private static class WriteCall implements Runnable {
private Object a;
public WriteCall(Object obj) {
this.a = obj;
}
private PrintWriter a(PrintWriter printWriter) {
printWriter.println("crash_time" + OSSLogToFileUtils.f.format(new Date()));
((Throwable) this.a).printStackTrace(printWriter);
return printWriter;
}
@Override // java.lang.Runnable
public void run() {
if (OSSLogToFileUtils.e != null) {
OSSLogToFileUtils.f();
if (OSSLogToFileUtils.c(OSSLogToFileUtils.e) > OSSLogToFileUtils.g) {
OSSLogToFileUtils.f().a();
}
try {
PrintWriter printWriter = new PrintWriter((Writer) new FileWriter(OSSLogToFileUtils.e, true), true);
if (this.a instanceof Throwable) {
a(printWriter);
} else {
printWriter.println(OSSLogToFileUtils.f().a((StackTraceElement[]) null) + " - " + this.a.toString());
}
printWriter.println("------>end of log");
printWriter.println();
printWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
private OSSLogToFileUtils() {
}
public static OSSLogToFileUtils f() {
if (d == null) {
synchronized (OSSLogToFileUtils.class) {
if (d == null) {
d = new OSSLogToFileUtils();
}
}
}
return d;
}
/* JADX INFO: Access modifiers changed from: private */
public File g() {
File file;
File file2 = null;
boolean z = false;
try {
boolean z2 = true;
if (this.a && Environment.getExternalStorageState().equals("mounted") && Build.VERSION.SDK_INT < 29) {
if (h() <= g / 1024) {
z2 = false;
}
file = new File(Environment.getExternalStorageDirectory().getPath() + File.separator + "OSSLog");
} else {
if (i() <= g / 1024) {
z2 = false;
}
file = new File(c.getFilesDir().getPath() + File.separator + "OSSLog");
}
z = z2;
} catch (Exception unused) {
file = null;
}
if (z) {
if (!file.exists()) {
file.mkdirs();
}
file2 = new File(file.getPath() + "/logs.csv");
if (!file2.exists()) {
a(file2);
}
}
return file2;
}
private long h() {
long j = 0;
if ("mounted".equals(Environment.getExternalStorageState())) {
try {
j = (Build.VERSION.SDK_INT >= 18 ? new StatFs(Environment.getExternalStorageDirectory().getPath()).getAvailableBlocksLong() : r3.getAvailableBlocks()) * r3.getBlockSize();
} catch (Exception unused) {
}
}
OSSLog.b("sd卡存储空间:" + String.valueOf(j) + "kb", false);
return j;
}
private long i() {
long j;
try {
j = ((Build.VERSION.SDK_INT >= 18 ? new StatFs(Environment.getDataDirectory().getPath()).getAvailableBlocksLong() : r1.getAvailableBlocks()) * r1.getBlockSize()) / 1024;
} catch (Exception unused) {
j = 0;
}
OSSLog.b("内部存储空间:" + String.valueOf(j) + "kb", false);
return j;
}
public static long c(File file) {
if (file == null || !file.exists()) {
return 0L;
}
return file.length();
}
public static void a(Context context, ClientConfiguration clientConfiguration) {
File file;
OSSLog.b("init ...", false);
if (clientConfiguration != null) {
g = clientConfiguration.g();
}
if (c != null && d != null && (file = e) != null && file.exists()) {
OSSLog.b("LogToFileUtils has been init ...", false);
return;
}
c = context.getApplicationContext();
d = f();
b.a(new Runnable() { // from class: com.alibaba.sdk.android.oss.common.OSSLogToFileUtils.1
@Override // java.lang.Runnable
public void run() {
File unused = OSSLogToFileUtils.e = OSSLogToFileUtils.d.g();
if (OSSLogToFileUtils.e != null) {
OSSLog.d("LogFilePath is: " + OSSLogToFileUtils.e.getPath(), false);
if (OSSLogToFileUtils.g < OSSLogToFileUtils.c(OSSLogToFileUtils.e)) {
OSSLog.d("init reset log file", false);
OSSLogToFileUtils.d.a();
}
}
}
});
}
public void a() {
OSSLog.b("Reset Log File ... ", false);
if (!e.getParentFile().exists()) {
OSSLog.b("Reset Log make File dir ... ", false);
e.getParentFile().mkdir();
}
File file = new File(e.getParent() + "/logs.csv");
if (file.exists()) {
file.delete();
}
a(file);
}
public void a(File file) {
try {
file.createNewFile();
} catch (Exception e2) {
OSSLog.c("Create log file failure !!! " + e2.toString(), false);
}
}
/* JADX INFO: Access modifiers changed from: private */
public String a(StackTraceElement[] stackTraceElementArr) {
if (stackTraceElementArr != null) {
return null;
}
return "[" + f.format(new Date()) + "]";
}
public synchronized void a(Object obj) {
if (OSSLog.b()) {
if (c != null && d != null && e != null) {
if (!e.exists()) {
a();
}
b.a(new WriteCall(obj));
}
}
}
}