mirror of
https://codeberg.org/Mercury-IM/Mercury-IM
synced 2024-06-24 12:34:51 +02:00
53 lines
1.5 KiB
Java
53 lines
1.5 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.di.module.RepositoryModule;
|
||
|
import org.mercury_im.messenger.di.module.RoomModule;
|
||
|
import org.mercury_im.messenger.service.XmppService;
|
||
|
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.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(dependencies = {}, modules = {AppModule.class, RoomModule.class, RepositoryModule.class})
|
||
|
public interface AppComponent {
|
||
|
|
||
|
// Application
|
||
|
|
||
|
void inject(MercuryImApplication mercuryImApplication);
|
||
|
|
||
|
// Views
|
||
|
|
||
|
void inject(MainActivity mainActivity);
|
||
|
|
||
|
void inject(LoginActivity loginActivity);
|
||
|
|
||
|
void inject(ChatActivity chatActivity);
|
||
|
|
||
|
void inject(ChatInputFragment chatInputFragment);
|
||
|
|
||
|
// ViewModels
|
||
|
|
||
|
void inject(RosterViewModel rosterViewModel);
|
||
|
|
||
|
void inject(ChatViewModel chatViewModel);
|
||
|
|
||
|
void inject(ChatInputViewModel chatInputViewModel);
|
||
|
|
||
|
void inject(LoginViewModel loginViewModel);
|
||
|
|
||
|
// Services
|
||
|
|
||
|
void inject(XmppService service);
|
||
|
}
|