- 28,932 files - Full Java source code - Smali files - Resources Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
85 lines
3.9 KiB
Java
85 lines
3.9 KiB
Java
package androidx.datastore;
|
|
|
|
import android.content.Context;
|
|
import androidx.annotation.GuardedBy;
|
|
import androidx.datastore.core.DataStore;
|
|
import androidx.datastore.core.DataStoreFactory;
|
|
import androidx.datastore.core.Serializer;
|
|
import androidx.datastore.core.handlers.ReplaceFileCorruptionHandler;
|
|
import java.io.File;
|
|
import java.util.List;
|
|
import kotlin.jvm.functions.Function0;
|
|
import kotlin.jvm.functions.Function1;
|
|
import kotlin.jvm.internal.Intrinsics;
|
|
import kotlin.properties.ReadOnlyProperty;
|
|
import kotlin.reflect.KProperty;
|
|
import kotlinx.coroutines.CoroutineScope;
|
|
|
|
/* loaded from: classes.dex */
|
|
public final class DataStoreSingletonDelegate<T> implements ReadOnlyProperty {
|
|
|
|
@GuardedBy("lock")
|
|
private volatile DataStore<T> INSTANCE;
|
|
private final ReplaceFileCorruptionHandler<T> corruptionHandler;
|
|
private final String fileName;
|
|
private final Object lock;
|
|
private final Function1 produceMigrations;
|
|
private final CoroutineScope scope;
|
|
private final Serializer<T> serializer;
|
|
|
|
public DataStoreSingletonDelegate(String fileName, Serializer<T> serializer, ReplaceFileCorruptionHandler<T> replaceFileCorruptionHandler, Function1 produceMigrations, CoroutineScope scope) {
|
|
Intrinsics.checkNotNullParameter(fileName, "fileName");
|
|
Intrinsics.checkNotNullParameter(serializer, "serializer");
|
|
Intrinsics.checkNotNullParameter(produceMigrations, "produceMigrations");
|
|
Intrinsics.checkNotNullParameter(scope, "scope");
|
|
this.fileName = fileName;
|
|
this.serializer = serializer;
|
|
this.corruptionHandler = replaceFileCorruptionHandler;
|
|
this.produceMigrations = produceMigrations;
|
|
this.scope = scope;
|
|
this.lock = new Object();
|
|
}
|
|
|
|
@Override // kotlin.properties.ReadOnlyProperty
|
|
public DataStore<T> getValue(Context thisRef, KProperty property) {
|
|
DataStore<T> dataStore;
|
|
Intrinsics.checkNotNullParameter(thisRef, "thisRef");
|
|
Intrinsics.checkNotNullParameter(property, "property");
|
|
DataStore<T> dataStore2 = this.INSTANCE;
|
|
if (dataStore2 != null) {
|
|
return dataStore2;
|
|
}
|
|
synchronized (this.lock) {
|
|
try {
|
|
if (this.INSTANCE == null) {
|
|
final Context applicationContext = thisRef.getApplicationContext();
|
|
Serializer<T> serializer = this.serializer;
|
|
ReplaceFileCorruptionHandler<T> replaceFileCorruptionHandler = this.corruptionHandler;
|
|
Function1 function1 = this.produceMigrations;
|
|
Intrinsics.checkNotNullExpressionValue(applicationContext, "applicationContext");
|
|
this.INSTANCE = DataStoreFactory.INSTANCE.create(serializer, replaceFileCorruptionHandler, (List) function1.invoke(applicationContext), this.scope, new Function0() { // from class: androidx.datastore.DataStoreSingletonDelegate$getValue$1$1
|
|
/* JADX WARN: 'super' call moved to the top of the method (can break code semantics) */
|
|
{
|
|
super(0);
|
|
}
|
|
|
|
@Override // kotlin.jvm.functions.Function0
|
|
public final File invoke() {
|
|
String str;
|
|
Context applicationContext2 = applicationContext;
|
|
Intrinsics.checkNotNullExpressionValue(applicationContext2, "applicationContext");
|
|
str = ((DataStoreSingletonDelegate) this).fileName;
|
|
return DataStoreFile.dataStoreFile(applicationContext2, str);
|
|
}
|
|
});
|
|
}
|
|
dataStore = this.INSTANCE;
|
|
Intrinsics.checkNotNull(dataStore);
|
|
} catch (Throwable th) {
|
|
throw th;
|
|
}
|
|
}
|
|
return dataStore;
|
|
}
|
|
}
|