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

73 lines
2 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;
import org.mercury_im.messenger.di.module.AppModule;
2019-07-31 17:44:10 +02:00
import org.mercury_im.messenger.handler.AvatarHandler;
2019-06-21 03:45:33 +02:00
import org.mercury_im.messenger.handler.RoomPlainMessageHandler;
2019-06-29 19:06:07 +02:00
import org.mercury_im.messenger.handler.RoomRosterHandler;
2019-08-03 19:05:50 +02:00
import org.mercury_im.messenger.persistence.room.RoomModule;
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-06-03 01:16:49 +02:00
import org.mercury_im.messenger.ui.login.AccountsActivity;
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;
import org.mercury_im.messenger.ui.roster.RosterViewModel;
import javax.inject.Singleton;
import dagger.Component;
@Singleton
2019-08-03 19:05:50 +02:00
@Component(modules = {AppModule.class, RoomModule.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);
2019-06-03 01:16:49 +02:00
void inject(AccountsActivity accountsActivity);
2019-05-13 03:19:17 +02:00
void inject(ChatInputFragment chatInputFragment);
2019-06-03 01:16:49 +02:00
2019-05-13 03:19:17 +02:00
// ViewModels
void inject(RosterViewModel rosterViewModel);
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
// Connectors
2019-06-20 17:20:23 +02:00
void inject(RoomRosterHandler roomRosterHandler);
2019-06-21 03:45:33 +02:00
void inject(RoomPlainMessageHandler messageHandler);
2019-07-31 17:44:10 +02:00
void inject(AvatarHandler avatarHandler);
2019-05-13 03:19:17 +02:00
}