Mercury-IM/app/src/main/java/org/mercury_im/messenger/di/component/AppComponent.java

75 lines
2.1 KiB
Java
Raw Normal View History

2019-05-13 03:19:17 +02:00
package org.mercury_im.messenger.di.component;
import org.mercury_im.messenger.MercuryImApplication;
2019-12-06 15:52:50 +01:00
import org.mercury_im.messenger.data.di.RepositoryModule;
import org.mercury_im.messenger.di.module.AndroidPersistenceModule;
2019-11-22 23:35:14 +01:00
import org.mercury_im.messenger.di.module.AppModule;
2019-12-09 13:50:26 +01:00
import org.mercury_im.messenger.service.MercuryConnectionService;
2020-01-06 03:41:37 +01:00
import org.mercury_im.messenger.store.MercuryEntityCapsStore;
2019-05-13 03:19:17 +02:00
import org.mercury_im.messenger.ui.MainActivity;
import org.mercury_im.messenger.ui.chat.ChatActivity;
import org.mercury_im.messenger.ui.chat.ChatInputFragment;
import org.mercury_im.messenger.ui.chat.ChatInputViewModel;
import org.mercury_im.messenger.ui.chat.ChatViewModel;
2019-09-01 04:56:23 +02:00
import org.mercury_im.messenger.ui.chatlist.ChatListViewModel;
2019-12-21 03:46:17 +01:00
import org.mercury_im.messenger.ui.account.AccountsViewModel;
import org.mercury_im.messenger.ui.account.LoginActivity;
import org.mercury_im.messenger.ui.account.LoginViewModel;
2019-09-23 23:20:43 +02:00
import org.mercury_im.messenger.ui.roster.contacts.ContactListViewModel;
2019-05-13 03:19:17 +02:00
import javax.inject.Singleton;
2019-09-23 23:20:43 +02:00
import dagger.Component;
2019-08-04 04:22:08 +02:00
/**
* Main Application Component that binds together all the modules needed for the Android
* application.
*/
2019-05-13 03:19:17 +02:00
@Singleton
@Component(
modules = {
AppModule.class,
2019-12-06 20:25:33 +01:00
AndroidPersistenceModule.class,
RepositoryModule.class
})
2019-05-13 03:19:17 +02:00
public interface AppComponent {
// Application
void inject(MercuryImApplication mercuryImApplication);
2019-06-03 01:16:49 +02:00
2019-05-13 03:19:17 +02:00
// Views
void inject(MainActivity mainActivity);
void inject(LoginActivity loginActivity);
void inject(ChatActivity chatActivity);
void inject(ChatInputFragment chatInputFragment);
2019-09-01 04:56:23 +02:00
void inject(ChatListViewModel chatListViewModel);
2019-06-03 01:16:49 +02:00
2019-05-13 03:19:17 +02:00
// ViewModels
2019-09-23 23:20:43 +02:00
void inject(ContactListViewModel contactListViewModel);
2019-05-13 03:19:17 +02:00
void inject(ChatViewModel chatViewModel);
void inject(ChatInputViewModel chatInputViewModel);
void inject(LoginViewModel loginViewModel);
2019-06-03 01:16:49 +02:00
void inject(AccountsViewModel accountsViewModel);
2019-05-13 03:19:17 +02:00
// Services
2019-12-09 13:50:26 +01:00
void inject(MercuryConnectionService service);
2019-05-27 21:34:11 +02:00
2020-01-06 03:41:37 +01:00
void inject(MercuryEntityCapsStore store);
2019-05-13 03:19:17 +02:00
}