~aleteoryx/muditaos

muditaos/module-bluetooth/change_bt_status_flowchart.svg -rw-r--r-- 16.3 KiB
a405cad6Aleteoryx trim readme 5 days 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
<?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;background:#F0F0F0;" version="1.1" viewBox="0 0 1494 790" width="1494px" zoomAndPan="magnify"><defs><filter height="300%" id="f1464ihvsv8aio" 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(#f1464ihvsv8aio)" height="59.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="246" y="160.5625"/><rect fill="#FFFFFF" filter="url(#f1464ihvsv8aio)" height="59.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="246" y="307.9609"/><rect fill="#FFFFFF" filter="url(#f1464ihvsv8aio)" height="59.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="246" y="626.1563"/><rect fill="#FFFFFF" filter="url(#f1464ihvsv8aio)" height="89.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="614" y="189.6953"/><rect fill="#FFFFFF" filter="url(#f1464ihvsv8aio)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="614" y="396.2266"/><rect fill="#FFFFFF" filter="url(#f1464ihvsv8aio)" height="89.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="926" y="248.8281"/><rect fill="#FFFFFF" filter="url(#f1464ihvsv8aio)" height="230.7969" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="926" y="425.3594"/><rect fill="#FFFFFF" filter="url(#f1464ihvsv8aio)" 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(#f1464ihvsv8aio)" 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(#f1464ihvsv8aio)" 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(#f1464ihvsv8aio)" 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(#f1464ihvsv8aio)" style="stroke: #A80036; stroke-width: 2.0;"/><rect fill="#FEFECE" filter="url(#f1464ihvsv8aio)" 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(#f1464ihvsv8aio)" 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(#f1464ihvsv8aio)" 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(#f1464ihvsv8aio)" 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(#f1464ihvsv8aio)" 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(#f1464ihvsv8aio)" 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(#f1464ihvsv8aio)" 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(#f1464ihvsv8aio)" 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(#f1464ihvsv8aio)" 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(#f1464ihvsv8aio)" 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(#f1464ihvsv8aio)" height="59.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="246" y="160.5625"/><rect fill="#FFFFFF" filter="url(#f1464ihvsv8aio)" height="59.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="246" y="307.9609"/><rect fill="#FFFFFF" filter="url(#f1464ihvsv8aio)" height="59.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="246" y="626.1563"/><rect fill="#FFFFFF" filter="url(#f1464ihvsv8aio)" height="89.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="614" y="189.6953"/><rect fill="#FFFFFF" filter="url(#f1464ihvsv8aio)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="614" y="396.2266"/><rect fill="#FFFFFF" filter="url(#f1464ihvsv8aio)" height="89.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="926" y="248.8281"/><rect fill="#FFFFFF" filter="url(#f1464ihvsv8aio)" height="230.7969" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="926" y="425.3594"/><rect fill="#FFFFFF" filter="url(#f1464ihvsv8aio)" height="35.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="1238" y="554.8906"/><rect fill="#EEEEEE" filter="url(#f1464ihvsv8aio)" 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(#f1464ihvsv8aio)" 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=[e8391a8c1684e9bf709492d16f2daead]
@startuml
skinparam BackgroundColor F0F0F0

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.2020.02(Sun Mar 01 05:22:07 EST 2020)
(GPL source distribution)
Java Runtime: OpenJDK Runtime Environment
JVM: OpenJDK 64-Bit Server VM
Java Version: 11.0.12+7-post-Debian-2
Operating System: Linux
Default Encoding: UTF-8
Language: en
Country: US
--></g></svg>