@startuml
skinparam BackgroundColor F0F0F0
participant "System Manager" as sysmgr
participant "All services" as srv
participant "Application Manager" as appmgr
participant "Service GUI" as gui
participant "service EINK" as eink
-> sysmgr : battery brownout
sysmgr -> srv : InitiateSystemCloseSequence
srv -> appmgr : processCloseReason
appmgr -> appmgr : switchWindowAtClose(Dead Battery Window)
eink -> gui : last sreen show
gui -> srv : ready to close
srv -> sysmgr : readyToClose
alt timeout
sysmgr -> sysmgr : closeServices
end
sysmgr -> srv : SystemMessageType::Exit
srv -> sysmgr : MsgHandled
alt timeout
sysmgr -> sysmgr : kill service
end
@enduml