2019-05-13 03:19:17 +02:00
|
|
|
package org.mercury_im.messenger.di.component;
|
|
|
|
|
|
|
|
import org.mercury_im.messenger.MercuryImApplication;
|
2019-10-28 14:56:56 +01:00
|
|
|
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-06-06 23:32:41 +02:00
|
|
|
import org.mercury_im.messenger.service.XmppConnectionService;
|
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-06-03 01:16:49 +02:00
|
|
|
import org.mercury_im.messenger.ui.login.AccountsViewModel;
|
2019-05-13 03:19:17 +02:00
|
|
|
import org.mercury_im.messenger.ui.login.LoginActivity;
|
|
|
|
import org.mercury_im.messenger.ui.login.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
|
2019-10-28 14:56:56 +01:00
|
|
|
@Component(
|
|
|
|
modules = {
|
|
|
|
AppModule.class,
|
|
|
|
AndroidPersistenceModule.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-06-06 23:32:41 +02:00
|
|
|
void inject(XmppConnectionService service);
|
2019-05-27 21:34:11 +02:00
|
|
|
|
2019-05-13 03:19:17 +02:00
|
|
|
}
|