Я новичок в Даггере. В его документе сказано
Сторонние классы не могут быть аннотированы
Но в этом примере UpcomingMoviesMVP он внедряет шину OTTO в MainActivity:
public class MainActivity extends BaseActivity {
@Inject
protected Bus bus;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
protected void onResume() {
super.onResume();
registerBus();
}
@Override
protected void onPause() {
super.onPause();
unRegisterBus();
}
private void registerBus() {
bus.register(this);
}
private void unRegisterBus() {
bus.unregister(this);
}
@Subscribe
public void onItemSelectedEvent(MovieSelectedEvent event) {
launchMovieDetailsActivity(event.getMovie());
}
Поэтому я думаю, что Dagger должен вызывать конструктор шины по умолчанию (конечно, в конструкторе шины нет аннотации ввода). Но это кажется конфликтующим с «Сторонние классы не могут быть аннотированы»?