У меня есть приложение для Android, которое использует Dagger. Есть определенные разделы всего приложения, в которые я хочу добавить ObjectGraphs с областью действия для нескольких действий, имеющих общую область действия. Следующий модуль находится в корне ObjectGraph
@Module(
injects = {
MyApplication.class,
},
complete = false,
library = true)
public class BasicContextManagerModule {
private Context applicationContext;
public BasicContextManagerModule(Context applicationContext) {
this.applicationContext = applicationContext;
}
@Provides
Context getApplicationContext() {
return applicationContext;
}
}
Затем я пытаюсь добавить следующий модуль через existsObjectGraph.plus(new FileManagerModule());
@Module(
injects = {
MyListActivity.class,
MyFileDetailActivity.class,
MyFileInfoActivity.class,
},
includes = BasicContextManagerModule.class
)
public class FileManagerModule {
@Provides
FileManager provideFileManager(Context context) {
return new FileManager(context);
}
}
Но результат
java.lang.UnsupportedOperationException: No no-args constructor com.myapp.core.modules.BasicContextManagerModule$$ModuleAdapter
Может кто-нибудь помочь мне понять, почему плюс не позволит этого? Я прочитал из документации кинжала, что плюс расширяет граф объектов, и вы можете включать и добавлять модули. Но мне не удалось этого добиться.