~aleteoryx/muditaos

ref: 395e99e16239630263d5892e2462f1333236ae99 muditaos/module-bluetooth/change_bt_status_flowchart.svg -rw-r--r-- 16.3 KiB
395e99e1 — Marek Niepieklo [CP-583] Update failure due to version.json on the phone 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
<?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="790px" preserveAspectRatio="none" style="width:1494px;height:790px;" version="1.1" viewBox="0 0 1494 790" width="1494px" zoomAndPan="magnify"><defs><filter height="300%" id="f1blwi1hdashva" 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(#f1blwi1hdashva)" height="59.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="246" y="160.5625"/><rect fill="#FFFFFF" filter="url(#f1blwi1hdashva)" height="59.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="246" y="307.9609"/><rect fill="#FFFFFF" filter="url(#f1blwi1hdashva)" height="59.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="246" y="626.1563"/><rect fill="#FFFFFF" filter="url(#f1blwi1hdashva)" height="89.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="614" y="189.6953"/><rect fill="#FFFFFF" filter="url(#f1blwi1hdashva)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="614" y="396.2266"/><rect fill="#FFFFFF" filter="url(#f1blwi1hdashva)" height="89.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="926" y="248.8281"/><rect fill="#FFFFFF" filter="url(#f1blwi1hdashva)" height="230.7969" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="926" y="425.3594"/><rect fill="#FFFFFF" filter="url(#f1blwi1hdashva)" height="35.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="1238" y="554.8906"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="27" x2="27" y1="86.2969" y2="703.2891"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="251" x2="251" y1="86.2969" y2="703.2891"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="619" x2="619" y1="86.2969" y2="703.2891"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="931" x2="931" y1="86.2969" y2="703.2891"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="1242.5" x2="1242.5" y1="86.2969" y2="703.2891"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="1430.5" x2="1430.5" y1="86.2969" y2="703.2891"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="32" x="8" y="82.9951">User</text><ellipse cx="27" cy="13" fill="#FEFECE" filter="url(#f1blwi1hdashva)" rx="8" ry="8" style="stroke: #A80036; stroke-width: 2.0;"/><path d="M27,21 L27,48 M14,29 L40,29 M27,48 L14,63 M27,48 L40,63 " fill="none" filter="url(#f1blwi1hdashva)" style="stroke: #A80036; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="32" x="8" y="715.2842">User</text><ellipse cx="27" cy="728.5859" fill="#FEFECE" filter="url(#f1blwi1hdashva)" rx="8" ry="8" style="stroke: #A80036; stroke-width: 2.0;"/><path d="M27,736.5859 L27,763.5859 M14,744.5859 L40,744.5859 M27,763.5859 L14,778.5859 M27,763.5859 L40,778.5859 " fill="none" filter="url(#f1blwi1hdashva)" style="stroke: #A80036; stroke-width: 2.0;"/><rect fill="#FEFECE" filter="url(#f1blwi1hdashva)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="150" x="174" y="51"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="136" x="181" y="70.9951">Application Settings</text><rect fill="#FEFECE" filter="url(#f1blwi1hdashva)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="150" x="174" y="702.2891"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="136" x="181" y="722.2842">Application Settings</text><rect fill="#FEFECE" filter="url(#f1blwi1hdashva)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="140" x="547" y="51"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="126" x="554" y="70.9951">Bluetooth Window</text><rect fill="#FEFECE" filter="url(#f1blwi1hdashva)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="140" x="547" y="702.2891"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="126" x="554" y="722.2842">Bluetooth Window</text><rect fill="#FEFECE" filter="url(#f1blwi1hdashva)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="136" x="861" y="51"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="122" x="868" y="70.9951">Service Bluetooth</text><rect fill="#FEFECE" filter="url(#f1blwi1hdashva)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="136" x="861" y="702.2891"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="122" x="868" y="722.2842">Service Bluetooth</text><rect fill="#FEFECE" filter="url(#f1blwi1hdashva)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="135" x="1173.5" y="51"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="121" x="1180.5" y="70.9951">Bluetooth Worker</text><rect fill="#FEFECE" filter="url(#f1blwi1hdashva)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="135" x="1173.5" y="702.2891"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="121" x="1180.5" y="722.2842">Bluetooth Worker</text><rect fill="#FEFECE" filter="url(#f1blwi1hdashva)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="89" x="1384.5" y="51"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="75" x="1391.5" y="70.9951">Service DB</text><rect fill="#FEFECE" filter="url(#f1blwi1hdashva)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="89" x="1384.5" y="702.2891"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="75" x="1391.5" y="722.2842">Service DB</text><rect fill="#FFFFFF" filter="url(#f1blwi1hdashva)" height="59.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="246" y="160.5625"/><rect fill="#FFFFFF" filter="url(#f1blwi1hdashva)" height="59.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="246" y="307.9609"/><rect fill="#FFFFFF" filter="url(#f1blwi1hdashva)" height="59.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="246" y="626.1563"/><rect fill="#FFFFFF" filter="url(#f1blwi1hdashva)" height="89.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="614" y="189.6953"/><rect fill="#FFFFFF" filter="url(#f1blwi1hdashva)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="614" y="396.2266"/><rect fill="#FFFFFF" filter="url(#f1blwi1hdashva)" height="89.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="926" y="248.8281"/><rect fill="#FFFFFF" filter="url(#f1blwi1hdashva)" height="230.7969" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="926" y="425.3594"/><rect fill="#FFFFFF" filter="url(#f1blwi1hdashva)" height="35.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="1238" y="554.8906"/><rect fill="#EEEEEE" filter="url(#f1blwi1hdashva)" height="3" style="stroke: #EEEEEE; stroke-width: 1.0;" width="1479.5" x="3" y="116.8633"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="1482.5" y1="116.8633" y2="116.8633"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="1482.5" y1="119.8633" y2="119.8633"/><rect fill="#EEEEEE" filter="url(#f1blwi1hdashva)" height="23.1328" style="stroke: #000000; stroke-width: 2.0;" width="238" x="623.75" y="106.2969"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="219" x="629.75" y="122.3638">Change Bluetooth status flow</text><polygon fill="#A80036" points="234,156.5625,244,160.5625,234,164.5625,238,160.5625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="27" x2="240" y1="160.5625" y2="160.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="200" x="34" y="155.4966">Tries to open Bluetooth Window</text><polygon fill="#A80036" points="602,185.6953,612,189.6953,602,193.6953,606,189.6953" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="256" x2="608" y1="189.6953" y2="189.6953"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="160" x="263" y="184.6294">Create Bluetooth Window</text><polygon fill="#A80036" points="914,244.8281,924,248.8281,914,252.8281,918,248.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="624" x2="920" y1="248.8281" y2="248.8281"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="283" x="631" y="243.7622">BluetoothMessage::RequestBluetoothStatus</text><polygon fill="#A80036" points="267,303.9609,257,307.9609,267,311.9609,263,307.9609" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="261" x2="925" y1="307.9609" y2="307.9609"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="293" x="273" y="302.895">BluetoothMessage::ResponseBluetoothStatus</text><ellipse cx="618.5" cy="366.3438" fill="none" rx="4" ry="4" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#A80036" points="601.5,363.0938,611.5,367.0938,601.5,371.0938,605.5,367.0938" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="251" x2="607.5" y1="367.0938" y2="367.0938"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="339" x="258" y="362.0278">Recreate Bluetooth Window with new bluetoothStatus</text><polygon fill="#A80036" points="602,392.2266,612,396.2266,602,400.2266,606,396.2266" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="27" x2="608" y1="396.2266" y2="396.2266"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="156" x="34" y="391.1606">Changes bluetoothState</text><polygon fill="#A80036" points="914,421.3594,924,425.3594,914,429.3594,918,425.3594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="619" x2="920" y1="425.3594" y2="425.3594"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="253" x="626" y="420.2935">BluetoothMessage::SetBluetoothStatus</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="936" x2="978" y1="454.4922" y2="454.4922"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="978" x2="978" y1="454.4922" y2="467.4922"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="937" x2="978" y1="467.4922" y2="467.4922"/><polygon fill="#A80036" points="947,463.4922,937,467.4922,947,471.4922,943,467.4922" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="288" x="943" y="449.4263">Cache received new value of bluetoothStatus</text><ellipse cx="1430.5" cy="495.875" fill="none" rx="4" ry="4" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#A80036" points="1413.5,492.625,1423.5,496.625,1413.5,500.625,1417.5,496.625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="936" x2="1419.5" y1="496.625" y2="496.625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="223" x="943" y="491.5591">Settings::setValue(bluetoothState)</text><ellipse cx="1430.5" cy="525.0078" fill="none" rx="4" ry="4" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#A80036" points="1413.5,521.7578,1423.5,525.7578,1413.5,529.7578,1417.5,525.7578" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="936" x2="1419.5" y1="525.7578" y2="525.7578"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="219" x="943" y="520.6919">Settings::setValue(deviceVisibility)</text><polygon fill="#A80036" points="1226,550.8906,1236,554.8906,1226,558.8906,1230,554.8906" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="936" x2="1232" y1="554.8906" y2="554.8906"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="201" x="943" y="549.8247">Pass cached Bluetooth settings</text><ellipse cx="1241.5" cy="601.2734" fill="none" rx="4" ry="4" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="1248" x2="1290" y1="589.0234" y2="589.0234"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="1290" x2="1290" y1="589.0234" y2="602.0234"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="1247" x2="1290" y1="602.0234" y2="602.0234"/><polygon fill="#A80036" points="1257,598.0234,1247,602.0234,1257,606.0234,1253,602.0234" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="164" x="1255" y="583.9575">Reload Bluetooth settings</text><polygon fill="#A80036" points="267,622.1563,257,626.1563,267,630.1563,263,626.1563" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="261" x2="925" y1="626.1563" y2="626.1563"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="293" x="273" y="621.0903">BluetoothMessage::ResponseBluetoothStatus</text><ellipse cx="618.5" cy="684.5391" fill="none" rx="4" ry="4" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#A80036" points="601.5,681.2891,611.5,685.2891,601.5,689.2891,605.5,685.2891" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="251" x2="607.5" y1="685.2891" y2="685.2891"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="339" x="258" y="680.2231">Recreate Bluetooth Window with new bluetoothStatus</text><!--MD5=[f655940fd29eb5eebed74115cd6164db]
@startuml
actor User
participant "Application Settings" as appstgs
participant "Bluetooth Window" as btwndw
participant "Service Bluetooth" as srvbt
participant "Bluetooth Worker" as btwrkr
participant "Service DB" as srvdb

    == Change Bluetooth status flow ==

User ->appstgs : Tries to open Bluetooth Window
activate appstgs
appstgs -> btwndw : Create Bluetooth Window
    activate btwndw
    deactivate appstgs
btwndw -> srvbt : BluetoothMessage::RequestBluetoothStatus
    activate srvbt
    deactivate btwndw
srvbt -> appstgs : BluetoothMessage::ResponseBluetoothStatus
activate appstgs
deactivate srvbt
appstgs ->o btwndw : Recreate Bluetooth Window with new bluetoothStatus
deactivate appstgs

User -> btwndw : Changes bluetoothState
activate btwndw
btwndw -> srvbt : BluetoothMessage::SetBluetoothStatus
deactivate btwndw
activate srvbt
srvbt -> srvbt : Cache received new value of bluetoothStatus
srvbt ->o srvdb : Settings::setValue(bluetoothState)
srvbt ->o srvdb : Settings::setValue(deviceVisibility)
srvbt -> btwrkr : Pass cached Bluetooth settings
activate btwrkr
btwrkr ->o btwrkr : Reload Bluetooth settings
deactivate btwrkr
srvbt -> appstgs : BluetoothMessage::ResponseBluetoothStatus
activate appstgs
deactivate srvbt
appstgs ->o btwndw : Recreate Bluetooth Window with new bluetoothStatus
deactivate appstgs
deactivate btwndw
@enduml

PlantUML version 1.2019.12(Sun Nov 03 10:24:54 UTC 2019)
(GPL source distribution)
Java Runtime: OpenJDK Runtime Environment
JVM: OpenJDK 64-Bit Server VM
Java Version: 1.8.0_232-heroku-b09
Operating System: Linux
Default Encoding: UTF-8
Language: en
Country: US
--></g></svg>