70 lines
1.9 KiB
Java
70 lines
1.9 KiB
Java
package org.mercury_im.messenger.di.component;
|
|
|
|
import org.mercury_im.messenger.MercuryImApplication;
|
|
import org.mercury_im.messenger.di.module.AppModule;
|
|
import org.mercury_im.messenger.handler.RoomPlainMessageHandler;
|
|
import org.mercury_im.messenger.handler.RoomRosterHandler;
|
|
import org.mercury_im.messenger.persistence.room.RoomModule;
|
|
import org.mercury_im.messenger.service.XmppConnectionService;
|
|
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;
|
|
import org.mercury_im.messenger.ui.login.AccountsActivity;
|
|
import org.mercury_im.messenger.ui.login.AccountsViewModel;
|
|
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
|
|
@Component(modules = {AppModule.class, RoomModule.class})
|
|
public interface AppComponent {
|
|
|
|
// Application
|
|
|
|
void inject(MercuryImApplication mercuryImApplication);
|
|
|
|
|
|
// Views
|
|
|
|
void inject(MainActivity mainActivity);
|
|
|
|
void inject(LoginActivity loginActivity);
|
|
|
|
void inject(ChatActivity chatActivity);
|
|
|
|
void inject(AccountsActivity accountsActivity);
|
|
|
|
void inject(ChatInputFragment chatInputFragment);
|
|
|
|
|
|
// ViewModels
|
|
|
|
void inject(RosterViewModel rosterViewModel);
|
|
|
|
void inject(ChatViewModel chatViewModel);
|
|
|
|
void inject(ChatInputViewModel chatInputViewModel);
|
|
|
|
void inject(LoginViewModel loginViewModel);
|
|
|
|
void inject(AccountsViewModel accountsViewModel);
|
|
|
|
|
|
// Services
|
|
|
|
void inject(XmppConnectionService service);
|
|
|
|
|
|
// Connectors
|
|
|
|
void inject(RoomRosterHandler roomRosterHandler);
|
|
|
|
void inject(RoomPlainMessageHandler messageHandler);
|
|
}
|