The architecture is rather simple. MappishLauncher.java is the designated launcher class for android it starts the background service to save positions and starts the main map activity.
The UpdaterService saves the location every minute and the does not do too much else unless the user turns off location updating. Then it listens to that command and stops doing things.
This class diagram is an SVG of the entire app. It is provided as an SVG file for you to download and examine closer.
The central methid for the drawing of the different map overlays is the MappishHeatmapOverlay.draw(). The sequence diagram of it can clarify how central parts of the app works. This one is also an SVG so you better open it in a separate window and zoom in.