Removing sticky events
In some use cases, it could be convienient to invalidate a sticky event from the Bus and prevent a cached event from getting delivered to the following Subscribers. EventBus allows us to clear the sticky events by calling the following functions:
removeStickyEvent(<MyEventClass>)
– Removes and gets the recent sticky event for the given event typeremoveStickyEvent(Object event)
- Removes the sticky event if it equals the passed eventremoveAllStickyEvents()
- Removes the sticky events for all types
Let's use one removeStickyEvent
function to remove the latest sticky LocationEvent
from the bus:
// Check if the sticky event exist on the Bus LocationEvent evt = EventBus.getDefault(). getStickyEvent(LocationEvent.class); // Check if the event is null if ( evt != null) { EventBus.getDefault().removeStickyEvent(stickyEvent); }
After we remove the sticky event from the bus, the latest LocationEvent
will be removed from the bus and...