Обложка канала

Android Broadcast

Качественная выборка Android Dev новостей, тезисы важных новостей и статей, личное мнение

Android Broadcast

7 лет назад
Открыть в
#Dagger #ArchitectureComponents #ViewModel

Assisted ViewModel

Как много усилий вы тратите на то чтобы написать ViewModelProvider.Factory для ViewModel из Architecture Components? Процесс не самый удобный, особенно когда в конструктор вы передаете только зависимости из графа . Dagger?

Я с коллегами решили написать библиотеку, которая избавит нас от этой тягомотины и поможет убрать необходимость реализации ViewModelProvider.Factory.

Пример использования:
class SampleViewModel @AssistedViewModel constructor(
repository:Repository
): ViewModel


class SampleFragment: Fragment {

private lateinit var viewModel: SampleViewModel

@Inject
// AssistedViewModelFactory is generated
fun init(factory: AssistedViewModelFactory) {
viewModel =
ViewModelProviders.of(this, factory)
.get(SampleViewModel::class.java)
}
}