I want to send data from the activity to my fragment using otto event bus
From my activity:
@Produce
public EventAvailableEvent produceEvent() {
return new EventAvailableEvent(mEvent);
}
To fragment:
@Subscribe
public void onProvideEvent(EventAvailableEvent event) {
mEvent = event.getEvent();
}
I'm using dagger 2 to inject bus
@Inject Bus mBus;
private void injectDepedencies() {
App.from(getActivity()).getComponent().plus(new MyModule(mEvent));
}
My module is dependant to the event returned by event bus.
Right now, what I do is inject first the main component, register bus, then inject subcomponent
AppComponent appComponent = App.from(getActivity()).getComponent();
appComponent.inject(this)
mBus.register(this)
SubComponent subComponent = appComponent.plus(new MyModule(mEvent));
subComponent.inject(this)
I'm looking for a better way to this, thanks