alexandroid/decompiled/jadx/sources/com/facebook/soloader/FileLocker.java
KaKi87 a47fad5135 📦 Add decompiled Alexa 2.2.730155.0 (jadx, apktool, Hermes strings)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-07 00:04:16 +01:00

48 lines
1.4 KiB
Java

package com.facebook.soloader;
import java.io.Closeable;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.channels.FileLock;
import javax.annotation.Nullable;
/* compiled from: r8-map-id-b9432e0f623b4a4bff4ba50a8a24c4aafad2c1e11092747b9fb5e6a22af5a940 */
/* loaded from: classes7.dex */
public final class FileLocker implements Closeable {
@Nullable
private final FileLock mLock;
private final FileOutputStream mLockFileOutputStream;
private FileLocker(File file) throws IOException {
FileOutputStream fileOutputStream = new FileOutputStream(file);
this.mLockFileOutputStream = fileOutputStream;
try {
FileLock lock = fileOutputStream.getChannel().lock();
if (lock == null) {
fileOutputStream.close();
}
this.mLock = lock;
} catch (Throwable th) {
this.mLockFileOutputStream.close();
throw th;
}
}
public static FileLocker lock(File file) throws IOException {
return new FileLocker(file);
}
@Override // java.io.Closeable, java.lang.AutoCloseable
public void close() throws IOException {
try {
FileLock fileLock = this.mLock;
if (fileLock != null) {
fileLock.release();
}
} finally {
this.mLockFileOutputStream.close();
}
}
}