~aleteoryx/muditaos

ref: 95d96b82b63c85af4f655d10e52c5612121c23f6 muditaos/module-services/service-cellular/doc/cellular_gsm_onoff_flow.svg -rw-r--r-- 18.5 KiB
95d96b82 — Pawel.Paprocki [BH-370] Convert utils common_data into a libs 4 years ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="828px" preserveAspectRatio="none" style="width:1133px;height:828px;" version="1.1" viewBox="0 0 1133 828" width="1133px" zoomAndPan="magnify"><defs><filter height="300%" id="f11zk64p704qoz" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><rect fill="#FFFFFF" filter="url(#f11zk64p704qoz)" height="100.3984" style="stroke:#A80036;stroke-width:1.0;" width="10" x="306" y="114.5625"/><rect fill="#FFFFFF" filter="url(#f11zk64p704qoz)" height="100.3984" style="stroke:#A80036;stroke-width:1.0;" width="10" x="306" y="297.3594"/><rect fill="#FFFFFF" filter="url(#f11zk64p704qoz)" height="299.1953" style="stroke:#A80036;stroke-width:1.0;" width="10" x="306" y="477.0234"/><rect fill="#FFFFFF" filter="url(#f11zk64p704qoz)" height="116.3984" style="stroke:#A80036;stroke-width:1.0;" width="10" x="311" y="659.8203"/><rect fill="#FFFFFF" filter="url(#f11zk64p704qoz)" height="164.6641" style="stroke:#A80036;stroke-width:1.0;" width="10" x="565" y="50.2969"/><rect fill="#FFFFFF" filter="url(#f11zk64p704qoz)" height="153.6641" style="stroke:#A80036;stroke-width:1.0;" width="10" x="565" y="244.0938"/><rect fill="#FFFFFF" filter="url(#f11zk64p704qoz)" height="71.2656" style="stroke:#A80036;stroke-width:1.0;" width="10" x="565" y="506.1563"/><rect fill="#FFFFFF" filter="url(#f11zk64p704qoz)" height="71.2656" style="stroke:#A80036;stroke-width:1.0;" width="10" x="565" y="688.9531"/><rect fill="#FFFFFF" filter="url(#f11zk64p704qoz)" height="29.1328" style="stroke:#A80036;stroke-width:1.0;" width="10" x="771" y="214.9609"/><rect fill="#FFFFFF" filter="url(#f11zk64p704qoz)" height="29.1328" style="stroke:#A80036;stroke-width:1.0;" width="10" x="771" y="577.4219"/><rect fill="#FFFFFF" filter="url(#f11zk64p704qoz)" height="146.6641" style="stroke:#000000;stroke-width:2.0;" width="630" x="234.5" y="259.0938"/><rect fill="#FFFFFF" filter="url(#f11zk64p704qoz)" height="146.6641" style="stroke:#000000;stroke-width:2.0;" width="854.5" x="10" y="621.5547"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="94" x2="94" y1="40.2969" y2="785.2188"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="310.5" x2="310.5" y1="40.2969" y2="785.2188"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="570" x2="570" y1="40.2969" y2="785.2188"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="775.5" x2="775.5" y1="40.2969" y2="785.2188"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="1047.5" x2="1047.5" y1="40.2969" y2="785.2188"/><rect fill="#FEFECE" filter="url(#f11zk64p704qoz)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="144" x="20" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="130" x="27" y="24.9951">Battery level check</text><rect fill="#FEFECE" filter="url(#f11zk64p704qoz)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="144" x="20" y="784.2188"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="130" x="27" y="804.2139">Battery level check</text><rect fill="#FEFECE" filter="url(#f11zk64p704qoz)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="129" x="244.5" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="115" x="251.5" y="24.9951">System Manager</text><rect fill="#FEFECE" filter="url(#f11zk64p704qoz)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="129" x="244.5" y="784.2188"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="115" x="251.5" y="804.2139">System Manager</text><rect fill="#FEFECE" filter="url(#f11zk64p704qoz)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="118" x="509" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="104" x="516" y="24.9951">Service Cellular</text><rect fill="#FEFECE" filter="url(#f11zk64p704qoz)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="118" x="509" y="784.2188"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="104" x="516" y="804.2139">Service Cellular</text><rect fill="#FEFECE" filter="url(#f11zk64p704qoz)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="153" x="697.5" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="139" x="704.5" y="24.9951">Application Manager</text><rect fill="#FEFECE" filter="url(#f11zk64p704qoz)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="153" x="697.5" y="784.2188"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="139" x="704.5" y="804.2139">Application Manager</text><rect fill="#FEFECE" filter="url(#f11zk64p704qoz)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="143" x="974.5" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="129" x="981.5" y="24.9951">ApplicaionDesktop</text><rect fill="#FEFECE" filter="url(#f11zk64p704qoz)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="143" x="974.5" y="784.2188"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="129" x="981.5" y="804.2139">ApplicaionDesktop</text><rect fill="#FFFFFF" filter="url(#f11zk64p704qoz)" height="100.3984" style="stroke:#A80036;stroke-width:1.0;" width="10" x="306" y="114.5625"/><rect fill="#FFFFFF" filter="url(#f11zk64p704qoz)" height="100.3984" style="stroke:#A80036;stroke-width:1.0;" width="10" x="306" y="297.3594"/><rect fill="#FFFFFF" filter="url(#f11zk64p704qoz)" height="299.1953" style="stroke:#A80036;stroke-width:1.0;" width="10" x="306" y="477.0234"/><rect fill="#FFFFFF" filter="url(#f11zk64p704qoz)" height="116.3984" style="stroke:#A80036;stroke-width:1.0;" width="10" x="311" y="659.8203"/><rect fill="#FFFFFF" filter="url(#f11zk64p704qoz)" height="164.6641" style="stroke:#A80036;stroke-width:1.0;" width="10" x="565" y="50.2969"/><rect fill="#FFFFFF" filter="url(#f11zk64p704qoz)" height="153.6641" style="stroke:#A80036;stroke-width:1.0;" width="10" x="565" y="244.0938"/><rect fill="#FFFFFF" filter="url(#f11zk64p704qoz)" height="71.2656" style="stroke:#A80036;stroke-width:1.0;" width="10" x="565" y="506.1563"/><rect fill="#FFFFFF" filter="url(#f11zk64p704qoz)" height="71.2656" style="stroke:#A80036;stroke-width:1.0;" width="10" x="565" y="688.9531"/><rect fill="#FFFFFF" filter="url(#f11zk64p704qoz)" height="29.1328" style="stroke:#A80036;stroke-width:1.0;" width="10" x="771" y="214.9609"/><rect fill="#FFFFFF" filter="url(#f11zk64p704qoz)" height="29.1328" style="stroke:#A80036;stroke-width:1.0;" width="10" x="771" y="577.4219"/><rect fill="#EEEEEE" filter="url(#f11zk64p704qoz)" height="3" style="stroke:#EEEEEE;stroke-width:1.0;" width="1126.5" x="0" y="70.8633"/><line style="stroke:#000000;stroke-width:1.0;" x1="0" x2="1126.5" y1="70.8633" y2="70.8633"/><line style="stroke:#000000;stroke-width:1.0;" x1="0" x2="1126.5" y1="73.8633" y2="73.8633"/><rect fill="#EEEEEE" filter="url(#f11zk64p704qoz)" height="23.1328" style="stroke:#000000;stroke-width:2.0;" width="107" x="509.75" y="60.2969"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="88" x="515.75" y="76.3638">Initial check</text><polygon fill="#A80036" points="327,110.5625,317,114.5625,327,118.5625,323,114.5625" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="321" x2="564" y1="114.5625" y2="114.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="230" x="333" y="109.4966">CellularCheckIfStartAllowedMessage</text><polygon fill="#A80036" points="553,139.6953,563,143.6953,553,147.6953,557,143.6953" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="316" x2="559" y1="143.6953" y2="143.6953"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="197" x="323" y="138.6294">CellularPowerStateChange(Off)</text><line style="stroke:#A80036;stroke-width:1.0;" x1="575" x2="617" y1="172.8281" y2="172.8281"/><line style="stroke:#A80036;stroke-width:1.0;" x1="617" x2="617" y1="172.8281" y2="185.8281"/><line style="stroke:#A80036;stroke-width:1.0;" x1="576" x2="617" y1="185.8281" y2="185.8281"/><polygon fill="#A80036" points="586,181.8281,576,185.8281,586,189.8281,582,185.8281" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="182" x="582" y="167.7622">handle_power_state_change</text><polygon fill="#A80036" points="759,210.9609,769,214.9609,759,218.9609,763,214.9609" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="311" x2="765" y1="214.9609" y2="214.9609"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="231" x="318" y="209.895">CriticalBatteryLevelNotification(true)</text><polygon fill="#A80036" points="1036,240.0938,1046,244.0938,1036,248.0938,1040,244.0938" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="776" x2="1042" y1="244.0938" y2="244.0938"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="243" x="783" y="239.0278">actions::DisplayLowBatteryNotification</text><path d="M234.5,259.0938 L298.5,259.0938 L298.5,266.0938 L288.5,276.0938 L234.5,276.0938 L234.5,259.0938 " fill="#EEEEEE" style="stroke:#000000;stroke-width:1.0;"/><rect fill="none" height="146.6641" style="stroke:#000000;stroke-width:2.0;" width="630" x="234.5" y="259.0938"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="19" x="249.5" y="272.1606">alt</text><polygon fill="#A80036" points="327,293.3594,317,297.3594,327,301.3594,323,297.3594" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="321" x2="564" y1="297.3594" y2="297.3594"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="230" x="333" y="292.2935">CellularCheckIfStartAllowedMessage</text><polygon fill="#A80036" points="553,322.4922,563,326.4922,553,330.4922,557,326.4922" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="316" x2="559" y1="326.4922" y2="326.4922"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="197" x="323" y="321.4263">CellularPowerStateChange(On)</text><line style="stroke:#A80036;stroke-width:1.0;" x1="575" x2="617" y1="355.625" y2="355.625"/><line style="stroke:#A80036;stroke-width:1.0;" x1="617" x2="617" y1="355.625" y2="368.625"/><line style="stroke:#A80036;stroke-width:1.0;" x1="576" x2="617" y1="368.625" y2="368.625"/><polygon fill="#A80036" points="586,364.625,576,368.625,586,372.625,582,368.625" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="182" x="582" y="350.5591">handle_power_state_change</text><polygon fill="#A80036" points="764,393.7578,774,397.7578,764,401.7578,768,397.7578" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="311" x2="770" y1="397.7578" y2="397.7578"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="235" x="318" y="392.6919">CriticalBatteryLevelNotification(false)</text><rect fill="#EEEEEE" filter="url(#f11zk64p704qoz)" height="3" style="stroke:#EEEEEE;stroke-width:1.0;" width="1126.5" x="0" y="433.3242"/><line style="stroke:#000000;stroke-width:1.0;" x1="0" x2="1126.5" y1="433.3242" y2="433.3242"/><line style="stroke:#000000;stroke-width:1.0;" x1="0" x2="1126.5" y1="436.3242" y2="436.3242"/><rect fill="#EEEEEE" filter="url(#f11zk64p704qoz)" height="23.1328" style="stroke:#000000;stroke-width:2.0;" width="108" x="509.25" y="422.7578"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="89" x="515.25" y="438.8247">Normal flow</text><polygon fill="#A80036" points="294,473.0234,304,477.0234,294,481.0234,298,477.0234" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="94" x2="300" y1="477.0234" y2="477.0234"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="188" x="101" y="471.9575">BatteryStateChangeMessage</text><polygon fill="#A80036" points="553,502.1563,563,506.1563,553,510.1563,557,506.1563" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="316" x2="559" y1="506.1563" y2="506.1563"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="197" x="323" y="501.0903">CellularPowerStateChange(Off)</text><line style="stroke:#A80036;stroke-width:1.0;" x1="575" x2="617" y1="535.2891" y2="535.2891"/><line style="stroke:#A80036;stroke-width:1.0;" x1="617" x2="617" y1="535.2891" y2="548.2891"/><line style="stroke:#A80036;stroke-width:1.0;" x1="576" x2="617" y1="548.2891" y2="548.2891"/><polygon fill="#A80036" points="586,544.2891,576,548.2891,586,552.2891,582,548.2891" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="182" x="582" y="530.2231">handle_power_state_change</text><polygon fill="#A80036" points="759,573.4219,769,577.4219,759,581.4219,763,577.4219" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="316" x2="765" y1="577.4219" y2="577.4219"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="231" x="323" y="572.356">CriticalBatteryLevelNotification(true)</text><polygon fill="#A80036" points="1036,602.5547,1046,606.5547,1036,610.5547,1040,606.5547" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="776" x2="1042" y1="606.5547" y2="606.5547"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="243" x="783" y="601.4888">actions::DisplayLowBatteryNotification</text><path d="M10,621.5547 L74,621.5547 L74,628.5547 L64,638.5547 L10,638.5547 L10,621.5547 " fill="#EEEEEE" style="stroke:#000000;stroke-width:1.0;"/><rect fill="none" height="146.6641" style="stroke:#000000;stroke-width:2.0;" width="854.5" x="10" y="621.5547"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="19" x="25" y="634.6216">alt</text><polygon fill="#A80036" points="299,655.8203,309,659.8203,299,663.8203,303,659.8203" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="94" x2="305" y1="659.8203" y2="659.8203"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="188" x="101" y="654.7544">BatteryStateChangeMessage</text><polygon fill="#A80036" points="553,684.9531,563,688.9531,553,692.9531,557,688.9531" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="321" x2="559" y1="688.9531" y2="688.9531"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="197" x="328" y="683.8872">CellularPowerStateChange(On)</text><line style="stroke:#A80036;stroke-width:1.0;" x1="575" x2="617" y1="718.0859" y2="718.0859"/><line style="stroke:#A80036;stroke-width:1.0;" x1="617" x2="617" y1="718.0859" y2="731.0859"/><line style="stroke:#A80036;stroke-width:1.0;" x1="576" x2="617" y1="731.0859" y2="731.0859"/><polygon fill="#A80036" points="586,727.0859,576,731.0859,586,735.0859,582,731.0859" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="182" x="582" y="713.02">handle_power_state_change</text><polygon fill="#A80036" points="764,756.2188,774,760.2188,764,764.2188,768,760.2188" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="321" x2="770" y1="760.2188" y2="760.2188"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="235" x="328" y="755.1528">CriticalBatteryLevelNotification(false)</text><!--MD5=[a9b40611bd703dfc937c2afa52a20f92]
@startuml

