Search code examples
javaandroiddagger-2android-databindingdagger

Dagger gives error on migrating from version 11 to 12 - Android Java


The following gives error on upgrading com.google.dagger:dagger:2.11 to com.google.dagger:dagger:2.12. The same error comes even if we upgrade firebase.

@Provides
@ActivityScope
public DashboardPresenter provideDashboardPresenter(
        final DashboardView dashboardView,
        final Map<Integer, SampleDashboardPresenter> presenterMap,
        final Map<Integer, SampleDashboardView> viewMap
) {
    return new DashboardPresenter(
            dashboardView,
            presenterMap,
            viewMap
    );
}

@Provides
@ActivityScope
@IntoMap
@IntKey(DashboardConstants.FIRST_POSITION)
public SampleDashboardPresenter provideFirstPresenter(
        final GetSampleUseCase getSampleUseCase
) {
    return new FirstPresenter(
           getSampleUseCase
    );
}

 @Provides
@ActivityScope
@IntoMap
@IntKey(DashboardConstants.FIRST_POSITION)
public SampleDashboardView provideFirstView() {
    return new FirstViewImpl(dashboardActivity, R.layout.view_first);
}

error: cannot find symbol
          MapFactory.create(mapOfIntegerAndProviderOfSampleDashboardPresenterProvider);
                    ^
  symbol:   method create(Provider<Map<Integer,Provider<SampleDashboardPresenter>>>)
  location: class MapFactory

error: cannot find symbol
      MapFactory.create(mapOfIntegerAndProviderOfSampleDashboardViewProvider);
symbol:   method create(Provider<Map<Integer,Provider<SampleDashboardView>>>)
location: class MapFactory

Any help is appreciated.Thanks in advance.


Solution

  • Upgrading dagger to the following resolved the issue:

        annotationProcessor 'com.google.dagger:dagger-compiler:2.28'
        implementation 'com.google.dagger:dagger:2.28'
    

    Thank you