<?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="945px" preserveAspectRatio="none" style="width:1168px;height:945px;" version="1.1" viewBox="0 0 1168 945" width="1168px" zoomAndPan="magnify"><defs><filter height="300%" id="f17c9soi04i4ed" 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(#f17c9soi04i4ed)" height="29.1328" style="stroke:#A80036;stroke-width:1.0;" width="10" x="89" y="143.6953"/><rect fill="#FFFFFF" filter="url(#f17c9soi04i4ed)" height="29.1328" style="stroke:#A80036;stroke-width:1.0;" width="10" x="89" y="384.7578"/><rect fill="#FFFFFF" filter="url(#f17c9soi04i4ed)" height="158.6641" style="stroke:#A80036;stroke-width:1.0;" width="10" x="341" y="114.5625"/><rect fill="#FFFFFF" filter="url(#f17c9soi04i4ed)" height="158.6641" style="stroke:#A80036;stroke-width:1.0;" width="10" x="341" y="355.625"/><rect fill="#FFFFFF" filter="url(#f17c9soi04i4ed)" height="299.1953" style="stroke:#A80036;stroke-width:1.0;" width="10" x="341" y="593.5547"/><rect fill="#FFFFFF" filter="url(#f17c9soi04i4ed)" height="116.3984" style="stroke:#A80036;stroke-width:1.0;" width="10" x="346" y="776.3516"/><rect fill="#FFFFFF" filter="url(#f17c9soi04i4ed)" height="222.9297" style="stroke:#A80036;stroke-width:1.0;" width="10" x="600" y="50.2969"/><rect fill="#FFFFFF" filter="url(#f17c9soi04i4ed)" height="211.9297" style="stroke:#A80036;stroke-width:1.0;" width="10" x="600" y="302.3594"/><rect fill="#FFFFFF" filter="url(#f17c9soi04i4ed)" height="71.2656" style="stroke:#A80036;stroke-width:1.0;" width="10" x="600" y="622.6875"/><rect fill="#FFFFFF" filter="url(#f17c9soi04i4ed)" height="71.2656" style="stroke:#A80036;stroke-width:1.0;" width="10" x="600" y="805.4844"/><rect fill="#FFFFFF" filter="url(#f17c9soi04i4ed)" height="29.1328" style="stroke:#A80036;stroke-width:1.0;" width="10" x="806" y="273.2266"/><rect fill="#FFFFFF" filter="url(#f17c9soi04i4ed)" height="29.1328" style="stroke:#A80036;stroke-width:1.0;" width="10" x="806" y="693.9531"/><rect fill="#FFFFFF" filter="url(#f17c9soi04i4ed)" height="204.9297" style="stroke:#000000;stroke-width:2.0;" width="889.5" x="10" y="317.3594"/><rect fill="#FFFFFF" filter="url(#f17c9soi04i4ed)" height="146.6641" style="stroke:#000000;stroke-width:2.0;" width="889.5" x="10" y="738.0859"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="94" x2="94" y1="40.2969" y2="901.75"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="345.5" x2="345.5" y1="40.2969" y2="901.75"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="605" x2="605" y1="40.2969" y2="901.75"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="810.5" x2="810.5" y1="40.2969" y2="901.75"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="1082.5" x2="1082.5" y1="40.2969" y2="901.75"/><rect fill="#FEFECE" filter="url(#f17c9soi04i4ed)" 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="spacingAndGlyphs" textLength="130" x="27" y="24.9951">Battery level check</text><rect fill="#FEFECE" filter="url(#f17c9soi04i4ed)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="144" x="20" y="900.75"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="130" x="27" y="920.7451">Battery level check</text><rect fill="#FEFECE" filter="url(#f17c9soi04i4ed)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="129" x="279.5" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="115" x="286.5" y="24.9951">System Manager</text><rect fill="#FEFECE" filter="url(#f17c9soi04i4ed)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="129" x="279.5" y="900.75"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="115" x="286.5" y="920.7451">System Manager</text><rect fill="#FEFECE" filter="url(#f17c9soi04i4ed)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="118" x="544" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="104" x="551" y="24.9951">Service Cellular</text><rect fill="#FEFECE" filter="url(#f17c9soi04i4ed)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="118" x="544" y="900.75"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="104" x="551" y="920.7451">Service Cellular</text><rect fill="#FEFECE" filter="url(#f17c9soi04i4ed)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="153" x="732.5" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="139" x="739.5" y="24.9951">Application Manager</text><rect fill="#FEFECE" filter="url(#f17c9soi04i4ed)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="153" x="732.5" y="900.75"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="139" x="739.5" y="920.7451">Application Manager</text><rect fill="#FEFECE" filter="url(#f17c9soi04i4ed)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="143" x="1009.5" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="129" x="1016.5" y="24.9951">ApplicaionDesktop</text><rect fill="#FEFECE" filter="url(#f17c9soi04i4ed)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="143" x="1009.5" y="900.75"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="129" x="1016.5" y="920.7451">ApplicaionDesktop</text><rect fill="#FFFFFF" filter="url(#f17c9soi04i4ed)" height="29.1328" style="stroke:#A80036;stroke-width:1.0;" width="10" x="89" y="143.6953"/><rect fill="#FFFFFF" filter="url(#f17c9soi04i4ed)" height="29.1328" style="stroke:#A80036;stroke-width:1.0;" width="10" x="89" y="384.7578"/><rect fill="#FFFFFF" filter="url(#f17c9soi04i4ed)" height="158.6641" style="stroke:#A80036;stroke-width:1.0;" width="10" x="341" y="114.5625"/><rect fill="#FFFFFF" filter="url(#f17c9soi04i4ed)" height="158.6641" style="stroke:#A80036;stroke-width:1.0;" width="10" x="341" y="355.625"/><rect fill="#FFFFFF" filter="url(#f17c9soi04i4ed)" height="299.1953" style="stroke:#A80036;stroke-width:1.0;" width="10" x="341" y="593.5547"/><rect fill="#FFFFFF" filter="url(#f17c9soi04i4ed)" height="116.3984" style="stroke:#A80036;stroke-width:1.0;" width="10" x="346" y="776.3516"/><rect fill="#FFFFFF" filter="url(#f17c9soi04i4ed)" height="222.9297" style="stroke:#A80036;stroke-width:1.0;" width="10" x="600" y="50.2969"/><rect fill="#FFFFFF" filter="url(#f17c9soi04i4ed)" height="211.9297" style="stroke:#A80036;stroke-width:1.0;" width="10" x="600" y="302.3594"/><rect fill="#FFFFFF" filter="url(#f17c9soi04i4ed)" height="71.2656" style="stroke:#A80036;stroke-width:1.0;" width="10" x="600" y="622.6875"/><rect fill="#FFFFFF" filter="url(#f17c9soi04i4ed)" height="71.2656" style="stroke:#A80036;stroke-width:1.0;" width="10" x="600" y="805.4844"/><rect fill="#FFFFFF" filter="url(#f17c9soi04i4ed)" height="29.1328" style="stroke:#A80036;stroke-width:1.0;" width="10" x="806" y="273.2266"/><rect fill="#FFFFFF" filter="url(#f17c9soi04i4ed)" height="29.1328" style="stroke:#A80036;stroke-width:1.0;" width="10" x="806" y="693.9531"/><rect fill="#EEEEEE" filter="url(#f17c9soi04i4ed)" height="3" style="stroke:#EEEEEE;stroke-width:1.0;" width="1161.5" x="0" y="70.8633"/><line style="stroke:#000000;stroke-width:1.0;" x1="0" x2="1161.5" y1="70.8633" y2="70.8633"/><line style="stroke:#000000;stroke-width:1.0;" x1="0" x2="1161.5" y1="73.8633" y2="73.8633"/><rect fill="#EEEEEE" filter="url(#f17c9soi04i4ed)" height="23.1328" style="stroke:#000000;stroke-width:2.0;" width="107" x="527.25" y="60.2969"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="88" x="533.25" y="76.3638">Initial check</text><polygon fill="#A80036" points="362,110.5625,352,114.5625,362,118.5625,358,114.5625" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="356" x2="599" y1="114.5625" y2="114.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="230" x="368" y="109.4966">CellularCheckIfStartAllowedMessage</text><polygon fill="#A80036" points="110,139.6953,100,143.6953,110,147.6953,106,143.6953" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="104" x2="340" y1="143.6953" y2="143.6953"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="219" x="116" y="138.6294">BatteryLevelCriticalCheckMessage</text><polygon fill="#A80036" points="329,168.8281,339,172.8281,329,176.8281,333,172.8281" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="94" x2="335" y1="172.8281" y2="172.8281"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="180" x="101" y="167.7622">BatteryLevelCriticalMessage</text><polygon fill="#A80036" points="588,197.9609,598,201.9609,588,205.9609,592,201.9609" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="351" x2="594" y1="201.9609" y2="201.9609"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="197" x="358" y="196.895">CellularPowerStateChange(Off)</text><line style="stroke:#A80036;stroke-width:1.0;" x1="610" x2="652" y1="231.0938" y2="231.0938"/><line style="stroke:#A80036;stroke-width:1.0;" x1="652" x2="652" y1="231.0938" y2="244.0938"/><line style="stroke:#A80036;stroke-width:1.0;" x1="611" x2="652" y1="244.0938" y2="244.0938"/><polygon fill="#A80036" points="621,240.0938,611,244.0938,621,248.0938,617,244.0938" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="182" x="617" y="226.0278">handle_power_state_change</text><polygon fill="#A80036" points="794,269.2266,804,273.2266,794,277.2266,798,273.2266" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="346" x2="800" y1="273.2266" y2="273.2266"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="231" x="353" y="268.1606">CriticalBatteryLevelNotification(true)</text><polygon fill="#A80036" points="1071,298.3594,1081,302.3594,1071,306.3594,1075,302.3594" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="811" x2="1077" y1="302.3594" y2="302.3594"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="243" x="818" y="297.2935">actions::DisplayLowBatteryNotification</text><path d="M10,317.3594 L74,317.3594 L74,324.3594 L64,334.3594 L10,334.3594 L10,317.3594 " fill="#EEEEEE" style="stroke:#000000;stroke-width:1.0;"/><rect fill="none" height="204.9297" style="stroke:#000000;stroke-width:2.0;" width="889.5" x="10" y="317.3594"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="19" x="25" y="330.4263">alt</text><polygon fill="#A80036" points="362,351.625,352,355.625,362,359.625,358,355.625" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="356" x2="599" y1="355.625" y2="355.625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="230" x="368" y="350.5591">CellularCheckIfStartAllowedMessage</text><polygon fill="#A80036" points="110,380.7578,100,384.7578,110,388.7578,106,384.7578" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="104" x2="340" y1="384.7578" y2="384.7578"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="223" x="116" y="379.6919">BatteryLevelNormalCheckMessage</text><polygon fill="#A80036" points="329,409.8906,339,413.8906,329,417.8906,333,413.8906" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="94" x2="335" y1="413.8906" y2="413.8906"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="180" x="101" y="408.8247">BatteryLevelCriticalMessage</text><polygon fill="#A80036" points="588,439.0234,598,443.0234,588,447.0234,592,443.0234" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="351" x2="594" y1="443.0234" y2="443.0234"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="197" x="358" y="437.9575">CellularPowerStateChange(On)</text><line style="stroke:#A80036;stroke-width:1.0;" x1="610" x2="652" y1="472.1563" y2="472.1563"/><line style="stroke:#A80036;stroke-width:1.0;" x1="652" x2="652" y1="472.1563" y2="485.1563"/><line style="stroke:#A80036;stroke-width:1.0;" x1="611" x2="652" y1="485.1563" y2="485.1563"/><polygon fill="#A80036" points="621,481.1563,611,485.1563,621,489.1563,617,485.1563" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="182" x="617" y="467.0903">handle_power_state_change</text><polygon fill="#A80036" points="799,510.2891,809,514.2891,799,518.2891,803,514.2891" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="346" x2="805" y1="514.2891" y2="514.2891"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="235" x="353" y="509.2231">CriticalBatteryLevelNotification(false)</text><rect fill="#EEEEEE" filter="url(#f17c9soi04i4ed)" height="3" style="stroke:#EEEEEE;stroke-width:1.0;" width="1161.5" x="0" y="549.8555"/><line style="stroke:#000000;stroke-width:1.0;" x1="0" x2="1161.5" y1="549.8555" y2="549.8555"/><line style="stroke:#000000;stroke-width:1.0;" x1="0" x2="1161.5" y1="552.8555" y2="552.8555"/><rect fill="#EEEEEE" filter="url(#f17c9soi04i4ed)" height="23.1328" style="stroke:#000000;stroke-width:2.0;" width="108" x="526.75" y="539.2891"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="89" x="532.75" y="555.356">Normal flow</text><polygon fill="#A80036" points="329,589.5547,339,593.5547,329,597.5547,333,593.5547" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="94" x2="335" y1="593.5547" y2="593.5547"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="180" x="101" y="588.4888">BatteryLevelCriticalMessage</text><polygon fill="#A80036" points="588,618.6875,598,622.6875,588,626.6875,592,622.6875" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="351" x2="594" y1="622.6875" y2="622.6875"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="197" x="358" y="617.6216">CellularPowerStateChange(Off)</text><line style="stroke:#A80036;stroke-width:1.0;" x1="610" x2="652" y1="651.8203" y2="651.8203"/><line style="stroke:#A80036;stroke-width:1.0;" x1="652" x2="652" y1="651.8203" y2="664.8203"/><line style="stroke:#A80036;stroke-width:1.0;" x1="611" x2="652" y1="664.8203" y2="664.8203"/><polygon fill="#A80036" points="621,660.8203,611,664.8203,621,668.8203,617,664.8203" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="182" x="617" y="646.7544">handle_power_state_change</text><polygon fill="#A80036" points="794,689.9531,804,693.9531,794,697.9531,798,693.9531" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="351" x2="800" y1="693.9531" y2="693.9531"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="231" x="358" y="688.8872">CriticalBatteryLevelNotification(true)</text><polygon fill="#A80036" points="1071,719.0859,1081,723.0859,1071,727.0859,1075,723.0859" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="811" x2="1077" y1="723.0859" y2="723.0859"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="243" x="818" y="718.02">actions::DisplayLowBatteryNotification</text><path d="M10,738.0859 L74,738.0859 L74,745.0859 L64,755.0859 L10,755.0859 L10,738.0859 " fill="#EEEEEE" style="stroke:#000000;stroke-width:1.0;"/><rect fill="none" height="146.6641" style="stroke:#000000;stroke-width:2.0;" width="889.5" x="10" y="738.0859"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="19" x="25" y="751.1528">alt</text><polygon fill="#A80036" points="334,772.3516,344,776.3516,334,780.3516,338,776.3516" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="94" x2="340" y1="776.3516" y2="776.3516"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="184" x="101" y="771.2856">BatteryLevelNormalMessage</text><polygon fill="#A80036" points="588,801.4844,598,805.4844,588,809.4844,592,805.4844" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="356" x2="594" y1="805.4844" y2="805.4844"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="197" x="363" y="800.4185">CellularPowerStateChange(On)</text><line style="stroke:#A80036;stroke-width:1.0;" x1="610" x2="652" y1="834.6172" y2="834.6172"/><line style="stroke:#A80036;stroke-width:1.0;" x1="652" x2="652" y1="834.6172" y2="847.6172"/><line style="stroke:#A80036;stroke-width:1.0;" x1="611" x2="652" y1="847.6172" y2="847.6172"/><polygon fill="#A80036" points="621,843.6172,611,847.6172,621,851.6172,617,847.6172" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="182" x="617" y="829.5513">handle_power_state_change</text><polygon fill="#A80036" points="799,872.75,809,876.75,799,880.75,803,876.75" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="356" x2="805" y1="876.75" y2="876.75"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="235" x="363" y="871.6841">CriticalBatteryLevelNotification(false)</text><!--MD5=[4d4302522169880a6f8cbf95a6a95f20]
@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 -> batt : BatteryLevelCriticalCheckMessage
activate batt
batt -> sysmgr : BatteryLevelCriticalMessage
deactivate batt
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 -> batt : BatteryLevelNormalCheckMessage
activate batt
batt -> sysmgr : BatteryLevelCriticalMessage
deactivate batt
sysmgr -> cell : CellularPowerStateChange(On)
cell -> cell : handle_power_state_change
sysmgr -> appmgr : CriticalBatteryLevelNotification(false)
deactivate cell
deactivate sysmgr
end
== Normal flow ==
batt -> sysmgr : BatteryLevelCriticalMessage
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 : BatteryLevelNormalMessage
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.2020.22(Sun Dec 06 10:36:27 CET 2020)
(GPL source distribution)
Java Runtime: OpenJDK Runtime Environment
JVM: OpenJDK 64-Bit Server VM
Default Encoding: UTF-8
Language: pl
Country: PL
--></g></svg>