Предоставление MyFragment модулю в Hilt

Я перехожу с Dagger2 на Hilt, но не могу решить эту часть:

@Module
class HistoryPurchaseModule(private val historyPurchaseFragment: HistoryPurchaseFragment) {

@Provides
fun provideHistoryPurchaseFragment(): HistoryPurchaseFragment = historyPurchaseFragment

@Provides
fun provideUseCase() = HistoryPurchaseUseCase()

@Provides
fun provideSession() = HistoryPurchaseSession(
    isHistoryLoading = MutableLiveData(true),
    isThisTheFirstTime = true,
    isHistoryEmpty = MutableLiveData(false)
)

@Provides
fun provideViewModel(session: HistoryPurchaseSession): HistoryPurchaseViewModel {
    return historyPurchaseFragment.createViewModel {
        HistoryPurchaseViewModel(session)
    }
}

@Provides
fun provideLogic(
    useCases: HistoryPurchaseUseCase,
    viewModel: HistoryPurchaseViewModel
) = HistoryPurchaseLogic(viewModel.viewModelScope.coroutineContext, useCases, historyPurchaseFragment, viewModel)
}

Мой логический класс принимает два interfaces в конструкторе, который реализуют viewModel (HistoryPurchaseContract.ViewModel) и фрагмент (HistoryPurchaseContract.View).

Фрагмент:

class HistoryPurchaseFragment : BaseFragment<HistoryPurchaseEvent>(), HistoryPurchaseContract.View

ViewModel:

class HistoryPurchaseViewModel @Inject constructor(override var session: HistoryPurchaseSession) : BaseViewModel<HistoryPurchaseEvent>(),
HistoryPurchaseContract.ViewModel

Мне удалось передать viewModel, но я не могу передать фрагмент. Как я могу это сделать?


person NaaleinGrohiik    schedule 22.03.2021    source источник
comment
Итак, вы хотите что-то внедрить во фрагмент, верно?   -  person Narek Hayrapetyan    schedule 22.03.2021
comment
Мне нужно вставить фрагмент в логический класс. В dagger2 я могу передать фрагмент в конструктор модуля, а затем использовать его для создания логики.   -  person NaaleinGrohiik    schedule 22.03.2021
comment
найдите его stackoverflow.com/questions/63207731/   -  person Narek Hayrapetyan    schedule 22.03.2021
comment
Я видел это, но в комментариях говорят, что это не оптимально.   -  person NaaleinGrohiik    schedule 23.03.2021