Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Singleton
- @Component(modules = {ContextModule.class,
- MediaPlayerModule.class,
- RxBusModule.class,
- DataModule.class,
- SocialModule.class})
- public interface ApplicationComponent {
- Context getContext();
- RxBus getRxBus();
- MediaPlayer getMediaPlayer();
- ComplexScreensComponent plus(ComplexScreensModule complexScreensModule);
- void inject(MainActivity mainActivity);
- void inject(MainFragment mainFragment);
- void inject(MainPresenter mainPresenter);
- ......
- }
- @Subcomponent(modules = {ComplexScreensModule.class})
- @ActivityScope
- public interface ComplexScreensComponent {
- void inject(FeaturedFragment featuredFragment);
- void inject(FeaturedPresenter featuredPresenter);
- void inject(PopularFragment popularFragment);
- void inject(PopularPresenter popularPresenter);
- ....
- }
- @Scope
- @Retention(RetentionPolicy.RUNTIME)
- public @interface ActivityScope {
- }
- @Module
- public class ComplexScreensModule {
- private Activity mActivity;
- public ComplexScreensModule() {}
- public ComplexScreensModule(Activity activity) {
- mActivity = activity;
- }
- @Provides
- @ActivityScope
- public Activity providesActivity() {
- return mActivity;
- }
- @Provides
- @ActivityScope
- FeaturedAdapter providesFeaturedAdapter(Activity activity) {
- return new FeaturedAdapter(activity);
- }
- @Provides
- @ActivityScope
- FeaturedPresenter providesFeaturedPresenter() {
- return new FeaturedPresenter();
- }
- ....
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement