2020-06-06 18:45:20 +02:00
|
|
|
package org.mercury_im.messenger.core.di.module;
|
2020-06-06 16:45:20 +02:00
|
|
|
|
2020-06-09 21:52:53 +02:00
|
|
|
import org.mercury_im.messenger.core.SchedulersFacade;
|
2020-06-06 18:45:20 +02:00
|
|
|
import org.mercury_im.messenger.core.data.repository.AccountRepository;
|
2020-07-04 01:17:18 +02:00
|
|
|
import org.mercury_im.messenger.core.data.repository.OpenPgpRepository;
|
2020-07-10 14:15:58 +02:00
|
|
|
import org.mercury_im.messenger.core.viewmodel.accounts.AccountDetailsViewModel;
|
2020-06-06 18:45:20 +02:00
|
|
|
import org.mercury_im.messenger.core.viewmodel.accounts.AccountsViewModel;
|
|
|
|
import org.mercury_im.messenger.core.viewmodel.accounts.LoginViewModel;
|
|
|
|
import org.mercury_im.messenger.core.xmpp.MercuryConnectionManager;
|
2020-06-06 16:45:20 +02:00
|
|
|
|
|
|
|
import javax.inject.Singleton;
|
|
|
|
|
|
|
|
import dagger.Module;
|
|
|
|
import dagger.Provides;
|
|
|
|
|
|
|
|
@Module
|
|
|
|
public class ViewModelModule {
|
|
|
|
|
|
|
|
@Provides
|
|
|
|
@Singleton
|
|
|
|
static LoginViewModel provideLoginViewModel(MercuryConnectionManager connectionManager,
|
|
|
|
AccountRepository accountRepository,
|
2020-06-09 21:52:53 +02:00
|
|
|
SchedulersFacade schedulers) {
|
|
|
|
return new LoginViewModel(connectionManager, accountRepository, schedulers);
|
2020-06-06 16:45:20 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
@Provides
|
|
|
|
@Singleton
|
|
|
|
static AccountsViewModel provideAccountsViewModel(MercuryConnectionManager connectionManager,
|
|
|
|
AccountRepository accountRepository,
|
2020-07-04 01:17:18 +02:00
|
|
|
OpenPgpRepository openPgpRepository,
|
2020-06-09 21:52:53 +02:00
|
|
|
SchedulersFacade schedulers) {
|
2020-07-04 01:17:18 +02:00
|
|
|
return new AccountsViewModel(connectionManager, accountRepository, openPgpRepository, schedulers);
|
2020-06-09 21:52:53 +02:00
|
|
|
}
|
|
|
|
|
2020-07-10 14:15:58 +02:00
|
|
|
@Provides
|
|
|
|
@Singleton
|
|
|
|
static AccountDetailsViewModel provideAccountDetailsViewModel(OpenPgpRepository openPgpRepository,
|
|
|
|
AccountRepository accountRepository,
|
|
|
|
SchedulersFacade schedulers) {
|
|
|
|
return new AccountDetailsViewModel(openPgpRepository, accountRepository, schedulers);
|
|
|
|
}
|
|
|
|
|
2020-07-09 02:10:47 +02:00
|
|
|
/*
|
|
|
|
@Provides
|
|
|
|
@Singleton
|
|
|
|
static OxSecretKeyBackupRestoreViewModel provideOxSecretKeyBackupRestoreViewModel(OpenPgpManager openPgpManager) {
|
|
|
|
return new OxSecretKeyBackupRestoreViewModel(openPgpManager);
|
|
|
|
}
|
|
|
|
*/
|
|
|
|
|
2020-06-11 16:04:06 +02:00
|
|
|
/*
|
2020-06-09 21:52:53 +02:00
|
|
|
@Provides
|
|
|
|
@Singleton
|
|
|
|
static ChatViewModel provideChatViewModel(Repositories repositories, SchedulersFacade schedulers) {
|
|
|
|
return new ChatViewModel(repositories, schedulers);
|
2020-06-06 16:45:20 +02:00
|
|
|
}
|
2020-06-11 16:04:06 +02:00
|
|
|
*/
|
2020-06-06 16:45:20 +02:00
|
|
|
}
|