My onEvent in a fragment as below, capturing the authentication of the activity, in my Kotlin function. However, I can't get that onEvent triggered.
@Subscribe
fun onEvent(event: AuthenticationEvent) {
if (event.isAuthenticated) {
startFragment(signInFragment, SignInFragment.TAG)
} else {
startFragment(signOutFragment, SignOutFragment.TAG)
}
}
In my build.gradle file, I have add this
compile 'org.greenrobot:eventbus:3.0.0'
Is there anything I need to do to get this trigger?
To use annotation processors with Kotlin, you need to use the Kotlin Annotation Processor tool (kapt).
Add this to your
build.gradle
:According to GreenRobot (and confirmed by my testing), this is all you need to get
@Subscribe
.You could use Square's Otto, which works the same way and works perfectly with Kotlin. Although, be careful as EventBuses are prone to overcomplicate Android code, and that's why they've deprecated the framework in favor of Rx.
@Subscribe
annotation is publicIn the
build.gradle
file add the code:If you want to use
Subscriber Index
, you add the code tobuild.gradle
too:kapt { arguments { arg('eventBusIndex', 'your-package.MyEventBusIndex') } }