It's fun and easy to build an app and launch it, but then it comes maintaining it, and you keep adding features, events, and business logics. You have added teammates and now it's hard to keep track of what's happening, and you need a good way to keep your code sane. Tests are great a great way to start. And you have also added Otto, EventBus, Dagger, Rx, and other frameworks, but it's so hard to find a sweet spot between writing too much boilerplate code: interfaces to ensure contracts and sane debugging where your code is easily tradable.
Here comes "PennStation", an Android Service pattern with EventBus.
It supports event broadcasting.
..and everything that you expect from an EventBus pattern.
But It supports cross IPC event and comes with a suit of Annotation Processors that will write all the boilerplate code for you.
It forces you to write good code that are testable, can be easily refactored, and will scale when you have 100x more features.
In this talk, I'll talk about how PennStation works, how to use it, and why it is a good complement for other services.
*P.S. The analogy: people (event requests/event results) are trying to go from places to places (requesters/listeners), so they gather here at Penn Station, where they have access to NJT/LIRR/NYC Metro/etc (the different processes).