Код A взят из примеров архитектуры проекта.
Вы можете увидеть его на здесь .
Я думаю, что код return tasksRepository ?: tasksRepository ?: createTasksRepository(context)
должен быть return tasksRepository ?: createTasksRepository(context)
, верно?
Код A
object ServiceLocator {
private val lock = Any()
private var database: ToDoDatabase? = null
@Volatile
var tasksRepository: TasksRepository? = null
@VisibleForTesting set
fun provideTasksRepository(context: Context): TasksRepository {
synchronized(this) {
return tasksRepository ?: tasksRepository ?: createTasksRepository(context)
}
}
...
}