participant "Battery level check" as batt
participant "System Manager" as sysmgr
participant "Service Cellular" as cell
participant "Application Manager" as appmgr
participant "ApplicaionDesktop" as appdsktp

== Initial check ==

    activate cell
    cell -> sysmgr : CellularCheckIfStartAllowedMessage
    activate sysmgr
    sysmgr -> cell : CellularPowerStateChange(Off)
    cell -> cell : handle_power_state_change
    sysmgr -> appmgr : CriticalBatteryLevelNotification(true)
    deactivate cell
    deactivate sysmgr
    activate appmgr
    appmgr -> appdsktp : actions::DisplayLowBatteryNotification
    deactivate appmgr
alt
    activate cell
    cell -> sysmgr : CellularCheckIfStartAllowedMessage
    activate sysmgr
    sysmgr -> cell : CellularPowerStateChange(On)
    cell -> cell : handle_power_state_change
    sysmgr -> appmgr : CriticalBatteryLevelNotification(false)
    deactivate cell
    deactivate sysmgr
end

== Normal flow ==
    batt -> sysmgr : BatteryStateChangeMessage
    activate sysmgr
    sysmgr -> cell : CellularPowerStateChange(Off)
    activate cell
    cell -> cell : handle_power_state_change
    sysmgr -> appmgr : CriticalBatteryLevelNotification(true)
    deactivate cell
    activate appmgr
    appmgr -> appdsktp : actions::DisplayLowBatteryNotification
    deactivate appmgr
alt
    batt -> sysmgr : BatteryStateChangeMessage
    activate sysmgr
    sysmgr -> cell : CellularPowerStateChange(On)
    activate cell
    cell -> cell : handle_power_state_change
    sysmgr -> appmgr : CriticalBatteryLevelNotification(false)
    deactivate cell
end

@enduml

PlantUML version 1.2021.00(Sun Jan 10 11:25:05 CET 2021)
(GPL source distribution)
Java Runtime: OpenJDK Runtime Environment
JVM: OpenJDK 64-Bit Server VM
Default Encoding: UTF-8
Language: pl
Country: PL
--></g></svg>