mirror of
https://codeberg.org/Mercury-IM/Mercury-IM
synced 2024-06-22 11:34:50 +02:00
37 lines
1.6 KiB
Java
37 lines
1.6 KiB
Java
|
package org.mercury_im.messenger.di.module;
|
||
|
|
||
|
import org.mercury_im.messenger.data.repository.AccountRepository;
|
||
|
import org.mercury_im.messenger.util.ThreadUtils;
|
||
|
import org.mercury_im.messenger.viewmodel.accounts.AccountsViewModel;
|
||
|
import org.mercury_im.messenger.viewmodel.accounts.LoginViewModel;
|
||
|
import org.mercury_im.messenger.xmpp.MercuryConnectionManager;
|
||
|
|
||
|
import javax.inject.Named;
|
||
|
import javax.inject.Singleton;
|
||
|
|
||
|
import dagger.Module;
|
||
|
import dagger.Provides;
|
||
|
import io.reactivex.Scheduler;
|
||
|
|
||
|
@Module
|
||
|
public class ViewModelModule {
|
||
|
|
||
|
@Provides
|
||
|
@Singleton
|
||
|
static LoginViewModel provideLoginViewModel(MercuryConnectionManager connectionManager,
|
||
|
AccountRepository accountRepository,
|
||
|
@Named(ThreadUtils.SCHEDULER_IO) Scheduler ioScheduler,
|
||
|
@Named(ThreadUtils.SCHEDULER_UI) Scheduler uiScheduler) {
|
||
|
return new LoginViewModel(connectionManager, accountRepository, ioScheduler, uiScheduler);
|
||
|
}
|
||
|
|
||
|
@Provides
|
||
|
@Singleton
|
||
|
static AccountsViewModel provideAccountsViewModel(MercuryConnectionManager connectionManager,
|
||
|
AccountRepository accountRepository,
|
||
|
@Named(ThreadUtils.SCHEDULER_IO) Scheduler ioScheduler,
|
||
|
@Named(ThreadUtils.SCHEDULER_UI) Scheduler uiScheduler) {
|
||
|
return new AccountsViewModel(connectionManager, accountRepository, ioScheduler, uiScheduler);
|
||
|
}
|
||
|
}
|