package net.bible.android.control.event;
import de.greenrobot.event.EventBus;
public class ABEventBus implements EventManager {
private static EventManager defaultInstance;
public static EventManager getDefault() {
if (defaultInstance == null) {
synchronized (ABEventBus.class) {
if (defaultInstance == null) {
defaultInstance = new ABEventBus();
}
}
}
return defaultInstance;
}
private ABEventBus() {
}
/**
* Check not registered before registering to avoid exception
*/
@Override
public void safelyRegister(Object subscriber) {
EventBus defaulteventBus = EventBus.getDefault();
if (!defaulteventBus.isRegistered(subscriber)) {
defaulteventBus.register(subscriber);
}
}
@Override
public void register(Object subscriber) {
EventBus.getDefault().register(subscriber);
}
@Override
public void post(Object event) {
EventBus.getDefault().post(event);
}
}