Guest User

Untitled

a guest
Feb 19th, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.19 KB | None | 0 0
  1. @Singleton
  2. @Component(modules = {AndroidSupportInjectionModule.class,
  3. ApplicationModule.class,
  4. ActivityBindingModule.class,
  5. DataManagerModule.class})
  6. public interface ApplicationComponent extends AndroidInjector<MyApplication> {
  7.  
  8. DataManagerContract getDataManager();
  9.  
  10. void inject(MyApplication application);
  11.  
  12. @Component.Builder
  13. interface Builder {
  14.  
  15. @BindsInstance
  16. ApplicationComponent.Builder application(Application application);
  17.  
  18. ApplicationComponent build();
  19. }
  20. }
  21.  
  22. @Module
  23. public abstract class ActivityBindingModule {
  24.  
  25. @ActivityScope
  26. @ContributesAndroidInjector(modules = MainActivityModule.class)
  27. abstract MainActivity bindMainActivity();
  28.  
  29. @ActivityScope
  30. @ContributesAndroidInjector(modules = SplashActivityModule.class)
  31. abstract SplashActivity bindSplashActivity();
  32.  
  33. @ActivityScope
  34. @ContributesAndroidInjector(modules = LoginActivityModule.class)
  35. abstract LoginActivity bindLoginActivity();
  36. }
  37.  
  38. @Module
  39. public abstract class MainActivityModule {
  40.  
  41. @ActivityScope
  42. @Binds
  43. abstract MainActivityContract.Presenter provideMainActivityPresenter(MainActivityPresenter presenter);
  44.  
  45. @FragmentScope
  46. @ContributesAndroidInjector
  47. abstract HomeFragment provideHomeFragment();
  48.  
  49. @FragmentScope
  50. @Binds
  51. abstract HomeFragmentContract.Presenter provideHomeFragmentPresenter(HomeFragmentPresenter presenter);
  52.  
  53. // Inject other fragments and presenters
  54. }
  55.  
  56. public class HomeFragment extends Fragment {
  57. ....
  58. @Override
  59. public void onAttach(Context context) {
  60. AndroidSupportInjection.inject(this);
  61. super.onAttach(context);
  62. }
  63. ....
  64. }
  65.  
  66. java.lang.RuntimeException: Unable to start activity ComponentInfo{com.myapp/com.myapp.main.MainActivity}: java.lang.IllegalArgumentException: No injector factory bound for Class<com.myapp.ui.main.Home.HomeFragment>
  67. at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2665)
  68. at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726)
  69. at android.app.ActivityThread.-wrap12(ActivityThread.java)
  70. at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477)
  71. at android.os.Handler.dispatchMessage(Handler.java:102)
  72. at android.os.Looper.loop(Looper.java:154)
  73. at android.app.ActivityThread.main(ActivityThread.java:6119)
  74. at java.lang.reflect.Method.invoke(Native Method)
  75. at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
  76. at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
  77. Caused by: java.lang.IllegalArgumentException: No injector factory bound for Class<com.myapp.ui.main.Home.HomeFragment>
  78. at dagger.android.DispatchingAndroidInjector.inject(DispatchingAndroidInjector.java:104)
  79. at dagger.android.support.AndroidSupportInjection.inject(AndroidSupportInjection.java:74)
  80. at com.myapp.ui.main.Home.HomeFragment.onAttach(HomeFragment.java:65)
  81. at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1363)
  82. at android.support.v4.app.FragmentTransition.addToFirstInLastOut(FragmentTransition.java:1109)
  83. at android.support.v4.app.FragmentTransition.calculateFragments(FragmentTransition.java:996)
  84. at android.support.v4.app.FragmentTransition.startTransitions(FragmentTransition.java:99)
  85. at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2364)
  86. at android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2322)
  87. at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2229)
  88. at android.support.v4.app.FragmentManagerImpl.dispatchStateChange(FragmentManager.java:3221)
  89. at android.support.v4.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:3171)
  90. at android.support.v4.app.FragmentController.dispatchActivityCreated(FragmentController.java:192)
  91. at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:560)
  92. at android.support.v7.app.AppCompatActivity.onStart(AppCompatActivity.java:177)
  93. at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1248)
  94. at android.app.Activity.performStart(Activity.java:6696)
  95. at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2628)
  96. at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726)
  97. at android.app.ActivityThread.-wrap12(ActivityThread.java)
  98. at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477)
  99. at android.os.Handler.dispatchMessage(Handler.java:102)
  100. at android.os.Looper.loop(Looper.java:154)
  101. at android.app.ActivityThread.main(ActivityThread.java:6119)
  102. at java.lang.reflect.Method.invoke(Native Method)
  103. at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
  104. at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
Add Comment
Please, Sign In to add comment