This is an example project for an article An Amaizing Analytics Architecture for Android app
Architecture consists out of 4 layers : Core, Events, Features and App. Core layer has no idea about other layers outside of Core.
At the same time Feature layer knows about Events layer, which is responsible for analytics. Feature_dashboard
has a layer feature_dashboard_analytics
, etc.
Those modules are responsible solely for tracking analytics events. That's how we can separate those entities between each other and do not pollute main feature module with analytics.