Add decompiled APK source code (JADX)

- 28,932 files
- Full Java source code
- Smali files
- Resources

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
2026-02-18 14:52:23 -08:00
parent cc210a65ea
commit f9d20bb3fc
26991 changed files with 2541449 additions and 0 deletions

View File

@@ -0,0 +1,110 @@
package androidx.sqlite.util;
import android.util.Log;
import androidx.annotation.RestrictTo;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.channels.FileChannel;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
import kotlin.jvm.internal.DefaultConstructorMarker;
import kotlin.jvm.internal.Intrinsics;
import kotlin.jvm.internal.SourceDebugExtension;
@RestrictTo({RestrictTo.Scope.LIBRARY_GROUP})
@SourceDebugExtension({"SMAP\nProcessLock.kt\nKotlin\n*S Kotlin\n*F\n+ 1 ProcessLock.kt\nandroidx/sqlite/util/ProcessLock\n+ 2 fake.kt\nkotlin/jvm/internal/FakeKt\n*L\n1#1,103:1\n1#2:104\n*E\n"})
/* loaded from: classes.dex */
public final class ProcessLock {
private static final String TAG = "SupportSQLiteLock";
private FileChannel lockChannel;
private final File lockFile;
private final boolean processLock;
private final Lock threadLock;
public static final Companion Companion = new Companion(null);
private static final Map<String, Lock> threadLocksMap = new HashMap();
public ProcessLock(String name, File file, boolean z) {
File file2;
Intrinsics.checkNotNullParameter(name, "name");
this.processLock = z;
if (file != null) {
file2 = new File(file, name + ".lck");
} else {
file2 = null;
}
this.lockFile = file2;
this.threadLock = Companion.getThreadLock(name);
}
public static /* synthetic */ void lock$default(ProcessLock processLock, boolean z, int i, Object obj) {
if ((i & 1) != 0) {
z = processLock.processLock;
}
processLock.lock(z);
}
public final void lock(boolean z) {
this.threadLock.lock();
if (z) {
try {
File file = this.lockFile;
if (file == null) {
throw new IOException("No lock directory was provided.");
}
File parentFile = file.getParentFile();
if (parentFile != null) {
parentFile.mkdirs();
}
FileChannel channel = new FileOutputStream(this.lockFile).getChannel();
channel.lock();
this.lockChannel = channel;
} catch (IOException e) {
this.lockChannel = null;
Log.w(TAG, "Unable to grab file lock.", e);
}
}
}
public final void unlock() {
try {
FileChannel fileChannel = this.lockChannel;
if (fileChannel != null) {
fileChannel.close();
}
} catch (IOException unused) {
}
this.threadLock.unlock();
}
@SourceDebugExtension({"SMAP\nProcessLock.kt\nKotlin\n*S Kotlin\n*F\n+ 1 ProcessLock.kt\nandroidx/sqlite/util/ProcessLock$Companion\n+ 2 Maps.kt\nkotlin/collections/MapsKt__MapsKt\n*L\n1#1,103:1\n361#2,7:104\n*S KotlinDebug\n*F\n+ 1 ProcessLock.kt\nandroidx/sqlite/util/ProcessLock$Companion\n*L\n99#1:104,7\n*E\n"})
public static final class Companion {
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
this();
}
private Companion() {
}
/* JADX INFO: Access modifiers changed from: private */
public final Lock getThreadLock(String str) {
Lock lock;
synchronized (ProcessLock.threadLocksMap) {
try {
Map map = ProcessLock.threadLocksMap;
Object obj = map.get(str);
if (obj == null) {
obj = new ReentrantLock();
map.put(str, obj);
}
lock = (Lock) obj;
} catch (Throwable th) {
throw th;
}
}
return lock;
}
}
}