The SIMTREK program is divided into wearable (watch) side and companion (smart phone) side.
In addition, each program is divided into a main service and a listener service that handles communication between wearable and companion.
When a watch face is selected on the wearable side, both SimtrekService and ListenerSerivce will be activated.
SimtrekService updates face display and record based on values read from preferences and wearable sensors (acceleration, direction, steps).
In other words, when a watch face is not selected, changes in history graphs of batteries and steps will not be recorded.
(Steps themselves will proceed correctly together the next time the watch face is launched. The Google Fit history will always be recorded by Google Fit.)
Unlike SimtrekService, ListenerService starts every time data is sent from a companion (smart phone), even if SIMTREK watch face is not selected, and saves it in preferences if it is related to SIMTREK.
This means that while the SimtrekService is not running, the ListenerService has received the data sent to the wearable and is prepared to be able to reflect the new information to the screen the next time the SIMTREK watch face is selected.
On the companion side, if SIMTREK watch face is selected, SimtrekSerivce will be activated.
SimtrekService runs on a regular basis and gets companion sensors (location information), weather information, and Google Fit information.
The companion sends the collected information regularly to the wearable side.
Immediately after touching the companion application, the companion frequently sends information to the wearable.
Over time, the companion controls to send data sparsely to the wearable.
If you change the setting, you want to quickly check the contents even in wearable?
After that, you will occasionally mind if time goes by.
On the companion side, there is a custom view (FaceView) with almost the same code as the program on the wearable side.
This is the reason why you can try out the watch face freely on the companion side.