~aleteoryx/muditaos

e433e8dd033c0212b6b906ee6ff5743f4994135e — GravisZro 4 years ago 71fa4c5
Fix transparent backgrounds in PlantUML

Images generated using PlantUML had transparent backgrounds which made
their text difficult to read on GitHub when using "Dark Mode". Forcing
a background color of #F0F0F0 ensures they are all readable.
181 files changed, 742 insertions(+), 467 deletions(-)

M doc/Images/fota/dfota_architecture.png
M doc/Images/fota/dfota_architecture.puml
M doc/Images/fota/dfota_test_setup.png
M doc/Images/fota/dfota_test_setup.puml
M doc/Images/fota/dfota_workflow.png
M doc/Images/fota/dfota_workflow.puml
M module-apps/application-desktop/doc/appdesktop_functionalDecomposition.png
M module-apps/application-desktop/doc/appdesktop_functionalDecomposition.pu
M module-apps/application-desktop/doc/appdesktop_interfaces.png
M module-apps/application-desktop/doc/appdesktop_interfaces.pu
M module-apps/application-desktop/doc/appdesktop_interfaces2.png
M module-apps/application-desktop/doc/appdesktop_interfaces2.pu
M module-apps/application-desktop/doc/appdesktop_pinflow.png
M module-apps/application-desktop/doc/appdesktop_pinflow.pu
M module-apps/application-desktop/doc/appdesktop_pinflow_hotswap.png
M module-apps/application-desktop/doc/appdesktop_pinflow_hotswap.pu
M module-apps/application-desktop/doc/appdesktop_pinflow_overview.png
M module-apps/application-desktop/doc/appdesktop_pinflow_overview.pu
M module-apps/application-desktop/doc/appdesktop_pinflow_simrace.png
M module-apps/application-desktop/doc/appdesktop_pinflow_simrace.pu
M module-apps/application-desktop/doc/appdesktop_pinflow_userabort.png
M module-apps/application-desktop/doc/appdesktop_pinflow_userabort.pu
M module-apps/application-desktop/doc/appdesktop_pinflow_withFailure.png
M module-apps/application-desktop/doc/appdesktop_pinflow_withFailure.pu
M module-apps/application-desktop/doc/appdesktop_pukflow.png
M module-apps/application-desktop/doc/appdesktop_pukflow.pu
M module-apps/application-desktop/doc/appdesktop_pukflow_withFailure.png
M module-apps/application-desktop/doc/appdesktop_pukflow_withFailure.pu
M module-apps/application-desktop/doc/appdesktop_unhandledcmeflow.png
M module-apps/application-desktop/doc/appdesktop_unhandledcmeflow.pu
M module-apps/apps-common/notifications/doc/notifications_model_owner_structure.puml
M module-apps/apps-common/notifications/doc/notifications_model_owner_structure.svg
M module-apps/apps-common/notifications/doc/notifications_model_structure.puml
M module-apps/apps-common/notifications/doc/notifications_model_structure.svg
M module-apps/apps-common/notifications/doc/notifications_mvp_general_overview.puml
M module-apps/apps-common/notifications/doc/notifications_mvp_general_overview.svg
M module-apps/apps-common/notifications/doc/notifications_provider_owner_structure.puml
M module-apps/apps-common/notifications/doc/notifications_provider_owner_structure.svg
M module-apps/apps-common/notifications/doc/notifications_provider_structure.puml
M module-apps/apps-common/notifications/doc/notifications_provider_structure.svg
M module-bluetooth/bt_hsp_incoming_connection_establishment.puml
M module-bluetooth/bt_hsp_incoming_connection_establishment.svg
M module-bluetooth/bt_hsp_ring_handler.puml
M module-bluetooth/bt_hsp_ring_handler.svg
M module-bluetooth/bt_hsp_ring_trigger.puml
M module-bluetooth/bt_hsp_ring_trigger.svg
M module-bluetooth/bt_messages_class_diagram.puml
M module-bluetooth/bt_messages_class_diagram.svg
M module-bluetooth/bt_settings_basic_flowchart.puml
M module-bluetooth/bt_settings_basic_flowchart.svg
M module-bluetooth/change_bt_status_flowchart.puml
M module-bluetooth/change_bt_status_flowchart.svg
M module-bluetooth/doc/bt_on_off_state_diagram.puml
M module-bluetooth/doc/bt_on_off_state_diagram.svg
M module-bluetooth/doc/bt_scan.puml
M module-bluetooth/doc/bt_scan.svg
M module-bluetooth/doc/bt_volume_buttons_handling.puml
M module-bluetooth/doc/bt_volume_buttons_handling.svg
M module-bluetooth/flowchart.puml
M module-bluetooth/flowchart.svg
M module-bluetooth/load_bt_settings_from_db_on_service_start_flowchart.puml
M module-bluetooth/load_bt_settings_from_db_on_service_start_flowchart.svg
M module-bluetooth/service_bt_internals.puml
M module-bluetooth/service_bt_internals.svg
M module-cellular/modem/doc/Images/at_mode.svg
M module-cellular/modem/doc/Images/at_mode.uml
M module-cellular/modem/doc/Images/cellular_result_struct.png
M module-cellular/modem/doc/Images/cellular_result_struct.uml
M module-cellular/modem/doc/Images/cmx_mode.uml
M module-cellular/modem/doc/Images/dma_result_struct.png
M module-cellular/modem/doc/Images/dma_result_struct.uml
M module-cellular/modem/doc/Images/single_cmd.uml
M module-cellular/modem/doc/scripts/atstream.pu
M module-cellular/modem/doc/scripts/class_channel.pu
M module-db/doc/contacts_import.puml
M module-db/doc/contacts_import.svg
M module-gui/doc/how_app_start_work.puml
M module-gui/doc/how_app_start_work.svg
M module-gui/doc/how_keypress_work.puml
M module-gui/doc/how_keypress_work.svg
M module-gui/doc/how_ui_work.puml
M module-gui/doc/how_ui_work.svg
M module-gui/doc/item_tree.puml
M module-gui/doc/item_tree.svg
M module-gui/doc/visitor_item_example.puml
M module-gui/doc/visitor_item_example.svg
M module-gui/doc/visitor_item_structure.puml
M module-gui/doc/visitor_item_structure.svg
M module-services/service-appmgr/doc/appmgr_init.png
M module-services/service-appmgr/doc/appmgr_init.pu
M module-services/service-appmgr/doc/appmgr_start_app.png
M module-services/service-appmgr/doc/appmgr_start_app.pu
M module-services/service-appmgr/doc/appmgr_switch_app.png
M module-services/service-appmgr/doc/appmgr_switch_app.pu
M module-services/service-appmgr/doc/appmgr_switch_back.png
M module-services/service-appmgr/doc/appmgr_switch_back.pu
M module-services/service-appmgr/doc/appmgr_switch_sms_app_proposal.png
M module-services/service-appmgr/doc/appmgr_switch_sms_app_proposal.pu
M module-services/service-appmgr/doc/auto-lock/auto_lock_activity_detection.puml
M module-services/service-appmgr/doc/auto-lock/auto_lock_activity_detection.svg
M module-services/service-appmgr/doc/auto-lock/auto_lock_policy_handler_interface.puml
M module-services/service-appmgr/doc/auto-lock/auto_lock_policy_handler_interface.svg
M module-services/service-appmgr/doc/auto-lock/auto_lock_sequence.puml
M module-services/service-appmgr/doc/auto-lock/auto_lock_sequence.svg
M module-services/service-bluetooth/doc/bluetooth-pairing-general-view.puml
M module-services/service-bluetooth/doc/bluetooth-pairing-general-view.svg
M module-services/service-bluetooth/doc/bluetooth-scanning-general-view.puml
M module-services/service-bluetooth/doc/bluetooth-scanning-general-view.svg
M module-services/service-bluetooth/doc/bluetooth-unpairing-general-view.puml
M module-services/service-bluetooth/doc/bluetooth-unpairing-general-view.svg
M module-services/service-cellular/doc/Scripts/current_volte_on.pu
M module-services/service-cellular/doc/Scripts/volte_on.pu
M module-services/service-cellular/doc/call_request_handling.puml
M module-services/service-cellular/doc/call_request_handling.svg
M module-services/service-cellular/doc/cellular_gsm_onoff_flow.puml
M module-services/service-cellular/doc/cellular_gsm_onoff_flow.svg
M module-services/service-cellular/doc/cellular_state_machine.puml
M module-services/service-cellular/doc/cellular_state_machine.svg
M module-services/service-cellular/doc/connection_manager.puml
M module-services/service-cellular/doc/connection_manager.svg
M module-services/service-cellular/doc/phone_modes.puml
M module-services/service-cellular/doc/phone_modes.svg
M module-services/service-cellular/doc/urc_handling.puml
M module-services/service-cellular/doc/urc_handling.svg
M module-services/service-desktop/doc/how_machine_works.puml
M module-services/service-desktop/doc/how_machine_works.svg
M module-services/service-desktop/endpoints/bluetooth/doc/bt-endpoints-general-structure.puml
M module-services/service-desktop/endpoints/bluetooth/doc/bt-endpoints-general-structure.svg
M module-services/service-evtmgr/doc/USB_current_selection.puml
M module-services/service-evtmgr/doc/USB_current_selection.svg
M module-services/service-evtmgr/doc/battery_level_check_state_machine.puml
M module-services/service-evtmgr/doc/battery_level_check_state_machine.svg
M module-services/service-evtmgr/doc/battery_status_notification.puml
M module-services/service-evtmgr/doc/battery_status_notification.svg
M module-services/service-evtmgr/doc/charger_temperature_algorithm.puml
M module-services/service-evtmgr/doc/charger_temperature_algorithm.svg
M module-services/service-evtmgr/doc/light_control_algorithm.puml
M module-services/service-evtmgr/doc/light_control_algorithm.svg
M module-services/service-evtmgr/doc/light_control_hysteresis.puml
M module-services/service-evtmgr/doc/light_control_hysteresis.svg
M module-services/service-evtmgr/doc/light_control_message_flow.puml
M module-services/service-evtmgr/doc/light_control_message_flow.svg
M module-services/service-gui/doc/display_environment_init.png
M module-services/service-gui/doc/display_environment_init.pu
M module-services/service-gui/doc/handle_draw_request.png
M module-services/service-gui/doc/handle_draw_request.pu
M module-services/service-gui/doc/update_eink_if_busy.png
M module-services/service-gui/doc/update_eink_if_busy.pu
M module-services/service-gui/doc/update_eink_if_idle.png
M module-services/service-gui/doc/update_eink_if_idle.pu
M module-services/service-time/doc/time_date_flow.puml
M module-services/service-time/doc/time_date_flow.svg
M module-sys/SystemManager/doc/data/CpuFreqChangeAlgorithm.puml
M module-sys/SystemManager/doc/data/CpuFreqChangeAlgorithm.svg
M module-sys/SystemManager/doc/data/CpuFrequencyUpdate.puml
M module-sys/SystemManager/doc/data/CpuFrequencyUpdate.svg
M module-sys/SystemManager/doc/data/ResourceRequest.puml
M module-sys/SystemManager/doc/services_synchronization.png
M module-sys/SystemManager/doc/services_synchronization.puml
M module-sys/SystemManager/doc/system_close_procedure_brownout.puml
M module-sys/SystemManager/doc/system_close_procedure_brownout.svg
M module-sys/SystemManager/doc/system_close_procedure_user.puml
M module-sys/SystemManager/doc/system_close_procedure_user.svg
M test/pytest/service-bluetooth/doc/bluetooth-dev-test-connectivity.puml
M test/pytest/service-bluetooth/doc/bluetooth-dev-test-connectivity.svg
M test/pytest/service-bluetooth/doc/bluetooth-dev-test-on-off.puml
M test/pytest/service-bluetooth/doc/bluetooth-dev-test-on-off.svg
M test/pytest/service-bluetooth/doc/bluetooth-dev-test-pairing.puml
M test/pytest/service-bluetooth/doc/bluetooth-dev-test-pairing.svg
M test/pytest/service-bluetooth/doc/bluetooth-dev-test-visibility-on-off.puml
M test/pytest/service-bluetooth/doc/bluetooth-dev-test-visibility-on-off.svg
M test/pytest/service-bluetooth/doc/bluetooth-main-window-navigation.puml
M test/pytest/service-bluetooth/doc/bluetooth-main-window-navigation.svg
M test/pytest/service-bluetooth/doc/bluetooth-pretest-condition.puml
M test/pytest/service-bluetooth/doc/bluetooth-pretest-condition.svg
M test/pytest/service-bluetooth/doc/bluetooth-test-pairing-forget-pair.puml
M test/pytest/service-bluetooth/doc/bluetooth-test-pairing-forget-pair.svg
M test/pytest/service-bluetooth/doc/bluetooth-test-pairing-happy-path.puml
M test/pytest/service-bluetooth/doc/bluetooth-test-pairing-happy-path.svg
M test/pytest/service-bluetooth/doc/bluetooth-test-pairing-no-device.puml
M test/pytest/service-bluetooth/doc/bluetooth-test-pairing-no-device.svg
M doc/Images/fota/dfota_architecture.png => doc/Images/fota/dfota_architecture.png +0 -0
M doc/Images/fota/dfota_architecture.puml => doc/Images/fota/dfota_architecture.puml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0
skinparam rectangle{
    roundCorner 25
}

M doc/Images/fota/dfota_test_setup.png => doc/Images/fota/dfota_test_setup.png +0 -0
M doc/Images/fota/dfota_test_setup.puml => doc/Images/fota/dfota_test_setup.puml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0
node PurePhone
node "Development board" as Db
node JLink

M doc/Images/fota/dfota_workflow.png => doc/Images/fota/dfota_workflow.png +0 -0
M doc/Images/fota/dfota_workflow.puml => doc/Images/fota/dfota_workflow.puml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0
start
:User checks firmware version;
:Read current version;

M module-apps/application-desktop/doc/appdesktop_functionalDecomposition.png => module-apps/application-desktop/doc/appdesktop_functionalDecomposition.png +0 -0
M module-apps/application-desktop/doc/appdesktop_functionalDecomposition.pu => module-apps/application-desktop/doc/appdesktop_functionalDecomposition.pu +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0

[Service Cellular] as srvclr
[Application Manager] as apmmgr

M module-apps/application-desktop/doc/appdesktop_interfaces.png => module-apps/application-desktop/doc/appdesktop_interfaces.png +0 -0
M module-apps/application-desktop/doc/appdesktop_interfaces.pu => module-apps/application-desktop/doc/appdesktop_interfaces.pu +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0

enum GSM::SIM
{

M module-apps/application-desktop/doc/appdesktop_interfaces2.png => module-apps/application-desktop/doc/appdesktop_interfaces2.png +0 -0
M module-apps/application-desktop/doc/appdesktop_interfaces2.pu => module-apps/application-desktop/doc/appdesktop_interfaces2.pu +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0

interface AppDesktopActionHandler
{

M module-apps/application-desktop/doc/appdesktop_pinflow.png => module-apps/application-desktop/doc/appdesktop_pinflow.png +0 -0
M module-apps/application-desktop/doc/appdesktop_pinflow.pu => module-apps/application-desktop/doc/appdesktop_pinflow.pu +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0

participant "Service Cellular" as srvclr
participant "Application Manager" as appmgr

M module-apps/application-desktop/doc/appdesktop_pinflow_hotswap.png => module-apps/application-desktop/doc/appdesktop_pinflow_hotswap.png +0 -0
M module-apps/application-desktop/doc/appdesktop_pinflow_hotswap.pu => module-apps/application-desktop/doc/appdesktop_pinflow_hotswap.pu +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0

participant "Service Cellular" as srvclr
participant "Application Manager" as appmgr

M module-apps/application-desktop/doc/appdesktop_pinflow_overview.png => module-apps/application-desktop/doc/appdesktop_pinflow_overview.png +0 -0
M module-apps/application-desktop/doc/appdesktop_pinflow_overview.pu => module-apps/application-desktop/doc/appdesktop_pinflow_overview.pu +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0

participant "Service Cellular" as srvclr
participant "Application Manager" as appmgr

M module-apps/application-desktop/doc/appdesktop_pinflow_simrace.png => module-apps/application-desktop/doc/appdesktop_pinflow_simrace.png +0 -0
M module-apps/application-desktop/doc/appdesktop_pinflow_simrace.pu => module-apps/application-desktop/doc/appdesktop_pinflow_simrace.pu +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0

participant "Service Cellular" as srvclr
participant "Application Manager" as appmgr

M module-apps/application-desktop/doc/appdesktop_pinflow_userabort.png => module-apps/application-desktop/doc/appdesktop_pinflow_userabort.png +0 -0
M module-apps/application-desktop/doc/appdesktop_pinflow_userabort.pu => module-apps/application-desktop/doc/appdesktop_pinflow_userabort.pu +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0

participant "Service Cellular" as srvclr
participant "Application Manager" as appmgr

M module-apps/application-desktop/doc/appdesktop_pinflow_withFailure.png => module-apps/application-desktop/doc/appdesktop_pinflow_withFailure.png +0 -0
M module-apps/application-desktop/doc/appdesktop_pinflow_withFailure.pu => module-apps/application-desktop/doc/appdesktop_pinflow_withFailure.pu +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0

participant "Service Cellular" as srvclr
participant "Application Manager" as appmgr

M module-apps/application-desktop/doc/appdesktop_pukflow.png => module-apps/application-desktop/doc/appdesktop_pukflow.png +0 -0
M module-apps/application-desktop/doc/appdesktop_pukflow.pu => module-apps/application-desktop/doc/appdesktop_pukflow.pu +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0

participant "Service Cellular" as srvclr
participant "Application Manager" as appmgr

M module-apps/application-desktop/doc/appdesktop_pukflow_withFailure.png => module-apps/application-desktop/doc/appdesktop_pukflow_withFailure.png +0 -0
M module-apps/application-desktop/doc/appdesktop_pukflow_withFailure.pu => module-apps/application-desktop/doc/appdesktop_pukflow_withFailure.pu +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0

participant "Service Cellular" as srvclr
participant "Application Manager" as appmgr

M module-apps/application-desktop/doc/appdesktop_unhandledcmeflow.png => module-apps/application-desktop/doc/appdesktop_unhandledcmeflow.png +0 -0
M module-apps/application-desktop/doc/appdesktop_unhandledcmeflow.pu => module-apps/application-desktop/doc/appdesktop_unhandledcmeflow.pu +1 -2
@@ 1,6 1,5 @@
@startuml

@startuml
skinparam BackgroundColor F0F0F0

participant "Service Cellular" as srvclr
participant "Application Manager" as appmgr

M module-apps/apps-common/notifications/doc/notifications_model_owner_structure.puml => module-apps/apps-common/notifications/doc/notifications_model_owner_structure.puml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0

skinparam linetype ortho
skinparam nodesep 100

M module-apps/apps-common/notifications/doc/notifications_model_owner_structure.svg => module-apps/apps-common/notifications/doc/notifications_model_owner_structure.svg +16 -4
@@ 1,5 1,18 @@
<?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="355px" preserveAspectRatio="none" style="width:486px;height:355px;" version="1.1" viewBox="0 0 486 355" width="486px" zoomAndPan="magnify"><defs><filter height="300%" id="fm8vkt4h2pcdx" 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><!--cluster owner--><polygon fill="#FFFFFF" filter="url(#fm8vkt4h2pcdx)" points="224.5,42,234.5,32,464.5,32,464.5,250,454.5,260,224.5,260,224.5,42" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="454.5" x2="463.5" y1="42" y2="33"/><line style="stroke: #000000; stroke-width: 1.5;" x1="224.5" x2="454.5" y1="42" y2="42"/><line style="stroke: #000000; stroke-width: 1.5;" x1="454.5" x2="454.5" y1="42" y2="260"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="121" x="280" y="57.9951">Owner Window</text><!--class AppWindow--><rect fill="#FEFECE" filter="url(#fm8vkt4h2pcdx)" height="48" id="AppWindow" style="stroke: #A80036; stroke-width: 1.5;" width="103" x="253" y="80"/><ellipse cx="268" cy="96" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M270.9688,101.6406 Q270.3906,101.9375 269.75,102.0781 Q269.1094,102.2344 268.4063,102.2344 Q265.9063,102.2344 264.5781,100.5938 Q263.2656,98.9375 263.2656,95.8125 Q263.2656,92.6875 264.5781,91.0313 Q265.9063,89.375 268.4063,89.375 Q269.1094,89.375 269.75,89.5313 Q270.4063,89.6875 270.9688,89.9844 L270.9688,92.7031 Q270.3438,92.125 269.75,91.8594 Q269.1563,91.5781 268.5313,91.5781 Q267.1875,91.5781 266.5,92.6563 Q265.8125,93.7188 265.8125,95.8125 Q265.8125,97.9063 266.5,98.9844 Q267.1875,100.0469 268.5313,100.0469 Q269.1563,100.0469 269.75,99.7813 Q270.3438,99.5 270.9688,98.9219 L270.9688,101.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="71" x="282" y="100.1543">AppWindow</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="254" x2="355" y1="112" y2="112"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="254" x2="355" y1="120" y2="120"/><!--class notifWindow--><rect fill="#FEFECE" filter="url(#fm8vkt4h2pcdx)" height="48" id="notifWindow" style="stroke: #A80036; stroke-width: 1.5;" width="184" x="248.5" y="188"/><ellipse cx="263.5" cy="204" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M266.4688,209.6406 Q265.8906,209.9375 265.25,210.0781 Q264.6094,210.2344 263.9063,210.2344 Q261.4063,210.2344 260.0781,208.5938 Q258.7656,206.9375 258.7656,203.8125 Q258.7656,200.6875 260.0781,199.0313 Q261.4063,197.375 263.9063,197.375 Q264.6094,197.375 265.25,197.5313 Q265.9063,197.6875 266.4688,197.9844 L266.4688,200.7031 Q265.8438,200.125 265.25,199.8594 Q264.6563,199.5781 264.0313,199.5781 Q262.6875,199.5781 262,200.6563 Q261.3125,201.7188 261.3125,203.8125 Q261.3125,205.9063 262,206.9844 Q262.6875,208.0469 264.0313,208.0469 Q264.6563,208.0469 265.25,207.7813 Q265.8438,207.5 266.4688,206.9219 L266.4688,209.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="152" x="277.5" y="208.1543">WindowWithNotifications</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="249.5" x2="431.5" y1="220" y2="220"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="249.5" x2="431.5" y1="228" y2="228"/><!--class model--><rect fill="#FEFECE" filter="url(#fm8vkt4h2pcdx)" height="48" id="model" style="stroke: #A80036; stroke-width: 1.5;" width="147" x="6" y="80"/><ellipse cx="21" cy="96" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M23.9688,101.6406 Q23.3906,101.9375 22.75,102.0781 Q22.1094,102.2344 21.4063,102.2344 Q18.9063,102.2344 17.5781,100.5938 Q16.2656,98.9375 16.2656,95.8125 Q16.2656,92.6875 17.5781,91.0313 Q18.9063,89.375 21.4063,89.375 Q22.1094,89.375 22.75,89.5313 Q23.4063,89.6875 23.9688,89.9844 L23.9688,92.7031 Q23.3438,92.125 22.75,91.8594 Q22.1563,91.5781 21.5313,91.5781 Q20.1875,91.5781 19.5,92.6563 Q18.8125,93.7188 18.8125,95.8125 Q18.8125,97.9063 19.5,98.9844 Q20.1875,100.0469 21.5313,100.0469 Q22.1563,100.0469 22.75,99.7813 Q23.3438,99.5 23.9688,98.9219 L23.9688,101.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="115" x="35" y="100.1543">NotificationsModel</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="152" y1="112" y2="112"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="152" y1="120" y2="120"/><!--class ListView--><rect fill="#FEFECE" filter="url(#fm8vkt4h2pcdx)" height="48" id="ListView" style="stroke: #A80036; stroke-width: 1.5;" width="81" x="300" y="296"/><ellipse cx="315" cy="312" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M317.9688,317.6406 Q317.3906,317.9375 316.75,318.0781 Q316.1094,318.2344 315.4063,318.2344 Q312.9063,318.2344 311.5781,316.5938 Q310.2656,314.9375 310.2656,311.8125 Q310.2656,308.6875 311.5781,307.0313 Q312.9063,305.375 315.4063,305.375 Q316.1094,305.375 316.75,305.5313 Q317.4063,305.6875 317.9688,305.9844 L317.9688,308.7031 Q317.3438,308.125 316.75,307.8594 Q316.1563,307.5781 315.5313,307.5781 Q314.1875,307.5781 313.5,308.6563 Q312.8125,309.7188 312.8125,311.8125 Q312.8125,313.9063 313.5,314.9844 Q314.1875,316.0469 315.5313,316.0469 Q316.1563,316.0469 316.75,315.7813 Q317.3438,315.5 317.9688,314.9219 L317.9688,317.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="49" x="329" y="316.1543">ListView</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="301" x2="380" y1="328" y2="328"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="301" x2="380" y1="336" y2="336"/><!--link AppWindow to notifWindow--><path d="M304.5,148.24 C304.5,148.24 304.5,187.84 304.5,187.84 " fill="none" id="AppWindow-notifWindow" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="297.5,148.24,304.5,128.24,311.5,148.24,297.5,148.24" style="stroke: #A80036; stroke-width: 1.0;"/><!--link ListView to owner--><!--link model to owner--><!--link notifWindow to ListView--><path d="M340.5,249.24 C340.5,249.24 340.5,282.84 340.5,282.84 " fill="none" id="notifWindow-ListView" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="340.5,295.84,344.5,286.84,340.5,290.84,336.5,286.84,340.5,295.84" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="340.5" x2="340.5" y1="290.84" y2="282.84"/><polygon fill="#A80036" points="340.5,236.24,336.5,242.24,340.5,248.24,344.5,242.24,340.5,236.24" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="41" x="294.2469" y="284.811">create</text><!--link model to ListView--><path d="M55,133.36 C55,133.36 55,320 55,320 C55,320 221.08,320 299.9,320 " fill="none" id="model-ListView" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="55,128.36,51,137.36,55,133.36,59,137.36,55,128.36" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="268.9222" y="315.9286">use</text><!--link notifWindow to model--><path d="M235.39,212 C235.39,212 104,212 104,212 C104,212 104,141.24 104,141.24 " fill="none" id="notifWindow-model" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="104,128.24,100,137.24,104,133.24,108,137.24,104,128.24" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="104" x2="104" y1="133.24" y2="141.24"/><polygon fill="#A80036" points="248.39,212,242.39,208,236.39,212,242.39,216,248.39,212" style="stroke: #A80036; stroke-width: 1.0;"/><!--link model to AppWindow--><path d="M153.17,104 C153.17,104 247.75,104 247.75,104 " fill="none" id="model-AppWindow" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="252.75,104,243.75,100,247.75,104,243.75,108,252.75,104" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="161.0216" y="100.3816">use</text><!--
<?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="355px" preserveAspectRatio="none" style="width:486px;height:355px;background:#F0F0F0;" version="1.1" viewBox="0 0 486 355" width="486px" zoomAndPan="magnify"><defs><filter height="300%" id="f14s4o9w3lgo4h" 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><!--MD5=[3ca9e735c0b7f202d6f5b2c01a367c29]
cluster owner--><polygon fill="#F0F0F0" filter="url(#f14s4o9w3lgo4h)" points="224.5,42,234.5,32,464.5,32,464.5,250,454.5,260,224.5,260,224.5,42" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="454.5" x2="463.5" y1="42" y2="33"/><line style="stroke: #000000; stroke-width: 1.5;" x1="224.5" x2="454.5" y1="42" y2="42"/><line style="stroke: #000000; stroke-width: 1.5;" x1="454.5" x2="454.5" y1="42" y2="260"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="121" x="280" y="57.9951">Owner Window</text><!--MD5=[e118600b95a503869b202f0316652035]
class AppWindow--><rect fill="#FEFECE" filter="url(#f14s4o9w3lgo4h)" height="48" id="AppWindow" style="stroke: #A80036; stroke-width: 1.5;" width="103" x="253" y="80"/><ellipse cx="268" cy="96" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M270.9688,101.6406 Q270.3906,101.9375 269.75,102.0781 Q269.1094,102.2344 268.4063,102.2344 Q265.9063,102.2344 264.5781,100.5938 Q263.2656,98.9375 263.2656,95.8125 Q263.2656,92.6875 264.5781,91.0313 Q265.9063,89.375 268.4063,89.375 Q269.1094,89.375 269.75,89.5313 Q270.4063,89.6875 270.9688,89.9844 L270.9688,92.7031 Q270.3438,92.125 269.75,91.8594 Q269.1563,91.5781 268.5313,91.5781 Q267.1875,91.5781 266.5,92.6563 Q265.8125,93.7188 265.8125,95.8125 Q265.8125,97.9063 266.5,98.9844 Q267.1875,100.0469 268.5313,100.0469 Q269.1563,100.0469 269.75,99.7813 Q270.3438,99.5 270.9688,98.9219 L270.9688,101.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="71" x="282" y="100.1543">AppWindow</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="254" x2="355" y1="112" y2="112"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="254" x2="355" y1="120" y2="120"/><!--MD5=[8b93d8d7ddbc93341a08601ecae410ec]
class notifWindow--><rect fill="#FEFECE" filter="url(#f14s4o9w3lgo4h)" height="48" id="notifWindow" style="stroke: #A80036; stroke-width: 1.5;" width="184" x="248.5" y="188"/><ellipse cx="263.5" cy="204" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M266.4688,209.6406 Q265.8906,209.9375 265.25,210.0781 Q264.6094,210.2344 263.9063,210.2344 Q261.4063,210.2344 260.0781,208.5938 Q258.7656,206.9375 258.7656,203.8125 Q258.7656,200.6875 260.0781,199.0313 Q261.4063,197.375 263.9063,197.375 Q264.6094,197.375 265.25,197.5313 Q265.9063,197.6875 266.4688,197.9844 L266.4688,200.7031 Q265.8438,200.125 265.25,199.8594 Q264.6563,199.5781 264.0313,199.5781 Q262.6875,199.5781 262,200.6563 Q261.3125,201.7188 261.3125,203.8125 Q261.3125,205.9063 262,206.9844 Q262.6875,208.0469 264.0313,208.0469 Q264.6563,208.0469 265.25,207.7813 Q265.8438,207.5 266.4688,206.9219 L266.4688,209.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="152" x="277.5" y="208.1543">WindowWithNotifications</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="249.5" x2="431.5" y1="220" y2="220"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="249.5" x2="431.5" y1="228" y2="228"/><!--MD5=[fe6c9d02a96023c72576ec13ad8882e8]
class model--><rect fill="#FEFECE" filter="url(#f14s4o9w3lgo4h)" height="48" id="model" style="stroke: #A80036; stroke-width: 1.5;" width="147" x="6" y="80"/><ellipse cx="21" cy="96" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M23.9688,101.6406 Q23.3906,101.9375 22.75,102.0781 Q22.1094,102.2344 21.4063,102.2344 Q18.9063,102.2344 17.5781,100.5938 Q16.2656,98.9375 16.2656,95.8125 Q16.2656,92.6875 17.5781,91.0313 Q18.9063,89.375 21.4063,89.375 Q22.1094,89.375 22.75,89.5313 Q23.4063,89.6875 23.9688,89.9844 L23.9688,92.7031 Q23.3438,92.125 22.75,91.8594 Q22.1563,91.5781 21.5313,91.5781 Q20.1875,91.5781 19.5,92.6563 Q18.8125,93.7188 18.8125,95.8125 Q18.8125,97.9063 19.5,98.9844 Q20.1875,100.0469 21.5313,100.0469 Q22.1563,100.0469 22.75,99.7813 Q23.3438,99.5 23.9688,98.9219 L23.9688,101.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="115" x="35" y="100.1543">NotificationsModel</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="152" y1="112" y2="112"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="152" y1="120" y2="120"/><!--MD5=[bab795b3e255e4ea4a2af0f54c137233]
class ListView--><rect fill="#FEFECE" filter="url(#f14s4o9w3lgo4h)" height="48" id="ListView" style="stroke: #A80036; stroke-width: 1.5;" width="81" x="300" y="296"/><ellipse cx="315" cy="312" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M317.9688,317.6406 Q317.3906,317.9375 316.75,318.0781 Q316.1094,318.2344 315.4063,318.2344 Q312.9063,318.2344 311.5781,316.5938 Q310.2656,314.9375 310.2656,311.8125 Q310.2656,308.6875 311.5781,307.0313 Q312.9063,305.375 315.4063,305.375 Q316.1094,305.375 316.75,305.5313 Q317.4063,305.6875 317.9688,305.9844 L317.9688,308.7031 Q317.3438,308.125 316.75,307.8594 Q316.1563,307.5781 315.5313,307.5781 Q314.1875,307.5781 313.5,308.6563 Q312.8125,309.7188 312.8125,311.8125 Q312.8125,313.9063 313.5,314.9844 Q314.1875,316.0469 315.5313,316.0469 Q316.1563,316.0469 316.75,315.7813 Q317.3438,315.5 317.9688,314.9219 L317.9688,317.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="49" x="329" y="316.1543">ListView</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="301" x2="380" y1="328" y2="328"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="301" x2="380" y1="336" y2="336"/><!--MD5=[fcafaac8fae46b258d2b04c97a886e87]
reverse link AppWindow to notifWindow--><path d="M304.5,148.24 C304.5,148.24 304.5,187.84 304.5,187.84 " fill="none" id="AppWindow&lt;-notifWindow" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="297.5,148.24,304.5,128.24,311.5,148.24,297.5,148.24" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[98ceb399decb08f1ac58d4207201bed8]
link ListView to owner--><!--MD5=[2b0940797c26dd600f44167c7fba0e5e]
link model to owner--><!--MD5=[0816630f7573f824353e1deae3cd1068]
link notifWindow to ListView--><path d="M340.5,248.24 C340.5,248.24 340.5,282.84 340.5,282.84 " fill="none" id="notifWindow-ListView" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="340.5,295.84,344.5,286.84,340.5,290.84,336.5,286.84,340.5,295.84" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="340.5" x2="340.5" y1="290.84" y2="282.84"/><polygon fill="#A80036" points="340.5,236.24,336.5,242.24,340.5,248.24,344.5,242.24,340.5,236.24" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="41" x="294.2469" y="284.811">create</text><!--MD5=[6905442473c110f33896166ecdb82cb9]
reverse link model to ListView--><path d="M55,133.36 C55,133.36 55,320 55,320 C55,320 221.08,320 299.9,320 " fill="none" id="model&lt;-ListView" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="55,128.36,51,137.36,55,133.36,59,137.36,55,128.36" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="268.9222" y="315.9286">use</text><!--MD5=[14d14e498b41648e8d4026ce8d0bf0b6]
link notifWindow to model--><path d="M236.39,212 C236.39,212 104,212 104,212 C104,212 104,141.24 104,141.24 " fill="none" id="notifWindow-model" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="104,128.24,100,137.24,104,133.24,108,137.24,104,128.24" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="104" x2="104" y1="133.24" y2="141.24"/><polygon fill="#A80036" points="248.39,212,242.39,208,236.39,212,242.39,216,248.39,212" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[c4c46f4af1aa0a0ef99241e1a25d8c85]
link model to AppWindow--><path d="M153.17,104 C153.17,104 247.75,104 247.75,104 " fill="none" id="model-&gt;AppWindow" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="252.75,104,243.75,100,247.75,104,243.75,108,252.75,104" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="161.0216" y="100.3816">use</text><!--MD5=[6bca3c958c885ffc59d9bf262f978774]
@startuml
skinparam BackgroundColor F0F0F0

skinparam linetype ortho
skinparam nodesep 100


@@ 27,13 40,12 @@ model "use"- -> AppWindow

@enduml

PlantUML version 1.2018.13(Mon Nov 26 18:11:51 CET 2018)
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.10+9-Ubuntu-0ubuntu1.20.04
Java Version: 11.0.12+7-post-Debian-2
Operating System: Linux
OS Version: 5.8.0-50-generic
Default Encoding: UTF-8
Language: en
Country: US

M module-apps/apps-common/notifications/doc/notifications_model_structure.puml => module-apps/apps-common/notifications/doc/notifications_model_structure.puml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0

skinparam linetype ortho


M module-apps/apps-common/notifications/doc/notifications_model_structure.svg => module-apps/apps-common/notifications/doc/notifications_model_structure.svg +25 -4
@@ 1,5 1,27 @@
<?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="525px" preserveAspectRatio="none" style="width:841px;height:525px;" version="1.1" viewBox="0 0 841 525" width="841px" zoomAndPan="magnify"><defs><filter height="300%" id="f1hndcxzwl8wvq" 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><!--cluster GUI Model View Porvider--><polygon fill="#FFFFFF" filter="url(#f1hndcxzwl8wvq)" points="185,34,195,24,569,24,569,226,559,236,185,236,185,34" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="559" x2="568" y1="34" y2="25"/><line style="stroke: #000000; stroke-width: 1.5;" x1="185" x2="559" y1="34" y2="34"/><line style="stroke: #000000; stroke-width: 1.5;" x1="559" x2="559" y1="34" y2="236"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="195" x="275.5" y="49.9951">GUI Model View Porvider</text><!--cluster Notification ListItems--><polygon fill="#FFFFFF" filter="url(#f1hndcxzwl8wvq)" points="22,311,32,301,511,301,511,503,501,513,22,513,22,311" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="501" x2="510" y1="311" y2="302"/><line style="stroke: #000000; stroke-width: 1.5;" x1="22" x2="501" y1="311" y2="311"/><line style="stroke: #000000; stroke-width: 1.5;" x1="501" x2="501" y1="311" y2="513"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="165" x="180" y="326.9951">Notification ListItems</text><!--cluster Notifications Model--><polygon fill="#FFFFFF" filter="url(#f1hndcxzwl8wvq)" points="593,142,603,132,819,132,819,226,809,236,593,236,593,142" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="809" x2="818" y1="142" y2="133"/><line style="stroke: #000000; stroke-width: 1.5;" x1="593" x2="809" y1="142" y2="142"/><line style="stroke: #000000; stroke-width: 1.5;" x1="809" x2="809" y1="142" y2="236"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="150" x="627" y="157.9951">Notifications Model</text><!--class ListItem--><rect fill="#FEFECE" filter="url(#f1hndcxzwl8wvq)" height="48" id="ListItem" style="stroke: #A80036; stroke-width: 1.5;" width="80" x="214" y="172"/><ellipse cx="229" cy="188" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M231.9688,193.6406 Q231.3906,193.9375 230.75,194.0781 Q230.1094,194.2344 229.4063,194.2344 Q226.9063,194.2344 225.5781,192.5938 Q224.2656,190.9375 224.2656,187.8125 Q224.2656,184.6875 225.5781,183.0313 Q226.9063,181.375 229.4063,181.375 Q230.1094,181.375 230.75,181.5313 Q231.4063,181.6875 231.9688,181.9844 L231.9688,184.7031 Q231.3438,184.125 230.75,183.8594 Q230.1563,183.5781 229.5313,183.5781 Q228.1875,183.5781 227.5,184.6563 Q226.8125,185.7188 226.8125,187.8125 Q226.8125,189.9063 227.5,190.9844 Q228.1875,192.0469 229.5313,192.0469 Q230.1563,192.0469 230.75,191.7813 Q231.3438,191.5 231.9688,190.9219 L231.9688,193.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="48" x="243" y="192.1543">ListItem</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="215" x2="293" y1="204" y2="204"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="215" x2="293" y1="212" y2="212"/><!--class ListView--><rect fill="#FEFECE" filter="url(#f1hndcxzwl8wvq)" height="48" id="ListView" style="stroke: #A80036; stroke-width: 1.5;" width="81" x="201.5" y="64"/><ellipse cx="216.5" cy="80" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M219.4688,85.6406 Q218.8906,85.9375 218.25,86.0781 Q217.6094,86.2344 216.9063,86.2344 Q214.4063,86.2344 213.0781,84.5938 Q211.7656,82.9375 211.7656,79.8125 Q211.7656,76.6875 213.0781,75.0313 Q214.4063,73.375 216.9063,73.375 Q217.6094,73.375 218.25,73.5313 Q218.9063,73.6875 219.4688,73.9844 L219.4688,76.7031 Q218.8438,76.125 218.25,75.8594 Q217.6563,75.5781 217.0313,75.5781 Q215.6875,75.5781 215,76.6563 Q214.3125,77.7188 214.3125,79.8125 Q214.3125,81.9063 215,82.9844 Q215.6875,84.0469 217.0313,84.0469 Q217.6563,84.0469 218.25,83.7813 Q218.8438,83.5 219.4688,82.9219 L219.4688,85.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="49" x="230.5" y="84.1543">ListView</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="202.5" x2="281.5" y1="96" y2="96"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="202.5" x2="281.5" y1="104" y2="104"/><!--class InternalModel--><rect fill="#FEFECE" filter="url(#f1hndcxzwl8wvq)" height="48" id="InternalModel" style="stroke: #A80036; stroke-width: 1.5;" width="117" x="435.5" y="64"/><ellipse cx="450.5" cy="80" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M453.4688,85.6406 Q452.8906,85.9375 452.25,86.0781 Q451.6094,86.2344 450.9063,86.2344 Q448.4063,86.2344 447.0781,84.5938 Q445.7656,82.9375 445.7656,79.8125 Q445.7656,76.6875 447.0781,75.0313 Q448.4063,73.375 450.9063,73.375 Q451.6094,73.375 452.25,73.5313 Q452.9063,73.6875 453.4688,73.9844 L453.4688,76.7031 Q452.8438,76.125 452.25,75.8594 Q451.6563,75.5781 451.0313,75.5781 Q449.6875,75.5781 449,76.6563 Q448.3125,77.7188 448.3125,79.8125 Q448.3125,81.9063 449,82.9844 Q449.6875,84.0469 451.0313,84.0469 Q451.6563,84.0469 452.25,83.7813 Q452.8438,83.5 453.4688,82.9219 L453.4688,85.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="85" x="464.5" y="84.1543">InternalModel</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="436.5" x2="551.5" y1="96" y2="96"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="436.5" x2="551.5" y1="104" y2="104"/><!--class Provider--><rect fill="#FEFECE" filter="url(#f1hndcxzwl8wvq)" height="48" id="Provider" style="stroke: #A80036; stroke-width: 1.5;" width="83" x="317.5" y="64"/><ellipse cx="332.5" cy="80" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M335.4688,85.6406 Q334.8906,85.9375 334.25,86.0781 Q333.6094,86.2344 332.9063,86.2344 Q330.4063,86.2344 329.0781,84.5938 Q327.7656,82.9375 327.7656,79.8125 Q327.7656,76.6875 329.0781,75.0313 Q330.4063,73.375 332.9063,73.375 Q333.6094,73.375 334.25,73.5313 Q334.9063,73.6875 335.4688,73.9844 L335.4688,76.7031 Q334.8438,76.125 334.25,75.8594 Q333.6563,75.5781 333.0313,75.5781 Q331.6875,75.5781 331,76.6563 Q330.3125,77.7188 330.3125,79.8125 Q330.3125,81.9063 331,82.9844 Q331.6875,84.0469 333.0313,84.0469 Q333.6563,84.0469 334.25,83.7813 Q334.8438,83.5 335.4688,82.9219 L335.4688,85.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="51" x="346.5" y="84.1543">Provider</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="318.5" x2="399.5" y1="96" y2="96"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="318.5" x2="399.5" y1="104" y2="104"/><!--class notifLI--><rect fill="#FEFECE" filter="url(#f1hndcxzwl8wvq)" height="48" id="notifLI" style="stroke: #A80036; stroke-width: 1.5;" width="151" x="303.5" y="341"/><ellipse cx="318.5" cy="357" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M321.4688,362.6406 Q320.8906,362.9375 320.25,363.0781 Q319.6094,363.2344 318.9063,363.2344 Q316.4063,363.2344 315.0781,361.5938 Q313.7656,359.9375 313.7656,356.8125 Q313.7656,353.6875 315.0781,352.0313 Q316.4063,350.375 318.9063,350.375 Q319.6094,350.375 320.25,350.5313 Q320.9063,350.6875 321.4688,350.9844 L321.4688,353.7031 Q320.8438,353.125 320.25,352.8594 Q319.6563,352.5781 319.0313,352.5781 Q317.6875,352.5781 317,353.6563 Q316.3125,354.7188 316.3125,356.8125 Q316.3125,358.9063 317,359.9844 Q317.6875,361.0469 319.0313,361.0469 Q319.6563,361.0469 320.25,360.7813 Q320.8438,360.5 321.4688,359.9219 L321.4688,362.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="119" x="332.5" y="361.1543">NotificationListItem</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="304.5" x2="453.5" y1="373" y2="373"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="304.5" x2="453.5" y1="381" y2="381"/><!--class notifCounter--><rect fill="#FEFECE" filter="url(#f1hndcxzwl8wvq)" height="48" id="notifCounter" style="stroke: #A80036; stroke-width: 1.5;" width="215" x="38.5" y="449"/><ellipse cx="53.5" cy="465" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M56.4688,470.6406 Q55.8906,470.9375 55.25,471.0781 Q54.6094,471.2344 53.9063,471.2344 Q51.4063,471.2344 50.0781,469.5938 Q48.7656,467.9375 48.7656,464.8125 Q48.7656,461.6875 50.0781,460.0313 Q51.4063,458.375 53.9063,458.375 Q54.6094,458.375 55.25,458.5313 Q55.9063,458.6875 56.4688,458.9844 L56.4688,461.7031 Q55.8438,461.125 55.25,460.8594 Q54.6563,460.5781 54.0313,460.5781 Q52.6875,460.5781 52,461.6563 Q51.3125,462.7188 51.3125,464.8125 Q51.3125,466.9063 52,467.9844 Q52.6875,469.0469 54.0313,469.0469 Q54.6563,469.0469 55.25,468.7813 Q55.8438,468.5 56.4688,467.9219 L56.4688,470.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="183" x="67.5" y="469.1543">NotificationWithEventCounter</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="39.5" x2="252.5" y1="481" y2="481"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="39.5" x2="252.5" y1="489" y2="489"/><!--class notifButton--><rect fill="#FEFECE" filter="url(#f1hndcxzwl8wvq)" height="48" id="notifButton" style="stroke: #A80036; stroke-width: 1.5;" width="206" x="289" y="449"/><ellipse cx="304" cy="465" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M306.9688,470.6406 Q306.3906,470.9375 305.75,471.0781 Q305.1094,471.2344 304.4063,471.2344 Q301.9063,471.2344 300.5781,469.5938 Q299.2656,467.9375 299.2656,464.8125 Q299.2656,461.6875 300.5781,460.0313 Q301.9063,458.375 304.4063,458.375 Q305.1094,458.375 305.75,458.5313 Q306.4063,458.6875 306.9688,458.9844 L306.9688,461.7031 Q306.3438,461.125 305.75,460.8594 Q305.1563,460.5781 304.5313,460.5781 Q303.1875,460.5781 302.5,461.6563 Q301.8125,462.7188 301.8125,464.8125 Q301.8125,466.9063 302.5,467.9844 Q303.1875,469.0469 304.5313,469.0469 Q305.1563,469.0469 305.75,468.7813 Q306.3438,468.5 306.9688,467.9219 L306.9688,470.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="174" x="318" y="469.1543">NotificationWithOnOffButton</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="290" x2="494" y1="481" y2="481"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="290" x2="494" y1="489" y2="489"/><!--class model--><rect fill="#FEFECE" filter="url(#f1hndcxzwl8wvq)" height="48" id="model" style="stroke: #A80036; stroke-width: 1.5;" width="147" x="609.5" y="172"/><ellipse cx="624.5" cy="188" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M627.4688,193.6406 Q626.8906,193.9375 626.25,194.0781 Q625.6094,194.2344 624.9063,194.2344 Q622.4063,194.2344 621.0781,192.5938 Q619.7656,190.9375 619.7656,187.8125 Q619.7656,184.6875 621.0781,183.0313 Q622.4063,181.375 624.9063,181.375 Q625.6094,181.375 626.25,181.5313 Q626.9063,181.6875 627.4688,181.9844 L627.4688,184.7031 Q626.8438,184.125 626.25,183.8594 Q625.6563,183.5781 625.0313,183.5781 Q623.6875,183.5781 623,184.6563 Q622.3125,185.7188 622.3125,187.8125 Q622.3125,189.9063 623,190.9844 Q623.6875,192.0469 625.0313,192.0469 Q625.6563,192.0469 626.25,191.7813 Q626.8438,191.5 627.4688,190.9219 L627.4688,193.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="115" x="638.5" y="192.1543">NotificationsModel</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="610.5" x2="755.5" y1="204" y2="204"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="610.5" x2="755.5" y1="212" y2="212"/><!--class params--><rect fill="#FEFECE" filter="url(#f1hndcxzwl8wvq)" height="48" id="params" style="stroke: #A80036; stroke-width: 1.5;" width="213" x="576.5" y="341"/><ellipse cx="591.5" cy="357" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M594.4688,362.6406 Q593.8906,362.9375 593.25,363.0781 Q592.6094,363.2344 591.9063,363.2344 Q589.4063,363.2344 588.0781,361.5938 Q586.7656,359.9375 586.7656,356.8125 Q586.7656,353.6875 588.0781,352.0313 Q589.4063,350.375 591.9063,350.375 Q592.6094,350.375 593.25,350.5313 Q593.9063,350.6875 594.4688,350.9844 L594.4688,353.7031 Q593.8438,353.125 593.25,352.8594 Q592.6563,352.5781 592.0313,352.5781 Q590.6875,352.5781 590,353.6563 Q589.3125,354.7188 589.3125,356.8125 Q589.3125,358.9063 590,359.9844 Q590.6875,361.0469 592.0313,361.0469 Q592.6563,361.0469 593.25,360.7813 Q593.8438,360.5 594.4688,359.9219 L594.4688,362.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="181" x="605.5" y="361.1543">NotificationsChangedParams</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="577.5" x2="788.5" y1="373" y2="373"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="577.5" x2="788.5" y1="381" y2="381"/><!--link Provider to ListView--><path d="M312.42,88 C312.42,88 282.66,88 282.66,88 " fill="none" id="Provider-ListView" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="317.42,88,308.42,84,312.42,88,308.42,92,317.42,88" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="286.4719" y="83.2991">use</text><!--link ListView to ListItem--><path d="M248.25,112.24 C248.25,112.24 248.25,166.84 248.25,166.84 " fill="none" id="ListView-ListItem" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="248.25,171.84,252.25,162.84,248.25,166.84,244.25,162.84,248.25,171.84" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="223.9703" y="132.0597">use</text><!--link notifLI to notifCounter--><path d="M283.4,365 C283.4,365 233.75,365 233.75,365 C233.75,365 233.75,416.92 233.75,448.76 " fill="none" id="notifLI-notifCounter" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="283.4,358,303.4,365,283.4,372,283.4,358" style="stroke: #A80036; stroke-width: 1.0;"/><!--link notifLI to notifButton--><path d="M379,409.24 C379,409.24 379,448.84 379,448.84 " fill="none" id="notifLI-notifButton" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="372,409.24,379,389.24,386,409.24,372,409.24" style="stroke: #A80036; stroke-width: 1.0;"/><!--link model to notifLI--><path d="M596.33,201 C596.33,201 445,201 445,201 C445,201 445,327.8 445,327.8 " fill="none" id="model-notifLI" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="445,340.8,449,331.8,445,335.8,441,331.8,445,340.8" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="445" x2="445" y1="335.8" y2="327.8"/><polygon fill="#A80036" points="609.33,201,603.33,197,597.33,201,603.33,205,609.33,201" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="41" x="560.5315" y="197.8654">create</text><!--link model to params--><path d="M683,220.21 C683,220.21 683,335.83 683,335.83 " fill="none" id="model-params" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="683,340.83,687,331.83,683,335.83,679,331.83,683,340.83" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="657.1969" y="240.0224">use</text><!--link Provider to model--><path d="M359,132.12 C359,132.12 359,192 359,192 C359,192 513.89,192 609.48,192 " fill="none" id="Provider-model" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="352,132.12,359,112.12,366,132.12,352,132.12" style="stroke: #A80036; stroke-width: 1.0;"/><!--link InternalModel to model--><path d="M523.75,132.21 C523.75,132.21 523.75,182 523.75,182 C523.75,182 567.71,182 609.43,182 " fill="none" id="InternalModel-model" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="516.75,132.21,523.75,112.21,530.75,132.21,516.75,132.21" style="stroke: #A80036; stroke-width: 1.0;"/><!--link ListItem to notifLI--><path d="M308.87,211 C308.87,211 310.5,211 310.5,211 C310.5,211 310.5,297.62 310.5,340.94 " fill="none" id="ListItem-notifLI" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="314.16,218,294.16,211,314.16,204,314.16,218" style="stroke: #A80036; stroke-width: 1.0;"/><!--
<?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="525px" preserveAspectRatio="none" style="width:841px;height:525px;background:#F0F0F0;" version="1.1" viewBox="0 0 841 525" width="841px" zoomAndPan="magnify"><defs><filter height="300%" id="f12hjfilphtjrg" 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><!--MD5=[fb49dc16c7b6d50ef9cac78e86be483c]
cluster GUI Model View Porvider--><polygon fill="#F0F0F0" filter="url(#f12hjfilphtjrg)" points="185,34,195,24,569,24,569,226,559,236,185,236,185,34" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="559" x2="568" y1="34" y2="25"/><line style="stroke: #000000; stroke-width: 1.5;" x1="185" x2="559" y1="34" y2="34"/><line style="stroke: #000000; stroke-width: 1.5;" x1="559" x2="559" y1="34" y2="236"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="195" x="275.5" y="49.9951">GUI Model View Porvider</text><!--MD5=[8cc8862a769ef972eaea78cc12b979e5]
cluster Notification ListItems--><polygon fill="#F0F0F0" filter="url(#f12hjfilphtjrg)" points="22,311,32,301,511,301,511,503,501,513,22,513,22,311" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="501" x2="510" y1="311" y2="302"/><line style="stroke: #000000; stroke-width: 1.5;" x1="22" x2="501" y1="311" y2="311"/><line style="stroke: #000000; stroke-width: 1.5;" x1="501" x2="501" y1="311" y2="513"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="165" x="180" y="326.9951">Notification ListItems</text><!--MD5=[3c7cf313ddd5fb42f639d000a15d3eb4]
cluster Notifications Model--><polygon fill="#F0F0F0" filter="url(#f12hjfilphtjrg)" points="593,142,603,132,819,132,819,226,809,236,593,236,593,142" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="809" x2="818" y1="142" y2="133"/><line style="stroke: #000000; stroke-width: 1.5;" x1="593" x2="809" y1="142" y2="142"/><line style="stroke: #000000; stroke-width: 1.5;" x1="809" x2="809" y1="142" y2="236"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="150" x="627" y="157.9951">Notifications Model</text><!--MD5=[ee46e2d8c47498f48b006633515d3c77]
class ListItem--><rect fill="#FEFECE" filter="url(#f12hjfilphtjrg)" height="48" id="ListItem" style="stroke: #A80036; stroke-width: 1.5;" width="80" x="214" y="172"/><ellipse cx="229" cy="188" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M231.9688,193.6406 Q231.3906,193.9375 230.75,194.0781 Q230.1094,194.2344 229.4063,194.2344 Q226.9063,194.2344 225.5781,192.5938 Q224.2656,190.9375 224.2656,187.8125 Q224.2656,184.6875 225.5781,183.0313 Q226.9063,181.375 229.4063,181.375 Q230.1094,181.375 230.75,181.5313 Q231.4063,181.6875 231.9688,181.9844 L231.9688,184.7031 Q231.3438,184.125 230.75,183.8594 Q230.1563,183.5781 229.5313,183.5781 Q228.1875,183.5781 227.5,184.6563 Q226.8125,185.7188 226.8125,187.8125 Q226.8125,189.9063 227.5,190.9844 Q228.1875,192.0469 229.5313,192.0469 Q230.1563,192.0469 230.75,191.7813 Q231.3438,191.5 231.9688,190.9219 L231.9688,193.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="48" x="243" y="192.1543">ListItem</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="215" x2="293" y1="204" y2="204"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="215" x2="293" y1="212" y2="212"/><!--MD5=[bab795b3e255e4ea4a2af0f54c137233]
class ListView--><rect fill="#FEFECE" filter="url(#f12hjfilphtjrg)" height="48" id="ListView" style="stroke: #A80036; stroke-width: 1.5;" width="81" x="201.5" y="64"/><ellipse cx="216.5" cy="80" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M219.4688,85.6406 Q218.8906,85.9375 218.25,86.0781 Q217.6094,86.2344 216.9063,86.2344 Q214.4063,86.2344 213.0781,84.5938 Q211.7656,82.9375 211.7656,79.8125 Q211.7656,76.6875 213.0781,75.0313 Q214.4063,73.375 216.9063,73.375 Q217.6094,73.375 218.25,73.5313 Q218.9063,73.6875 219.4688,73.9844 L219.4688,76.7031 Q218.8438,76.125 218.25,75.8594 Q217.6563,75.5781 217.0313,75.5781 Q215.6875,75.5781 215,76.6563 Q214.3125,77.7188 214.3125,79.8125 Q214.3125,81.9063 215,82.9844 Q215.6875,84.0469 217.0313,84.0469 Q217.6563,84.0469 218.25,83.7813 Q218.8438,83.5 219.4688,82.9219 L219.4688,85.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="49" x="230.5" y="84.1543">ListView</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="202.5" x2="281.5" y1="96" y2="96"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="202.5" x2="281.5" y1="104" y2="104"/><!--MD5=[ae107351e5198e8e3260d55e16b6593c]
class InternalModel--><rect fill="#FEFECE" filter="url(#f12hjfilphtjrg)" height="48" id="InternalModel" style="stroke: #A80036; stroke-width: 1.5;" width="117" x="435.5" y="64"/><ellipse cx="450.5" cy="80" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M453.4688,85.6406 Q452.8906,85.9375 452.25,86.0781 Q451.6094,86.2344 450.9063,86.2344 Q448.4063,86.2344 447.0781,84.5938 Q445.7656,82.9375 445.7656,79.8125 Q445.7656,76.6875 447.0781,75.0313 Q448.4063,73.375 450.9063,73.375 Q451.6094,73.375 452.25,73.5313 Q452.9063,73.6875 453.4688,73.9844 L453.4688,76.7031 Q452.8438,76.125 452.25,75.8594 Q451.6563,75.5781 451.0313,75.5781 Q449.6875,75.5781 449,76.6563 Q448.3125,77.7188 448.3125,79.8125 Q448.3125,81.9063 449,82.9844 Q449.6875,84.0469 451.0313,84.0469 Q451.6563,84.0469 452.25,83.7813 Q452.8438,83.5 453.4688,82.9219 L453.4688,85.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="85" x="464.5" y="84.1543">InternalModel</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="436.5" x2="551.5" y1="96" y2="96"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="436.5" x2="551.5" y1="104" y2="104"/><!--MD5=[3521822871a02163bc1090dd8c65b7f5]
class Provider--><rect fill="#FEFECE" filter="url(#f12hjfilphtjrg)" height="48" id="Provider" style="stroke: #A80036; stroke-width: 1.5;" width="83" x="317.5" y="64"/><ellipse cx="332.5" cy="80" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M335.4688,85.6406 Q334.8906,85.9375 334.25,86.0781 Q333.6094,86.2344 332.9063,86.2344 Q330.4063,86.2344 329.0781,84.5938 Q327.7656,82.9375 327.7656,79.8125 Q327.7656,76.6875 329.0781,75.0313 Q330.4063,73.375 332.9063,73.375 Q333.6094,73.375 334.25,73.5313 Q334.9063,73.6875 335.4688,73.9844 L335.4688,76.7031 Q334.8438,76.125 334.25,75.8594 Q333.6563,75.5781 333.0313,75.5781 Q331.6875,75.5781 331,76.6563 Q330.3125,77.7188 330.3125,79.8125 Q330.3125,81.9063 331,82.9844 Q331.6875,84.0469 333.0313,84.0469 Q333.6563,84.0469 334.25,83.7813 Q334.8438,83.5 335.4688,82.9219 L335.4688,85.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="51" x="346.5" y="84.1543">Provider</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="318.5" x2="399.5" y1="96" y2="96"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="318.5" x2="399.5" y1="104" y2="104"/><!--MD5=[99d554855cbbc5c4b77c45e501591537]
class notifLI--><rect fill="#FEFECE" filter="url(#f12hjfilphtjrg)" height="48" id="notifLI" style="stroke: #A80036; stroke-width: 1.5;" width="151" x="303.5" y="341"/><ellipse cx="318.5" cy="357" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M321.4688,362.6406 Q320.8906,362.9375 320.25,363.0781 Q319.6094,363.2344 318.9063,363.2344 Q316.4063,363.2344 315.0781,361.5938 Q313.7656,359.9375 313.7656,356.8125 Q313.7656,353.6875 315.0781,352.0313 Q316.4063,350.375 318.9063,350.375 Q319.6094,350.375 320.25,350.5313 Q320.9063,350.6875 321.4688,350.9844 L321.4688,353.7031 Q320.8438,353.125 320.25,352.8594 Q319.6563,352.5781 319.0313,352.5781 Q317.6875,352.5781 317,353.6563 Q316.3125,354.7188 316.3125,356.8125 Q316.3125,358.9063 317,359.9844 Q317.6875,361.0469 319.0313,361.0469 Q319.6563,361.0469 320.25,360.7813 Q320.8438,360.5 321.4688,359.9219 L321.4688,362.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="119" x="332.5" y="361.1543">NotificationListItem</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="304.5" x2="453.5" y1="373" y2="373"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="304.5" x2="453.5" y1="381" y2="381"/><!--MD5=[0d8f8c2400e0af430d190a8c45d8e702]
class notifCounter--><rect fill="#FEFECE" filter="url(#f12hjfilphtjrg)" height="48" id="notifCounter" style="stroke: #A80036; stroke-width: 1.5;" width="215" x="38.5" y="449"/><ellipse cx="53.5" cy="465" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M56.4688,470.6406 Q55.8906,470.9375 55.25,471.0781 Q54.6094,471.2344 53.9063,471.2344 Q51.4063,471.2344 50.0781,469.5938 Q48.7656,467.9375 48.7656,464.8125 Q48.7656,461.6875 50.0781,460.0313 Q51.4063,458.375 53.9063,458.375 Q54.6094,458.375 55.25,458.5313 Q55.9063,458.6875 56.4688,458.9844 L56.4688,461.7031 Q55.8438,461.125 55.25,460.8594 Q54.6563,460.5781 54.0313,460.5781 Q52.6875,460.5781 52,461.6563 Q51.3125,462.7188 51.3125,464.8125 Q51.3125,466.9063 52,467.9844 Q52.6875,469.0469 54.0313,469.0469 Q54.6563,469.0469 55.25,468.7813 Q55.8438,468.5 56.4688,467.9219 L56.4688,470.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="183" x="67.5" y="469.1543">NotificationWithEventCounter</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="39.5" x2="252.5" y1="481" y2="481"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="39.5" x2="252.5" y1="489" y2="489"/><!--MD5=[f8ba762bf9c917c219e39466979d1711]
class notifButton--><rect fill="#FEFECE" filter="url(#f12hjfilphtjrg)" height="48" id="notifButton" style="stroke: #A80036; stroke-width: 1.5;" width="206" x="289" y="449"/><ellipse cx="304" cy="465" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M306.9688,470.6406 Q306.3906,470.9375 305.75,471.0781 Q305.1094,471.2344 304.4063,471.2344 Q301.9063,471.2344 300.5781,469.5938 Q299.2656,467.9375 299.2656,464.8125 Q299.2656,461.6875 300.5781,460.0313 Q301.9063,458.375 304.4063,458.375 Q305.1094,458.375 305.75,458.5313 Q306.4063,458.6875 306.9688,458.9844 L306.9688,461.7031 Q306.3438,461.125 305.75,460.8594 Q305.1563,460.5781 304.5313,460.5781 Q303.1875,460.5781 302.5,461.6563 Q301.8125,462.7188 301.8125,464.8125 Q301.8125,466.9063 302.5,467.9844 Q303.1875,469.0469 304.5313,469.0469 Q305.1563,469.0469 305.75,468.7813 Q306.3438,468.5 306.9688,467.9219 L306.9688,470.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="174" x="318" y="469.1543">NotificationWithOnOffButton</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="290" x2="494" y1="481" y2="481"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="290" x2="494" y1="489" y2="489"/><!--MD5=[fe6c9d02a96023c72576ec13ad8882e8]
class model--><rect fill="#FEFECE" filter="url(#f12hjfilphtjrg)" height="48" id="model" style="stroke: #A80036; stroke-width: 1.5;" width="147" x="609.5" y="172"/><ellipse cx="624.5" cy="188" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M627.4688,193.6406 Q626.8906,193.9375 626.25,194.0781 Q625.6094,194.2344 624.9063,194.2344 Q622.4063,194.2344 621.0781,192.5938 Q619.7656,190.9375 619.7656,187.8125 Q619.7656,184.6875 621.0781,183.0313 Q622.4063,181.375 624.9063,181.375 Q625.6094,181.375 626.25,181.5313 Q626.9063,181.6875 627.4688,181.9844 L627.4688,184.7031 Q626.8438,184.125 626.25,183.8594 Q625.6563,183.5781 625.0313,183.5781 Q623.6875,183.5781 623,184.6563 Q622.3125,185.7188 622.3125,187.8125 Q622.3125,189.9063 623,190.9844 Q623.6875,192.0469 625.0313,192.0469 Q625.6563,192.0469 626.25,191.7813 Q626.8438,191.5 627.4688,190.9219 L627.4688,193.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="115" x="638.5" y="192.1543">NotificationsModel</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="610.5" x2="755.5" y1="204" y2="204"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="610.5" x2="755.5" y1="212" y2="212"/><!--MD5=[70e2152219c9402cc0542a88b9ed3a27]
class params--><rect fill="#FEFECE" filter="url(#f12hjfilphtjrg)" height="48" id="params" style="stroke: #A80036; stroke-width: 1.5;" width="213" x="576.5" y="341"/><ellipse cx="591.5" cy="357" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M594.4688,362.6406 Q593.8906,362.9375 593.25,363.0781 Q592.6094,363.2344 591.9063,363.2344 Q589.4063,363.2344 588.0781,361.5938 Q586.7656,359.9375 586.7656,356.8125 Q586.7656,353.6875 588.0781,352.0313 Q589.4063,350.375 591.9063,350.375 Q592.6094,350.375 593.25,350.5313 Q593.9063,350.6875 594.4688,350.9844 L594.4688,353.7031 Q593.8438,353.125 593.25,352.8594 Q592.6563,352.5781 592.0313,352.5781 Q590.6875,352.5781 590,353.6563 Q589.3125,354.7188 589.3125,356.8125 Q589.3125,358.9063 590,359.9844 Q590.6875,361.0469 592.0313,361.0469 Q592.6563,361.0469 593.25,360.7813 Q593.8438,360.5 594.4688,359.9219 L594.4688,362.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="181" x="605.5" y="361.1543">NotificationsChangedParams</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="577.5" x2="788.5" y1="373" y2="373"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="577.5" x2="788.5" y1="381" y2="381"/><!--MD5=[3d318aa501ec54843f715fe2db85dc72]
reverse link Provider to ListView--><path d="M312.42,88 C312.42,88 282.66,88 282.66,88 " fill="none" id="Provider&lt;-ListView" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="317.42,88,308.42,84,312.42,88,308.42,92,317.42,88" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="286.4719" y="83.2991">use</text><!--MD5=[a342fbd03b22e15dc0f38ece7bcc4408]
link ListView to ListItem--><path d="M248.25,112.24 C248.25,112.24 248.25,166.84 248.25,166.84 " fill="none" id="ListView-&gt;ListItem" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="248.25,171.84,252.25,162.84,248.25,166.84,244.25,162.84,248.25,171.84" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="223.9703" y="132.0597">use</text><!--MD5=[273f924d91df693547bcdc58b0ed5209]
reverse link notifLI to notifCounter--><path d="M283.4,365 C283.4,365 233.75,365 233.75,365 C233.75,365 233.75,416.92 233.75,448.76 " fill="none" id="notifLI&lt;-notifCounter" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="283.4,358,303.4,365,283.4,372,283.4,358" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[5c1215c31f7833e33c1c0e8e12d9a054]
reverse link notifLI to notifButton--><path d="M379,409.24 C379,409.24 379,448.84 379,448.84 " fill="none" id="notifLI&lt;-notifButton" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="372,409.24,379,389.24,386,409.24,372,409.24" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[feec925a4c04115262b4c329bc304b25]
link model to notifLI--><path d="M597.33,201 C597.33,201 445,201 445,201 C445,201 445,327.8 445,327.8 " fill="none" id="model-notifLI" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="445,340.8,449,331.8,445,335.8,441,331.8,445,340.8" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="445" x2="445" y1="335.8" y2="327.8"/><polygon fill="#A80036" points="609.33,201,603.33,197,597.33,201,603.33,205,609.33,201" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="41" x="560.5315" y="197.8654">create</text><!--MD5=[07368e96652eceae3f30083a5019b669]
link model to params--><path d="M683,220.21 C683,220.21 683,335.83 683,335.83 " fill="none" id="model-&gt;params" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="683,340.83,687,331.83,683,335.83,679,331.83,683,340.83" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="657.1969" y="240.0224">use</text><!--MD5=[9a811f76371b1de74aaef3d5afccd51d]
reverse link Provider to model--><path d="M359,132.12 C359,132.12 359,192 359,192 C359,192 513.89,192 609.48,192 " fill="none" id="Provider&lt;-model" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="352,132.12,359,112.12,366,132.12,352,132.12" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[46faa198c54a334ec5ce36219419e379]
reverse link InternalModel to model--><path d="M523.75,132.21 C523.75,132.21 523.75,182 523.75,182 C523.75,182 567.71,182 609.43,182 " fill="none" id="InternalModel&lt;-model" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="516.75,132.21,523.75,112.21,530.75,132.21,516.75,132.21" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[bcf66740da3945b612b0012dcdea705d]
reverse link ListItem to notifLI--><path d="M308.87,211 C308.87,211 310.5,211 310.5,211 C310.5,211 310.5,297.62 310.5,340.94 " fill="none" id="ListItem&lt;-notifLI" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="314.16,218,294.16,211,314.16,204,314.16,218" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[4947c687390b237e19162f12c40901c8]
@startuml
skinparam BackgroundColor F0F0F0

skinparam linetype ortho



@@ 38,13 60,12 @@ ListItem <|- - notifLI

@enduml

PlantUML version 1.2018.13(Mon Nov 26 18:11:51 CET 2018)
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.10+9-Ubuntu-0ubuntu1.20.04
Java Version: 11.0.12+7-post-Debian-2
Operating System: Linux
OS Version: 5.8.0-50-generic
Default Encoding: UTF-8
Language: en
Country: US

M module-apps/apps-common/notifications/doc/notifications_mvp_general_overview.puml => module-apps/apps-common/notifications/doc/notifications_mvp_general_overview.puml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0
skinparam linetype ortho

node "Provider" as provider {

M module-apps/apps-common/notifications/doc/notifications_mvp_general_overview.svg => module-apps/apps-common/notifications/doc/notifications_mvp_general_overview.svg +25 -4
@@ 1,5 1,27 @@
<?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="380px" preserveAspectRatio="none" style="width:903px;height:380px;" version="1.1" viewBox="0 0 903 380" width="903px" zoomAndPan="magnify"><defs><filter height="300%" id="f1906w084e1job" 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><!--cluster provider--><polygon fill="#FFFFFF" filter="url(#f1906w084e1job)" points="695,56.5,705,46.5,881,46.5,881,140.5,871,150.5,695,150.5,695,56.5" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="871" x2="880" y1="56.5" y2="47.5"/><line style="stroke: #000000; stroke-width: 1.5;" x1="695" x2="871" y1="56.5" y2="56.5"/><line style="stroke: #000000; stroke-width: 1.5;" x1="871" x2="871" y1="56.5" y2="150.5"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="67" x="750.5" y="72.4951">Provider</text><!--cluster model--><polygon fill="#FFFFFF" filter="url(#f1906w084e1job)" points="219,42,229,32,663,32,663,155,653,165,219,165,219,42" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="653" x2="662" y1="42" y2="33"/><line style="stroke: #000000; stroke-width: 1.5;" x1="219" x2="653" y1="42" y2="42"/><line style="stroke: #000000; stroke-width: 1.5;" x1="653" x2="653" y1="42" y2="165"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="47" x="413.5" y="57.9951">Model</text><!--cluster View--><polygon fill="#FFFFFF" filter="url(#f1906w084e1job)" points="30,48.5,40,38.5,179,38.5,179,148.5,169,158.5,30,158.5,30,48.5" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="169" x2="178" y1="48.5" y2="39.5"/><line style="stroke: #000000; stroke-width: 1.5;" x1="30" x2="169" y1="48.5" y2="48.5"/><line style="stroke: #000000; stroke-width: 1.5;" x1="169" x2="169" y1="48.5" y2="158.5"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="39" x="81" y="64.4951">View</text><!--class notProvider--><rect fill="#FEFECE" filter="url(#f1906w084e1job)" height="48" id="notProvider" style="stroke: #A80036; stroke-width: 1.5;" width="154" x="711" y="86.5"/><ellipse cx="726" cy="102.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M728.9688,108.1406 Q728.3906,108.4375 727.75,108.5781 Q727.1094,108.7344 726.4063,108.7344 Q723.9063,108.7344 722.5781,107.0938 Q721.2656,105.4375 721.2656,102.3125 Q721.2656,99.1875 722.5781,97.5313 Q723.9063,95.875 726.4063,95.875 Q727.1094,95.875 727.75,96.0313 Q728.4063,96.1875 728.9688,96.4844 L728.9688,99.2031 Q728.3438,98.625 727.75,98.3594 Q727.1563,98.0781 726.5313,98.0781 Q725.1875,98.0781 724.5,99.1563 Q723.8125,100.2188 723.8125,102.3125 Q723.8125,104.4063 724.5,105.4844 Q725.1875,106.5469 726.5313,106.5469 Q727.1563,106.5469 727.75,106.2813 Q728.3438,106 728.9688,105.4219 L728.9688,108.1406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="122" x="740" y="106.6543">NotificationProvider</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="712" x2="864" y1="118.5" y2="118.5"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="712" x2="864" y1="126.5" y2="126.5"/><!--class notModel--><rect fill="#FEFECE" filter="url(#f1906w084e1job)" height="60.8047" id="notModel" style="stroke: #A80036; stroke-width: 1.5;" width="233" x="406.5" y="80"/><ellipse cx="461.25" cy="96" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M464.2188,101.6406 Q463.6406,101.9375 463,102.0781 Q462.3594,102.2344 461.6563,102.2344 Q459.1563,102.2344 457.8281,100.5938 Q456.5156,98.9375 456.5156,95.8125 Q456.5156,92.6875 457.8281,91.0313 Q459.1563,89.375 461.6563,89.375 Q462.3594,89.375 463,89.5313 Q463.6563,89.6875 464.2188,89.9844 L464.2188,92.7031 Q463.5938,92.125 463,91.8594 Q462.4063,91.5781 461.7813,91.5781 Q460.4375,91.5781 459.75,92.6563 Q459.0625,93.7188 459.0625,95.8125 Q459.0625,97.9063 459.75,98.9844 Q460.4375,100.0469 461.7813,100.0469 Q462.4063,100.0469 463,99.7813 Q463.5938,99.5 464.2188,98.9219 L464.2188,101.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="115" x="481.75" y="100.1543">NotificationsModel</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="407.5" x2="638.5" y1="112" y2="112"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="407.5" x2="638.5" y1="120" y2="120"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="221" x="412.5" y="134.2104">update(NotificationsChangedParams *)</text><!--class guiProv--><rect fill="#FEFECE" filter="url(#f1906w084e1job)" height="48" id="guiProv" style="stroke: #A80036; stroke-width: 1.5;" width="109" x="262.5" y="86.5"/><ellipse cx="277.5" cy="102.5" fill="#B4A7E5" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M273.4219,98.2656 L273.4219,96.1094 L280.8125,96.1094 L280.8125,98.2656 L278.3438,98.2656 L278.3438,106.3438 L280.8125,106.3438 L280.8125,108.5 L273.4219,108.5 L273.4219,106.3438 L275.8906,106.3438 L275.8906,98.2656 L273.4219,98.2656 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="77" x="291.5" y="106.6543">gui::Provider</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="263.5" x2="370.5" y1="118.5" y2="118.5"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="263.5" x2="370.5" y1="126.5" y2="126.5"/><!--class ListView--><rect fill="#FEFECE" filter="url(#f1906w084e1job)" height="48" id="ListView" style="stroke: #A80036; stroke-width: 1.5;" width="81" x="73.5" y="86.5"/><ellipse cx="88.5" cy="102.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M91.4688,108.1406 Q90.8906,108.4375 90.25,108.5781 Q89.6094,108.7344 88.9063,108.7344 Q86.4063,108.7344 85.0781,107.0938 Q83.7656,105.4375 83.7656,102.3125 Q83.7656,99.1875 85.0781,97.5313 Q86.4063,95.875 88.9063,95.875 Q89.6094,95.875 90.25,96.0313 Q90.9063,96.1875 91.4688,96.4844 L91.4688,99.2031 Q90.8438,98.625 90.25,98.3594 Q89.6563,98.0781 89.0313,98.0781 Q87.6875,98.0781 87,99.1563 Q86.3125,100.2188 86.3125,102.3125 Q86.3125,104.4063 87,105.4844 Q87.6875,106.5469 89.0313,106.5469 Q89.6563,106.5469 90.25,106.2813 Q90.8438,106 91.4688,105.4219 L91.4688,108.1406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="49" x="102.5" y="106.6543">ListView</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="74.5" x2="153.5" y1="118.5" y2="118.5"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="74.5" x2="153.5" y1="126.5" y2="126.5"/><!--class item--><rect fill="#FEFECE" filter="url(#f1906w084e1job)" height="48" id="item" style="stroke: #A80036; stroke-width: 1.5;" width="151" x="178.5" y="201"/><ellipse cx="193.5" cy="217" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M196.4688,222.6406 Q195.8906,222.9375 195.25,223.0781 Q194.6094,223.2344 193.9063,223.2344 Q191.4063,223.2344 190.0781,221.5938 Q188.7656,219.9375 188.7656,216.8125 Q188.7656,213.6875 190.0781,212.0313 Q191.4063,210.375 193.9063,210.375 Q194.6094,210.375 195.25,210.5313 Q195.9063,210.6875 196.4688,210.9844 L196.4688,213.7031 Q195.8438,213.125 195.25,212.8594 Q194.6563,212.5781 194.0313,212.5781 Q192.6875,212.5781 192,213.6563 Q191.3125,214.7188 191.3125,216.8125 Q191.3125,218.9063 192,219.9844 Q192.6875,221.0469 194.0313,221.0469 Q194.6563,221.0469 195.25,220.7813 Q195.8438,220.5 196.4688,219.9219 L196.4688,222.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="119" x="207.5" y="221.1543">NotificationListItem</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="179.5" x2="328.5" y1="233" y2="233"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="179.5" x2="328.5" y1="241" y2="241"/><!--class params--><rect fill="#FEFECE" filter="url(#f1906w084e1job)" height="48" id="params" style="stroke: #A80036; stroke-width: 1.5;" width="213" x="548.5" y="201"/><ellipse cx="563.5" cy="217" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M566.4688,222.6406 Q565.8906,222.9375 565.25,223.0781 Q564.6094,223.2344 563.9063,223.2344 Q561.4063,223.2344 560.0781,221.5938 Q558.7656,219.9375 558.7656,216.8125 Q558.7656,213.6875 560.0781,212.0313 Q561.4063,210.375 563.9063,210.375 Q564.6094,210.375 565.25,210.5313 Q565.9063,210.6875 566.4688,210.9844 L566.4688,213.7031 Q565.8438,213.125 565.25,212.8594 Q564.6563,212.5781 564.0313,212.5781 Q562.6875,212.5781 562,213.6563 Q561.3125,214.7188 561.3125,216.8125 Q561.3125,218.9063 562,219.9844 Q562.6875,221.0469 564.0313,221.0469 Q564.6563,221.0469 565.25,220.7813 Q565.8438,220.5 566.4688,219.9219 L566.4688,222.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="181" x="577.5" y="221.1543">NotificationsChangedParams</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="549.5" x2="760.5" y1="233" y2="233"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="549.5" x2="760.5" y1="241" y2="241"/><!--class system--><rect fill="#FEFECE" filter="url(#f1906w084e1job)" height="60.8047" id="system" style="stroke: #A80036; stroke-width: 1.5;" width="122" x="594" y="309"/><ellipse cx="609" cy="325" fill="#B4A7E5" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M604.9219,320.7656 L604.9219,318.6094 L612.3125,318.6094 L612.3125,320.7656 L609.8438,320.7656 L609.8438,328.8438 L612.3125,328.8438 L612.3125,331 L604.9219,331 L604.9219,328.8438 L607.3906,328.8438 L607.3906,320.7656 L604.9219,320.7656 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="90" x="623" y="329.1543">APM Controller</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="595" x2="715" y1="341" y2="341"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="595" x2="715" y1="349" y2="349"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="82" x="600" y="363.2104">sendAction(...)</text><!--link notProvider to params--><path d="M744.67,134.5 C744.67,134.5 744.67,195.63 744.67,195.63 " fill="none" id="notProvider-params" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="744.67,200.63,748.67,191.63,744.67,195.63,740.67,191.63,744.67,200.63" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="707.6198" y="154.6558">use</text><!--link notModel to params--><path d="M594,141.18 C594,141.18 594,195.76 594,195.76 " fill="none" id="notModel-params" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="594,200.76,598,191.76,594,195.76,590,191.76,594,200.76" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="582.7141" y="160.7959">use</text><!--link notModel to item--><path d="M453.83,141.18 C453.83,175.1 453.83,225 453.83,225 C453.83,225 334.55,225 334.55,225 " fill="none" id="notModel-item" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="329.55,225,338.55,229,334.55,225,338.55,221,329.55,225" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="414.9481" y="160.7959">use</text><!--link ListView to item--><path d="M154.51,129 C177.71,129 202.25,129 202.25,129 C202.25,129 202.25,195.78 202.25,195.78 " fill="none" id="ListView-item" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="202.25,200.78,206.25,191.78,202.25,195.78,198.25,191.78,202.25,200.78" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="162.474" y="145.0583">use</text><!--link guiProv to notModel--><path d="M391.66,111 C391.66,111 406.31,111 406.31,111 " fill="none" id="guiProv-notModel" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="391.66,118,371.66,111,391.66,104,391.66,118" style="stroke: #A80036; stroke-width: 1.0;"/><!--link ListView to guiProv--><path d="M154.59,123 C154.59,123 257.25,123 257.25,123 " fill="none" id="ListView-guiProv" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="262.25,123,253.25,119,257.25,123,253.25,127,262.25,123" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="162.5663" y="120.8427">use</text><!--link guiProv to ListView--><path d="M262.33,118 C262.33,118 159.59,118 159.59,118 " fill="none" id="guiProv-ListView" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="154.59,118,163.59,122,159.59,118,163.59,114,154.59,118" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="231.6791" y="115.0746">use</text><!--link notProvider to system--><path d="M813.25,134.63 C813.25,193.55 813.25,340 813.25,340 C813.25,340 721.18,340 721.18,340 " fill="none" id="notProvider-system" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="716.18,340,725.18,344,721.18,340,725.18,336,716.18,340" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="793.6016" y="154.4229">use</text><!--link system to notModel--><path d="M593.76,340 C550.86,340 501.17,340 501.17,340 C501.17,340 501.17,146.45 501.17,146.45 " fill="none" id="system-notModel" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="501.17,141.45,497.17,150.45,501.17,146.45,505.17,150.45,501.17,141.45" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="562.8041" y="336.3192">use</text><!--link model to View--><!--link model to notProvider--><!--
<?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="380px" preserveAspectRatio="none" style="width:901px;height:380px;background:#F0F0F0;" version="1.1" viewBox="0 0 901 380" width="901px" zoomAndPan="magnify"><defs><filter height="300%" id="fqop3cuy4riy9" 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><!--MD5=[5004d6500a09f74171c07b5db3ac5e34]
cluster provider--><polygon fill="#F0F0F0" filter="url(#fqop3cuy4riy9)" points="693,56.5,703,46.5,879,46.5,879,140.5,869,150.5,693,150.5,693,56.5" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="869" x2="878" y1="56.5" y2="47.5"/><line style="stroke: #000000; stroke-width: 1.5;" x1="693" x2="869" y1="56.5" y2="56.5"/><line style="stroke: #000000; stroke-width: 1.5;" x1="869" x2="869" y1="56.5" y2="150.5"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="67" x="748.5" y="72.4951">Provider</text><!--MD5=[5d4cd377749310b66bf14896f5cd8d9b]
cluster model--><polygon fill="#F0F0F0" filter="url(#fqop3cuy4riy9)" points="219,42,229,32,661,32,661,155,651,165,219,165,219,42" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="651" x2="660" y1="42" y2="33"/><line style="stroke: #000000; stroke-width: 1.5;" x1="219" x2="651" y1="42" y2="42"/><line style="stroke: #000000; stroke-width: 1.5;" x1="651" x2="651" y1="42" y2="165"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="47" x="412.5" y="57.9951">Model</text><!--MD5=[e320b41f2d43b11d6de1346cab4ea5fc]
cluster View--><polygon fill="#F0F0F0" filter="url(#fqop3cuy4riy9)" points="30,48.5,40,38.5,179,38.5,179,148.5,169,158.5,30,158.5,30,48.5" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="169" x2="178" y1="48.5" y2="39.5"/><line style="stroke: #000000; stroke-width: 1.5;" x1="30" x2="169" y1="48.5" y2="48.5"/><line style="stroke: #000000; stroke-width: 1.5;" x1="169" x2="169" y1="48.5" y2="158.5"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="39" x="81" y="64.4951">View</text><!--MD5=[72bec3090eb8c782b6549ec4e5d0b735]
class notProvider--><rect fill="#FEFECE" filter="url(#fqop3cuy4riy9)" height="48" id="notProvider" style="stroke: #A80036; stroke-width: 1.5;" width="154" x="709" y="86.5"/><ellipse cx="724" cy="102.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M726.9688,108.1406 Q726.3906,108.4375 725.75,108.5781 Q725.1094,108.7344 724.4063,108.7344 Q721.9063,108.7344 720.5781,107.0938 Q719.2656,105.4375 719.2656,102.3125 Q719.2656,99.1875 720.5781,97.5313 Q721.9063,95.875 724.4063,95.875 Q725.1094,95.875 725.75,96.0313 Q726.4063,96.1875 726.9688,96.4844 L726.9688,99.2031 Q726.3438,98.625 725.75,98.3594 Q725.1563,98.0781 724.5313,98.0781 Q723.1875,98.0781 722.5,99.1563 Q721.8125,100.2188 721.8125,102.3125 Q721.8125,104.4063 722.5,105.4844 Q723.1875,106.5469 724.5313,106.5469 Q725.1563,106.5469 725.75,106.2813 Q726.3438,106 726.9688,105.4219 L726.9688,108.1406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="122" x="738" y="106.6543">NotificationProvider</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="710" x2="862" y1="118.5" y2="118.5"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="710" x2="862" y1="126.5" y2="126.5"/><!--MD5=[715d280ee6ab1184a6a5b699e3d9d148]
class notModel--><rect fill="#FEFECE" filter="url(#fqop3cuy4riy9)" height="60.8047" id="notModel" style="stroke: #A80036; stroke-width: 1.5;" width="232" x="405" y="80"/><ellipse cx="459.25" cy="96" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M462.2188,101.6406 Q461.6406,101.9375 461,102.0781 Q460.3594,102.2344 459.6563,102.2344 Q457.1563,102.2344 455.8281,100.5938 Q454.5156,98.9375 454.5156,95.8125 Q454.5156,92.6875 455.8281,91.0313 Q457.1563,89.375 459.6563,89.375 Q460.3594,89.375 461,89.5313 Q461.6563,89.6875 462.2188,89.9844 L462.2188,92.7031 Q461.5938,92.125 461,91.8594 Q460.4063,91.5781 459.7813,91.5781 Q458.4375,91.5781 457.75,92.6563 Q457.0625,93.7188 457.0625,95.8125 Q457.0625,97.9063 457.75,98.9844 Q458.4375,100.0469 459.7813,100.0469 Q460.4063,100.0469 461,99.7813 Q461.5938,99.5 462.2188,98.9219 L462.2188,101.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="115" x="479.75" y="100.1543">NotificationsModel</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="406" x2="636" y1="112" y2="112"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="406" x2="636" y1="120" y2="120"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="220" x="411" y="134.2104">update(NotificationsChangedParams *)</text><!--MD5=[3f935a0430e8bc03b374e94689dc15f0]
class guiProv--><rect fill="#FEFECE" filter="url(#fqop3cuy4riy9)" height="48" id="guiProv" style="stroke: #A80036; stroke-width: 1.5;" width="107" x="262.5" y="86.5"/><ellipse cx="277.5" cy="102.5" fill="#B4A7E5" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M273.4219,98.2656 L273.4219,96.1094 L280.8125,96.1094 L280.8125,98.2656 L278.3438,98.2656 L278.3438,106.3438 L280.8125,106.3438 L280.8125,108.5 L273.4219,108.5 L273.4219,106.3438 L275.8906,106.3438 L275.8906,98.2656 L273.4219,98.2656 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="75" x="291.5" y="106.6543">gui::Provider</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="263.5" x2="368.5" y1="118.5" y2="118.5"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="263.5" x2="368.5" y1="126.5" y2="126.5"/><!--MD5=[bab795b3e255e4ea4a2af0f54c137233]
class ListView--><rect fill="#FEFECE" filter="url(#fqop3cuy4riy9)" height="48" id="ListView" style="stroke: #A80036; stroke-width: 1.5;" width="81" x="73.5" y="86.5"/><ellipse cx="88.5" cy="102.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M91.4688,108.1406 Q90.8906,108.4375 90.25,108.5781 Q89.6094,108.7344 88.9063,108.7344 Q86.4063,108.7344 85.0781,107.0938 Q83.7656,105.4375 83.7656,102.3125 Q83.7656,99.1875 85.0781,97.5313 Q86.4063,95.875 88.9063,95.875 Q89.6094,95.875 90.25,96.0313 Q90.9063,96.1875 91.4688,96.4844 L91.4688,99.2031 Q90.8438,98.625 90.25,98.3594 Q89.6563,98.0781 89.0313,98.0781 Q87.6875,98.0781 87,99.1563 Q86.3125,100.2188 86.3125,102.3125 Q86.3125,104.4063 87,105.4844 Q87.6875,106.5469 89.0313,106.5469 Q89.6563,106.5469 90.25,106.2813 Q90.8438,106 91.4688,105.4219 L91.4688,108.1406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="49" x="102.5" y="106.6543">ListView</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="74.5" x2="153.5" y1="118.5" y2="118.5"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="74.5" x2="153.5" y1="126.5" y2="126.5"/><!--MD5=[ab11aec9697a155806c72fa29b42d191]
class item--><rect fill="#FEFECE" filter="url(#fqop3cuy4riy9)" height="48" id="item" style="stroke: #A80036; stroke-width: 1.5;" width="151" x="177.5" y="201"/><ellipse cx="192.5" cy="217" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M195.4688,222.6406 Q194.8906,222.9375 194.25,223.0781 Q193.6094,223.2344 192.9063,223.2344 Q190.4063,223.2344 189.0781,221.5938 Q187.7656,219.9375 187.7656,216.8125 Q187.7656,213.6875 189.0781,212.0313 Q190.4063,210.375 192.9063,210.375 Q193.6094,210.375 194.25,210.5313 Q194.9063,210.6875 195.4688,210.9844 L195.4688,213.7031 Q194.8438,213.125 194.25,212.8594 Q193.6563,212.5781 193.0313,212.5781 Q191.6875,212.5781 191,213.6563 Q190.3125,214.7188 190.3125,216.8125 Q190.3125,218.9063 191,219.9844 Q191.6875,221.0469 193.0313,221.0469 Q193.6563,221.0469 194.25,220.7813 Q194.8438,220.5 195.4688,219.9219 L195.4688,222.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="119" x="206.5" y="221.1543">NotificationListItem</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="178.5" x2="327.5" y1="233" y2="233"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="178.5" x2="327.5" y1="241" y2="241"/><!--MD5=[70e2152219c9402cc0542a88b9ed3a27]
class params--><rect fill="#FEFECE" filter="url(#fqop3cuy4riy9)" height="48" id="params" style="stroke: #A80036; stroke-width: 1.5;" width="213" x="546.5" y="201"/><ellipse cx="561.5" cy="217" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M564.4688,222.6406 Q563.8906,222.9375 563.25,223.0781 Q562.6094,223.2344 561.9063,223.2344 Q559.4063,223.2344 558.0781,221.5938 Q556.7656,219.9375 556.7656,216.8125 Q556.7656,213.6875 558.0781,212.0313 Q559.4063,210.375 561.9063,210.375 Q562.6094,210.375 563.25,210.5313 Q563.9063,210.6875 564.4688,210.9844 L564.4688,213.7031 Q563.8438,213.125 563.25,212.8594 Q562.6563,212.5781 562.0313,212.5781 Q560.6875,212.5781 560,213.6563 Q559.3125,214.7188 559.3125,216.8125 Q559.3125,218.9063 560,219.9844 Q560.6875,221.0469 562.0313,221.0469 Q562.6563,221.0469 563.25,220.7813 Q563.8438,220.5 564.4688,219.9219 L564.4688,222.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="181" x="575.5" y="221.1543">NotificationsChangedParams</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="547.5" x2="758.5" y1="233" y2="233"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="547.5" x2="758.5" y1="241" y2="241"/><!--MD5=[f27077137eab0e82a7b59043e498cc27]
class system--><rect fill="#FEFECE" filter="url(#fqop3cuy4riy9)" height="60.8047" id="system" style="stroke: #A80036; stroke-width: 1.5;" width="118" x="594" y="309"/><ellipse cx="609" cy="325" fill="#B4A7E5" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M604.9219,320.7656 L604.9219,318.6094 L612.3125,318.6094 L612.3125,320.7656 L609.8438,320.7656 L609.8438,328.8438 L612.3125,328.8438 L612.3125,331 L604.9219,331 L604.9219,328.8438 L607.3906,328.8438 L607.3906,320.7656 L604.9219,320.7656 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="86" x="623" y="329.1543">APM Controller</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="595" x2="711" y1="341" y2="341"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="595" x2="711" y1="349" y2="349"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="82" x="600" y="363.2104">sendAction(...)</text><!--MD5=[cfad743fee11708f3a5e5aa5c8b6849e]
link notProvider to params--><path d="M742.67,134.5 C742.67,134.5 742.67,195.63 742.67,195.63 " fill="none" id="notProvider-&gt;params" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="742.67,200.63,746.67,191.63,742.67,195.63,738.67,191.63,742.67,200.63" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="705.6198" y="154.6558">use</text><!--MD5=[6e7f8f83508459cfb7a6998e8f8e9a85]
link notModel to params--><path d="M591.75,141.18 C591.75,141.18 591.75,195.76 591.75,195.76 " fill="none" id="notModel-&gt;params" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="591.75,200.76,595.75,191.76,591.75,195.76,587.75,191.76,591.75,200.76" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="580.4148" y="160.7959">use</text><!--MD5=[a98e56e4ca186e8db3036a71c6b5b870]
link notModel to item--><path d="M452.17,141.18 C452.17,175.1 452.17,225 452.17,225 C452.17,225 333.58,225 333.58,225 " fill="none" id="notModel-&gt;item" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="328.58,225,337.58,229,333.58,225,337.58,221,328.58,225" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="413.355" y="160.7959">use</text><!--MD5=[45d22c742d6ca4ee4ed0c669323ab99d]
link ListView to item--><path d="M154.54,129 C177.53,129 201.75,129 201.75,129 C201.75,129 201.75,195.78 201.75,195.78 " fill="none" id="ListView-&gt;item" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="201.75,200.78,205.75,191.78,201.75,195.78,197.75,191.78,201.75,200.78" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="162.5086" y="145.0583">use</text><!--MD5=[a2f20b68846aa24cad47924637d71002]
reverse link guiProv to notModel--><path d="M389.59,111 C389.59,111 404.93,111 404.93,111 " fill="none" id="guiProv&lt;-notModel" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="389.59,118,369.59,111,389.59,104,389.59,118" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[d1226cfbaa5780dbfbe69dc85b40e166]
link ListView to guiProv--><path d="M154.88,123 C154.88,123 257.15,123 257.15,123 " fill="none" id="ListView-&gt;guiProv" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="262.15,123,253.15,119,257.15,123,253.15,127,262.15,123" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="162.5733" y="120.811">use</text><!--MD5=[56cb9efb7196819d504bf43829945b14]
link guiProv to ListView--><path d="M262.4,118 C262.4,118 159.71,118 159.71,118 " fill="none" id="guiProv-&gt;ListView" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="154.71,118,163.71,122,159.71,118,163.71,114,154.71,118" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="231.4659" y="115.075">use</text><!--MD5=[df9263d49dbdfb2e675bf50546e3cf4a]
link notProvider to system--><path d="M811.25,134.63 C811.25,193.55 811.25,340 811.25,340 C811.25,340 717.38,340 717.38,340 " fill="none" id="notProvider-&gt;system" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="712.38,340,721.38,344,717.38,340,721.38,336,712.38,340" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="791.6016" y="154.4229">use</text><!--MD5=[ae59024bc5fade06f4c583ba815714fd]
link system to notModel--><path d="M593.59,340 C550.35,340 499.33,340 499.33,340 C499.33,340 499.33,146.45 499.33,146.45 " fill="none" id="system-&gt;notModel" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="499.33,141.45,495.33,150.45,499.33,146.45,503.33,150.45,499.33,141.45" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="562.8342" y="336.3192">use</text><!--MD5=[4bfc8cd5c990221cd6c2da8b316f9cad]
link model to View--><!--MD5=[6d4c19364a9a5f120976e898b31fda38]
link model to notProvider--><!--MD5=[b3883c7694b008f245271d3b3206b4cf]
@startuml
skinparam BackgroundColor F0F0F0
skinparam linetype ortho

node "Provider" as provider {


@@ 39,13 61,12 @@ model -[hidden]d- notProvider

@enduml

PlantUML version 1.2018.13(Mon Nov 26 18:11:51 CET 2018)
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.10+9-Ubuntu-0ubuntu1.20.04
Java Version: 11.0.12+7-post-Debian-2
Operating System: Linux
OS Version: 5.8.0-50-generic
Default Encoding: UTF-8
Language: en
Country: US

M module-apps/apps-common/notifications/doc/notifications_provider_owner_structure.puml => module-apps/apps-common/notifications/doc/notifications_provider_owner_structure.puml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0
  skinparam linetype ortho
node "OwnerService" as owner{
    class "ApplicationManager" as apm

M module-apps/apps-common/notifications/doc/notifications_provider_owner_structure.svg => module-apps/apps-common/notifications/doc/notifications_provider_owner_structure.svg +21 -4
@@ 1,5 1,23 @@
<?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="726px" preserveAspectRatio="none" style="width:678px;height:726px;" version="1.1" viewBox="0 0 678 726" width="678px" zoomAndPan="magnify"><defs><filter height="300%" id="fi6x1c1zfugla" 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><!--cluster owner--><polygon fill="#FFFFFF" filter="url(#fi6x1c1zfugla)" points="213.5,253,223.5,243,425.5,243,425.5,704,415.5,714,213.5,714,213.5,253" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="415.5" x2="424.5" y1="253" y2="244"/><line style="stroke: #000000; stroke-width: 1.5;" x1="213.5" x2="415.5" y1="253" y2="253"/><line style="stroke: #000000; stroke-width: 1.5;" x1="415.5" x2="415.5" y1="253" y2="714"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="112" x="259.5" y="268.9951">OwnerService</text><!--cluster provider--><polygon fill="#FFFFFF" filter="url(#fi6x1c1zfugla)" points="158.5,42,168.5,32,656.5,32,656.5,193,646.5,203,158.5,203,158.5,42" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="646.5" x2="655.5" y1="42" y2="33"/><line style="stroke: #000000; stroke-width: 1.5;" x1="158.5" x2="646.5" y1="42" y2="42"/><line style="stroke: #000000; stroke-width: 1.5;" x1="646.5" x2="646.5" y1="42" y2="203"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="67" x="370" y="57.9951">Provider</text><!--class apm--><rect fill="#FEFECE" filter="url(#fi6x1c1zfugla)" height="48" id="apm" style="stroke: #A80036; stroke-width: 1.5;" width="156" x="237.5" y="473"/><ellipse cx="252.5" cy="489" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M255.4688,494.6406 Q254.8906,494.9375 254.25,495.0781 Q253.6094,495.2344 252.9063,495.2344 Q250.4063,495.2344 249.0781,493.5938 Q247.7656,491.9375 247.7656,488.8125 Q247.7656,485.6875 249.0781,484.0313 Q250.4063,482.375 252.9063,482.375 Q253.6094,482.375 254.25,482.5313 Q254.9063,482.6875 255.4688,482.9844 L255.4688,485.7031 Q254.8438,485.125 254.25,484.8594 Q253.6563,484.5781 253.0313,484.5781 Q251.6875,484.5781 251,485.6563 Q250.3125,486.7188 250.3125,488.8125 Q250.3125,490.9063 251,491.9844 Q251.6875,493.0469 253.0313,493.0469 Q253.6563,493.0469 254.25,492.7813 Q254.8438,492.5 255.4688,491.9219 L255.4688,494.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="124" x="266.5" y="493.1543">ApplicationManager</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="238.5" x2="392.5" y1="505" y2="505"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="238.5" x2="392.5" y1="513" y2="513"/><!--class controller--><rect fill="#FEFECE" filter="url(#fi6x1c1zfugla)" height="60.8047" id="controller" style="stroke: #A80036; stroke-width: 1.5;" width="119" x="256" y="291"/><ellipse cx="271" cy="307" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M273.9688,312.6406 Q273.3906,312.9375 272.75,313.0781 Q272.1094,313.2344 271.4063,313.2344 Q268.9063,313.2344 267.5781,311.5938 Q266.2656,309.9375 266.2656,306.8125 Q266.2656,303.6875 267.5781,302.0313 Q268.9063,300.375 271.4063,300.375 Q272.1094,300.375 272.75,300.5313 Q273.4063,300.6875 273.9688,300.9844 L273.9688,303.7031 Q273.3438,303.125 272.75,302.8594 Q272.1563,302.5781 271.5313,302.5781 Q270.1875,302.5781 269.5,303.6563 Q268.8125,304.7188 268.8125,306.8125 Q268.8125,308.9063 269.5,309.9844 Q270.1875,311.0469 271.5313,311.0469 Q272.1563,311.0469 272.75,310.7813 Q273.3438,310.5 273.9688,309.9219 L273.9688,312.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="87" x="285" y="311.1543">APMController</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="257" x2="374" y1="323" y2="323"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="257" x2="374" y1="331" y2="331"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="82" x="262" y="345.2104">sendAction(...)</text><!--class serv--><rect fill="#FEFECE" filter="url(#fi6x1c1zfugla)" height="48" id="serv" style="stroke: #A80036; stroke-width: 1.5;" width="104" x="282.5" y="642"/><ellipse cx="297.5" cy="658" fill="#A9DCDF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M297.6094,653.3438 L296.4531,658.4219 L298.7813,658.4219 L297.6094,653.3438 Z M296.125,651.1094 L299.1094,651.1094 L302.4688,663.5 L300.0156,663.5 L299.25,660.4375 L295.9688,660.4375 L295.2188,663.5 L292.7813,663.5 L296.125,651.1094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="72" x="311.5" y="662.1543">sys::Service</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="283.5" x2="385.5" y1="674" y2="674"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="283.5" x2="385.5" y1="682" y2="682"/><!--class notProvider--><rect fill="#FEFECE" filter="url(#fi6x1c1zfugla)" height="99.2188" id="notProvider" style="stroke: #A80036; stroke-width: 1.5;" width="182" x="450.5" y="80"/><ellipse cx="478.1" cy="96" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M481.0688,101.6406 Q480.4906,101.9375 479.85,102.0781 Q479.2094,102.2344 478.5063,102.2344 Q476.0063,102.2344 474.6781,100.5938 Q473.3656,98.9375 473.3656,95.8125 Q473.3656,92.6875 474.6781,91.0313 Q476.0063,89.375 478.5063,89.375 Q479.2094,89.375 479.85,89.5313 Q480.5063,89.6875 481.0688,89.9844 L481.0688,92.7031 Q480.4438,92.125 479.85,91.8594 Q479.2563,91.5781 478.6313,91.5781 Q477.2875,91.5781 476.6,92.6563 Q475.9125,93.7188 475.9125,95.8125 Q475.9125,97.9063 476.6,98.9844 Q477.2875,100.0469 478.6313,100.0469 Q479.2563,100.0469 479.85,99.7813 Q480.4438,99.5 481.0688,98.9219 L481.0688,101.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="122" x="494.9" y="100.1543">NotificationProvider</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="451.5" x2="631.5" y1="112" y2="112"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="87" x="456.5" y="126.2104">ownerService *</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="451.5" x2="631.5" y1="132.8047" y2="132.8047"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="58" x="456.5" y="147.0151">handle(...)</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="36" x="456.5" y="159.8198">send()</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="170" x="456.5" y="172.6245">requestNotSeenNotifications()</text><!--class notifParams--><rect fill="#FEFECE" filter="url(#fi6x1c1zfugla)" height="48" id="notifParams" style="stroke: #A80036; stroke-width: 1.5;" width="213" x="202" y="105.5"/><ellipse cx="217" cy="121.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M219.9688,127.1406 Q219.3906,127.4375 218.75,127.5781 Q218.1094,127.7344 217.4063,127.7344 Q214.9063,127.7344 213.5781,126.0938 Q212.2656,124.4375 212.2656,121.3125 Q212.2656,118.1875 213.5781,116.5313 Q214.9063,114.875 217.4063,114.875 Q218.1094,114.875 218.75,115.0313 Q219.4063,115.1875 219.9688,115.4844 L219.9688,118.2031 Q219.3438,117.625 218.75,117.3594 Q218.1563,117.0781 217.5313,117.0781 Q216.1875,117.0781 215.5,118.1563 Q214.8125,119.2188 214.8125,121.3125 Q214.8125,123.4063 215.5,124.4844 Q216.1875,125.5469 217.5313,125.5469 Q218.1563,125.5469 218.75,125.2813 Q219.3438,125 219.9688,124.4219 L219.9688,127.1406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="181" x="231" y="125.6543">NotificationsChangedParams</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="414" y1="137.5" y2="137.5"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="414" y1="145.5" y2="145.5"/><!--class params--><rect fill="#FEFECE" filter="url(#fi6x1c1zfugla)" height="48" id="params" style="stroke: #A80036; stroke-width: 1.5;" width="125" x="6" y="105.5"/><ellipse cx="21" cy="121.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M23.9688,127.1406 Q23.3906,127.4375 22.75,127.5781 Q22.1094,127.7344 21.4063,127.7344 Q18.9063,127.7344 17.5781,126.0938 Q16.2656,124.4375 16.2656,121.3125 Q16.2656,118.1875 17.5781,116.5313 Q18.9063,114.875 21.4063,114.875 Q22.1094,114.875 22.75,115.0313 Q23.4063,115.1875 23.9688,115.4844 L23.9688,118.2031 Q23.3438,117.625 22.75,117.3594 Q22.1563,117.0781 21.5313,117.0781 Q20.1875,117.0781 19.5,118.1563 Q18.8125,119.2188 18.8125,121.3125 Q18.8125,123.4063 19.5,124.4844 Q20.1875,125.5469 21.5313,125.5469 Q22.1563,125.5469 22.75,125.2813 Q23.3438,125 23.9688,124.4219 L23.9688,127.1406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="93" x="35" y="125.6543">ActionsParams</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="130" y1="137.5" y2="137.5"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="130" y1="145.5" y2="145.5"/><!--link apm to serv--><path d="M334.5,521.21 C334.5,521.21 334.5,621.83 334.5,621.83 " fill="none" id="apm-serv" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="341.5,621.83,334.5,641.83,327.5,621.83,341.5,621.83" style="stroke: #A80036; stroke-width: 1.0;"/><!--link controller to apm--><path d="M315.5,352.07 C315.5,352.07 315.5,467.98 315.5,467.98 " fill="none" id="controller-apm" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="315.5,472.98,319.5,463.98,315.5,467.98,311.5,463.98,315.5,472.98" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="290.1281" y="372.0227">use</text><!--link notifParams to notProvider--><path d="M420.11,130 C420.11,130 450.27,130 450.27,130 " fill="none" id="notifParams-notProvider" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="415.11,130,424.11,134,420.11,130,424.11,126,415.11,130" style="stroke: #A80036; stroke-width: 1.0;"/><!--link provider to owner--><!--link notProvider to serv--><path d="M541.5,179.01 C541.5,311.83 541.5,666 541.5,666 C541.5,666 391.73,666 391.73,666 " fill="none" id="notProvider-serv" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="386.73,666,395.73,670,391.73,666,395.73,662,386.73,666" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="516.8109" y="199.4439">use</text><!--link notProvider to controller--><path d="M450.23,162 C387.51,162 315.5,162 315.5,162 C315.5,162 315.5,285.75 315.5,285.75 " fill="none" id="notProvider-controller" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="315.5,290.75,319.5,281.75,315.5,285.75,311.5,281.75,315.5,290.75" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="422.9943" y="161.7786">use</text><!--link params to controller--><path d="M68.5,158.88 C68.5,158.88 68.5,322 68.5,322 C68.5,322 182.61,322 255.71,322 " fill="none" id="params-controller" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="68.5,153.88,64.5,162.88,68.5,158.88,72.5,162.88,68.5,153.88" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="42.6969" y="173.7338">use</text><!--link notifParams to params--><path d="M201.83,117 C201.83,117 151.14,117 151.14,117 " fill="none" id="notifParams-params" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="151.14,124,131.14,117,151.14,110,151.14,124" style="stroke: #A80036; stroke-width: 1.0;"/><!--link apm to notProvider--><path d="M384.25,472.76 C384.25,397.21 384.25,171 384.25,171 C384.25,171 445.48,171 445.48,171 " fill="none" id="apm-notProvider" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="450.48,171,441.48,167,445.48,171,441.48,175,450.48,171" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="48" x="347.1578" y="462.1065">creates</text><!--
<?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="726px" preserveAspectRatio="none" style="width:678px;height:726px;background:#F0F0F0;" version="1.1" viewBox="0 0 678 726" width="678px" zoomAndPan="magnify"><defs><filter height="300%" id="fvaii4m476ovg" 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><!--MD5=[3ca9e735c0b7f202d6f5b2c01a367c29]
cluster owner--><polygon fill="#F0F0F0" filter="url(#fvaii4m476ovg)" points="213.5,253,223.5,243,425.5,243,425.5,704,415.5,714,213.5,714,213.5,253" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="415.5" x2="424.5" y1="253" y2="244"/><line style="stroke: #000000; stroke-width: 1.5;" x1="213.5" x2="415.5" y1="253" y2="253"/><line style="stroke: #000000; stroke-width: 1.5;" x1="415.5" x2="415.5" y1="253" y2="714"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="112" x="259.5" y="268.9951">OwnerService</text><!--MD5=[5004d6500a09f74171c07b5db3ac5e34]
cluster provider--><polygon fill="#F0F0F0" filter="url(#fvaii4m476ovg)" points="158.5,42,168.5,32,656.5,32,656.5,193,646.5,203,158.5,203,158.5,42" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="646.5" x2="655.5" y1="42" y2="33"/><line style="stroke: #000000; stroke-width: 1.5;" x1="158.5" x2="646.5" y1="42" y2="42"/><line style="stroke: #000000; stroke-width: 1.5;" x1="646.5" x2="646.5" y1="42" y2="203"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="67" x="370" y="57.9951">Provider</text><!--MD5=[9c71abf7e526916504e6976198840269]
class apm--><rect fill="#FEFECE" filter="url(#fvaii4m476ovg)" height="48" id="apm" style="stroke: #A80036; stroke-width: 1.5;" width="156" x="237.5" y="473"/><ellipse cx="252.5" cy="489" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M255.4688,494.6406 Q254.8906,494.9375 254.25,495.0781 Q253.6094,495.2344 252.9063,495.2344 Q250.4063,495.2344 249.0781,493.5938 Q247.7656,491.9375 247.7656,488.8125 Q247.7656,485.6875 249.0781,484.0313 Q250.4063,482.375 252.9063,482.375 Q253.6094,482.375 254.25,482.5313 Q254.9063,482.6875 255.4688,482.9844 L255.4688,485.7031 Q254.8438,485.125 254.25,484.8594 Q253.6563,484.5781 253.0313,484.5781 Q251.6875,484.5781 251,485.6563 Q250.3125,486.7188 250.3125,488.8125 Q250.3125,490.9063 251,491.9844 Q251.6875,493.0469 253.0313,493.0469 Q253.6563,493.0469 254.25,492.7813 Q254.8438,492.5 255.4688,491.9219 L255.4688,494.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="124" x="266.5" y="493.1543">ApplicationManager</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="238.5" x2="392.5" y1="505" y2="505"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="238.5" x2="392.5" y1="513" y2="513"/><!--MD5=[5cc94c21c9b2a581b186cea6c97dc43c]
class controller--><rect fill="#FEFECE" filter="url(#fvaii4m476ovg)" height="60.8047" id="controller" style="stroke: #A80036; stroke-width: 1.5;" width="119" x="256" y="291"/><ellipse cx="271" cy="307" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M273.9688,312.6406 Q273.3906,312.9375 272.75,313.0781 Q272.1094,313.2344 271.4063,313.2344 Q268.9063,313.2344 267.5781,311.5938 Q266.2656,309.9375 266.2656,306.8125 Q266.2656,303.6875 267.5781,302.0313 Q268.9063,300.375 271.4063,300.375 Q272.1094,300.375 272.75,300.5313 Q273.4063,300.6875 273.9688,300.9844 L273.9688,303.7031 Q273.3438,303.125 272.75,302.8594 Q272.1563,302.5781 271.5313,302.5781 Q270.1875,302.5781 269.5,303.6563 Q268.8125,304.7188 268.8125,306.8125 Q268.8125,308.9063 269.5,309.9844 Q270.1875,311.0469 271.5313,311.0469 Q272.1563,311.0469 272.75,310.7813 Q273.3438,310.5 273.9688,309.9219 L273.9688,312.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="87" x="285" y="311.1543">APMController</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="257" x2="374" y1="323" y2="323"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="257" x2="374" y1="331" y2="331"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="82" x="262" y="345.2104">sendAction(...)</text><!--MD5=[8df9f0bd20a770423a7189661f065206]
class serv--><rect fill="#FEFECE" filter="url(#fvaii4m476ovg)" height="48" id="serv" style="stroke: #A80036; stroke-width: 1.5;" width="102" x="284.5" y="642"/><ellipse cx="299.5" cy="658" fill="#A9DCDF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M299.6094,653.3438 L298.4531,658.4219 L300.7813,658.4219 L299.6094,653.3438 Z M298.125,651.1094 L301.1094,651.1094 L304.4688,663.5 L302.0156,663.5 L301.25,660.4375 L297.9688,660.4375 L297.2188,663.5 L294.7813,663.5 L298.125,651.1094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="70" x="313.5" y="662.1543">sys::Service</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="285.5" x2="385.5" y1="674" y2="674"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="285.5" x2="385.5" y1="682" y2="682"/><!--MD5=[72bec3090eb8c782b6549ec4e5d0b735]
class notProvider--><rect fill="#FEFECE" filter="url(#fvaii4m476ovg)" height="99.2188" id="notProvider" style="stroke: #A80036; stroke-width: 1.5;" width="182" x="450.5" y="80"/><ellipse cx="478.1" cy="96" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M481.0688,101.6406 Q480.4906,101.9375 479.85,102.0781 Q479.2094,102.2344 478.5063,102.2344 Q476.0063,102.2344 474.6781,100.5938 Q473.3656,98.9375 473.3656,95.8125 Q473.3656,92.6875 474.6781,91.0313 Q476.0063,89.375 478.5063,89.375 Q479.2094,89.375 479.85,89.5313 Q480.5063,89.6875 481.0688,89.9844 L481.0688,92.7031 Q480.4438,92.125 479.85,91.8594 Q479.2563,91.5781 478.6313,91.5781 Q477.2875,91.5781 476.6,92.6563 Q475.9125,93.7188 475.9125,95.8125 Q475.9125,97.9063 476.6,98.9844 Q477.2875,100.0469 478.6313,100.0469 Q479.2563,100.0469 479.85,99.7813 Q480.4438,99.5 481.0688,98.9219 L481.0688,101.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="122" x="494.9" y="100.1543">NotificationProvider</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="451.5" x2="631.5" y1="112" y2="112"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="86" x="456.5" y="126.2104">ownerService *</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="451.5" x2="631.5" y1="132.8047" y2="132.8047"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="58" x="456.5" y="147.0151">handle(...)</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="36" x="456.5" y="159.8198">send()</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="170" x="456.5" y="172.6245">requestNotSeenNotifications()</text><!--MD5=[6f928079e476b8128e07b5384699d9e3]
class notifParams--><rect fill="#FEFECE" filter="url(#fvaii4m476ovg)" height="48" id="notifParams" style="stroke: #A80036; stroke-width: 1.5;" width="213" x="202" y="105.5"/><ellipse cx="217" cy="121.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M219.9688,127.1406 Q219.3906,127.4375 218.75,127.5781 Q218.1094,127.7344 217.4063,127.7344 Q214.9063,127.7344 213.5781,126.0938 Q212.2656,124.4375 212.2656,121.3125 Q212.2656,118.1875 213.5781,116.5313 Q214.9063,114.875 217.4063,114.875 Q218.1094,114.875 218.75,115.0313 Q219.4063,115.1875 219.9688,115.4844 L219.9688,118.2031 Q219.3438,117.625 218.75,117.3594 Q218.1563,117.0781 217.5313,117.0781 Q216.1875,117.0781 215.5,118.1563 Q214.8125,119.2188 214.8125,121.3125 Q214.8125,123.4063 215.5,124.4844 Q216.1875,125.5469 217.5313,125.5469 Q218.1563,125.5469 218.75,125.2813 Q219.3438,125 219.9688,124.4219 L219.9688,127.1406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="181" x="231" y="125.6543">NotificationsChangedParams</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="414" y1="137.5" y2="137.5"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="414" y1="145.5" y2="145.5"/><!--MD5=[70e2152219c9402cc0542a88b9ed3a27]
class params--><rect fill="#FEFECE" filter="url(#fvaii4m476ovg)" height="48" id="params" style="stroke: #A80036; stroke-width: 1.5;" width="125" x="6" y="105.5"/><ellipse cx="21" cy="121.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M23.9688,127.1406 Q23.3906,127.4375 22.75,127.5781 Q22.1094,127.7344 21.4063,127.7344 Q18.9063,127.7344 17.5781,126.0938 Q16.2656,124.4375 16.2656,121.3125 Q16.2656,118.1875 17.5781,116.5313 Q18.9063,114.875 21.4063,114.875 Q22.1094,114.875 22.75,115.0313 Q23.4063,115.1875 23.9688,115.4844 L23.9688,118.2031 Q23.3438,117.625 22.75,117.3594 Q22.1563,117.0781 21.5313,117.0781 Q20.1875,117.0781 19.5,118.1563 Q18.8125,119.2188 18.8125,121.3125 Q18.8125,123.4063 19.5,124.4844 Q20.1875,125.5469 21.5313,125.5469 Q22.1563,125.5469 22.75,125.2813 Q23.3438,125 23.9688,124.4219 L23.9688,127.1406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="93" x="35" y="125.6543">ActionsParams</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="130" y1="137.5" y2="137.5"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="130" y1="145.5" y2="145.5"/><!--MD5=[7ef707c9377bc557f4138b82e1f39099]
link apm to serv--><path d="M335.5,521.21 C335.5,521.21 335.5,621.83 335.5,621.83 " fill="none" id="apm-&gt;serv" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="342.5,621.83,335.5,641.83,328.5,621.83,342.5,621.83" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[198d288db90c7aeb57c6671645850361]
link controller to apm--><path d="M315.5,352.07 C315.5,352.07 315.5,467.98 315.5,467.98 " fill="none" id="controller-&gt;apm" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="315.5,472.98,319.5,463.98,315.5,467.98,311.5,463.98,315.5,472.98" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="290.1281" y="372.0227">use</text><!--MD5=[920cf2f857559ffbc3f12c2e5227adde]
reverse link notifParams to notProvider--><path d="M420.11,130 C420.11,130 450.27,130 450.27,130 " fill="none" id="notifParams&lt;-notProvider" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="415.11,130,424.11,134,420.11,130,424.11,126,415.11,130" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[843dd261dcee4f9db171b8b35c755b55]
link provider to owner--><!--MD5=[f1fb4eb6759933d463737c15f3a77822]
link notProvider to serv--><path d="M541.5,179.01 C541.5,311.83 541.5,666 541.5,666 C541.5,666 391.69,666 391.69,666 " fill="none" id="notProvider-&gt;serv" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="386.69,666,395.69,670,391.69,666,395.69,662,386.69,666" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="516.8109" y="199.4439">use</text><!--MD5=[9f95b805c732dc993722ebfb046c16a6]
link notProvider to controller--><path d="M450.23,162 C387.51,162 315.5,162 315.5,162 C315.5,162 315.5,285.75 315.5,285.75 " fill="none" id="notProvider-&gt;controller" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="315.5,290.75,319.5,281.75,315.5,285.75,311.5,281.75,315.5,290.75" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="422.9943" y="161.7786">use</text><!--MD5=[84f5917073616aec548ccf602d9cc121]
reverse link params to controller--><path d="M68.5,158.88 C68.5,158.88 68.5,322 68.5,322 C68.5,322 182.61,322 255.71,322 " fill="none" id="params&lt;-controller" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="68.5,153.88,64.5,162.88,68.5,158.88,72.5,162.88,68.5,153.88" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="42.6969" y="173.7338">use</text><!--MD5=[20b5769c482c624ed783b2ebbe5fcf9d]
link notifParams to params--><path d="M201.83,117 C201.83,117 151.14,117 151.14,117 " fill="none" id="notifParams-&gt;params" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="151.14,124,131.14,117,151.14,110,151.14,124" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[6ea197ac3456e9519bcc174a9a48572d]
link apm to notProvider--><path d="M384.25,472.76 C384.25,397.21 384.25,171 384.25,171 C384.25,171 445.48,171 445.48,171 " fill="none" id="apm-&gt;notProvider" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="450.48,171,441.48,167,445.48,171,441.48,175,450.48,171" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="48" x="347.1578" y="462.1065">creates</text><!--MD5=[a291694f25ad092681ee2ae7d0aa7776]
@startuml
skinparam BackgroundColor F0F0F0
  skinparam linetype ortho
node "OwnerService" as owner{
    class "ApplicationManager" as apm


@@ 35,13 53,12 @@ apm "creates"..>notProvider

@enduml

PlantUML version 1.2018.13(Mon Nov 26 18:11:51 CET 2018)
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.10+9-Ubuntu-0ubuntu1.20.04
Java Version: 11.0.12+7-post-Debian-2
Operating System: Linux
OS Version: 5.8.0-50-generic
Default Encoding: UTF-8
Language: en
Country: US

M module-apps/apps-common/notifications/doc/notifications_provider_structure.puml => module-apps/apps-common/notifications/doc/notifications_provider_structure.puml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0
skinparam linetype ortho

node "Notifications" as notifs {

M module-apps/apps-common/notifications/doc/notifications_provider_structure.svg => module-apps/apps-common/notifications/doc/notifications_provider_structure.svg +18 -4
@@ 1,5 1,20 @@
<?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="606px" preserveAspectRatio="none" style="width:533px;height:606px;" version="1.1" viewBox="0 0 533 606" width="533px" zoomAndPan="magnify"><defs><filter height="300%" id="f7oo5deqisxn" 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><!--cluster notifs--><polygon fill="#FFFFFF" filter="url(#f7oo5deqisxn)" points="22,331,32,321,437,321,437,584,427,594,22,594,22,331" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="427" x2="436" y1="331" y2="322"/><line style="stroke: #000000; stroke-width: 1.5;" x1="22" x2="427" y1="331" y2="331"/><line style="stroke: #000000; stroke-width: 1.5;" x1="427" x2="427" y1="331" y2="594"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="98" x="176.5" y="346.9951">Notifications</text><!--cluster provider--><polygon fill="#FFFFFF" filter="url(#f7oo5deqisxn)" points="267,34,277,24,511,24,511,287,501,297,267,297,267,34" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="501" x2="510" y1="34" y2="25"/><line style="stroke: #000000; stroke-width: 1.5;" x1="267" x2="501" y1="34" y2="34"/><line style="stroke: #000000; stroke-width: 1.5;" x1="501" x2="501" y1="34" y2="297"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="67" x="351.5" y="49.9951">Provider</text><!--class notif--><rect fill="#FEFECE" filter="url(#f7oo5deqisxn)" height="48" id="notif" style="stroke: #A80036; stroke-width: 1.5;" width="103" x="308.5" y="530"/><ellipse cx="323.5" cy="546" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M326.4688,551.6406 Q325.8906,551.9375 325.25,552.0781 Q324.6094,552.2344 323.9063,552.2344 Q321.4063,552.2344 320.0781,550.5938 Q318.7656,548.9375 318.7656,545.8125 Q318.7656,542.6875 320.0781,541.0313 Q321.4063,539.375 323.9063,539.375 Q324.6094,539.375 325.25,539.5313 Q325.9063,539.6875 326.4688,539.9844 L326.4688,542.7031 Q325.8438,542.125 325.25,541.8594 Q324.6563,541.5781 324.0313,541.5781 Q322.6875,541.5781 322,542.6563 Q321.3125,543.7188 321.3125,545.8125 Q321.3125,547.9063 322,548.9844 Q322.6875,550.0469 324.0313,550.0469 Q324.6563,550.0469 325.25,549.7813 Q325.8438,549.5 326.4688,548.9219 L326.4688,551.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="71" x="337.5" y="550.1543">Notification</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="309.5" x2="410.5" y1="562" y2="562"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="309.5" x2="410.5" y1="570" y2="570"/><!--class smsNotif--><rect fill="#FEFECE" filter="url(#f7oo5deqisxn)" height="48" id="smsNotif" style="stroke: #A80036; stroke-width: 1.5;" width="174" x="38" y="361"/><ellipse cx="53" cy="377" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M55.9688,382.6406 Q55.3906,382.9375 54.75,383.0781 Q54.1094,383.2344 53.4063,383.2344 Q50.9063,383.2344 49.5781,381.5938 Q48.2656,379.9375 48.2656,376.8125 Q48.2656,373.6875 49.5781,372.0313 Q50.9063,370.375 53.4063,370.375 Q54.1094,370.375 54.75,370.5313 Q55.4063,370.6875 55.9688,370.9844 L55.9688,373.7031 Q55.3438,373.125 54.75,372.8594 Q54.1563,372.5781 53.5313,372.5781 Q52.1875,372.5781 51.5,373.6563 Q50.8125,374.7188 50.8125,376.8125 Q50.8125,378.9063 51.5,379.9844 Q52.1875,381.0469 53.5313,381.0469 Q54.1563,381.0469 54.75,380.7813 Q55.3438,380.5 55.9688,379.9219 L55.9688,382.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="142" x="67" y="381.1543">ConcreteNotification_A</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="39" x2="211" y1="393" y2="393"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="39" x2="211" y1="401" y2="401"/><!--class callNotif--><rect fill="#FEFECE" filter="url(#f7oo5deqisxn)" height="48" id="callNotif" style="stroke: #A80036; stroke-width: 1.5;" width="174" x="247" y="361"/><ellipse cx="262" cy="377" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M264.9688,382.6406 Q264.3906,382.9375 263.75,383.0781 Q263.1094,383.2344 262.4063,383.2344 Q259.9063,383.2344 258.5781,381.5938 Q257.2656,379.9375 257.2656,376.8125 Q257.2656,373.6875 258.5781,372.0313 Q259.9063,370.375 262.4063,370.375 Q263.1094,370.375 263.75,370.5313 Q264.4063,370.6875 264.9688,370.9844 L264.9688,373.7031 Q264.3438,373.125 263.75,372.8594 Q263.1563,372.5781 262.5313,372.5781 Q261.1875,372.5781 260.5,373.6563 Q259.8125,374.7188 259.8125,376.8125 Q259.8125,378.9063 260.5,379.9844 Q261.1875,381.0469 262.5313,381.0469 Q263.1563,381.0469 263.75,380.7813 Q264.3438,380.5 264.9688,379.9219 L264.9688,382.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="142" x="276" y="381.1543">ConcreteNotification_B</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="248" x2="420" y1="393" y2="393"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="248" x2="420" y1="401" y2="401"/><!--class notProvider--><rect fill="#FEFECE" filter="url(#f7oo5deqisxn)" height="48" id="notProvider" style="stroke: #A80036; stroke-width: 1.5;" width="154" x="297" y="233"/><ellipse cx="312" cy="249" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M314.9688,254.6406 Q314.3906,254.9375 313.75,255.0781 Q313.1094,255.2344 312.4063,255.2344 Q309.9063,255.2344 308.5781,253.5938 Q307.2656,251.9375 307.2656,248.8125 Q307.2656,245.6875 308.5781,244.0313 Q309.9063,242.375 312.4063,242.375 Q313.1094,242.375 313.75,242.5313 Q314.4063,242.6875 314.9688,242.9844 L314.9688,245.7031 Q314.3438,245.125 313.75,244.8594 Q313.1563,244.5781 312.5313,244.5781 Q311.1875,244.5781 310.5,245.6563 Q309.8125,246.7188 309.8125,248.8125 Q309.8125,250.9063 310.5,251.9844 Q311.1875,253.0469 312.5313,253.0469 Q313.1563,253.0469 313.75,252.7813 Q314.3438,252.5 314.9688,251.9219 L314.9688,254.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="122" x="326" y="253.1543">NotificationProvider</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="298" x2="450" y1="265" y2="265"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="298" x2="450" y1="273" y2="273"/><!--class params--><rect fill="#FEFECE" filter="url(#f7oo5deqisxn)" height="48" id="params" style="stroke: #A80036; stroke-width: 1.5;" width="213" x="282.5" y="64"/><ellipse cx="297.5" cy="80" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M300.4688,85.6406 Q299.8906,85.9375 299.25,86.0781 Q298.6094,86.2344 297.9063,86.2344 Q295.4063,86.2344 294.0781,84.5938 Q292.7656,82.9375 292.7656,79.8125 Q292.7656,76.6875 294.0781,75.0313 Q295.4063,73.375 297.9063,73.375 Q298.6094,73.375 299.25,73.5313 Q299.9063,73.6875 300.4688,73.9844 L300.4688,76.7031 Q299.8438,76.125 299.25,75.8594 Q298.6563,75.5781 298.0313,75.5781 Q296.6875,75.5781 296,76.6563 Q295.3125,77.7188 295.3125,79.8125 Q295.3125,81.9063 296,82.9844 Q296.6875,84.0469 298.0313,84.0469 Q298.6563,84.0469 299.25,83.7813 Q299.8438,83.5 300.4688,82.9219 L300.4688,85.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="181" x="311.5" y="84.1543">NotificationsChangedParams</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="283.5" x2="494.5" y1="96" y2="96"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="283.5" x2="494.5" y1="104" y2="104"/><!--link smsNotif to notif--><path d="M125,409.21 C125,455.94 125,554 125,554 C125,554 288.43,554 288.43,554 " fill="none" id="smsNotif-notif" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="288.43,547,308.43,554,288.43,561,288.43,547" style="stroke: #A80036; stroke-width: 1.0;"/><!--link callNotif to notif--><path d="M360,409.21 C360,409.21 360,509.83 360,509.83 " fill="none" id="callNotif-notif" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="367,509.83,360,529.83,353,509.83,367,509.83" style="stroke: #A80036; stroke-width: 1.0;"/><!--link params to notProvider--><path d="M374,117.21 C374,117.21 374,232.83 374,232.83 " fill="none" id="params-notProvider" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="374,112.21,370,121.21,374,117.21,378,121.21,374,112.21" style="stroke: #A80036; stroke-width: 1.0;"/><!--link notProvider to smsNotif--><path d="M296.92,257 C223.79,257 125,257 125,257 C125,257 125,355.92 125,355.92 " fill="none" id="notProvider-smsNotif" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="125,360.92,129,351.92,125,355.92,121,351.92,125,360.92" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="264.9863" y="253.4048">0..1</text><!--link notProvider to callNotif--><path d="M359,281.08 C359,281.08 359,355.6 359,355.6 " fill="none" id="notProvider-callNotif" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="359,360.6,363,351.6,359,355.6,355,351.6,359,360.6" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="328.0813" y="301.2563">0..1</text><!--link notProvider to notif--><path d="M436,294.14 C436,294.14 436,546 436,546 C436,546 425.09,546 411.53,546 " fill="none" id="notProvider-notif" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="436,281.14,432,287.14,436,293.14,440,287.14,436,281.14" style="stroke: #A80036; stroke-width: 1.0;"/><!--link params to notif--><path d="M473.25,125.16 C473.25,125.16 473.25,562 473.25,562 C473.25,562 424.65,562 424.65,562 " fill="none" id="params-notif" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="411.65,562,420.65,566,416.65,562,420.65,558,411.65,562" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="416.65" x2="424.65" y1="562" y2="562"/><polygon fill="#A80036" points="473.25,112.16,469.25,118.16,473.25,124.16,477.25,118.16,473.25,112.16" style="stroke: #A80036; stroke-width: 1.0;"/><!--
<?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="606px" preserveAspectRatio="none" style="width:533px;height:606px;background:#F0F0F0;" version="1.1" viewBox="0 0 533 606" width="533px" zoomAndPan="magnify"><defs><filter height="300%" id="f1hccylsreix23" 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><!--MD5=[d6fdfc3e909bebd573471e2252342da9]
cluster notifs--><polygon fill="#F0F0F0" filter="url(#f1hccylsreix23)" points="22,331,32,321,437,321,437,584,427,594,22,594,22,331" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="427" x2="436" y1="331" y2="322"/><line style="stroke: #000000; stroke-width: 1.5;" x1="22" x2="427" y1="331" y2="331"/><line style="stroke: #000000; stroke-width: 1.5;" x1="427" x2="427" y1="331" y2="594"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="98" x="176.5" y="346.9951">Notifications</text><!--MD5=[5004d6500a09f74171c07b5db3ac5e34]
cluster provider--><polygon fill="#F0F0F0" filter="url(#f1hccylsreix23)" points="267,34,277,24,511,24,511,287,501,297,267,297,267,34" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="501" x2="510" y1="34" y2="25"/><line style="stroke: #000000; stroke-width: 1.5;" x1="267" x2="501" y1="34" y2="34"/><line style="stroke: #000000; stroke-width: 1.5;" x1="501" x2="501" y1="34" y2="297"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="67" x="351.5" y="49.9951">Provider</text><!--MD5=[ad09bf1a4d7901f1995603af9a772d83]
class notif--><rect fill="#FEFECE" filter="url(#f1hccylsreix23)" height="48" id="notif" style="stroke: #A80036; stroke-width: 1.5;" width="103" x="308.5" y="530"/><ellipse cx="323.5" cy="546" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M326.4688,551.6406 Q325.8906,551.9375 325.25,552.0781 Q324.6094,552.2344 323.9063,552.2344 Q321.4063,552.2344 320.0781,550.5938 Q318.7656,548.9375 318.7656,545.8125 Q318.7656,542.6875 320.0781,541.0313 Q321.4063,539.375 323.9063,539.375 Q324.6094,539.375 325.25,539.5313 Q325.9063,539.6875 326.4688,539.9844 L326.4688,542.7031 Q325.8438,542.125 325.25,541.8594 Q324.6563,541.5781 324.0313,541.5781 Q322.6875,541.5781 322,542.6563 Q321.3125,543.7188 321.3125,545.8125 Q321.3125,547.9063 322,548.9844 Q322.6875,550.0469 324.0313,550.0469 Q324.6563,550.0469 325.25,549.7813 Q325.8438,549.5 326.4688,548.9219 L326.4688,551.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="71" x="337.5" y="550.1543">Notification</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="309.5" x2="410.5" y1="562" y2="562"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="309.5" x2="410.5" y1="570" y2="570"/><!--MD5=[91afbc77c7a7ea58910cf68aef0c5011]
class smsNotif--><rect fill="#FEFECE" filter="url(#f1hccylsreix23)" height="48" id="smsNotif" style="stroke: #A80036; stroke-width: 1.5;" width="174" x="38" y="361"/><ellipse cx="53" cy="377" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M55.9688,382.6406 Q55.3906,382.9375 54.75,383.0781 Q54.1094,383.2344 53.4063,383.2344 Q50.9063,383.2344 49.5781,381.5938 Q48.2656,379.9375 48.2656,376.8125 Q48.2656,373.6875 49.5781,372.0313 Q50.9063,370.375 53.4063,370.375 Q54.1094,370.375 54.75,370.5313 Q55.4063,370.6875 55.9688,370.9844 L55.9688,373.7031 Q55.3438,373.125 54.75,372.8594 Q54.1563,372.5781 53.5313,372.5781 Q52.1875,372.5781 51.5,373.6563 Q50.8125,374.7188 50.8125,376.8125 Q50.8125,378.9063 51.5,379.9844 Q52.1875,381.0469 53.5313,381.0469 Q54.1563,381.0469 54.75,380.7813 Q55.3438,380.5 55.9688,379.9219 L55.9688,382.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="142" x="67" y="381.1543">ConcreteNotification_A</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="39" x2="211" y1="393" y2="393"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="39" x2="211" y1="401" y2="401"/><!--MD5=[df63be66927b04b0d112a5de59f09fa4]
class callNotif--><rect fill="#FEFECE" filter="url(#f1hccylsreix23)" height="48" id="callNotif" style="stroke: #A80036; stroke-width: 1.5;" width="174" x="247" y="361"/><ellipse cx="262" cy="377" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M264.9688,382.6406 Q264.3906,382.9375 263.75,383.0781 Q263.1094,383.2344 262.4063,383.2344 Q259.9063,383.2344 258.5781,381.5938 Q257.2656,379.9375 257.2656,376.8125 Q257.2656,373.6875 258.5781,372.0313 Q259.9063,370.375 262.4063,370.375 Q263.1094,370.375 263.75,370.5313 Q264.4063,370.6875 264.9688,370.9844 L264.9688,373.7031 Q264.3438,373.125 263.75,372.8594 Q263.1563,372.5781 262.5313,372.5781 Q261.1875,372.5781 260.5,373.6563 Q259.8125,374.7188 259.8125,376.8125 Q259.8125,378.9063 260.5,379.9844 Q261.1875,381.0469 262.5313,381.0469 Q263.1563,381.0469 263.75,380.7813 Q264.3438,380.5 264.9688,379.9219 L264.9688,382.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="142" x="276" y="381.1543">ConcreteNotification_B</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="248" x2="420" y1="393" y2="393"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="248" x2="420" y1="401" y2="401"/><!--MD5=[72bec3090eb8c782b6549ec4e5d0b735]
class notProvider--><rect fill="#FEFECE" filter="url(#f1hccylsreix23)" height="48" id="notProvider" style="stroke: #A80036; stroke-width: 1.5;" width="154" x="297" y="233"/><ellipse cx="312" cy="249" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M314.9688,254.6406 Q314.3906,254.9375 313.75,255.0781 Q313.1094,255.2344 312.4063,255.2344 Q309.9063,255.2344 308.5781,253.5938 Q307.2656,251.9375 307.2656,248.8125 Q307.2656,245.6875 308.5781,244.0313 Q309.9063,242.375 312.4063,242.375 Q313.1094,242.375 313.75,242.5313 Q314.4063,242.6875 314.9688,242.9844 L314.9688,245.7031 Q314.3438,245.125 313.75,244.8594 Q313.1563,244.5781 312.5313,244.5781 Q311.1875,244.5781 310.5,245.6563 Q309.8125,246.7188 309.8125,248.8125 Q309.8125,250.9063 310.5,251.9844 Q311.1875,253.0469 312.5313,253.0469 Q313.1563,253.0469 313.75,252.7813 Q314.3438,252.5 314.9688,251.9219 L314.9688,254.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="122" x="326" y="253.1543">NotificationProvider</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="298" x2="450" y1="265" y2="265"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="298" x2="450" y1="273" y2="273"/><!--MD5=[70e2152219c9402cc0542a88b9ed3a27]
class params--><rect fill="#FEFECE" filter="url(#f1hccylsreix23)" height="48" id="params" style="stroke: #A80036; stroke-width: 1.5;" width="213" x="282.5" y="64"/><ellipse cx="297.5" cy="80" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M300.4688,85.6406 Q299.8906,85.9375 299.25,86.0781 Q298.6094,86.2344 297.9063,86.2344 Q295.4063,86.2344 294.0781,84.5938 Q292.7656,82.9375 292.7656,79.8125 Q292.7656,76.6875 294.0781,75.0313 Q295.4063,73.375 297.9063,73.375 Q298.6094,73.375 299.25,73.5313 Q299.9063,73.6875 300.4688,73.9844 L300.4688,76.7031 Q299.8438,76.125 299.25,75.8594 Q298.6563,75.5781 298.0313,75.5781 Q296.6875,75.5781 296,76.6563 Q295.3125,77.7188 295.3125,79.8125 Q295.3125,81.9063 296,82.9844 Q296.6875,84.0469 298.0313,84.0469 Q298.6563,84.0469 299.25,83.7813 Q299.8438,83.5 300.4688,82.9219 L300.4688,85.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="181" x="311.5" y="84.1543">NotificationsChangedParams</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="283.5" x2="494.5" y1="96" y2="96"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="283.5" x2="494.5" y1="104" y2="104"/><!--MD5=[ca4804b4eaa3a60d8e6e4a96ce0fef99]
link smsNotif to notif--><path d="M125,409.21 C125,455.94 125,554 125,554 C125,554 288.43,554 288.43,554 " fill="none" id="smsNotif-&gt;notif" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="288.43,547,308.43,554,288.43,561,288.43,547" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[6503919929c46d70433b5b7f439fe288]
link callNotif to notif--><path d="M360,409.21 C360,409.21 360,509.83 360,509.83 " fill="none" id="callNotif-&gt;notif" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="367,509.83,360,529.83,353,509.83,367,509.83" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[fd660034578a0771f6e9c73670f19683]
reverse link params to notProvider--><path d="M374,117.21 C374,117.21 374,232.83 374,232.83 " fill="none" id="params&lt;-notProvider" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="374,112.21,370,121.21,374,117.21,378,121.21,374,112.21" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[635b7e831a1a0bd1277b264f31d92628]
link notProvider to smsNotif--><path d="M296.92,257 C223.79,257 125,257 125,257 C125,257 125,355.92 125,355.92 " fill="none" id="notProvider-&gt;smsNotif" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="125,360.92,129,351.92,125,355.92,121,351.92,125,360.92" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="264.9863" y="253.4048">0..1</text><!--MD5=[e7a8bc9e6c2c203ab63ea6413e597674]
link notProvider to callNotif--><path d="M359,281.08 C359,281.08 359,355.6 359,355.6 " fill="none" id="notProvider-&gt;callNotif" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="359,360.6,363,351.6,359,355.6,355,351.6,359,360.6" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="328.0813" y="301.2563">0..1</text><!--MD5=[268753d24f1610a21f0335c393c95933]
reverse link notProvider to notif--><path d="M436,294.14 C436,294.14 436,546 436,546 C436,546 425.09,546 411.53,546 " fill="none" id="notProvider&lt;-notif" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="436,281.14,432,287.14,436,293.14,440,287.14,436,281.14" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[b417957445170c9b036b1edff9fd4680]
link params to notif--><path d="M473.25,124.16 C473.25,124.16 473.25,562 473.25,562 C473.25,562 424.65,562 424.65,562 " fill="none" id="params-notif" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="411.65,562,420.65,566,416.65,562,420.65,558,411.65,562" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="416.65" x2="424.65" y1="562" y2="562"/><polygon fill="#A80036" points="473.25,112.16,469.25,118.16,473.25,124.16,477.25,118.16,473.25,112.16" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[cffc1e08ac504cd0fed4b9c91d0c5e9a]
@startuml
skinparam BackgroundColor F0F0F0
skinparam linetype ortho

node "Notifications" as notifs {


@@ 27,13 42,12 @@ params *- ->notif

@enduml

PlantUML version 1.2018.13(Mon Nov 26 18:11:51 CET 2018)
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.11+9-Ubuntu-0ubuntu2.20.04
Java Version: 11.0.12+7-post-Debian-2
Operating System: Linux
OS Version: 5.8.0-50-generic
Default Encoding: UTF-8
Language: en
Country: US

M module-bluetooth/bt_hsp_incoming_connection_establishment.puml => module-bluetooth/bt_hsp_incoming_connection_establishment.puml +2 -1
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0

participant "Bluetooth Headset" as HS
participant "Pure Phone" as AG


@@ 12,4 13,4 @@ participant "Pure Phone" as AG
    HS -> AG : AT+CKPD=200
    AG -> HS : OK
    AG -> HS : SCO link establishment    
@enduml
\ No newline at end of file
@enduml

M module-bluetooth/bt_hsp_incoming_connection_establishment.svg => module-bluetooth/bt_hsp_incoming_connection_establishment.svg +4 -4
@@ 1,5 1,6 @@
<?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="301px" preserveAspectRatio="none" style="width:412px;height:301px;" version="1.1" viewBox="0 0 412 301" width="412px" zoomAndPan="magnify"><defs><filter height="300%" id="fcrkdomc6dxrv" 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(#fcrkdomc6dxrv)" height="58.2656" style="stroke: #FFFFFF; stroke-width: 1.0;" width="10" x="150" y="48.2969"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="150" x2="150" y1="48.2969" y2="106.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="160" x2="160" y1="48.2969" y2="106.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="150" x2="160" y1="48.2969" y2="48.2969"/><rect fill="#FFFFFF" filter="url(#fcrkdomc6dxrv)" height="117.5313" style="stroke: #FFFFFF; stroke-width: 1.0;" width="10" x="150" y="134.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="150" x2="150" y1="134.5625" y2="252.0938"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="160" x2="160" y1="134.5625" y2="252.0938"/><rect fill="#FFFFFF" filter="url(#fcrkdomc6dxrv)" height="58.2656" style="stroke: #FFFFFF; stroke-width: 1.0;" width="10" x="351" y="48.2969"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="351" x2="351" y1="48.2969" y2="106.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="361" x2="361" y1="48.2969" y2="106.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="351" x2="361" y1="48.2969" y2="48.2969"/><rect fill="#FFFFFF" filter="url(#fcrkdomc6dxrv)" height="117.5313" style="stroke: #FFFFFF; stroke-width: 1.0;" width="10" x="351" y="134.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="351" x2="351" y1="134.5625" y2="252.0938"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="361" x2="361" y1="134.5625" y2="252.0938"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="155" x2="155" y1="38.2969" y2="106.5625"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="155" x2="155" y1="106.5625" y2="134.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="155" x2="155" y1="134.5625" y2="261.0938"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="355.5" x2="355.5" y1="38.2969" y2="106.5625"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="355.5" x2="355.5" y1="106.5625" y2="134.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="355.5" x2="355.5" y1="134.5625" y2="261.0938"/><rect fill="#FEFECE" filter="url(#fcrkdomc6dxrv)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="144" x="81" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="130" x="88" y="22.9951">Bluetooth Headset</text><rect fill="#FEFECE" filter="url(#fcrkdomc6dxrv)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="144" x="81" y="260.0938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="130" x="88" y="280.0889">Bluetooth Headset</text><rect fill="#FEFECE" filter="url(#fcrkdomc6dxrv)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="95" x="306.5" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="81" x="313.5" y="22.9951">Pure Phone</text><rect fill="#FEFECE" filter="url(#fcrkdomc6dxrv)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="95" x="306.5" y="260.0938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="81" x="313.5" y="280.0889">Pure Phone</text><rect fill="#FFFFFF" filter="url(#fcrkdomc6dxrv)" height="58.2656" style="stroke: #FFFFFF; stroke-width: 1.0;" width="10" x="150" y="48.2969"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="150" x2="150" y1="48.2969" y2="106.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="160" x2="160" y1="48.2969" y2="106.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="150" x2="160" y1="48.2969" y2="48.2969"/><rect fill="#FFFFFF" filter="url(#fcrkdomc6dxrv)" height="117.5313" style="stroke: #FFFFFF; stroke-width: 1.0;" width="10" x="150" y="134.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="150" x2="150" y1="134.5625" y2="252.0938"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="160" x2="160" y1="134.5625" y2="252.0938"/><rect fill="#FFFFFF" filter="url(#fcrkdomc6dxrv)" height="58.2656" style="stroke: #FFFFFF; stroke-width: 1.0;" width="10" x="351" y="48.2969"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="351" x2="351" y1="48.2969" y2="106.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="361" x2="361" y1="48.2969" y2="106.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="351" x2="361" y1="48.2969" y2="48.2969"/><rect fill="#FFFFFF" filter="url(#fcrkdomc6dxrv)" height="117.5313" style="stroke: #FFFFFF; stroke-width: 1.0;" width="10" x="351" y="134.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="351" x2="351" y1="134.5625" y2="252.0938"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="361" x2="361" y1="134.5625" y2="252.0938"/><polygon fill="#A80036" points="171,65.4297,161,69.4297,171,73.4297,167,69.4297" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="165" x2="350" y1="69.4297" y2="69.4297"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="167" x="177" y="64.3638">Connection establishment</text><polygon fill="#A80036" points="171,94.5625,161,98.5625,171,102.5625,167,98.5625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="165" x2="350" y1="98.5625" y2="98.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="27" x="177" y="93.4966">Ring</text><polygon fill="#A80036" points="138,151.6953,148,155.6953,138,159.6953,142,155.6953" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="3" x2="144" y1="155.6953" y2="155.6953"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="10" y="150.6294">User initiated action</text><polygon fill="#A80036" points="339,180.8281,349,184.8281,339,188.8281,343,184.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="160" x2="345" y1="184.8281" y2="184.8281"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="97" x="167" y="179.7622">AT+CKPD=200</text><polygon fill="#A80036" points="171,209.9609,161,213.9609,171,217.9609,167,213.9609" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="165" x2="350" y1="213.9609" y2="213.9609"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="18" x="177" y="208.895">OK</text><polygon fill="#A80036" points="171,239.0938,161,243.0938,171,247.0938,167,243.0938" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="165" x2="350" y1="243.0938" y2="243.0938"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="148" x="177" y="238.0278">SCO link establishment</text><!--
<?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="301px" preserveAspectRatio="none" style="width:412px;height:301px;background:#F0F0F0;" version="1.1" viewBox="0 0 412 301" width="412px" zoomAndPan="magnify"><defs><filter height="300%" id="f1ojl419us0b2p" 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(#f1ojl419us0b2p)" height="58.2656" style="stroke: #FFFFFF; stroke-width: 1.0;" width="10" x="150" y="48.2969"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="150" x2="150" y1="48.2969" y2="106.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="160" x2="160" y1="48.2969" y2="106.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="150" x2="160" y1="48.2969" y2="48.2969"/><rect fill="#FFFFFF" filter="url(#f1ojl419us0b2p)" height="117.5313" style="stroke: #FFFFFF; stroke-width: 1.0;" width="10" x="150" y="134.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="150" x2="150" y1="134.5625" y2="252.0938"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="160" x2="160" y1="134.5625" y2="252.0938"/><rect fill="#FFFFFF" filter="url(#f1ojl419us0b2p)" height="58.2656" style="stroke: #FFFFFF; stroke-width: 1.0;" width="10" x="351" y="48.2969"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="351" x2="351" y1="48.2969" y2="106.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="361" x2="361" y1="48.2969" y2="106.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="351" x2="361" y1="48.2969" y2="48.2969"/><rect fill="#FFFFFF" filter="url(#f1ojl419us0b2p)" height="117.5313" style="stroke: #FFFFFF; stroke-width: 1.0;" width="10" x="351" y="134.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="351" x2="351" y1="134.5625" y2="252.0938"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="361" x2="361" y1="134.5625" y2="252.0938"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="155" x2="155" y1="38.2969" y2="106.5625"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="155" x2="155" y1="106.5625" y2="134.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="155" x2="155" y1="134.5625" y2="261.0938"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="355.5" x2="355.5" y1="38.2969" y2="106.5625"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="355.5" x2="355.5" y1="106.5625" y2="134.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="355.5" x2="355.5" y1="134.5625" y2="261.0938"/><rect fill="#FEFECE" filter="url(#f1ojl419us0b2p)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="144" x="81" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="130" x="88" y="22.9951">Bluetooth Headset</text><rect fill="#FEFECE" filter="url(#f1ojl419us0b2p)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="144" x="81" y="260.0938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="130" x="88" y="280.0889">Bluetooth Headset</text><rect fill="#FEFECE" filter="url(#f1ojl419us0b2p)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="95" x="306.5" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="81" x="313.5" y="22.9951">Pure Phone</text><rect fill="#FEFECE" filter="url(#f1ojl419us0b2p)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="95" x="306.5" y="260.0938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="81" x="313.5" y="280.0889">Pure Phone</text><rect fill="#FFFFFF" filter="url(#f1ojl419us0b2p)" height="58.2656" style="stroke: #FFFFFF; stroke-width: 1.0;" width="10" x="150" y="48.2969"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="150" x2="150" y1="48.2969" y2="106.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="160" x2="160" y1="48.2969" y2="106.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="150" x2="160" y1="48.2969" y2="48.2969"/><rect fill="#FFFFFF" filter="url(#f1ojl419us0b2p)" height="117.5313" style="stroke: #FFFFFF; stroke-width: 1.0;" width="10" x="150" y="134.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="150" x2="150" y1="134.5625" y2="252.0938"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="160" x2="160" y1="134.5625" y2="252.0938"/><rect fill="#FFFFFF" filter="url(#f1ojl419us0b2p)" height="58.2656" style="stroke: #FFFFFF; stroke-width: 1.0;" width="10" x="351" y="48.2969"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="351" x2="351" y1="48.2969" y2="106.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="361" x2="361" y1="48.2969" y2="106.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="351" x2="361" y1="48.2969" y2="48.2969"/><rect fill="#FFFFFF" filter="url(#f1ojl419us0b2p)" height="117.5313" style="stroke: #FFFFFF; stroke-width: 1.0;" width="10" x="351" y="134.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="351" x2="351" y1="134.5625" y2="252.0938"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="361" x2="361" y1="134.5625" y2="252.0938"/><polygon fill="#A80036" points="171,65.4297,161,69.4297,171,73.4297,167,69.4297" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="165" x2="350" y1="69.4297" y2="69.4297"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="167" x="177" y="64.3638">Connection establishment</text><polygon fill="#A80036" points="171,94.5625,161,98.5625,171,102.5625,167,98.5625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="165" x2="350" y1="98.5625" y2="98.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="27" x="177" y="93.4966">Ring</text><polygon fill="#A80036" points="138,151.6953,148,155.6953,138,159.6953,142,155.6953" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="3" x2="144" y1="155.6953" y2="155.6953"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="10" y="150.6294">User initiated action</text><polygon fill="#A80036" points="339,180.8281,349,184.8281,339,188.8281,343,184.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="160" x2="345" y1="184.8281" y2="184.8281"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="97" x="167" y="179.7622">AT+CKPD=200</text><polygon fill="#A80036" points="171,209.9609,161,213.9609,171,217.9609,167,213.9609" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="165" x2="350" y1="213.9609" y2="213.9609"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="18" x="177" y="208.895">OK</text><polygon fill="#A80036" points="171,239.0938,161,243.0938,171,247.0938,167,243.0938" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="165" x2="350" y1="243.0938" y2="243.0938"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="148" x="177" y="238.0278">SCO link establishment</text><!--MD5=[5341ca56ae39f96f7fcb3a0d5b450941]
@startuml
skinparam BackgroundColor F0F0F0

participant "Bluetooth Headset" as HS
participant "Pure Phone" as AG


@@ 15,13 16,12 @@ participant "Pure Phone" as AG
    AG -> HS : SCO link establishment    
@enduml

PlantUML version 1.2018.13(Mon Nov 26 18:11:51 CET 2018)
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.10+9-Ubuntu-0ubuntu1.20.04
Java Version: 11.0.12+7-post-Debian-2
Operating System: Linux
OS Version: 5.8.0-50-generic
Default Encoding: UTF-8
Language: en
Country: US

M module-bluetooth/bt_hsp_ring_handler.puml => module-bluetooth/bt_hsp_ring_handler.puml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0
start
note right
    Ringing

M module-bluetooth/bt_hsp_ring_handler.svg => module-bluetooth/bt_hsp_ring_handler.svg +4 -4
@@ 1,5 1,6 @@
<?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="360px" preserveAspectRatio="none" style="width:237px;height:360px;" version="1.1" viewBox="0 0 237 360" width="237px" zoomAndPan="magnify"><defs><filter height="300%" id="f1j9yvllgez01x" 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><path d="M147.5,10 L147.5,18.5664 L127.5,22.5664 L147.5,26.5664 L147.5,35.1328 A0,0 0 0 0 147.5,35.1328 L214.5,35.1328 A0,0 0 0 0 214.5,35.1328 L214.5,20 L204.5,10 L147.5,10 A0,0 0 0 0 147.5,10 " fill="#FBFB77" filter="url(#f1j9yvllgez01x)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M204.5,10 L204.5,20 L214.5,20 L204.5,10 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="153.5" y="27.0669">Ringing</text><ellipse cx="117.5" cy="22.5664" fill="#000000" filter="url(#f1j9yvllgez01x)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#f1j9yvllgez01x)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="147" x="44" y="159.2456"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="127" x="54" y="180.3843">SCO link established</text><polygon fill="#FEFECE" filter="url(#f1j9yvllgez01x)" points="79.5,110.8433,155.5,110.8433,167.5,122.8433,155.5,134.8433,79.5,134.8433,67.5,122.8433,79.5,110.8433" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="121.5" y="145.0537">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="76" x="79.5" y="126.6514">Answer a call</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="167.5" y="120.249">no</text><polygon fill="#FEFECE" filter="url(#f1j9yvllgez01x)" points="74,55.1328,161,55.1328,173,67.1328,161,79.1328,74,79.1328,62,67.1328,74,55.1328" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="121.5" y="89.3433">no</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="87" x="74" y="70.9409">Call terminated</text><rect fill="#FEFECE" filter="url(#f1j9yvllgez01x)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="99" x="68" y="275.2144"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="79" x="78" y="296.353">Stop Ringing</text><ellipse cx="117.5" cy="339.1831" fill="none" filter="url(#f1j9yvllgez01x)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="118" cy="339.6831" fill="#000000" filter="url(#f1j9yvllgez01x)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="117.5" x2="117.5" y1="193.2144" y2="207.2144"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="117.5" x2="24" y1="207.2144" y2="207.2144"/><polygon fill="#A80036" points="34,203.2144,24,207.2144,34,211.2144,30,207.2144" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="117.5" x2="117.5" y1="134.8433" y2="159.2456"/><polygon fill="#A80036" points="113.5,149.2456,117.5,159.2456,121.5,149.2456,117.5,153.2456" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="167.5" x2="225" y1="122.8433" y2="122.8433"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="225" x2="225" y1="67.1328" y2="122.8433"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="225" x2="173" y1="67.1328" y2="67.1328"/><polygon fill="#A80036" points="183,63.1328,173,67.1328,183,71.1328,179,67.1328" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="117.5" x2="117.5" y1="79.1328" y2="110.8433"/><polygon fill="#A80036" points="113.5,100.8433,117.5,110.8433,121.5,100.8433,117.5,104.8433" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="62" x2="24" y1="67.1328" y2="67.1328"/><polygon fill="#A80036" points="20,162.3276,24,172.3276,28,162.3276,24,166.3276" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="24" x2="24" y1="67.1328" y2="255.2144"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="24" x2="117.5" y1="255.2144" y2="255.2144"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="117.5" x2="117.5" y1="255.2144" y2="275.2144"/><polygon fill="#A80036" points="113.5,265.2144,117.5,275.2144,121.5,265.2144,117.5,269.2144" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="117.5" x2="117.5" y1="32.5664" y2="55.1328"/><polygon fill="#A80036" points="113.5,45.1328,117.5,55.1328,121.5,45.1328,117.5,49.1328" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="117.5" x2="117.5" y1="309.1831" y2="329.1831"/><polygon fill="#A80036" points="113.5,319.1831,117.5,329.1831,121.5,319.1831,117.5,323.1831" style="stroke: #A80036; stroke-width: 1.0;"/><!--
<?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="362px" preserveAspectRatio="none" style="width:237px;height:362px;background:#F0F0F0;" version="1.1" viewBox="0 0 237 362" width="237px" zoomAndPan="magnify"><defs><filter height="300%" id="fopi8trgpo6gf" 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><path d="M147.5,10 L147.5,18.5664 L127.5,22.5664 L147.5,26.5664 L147.5,35.1328 A0,0 0 0 0 147.5,35.1328 L214.5,35.1328 A0,0 0 0 0 214.5,35.1328 L214.5,20 L204.5,10 L147.5,10 A0,0 0 0 0 147.5,10 " fill="#FBFB77" filter="url(#fopi8trgpo6gf)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M204.5,10 L204.5,20 L214.5,20 L204.5,10 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="153.5" y="27.0669">Ringing</text><ellipse cx="117.5" cy="22.5664" fill="#000000" filter="url(#fopi8trgpo6gf)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#fopi8trgpo6gf)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="147" x="44" y="159.2456"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="127" x="54" y="180.3843">SCO link established</text><polygon fill="#FEFECE" filter="url(#fopi8trgpo6gf)" points="80.5,110.8433,154.5,110.8433,166.5,122.8433,154.5,134.8433,80.5,134.8433,68.5,122.8433,80.5,110.8433" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="121.5" y="145.0537">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="74" x="80.5" y="126.6514">Answer a call</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="166.5" y="120.249">no</text><polygon fill="#FEFECE" filter="url(#fopi8trgpo6gf)" points="74.5,55.1328,160.5,55.1328,172.5,67.1328,160.5,79.1328,74.5,79.1328,62.5,67.1328,74.5,55.1328" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="121.5" y="89.3433">no</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="86" x="74.5" y="70.9409">Call terminated</text><rect fill="#FEFECE" filter="url(#fopi8trgpo6gf)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="99" x="68" y="275.2144"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="79" x="78" y="296.353">Stop Ringing</text><ellipse cx="117.5" cy="340.1831" fill="#FFFFFF" filter="url(#fopi8trgpo6gf)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="117.5" cy="340.1831" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="117.5" x2="117.5" y1="193.2144" y2="207.2144"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="117.5" x2="24" y1="207.2144" y2="207.2144"/><polygon fill="#A80036" points="34,203.2144,24,207.2144,34,211.2144,30,207.2144" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="117.5" x2="117.5" y1="134.8433" y2="159.2456"/><polygon fill="#A80036" points="113.5,149.2456,117.5,159.2456,121.5,149.2456,117.5,153.2456" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="166.5" x2="225" y1="122.8433" y2="122.8433"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="225" x2="225" y1="67.1328" y2="122.8433"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="225" x2="172.5" y1="67.1328" y2="67.1328"/><polygon fill="#A80036" points="182.5,63.1328,172.5,67.1328,182.5,71.1328,178.5,67.1328" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="117.5" x2="117.5" y1="79.1328" y2="110.8433"/><polygon fill="#A80036" points="113.5,100.8433,117.5,110.8433,121.5,100.8433,117.5,104.8433" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="62.5" x2="24" y1="67.1328" y2="67.1328"/><polygon fill="#A80036" points="20,162.3276,24,172.3276,28,162.3276,24,166.3276" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="24" x2="24" y1="67.1328" y2="255.2144"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="24" x2="117.5" y1="255.2144" y2="255.2144"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="117.5" x2="117.5" y1="255.2144" y2="275.2144"/><polygon fill="#A80036" points="113.5,265.2144,117.5,275.2144,121.5,265.2144,117.5,269.2144" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="117.5" x2="117.5" y1="32.5664" y2="55.1328"/><polygon fill="#A80036" points="113.5,45.1328,117.5,55.1328,121.5,45.1328,117.5,49.1328" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="117.5" x2="117.5" y1="309.1831" y2="329.1831"/><polygon fill="#A80036" points="113.5,319.1831,117.5,329.1831,121.5,319.1831,117.5,323.1831" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[7d93f955655a9cc8777686abb9ad7007]
@startuml
skinparam BackgroundColor F0F0F0
start
note right
    Ringing


@@ 15,13 16,12 @@ endwhile
stop
@enduml

PlantUML version 1.2018.13(Mon Nov 26 18:11:51 CET 2018)
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.10+9-Ubuntu-0ubuntu1.20.04
Java Version: 11.0.12+7-post-Debian-2
Operating System: Linux
OS Version: 5.8.0-50-generic
Default Encoding: UTF-8
Language: en
Country: US

M module-bluetooth/bt_hsp_ring_trigger.puml => module-bluetooth/bt_hsp_ring_trigger.puml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0
start
note right
    Call incoming

M module-bluetooth/bt_hsp_ring_trigger.svg => module-bluetooth/bt_hsp_ring_trigger.svg +4 -4
@@ 1,5 1,6 @@
<?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="448px" preserveAspectRatio="none" style="width:263px;height:448px;" version="1.1" viewBox="0 0 263 448" width="263px" zoomAndPan="magnify"><defs><filter height="300%" id="fxo3rzh2br75o" 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><path d="M145,10 L145,18.5664 L125,22.5664 L145,26.5664 L145,35.1328 A0,0 0 0 0 145,35.1328 L251,35.1328 A0,0 0 0 0 251,35.1328 L251,20 L241,10 L145,10 A0,0 0 0 0 145,10 " fill="#FBFB77" filter="url(#fxo3rzh2br75o)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M241,10 L241,20 L251,20 L241,10 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="151" y="27.0669">Call incoming</text><ellipse cx="115" cy="22.5664" fill="#000000" filter="url(#fxo3rzh2br75o)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#fxo3rzh2br75o)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="115" x="57.5" y="55.1328"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="95" x="67.5" y="76.2715">Service Cellular</text><rect fill="#FEFECE" filter="url(#fxo3rzh2br75o)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="114" x="58" y="109.1016"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="94" x="68" y="130.2402">Application call</text><rect fill="#FEFECE" filter="url(#fxo3rzh2br75o)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="104" x="63" y="163.0703"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="84" x="73" y="184.209">Service Audio</text><rect fill="#FEFECE" filter="url(#fxo3rzh2br75o)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="130" x="50" y="217.0391"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="110" x="60" y="238.1777">Service Bluetooth</text><rect fill="#FEFECE" filter="url(#fxo3rzh2br75o)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="47" x="91.5" y="319.4102"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="27" x="101.5" y="340.5488">Ring</text><polygon fill="#FEFECE" filter="url(#fxo3rzh2br75o)" points="32,271.0078,198,271.0078,210,283.0078,198,295.0078,32,295.0078,20,283.0078,32,271.0078" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="119" y="305.2183">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="166" x="32" y="286.8159">Current profile allows ringing</text><polygon fill="#FEFECE" filter="url(#fxo3rzh2br75o)" points="115,373.3789,127,385.3789,115,397.3789,103,385.3789,115,373.3789" style="stroke: #A80036; stroke-width: 1.5;"/><ellipse cx="115" cy="427.3789" fill="none" filter="url(#fxo3rzh2br75o)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="115.5" cy="427.8789" fill="#000000" filter="url(#fxo3rzh2br75o)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="115" x2="115" y1="32.5664" y2="55.1328"/><polygon fill="#A80036" points="111,45.1328,115,55.1328,119,45.1328,115,49.1328" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="115" x2="115" y1="89.1016" y2="109.1016"/><polygon fill="#A80036" points="111,99.1016,115,109.1016,119,99.1016,115,103.1016" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="115" x2="115" y1="143.0703" y2="163.0703"/><polygon fill="#A80036" points="111,153.0703,115,163.0703,119,153.0703,115,157.0703" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="115" x2="115" y1="197.0391" y2="217.0391"/><polygon fill="#A80036" points="111,207.0391,115,217.0391,119,207.0391,115,211.0391" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="115" x2="115" y1="295.0078" y2="319.4102"/><polygon fill="#A80036" points="111,309.4102,115,319.4102,119,309.4102,115,313.4102" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="210" x2="222" y1="283.0078" y2="283.0078"/><polygon fill="#A80036" points="218,326.3945,222,336.3945,226,326.3945,222,330.3945" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="222" x2="222" y1="283.0078" y2="385.3789"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="222" x2="127" y1="385.3789" y2="385.3789"/><polygon fill="#A80036" points="137,381.3789,127,385.3789,137,389.3789,133,385.3789" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="115" x2="115" y1="353.3789" y2="373.3789"/><polygon fill="#A80036" points="111,363.3789,115,373.3789,119,363.3789,115,367.3789" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="115" x2="115" y1="251.0078" y2="271.0078"/><polygon fill="#A80036" points="111,261.0078,115,271.0078,119,261.0078,115,265.0078" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="115" x2="115" y1="397.3789" y2="417.3789"/><polygon fill="#A80036" points="111,407.3789,115,417.3789,119,407.3789,115,411.3789" style="stroke: #A80036; stroke-width: 1.0;"/><!--
<?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="450px" preserveAspectRatio="none" style="width:261px;height:450px;background:#F0F0F0;" version="1.1" viewBox="0 0 261 450" width="261px" zoomAndPan="magnify"><defs><filter height="300%" id="f4973nzqfu49m" 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><path d="M143.5,10 L143.5,18.5664 L123.5,22.5664 L143.5,26.5664 L143.5,35.1328 A0,0 0 0 0 143.5,35.1328 L249.5,35.1328 A0,0 0 0 0 249.5,35.1328 L249.5,20 L239.5,10 L143.5,10 A0,0 0 0 0 143.5,10 " fill="#FBFB77" filter="url(#f4973nzqfu49m)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M239.5,10 L239.5,20 L249.5,20 L239.5,10 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="149.5" y="27.0669">Call incoming</text><ellipse cx="113.5" cy="22.5664" fill="#000000" filter="url(#f4973nzqfu49m)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#f4973nzqfu49m)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="115" x="56" y="55.1328"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="95" x="66" y="76.2715">Service Cellular</text><rect fill="#FEFECE" filter="url(#f4973nzqfu49m)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="114" x="56.5" y="109.1016"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="94" x="66.5" y="130.2402">Application call</text><rect fill="#FEFECE" filter="url(#f4973nzqfu49m)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="104" x="61.5" y="163.0703"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="84" x="71.5" y="184.209">Service Audio</text><rect fill="#FEFECE" filter="url(#f4973nzqfu49m)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="130" x="48.5" y="217.0391"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="110" x="58.5" y="238.1777">Service Bluetooth</text><rect fill="#FEFECE" filter="url(#f4973nzqfu49m)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="47" x="90" y="319.4102"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="27" x="100" y="340.5488">Ring</text><polygon fill="#FEFECE" filter="url(#f4973nzqfu49m)" points="32,271.0078,195,271.0078,207,283.0078,195,295.0078,32,295.0078,20,283.0078,32,271.0078" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="117.5" y="305.2183">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="163" x="32" y="286.8159">Current profile allows ringing</text><polygon fill="#FEFECE" filter="url(#f4973nzqfu49m)" points="113.5,373.3789,125.5,385.3789,113.5,397.3789,101.5,385.3789,113.5,373.3789" style="stroke: #A80036; stroke-width: 1.5;"/><ellipse cx="113.5" cy="428.3789" fill="#FFFFFF" filter="url(#f4973nzqfu49m)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="113.5" cy="428.3789" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="113.5" x2="113.5" y1="32.5664" y2="55.1328"/><polygon fill="#A80036" points="109.5,45.1328,113.5,55.1328,117.5,45.1328,113.5,49.1328" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="113.5" x2="113.5" y1="89.1016" y2="109.1016"/><polygon fill="#A80036" points="109.5,99.1016,113.5,109.1016,117.5,99.1016,113.5,103.1016" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="113.5" x2="113.5" y1="143.0703" y2="163.0703"/><polygon fill="#A80036" points="109.5,153.0703,113.5,163.0703,117.5,153.0703,113.5,157.0703" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="113.5" x2="113.5" y1="197.0391" y2="217.0391"/><polygon fill="#A80036" points="109.5,207.0391,113.5,217.0391,117.5,207.0391,113.5,211.0391" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="113.5" x2="113.5" y1="295.0078" y2="319.4102"/><polygon fill="#A80036" points="109.5,309.4102,113.5,319.4102,117.5,309.4102,113.5,313.4102" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="207" x2="219" y1="283.0078" y2="283.0078"/><polygon fill="#A80036" points="215,326.3945,219,336.3945,223,326.3945,219,330.3945" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="219" x2="219" y1="283.0078" y2="385.3789"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="219" x2="125.5" y1="385.3789" y2="385.3789"/><polygon fill="#A80036" points="135.5,381.3789,125.5,385.3789,135.5,389.3789,131.5,385.3789" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="113.5" x2="113.5" y1="353.3789" y2="373.3789"/><polygon fill="#A80036" points="109.5,363.3789,113.5,373.3789,117.5,363.3789,113.5,367.3789" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="113.5" x2="113.5" y1="251.0078" y2="271.0078"/><polygon fill="#A80036" points="109.5,261.0078,113.5,271.0078,117.5,261.0078,113.5,265.0078" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="113.5" x2="113.5" y1="397.3789" y2="417.3789"/><polygon fill="#A80036" points="109.5,407.3789,113.5,417.3789,117.5,407.3789,113.5,411.3789" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[16415447f94bb13b37d774431f1b067f]
@startuml
skinparam BackgroundColor F0F0F0
start
note right
    Call incoming


@@ 14,13 15,12 @@ endif
stop
@enduml

PlantUML version 1.2018.13(Mon Nov 26 18:11:51 CET 2018)
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.10+9-Ubuntu-0ubuntu1.20.04
Java Version: 11.0.12+7-post-Debian-2
Operating System: Linux
OS Version: 5.8.0-50-generic
Default Encoding: UTF-8
Language: en
Country: US

M module-bluetooth/bt_messages_class_diagram.puml => module-bluetooth/bt_messages_class_diagram.puml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0

title BluetoothMessages - Class Diagram


M module-bluetooth/bt_messages_class_diagram.svg => module-bluetooth/bt_messages_class_diagram.svg +28 -25
@@ 1,28 1,29 @@
<?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="197px" preserveAspectRatio="none" style="width:2192px;height:197px;" version="1.1" viewBox="0 0 2192 197" width="2192px" zoomAndPan="magnify"><defs><filter height="300%" id="f4xudy7d4d6fh" 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><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="313" x="933" y="16.708">BluetoothMessages - Class Diagram</text><!--MD5=[23fc707ad27c8e6ea052f1129144ac7b]
class BluetoothMessage--><rect codeLine="4" fill="#FEFECE" filter="url(#f4xudy7d4d6fh)" height="48" id="BluetoothMessage" style="stroke: #A80036; stroke-width: 1.5;" width="149" x="1107.5" y="27.9531"/><ellipse cx="1122.5" cy="43.9531" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1126.0156,47.9844 L1126.0156,50.0156 Q1124.5313,50.625 1122.7031,50.625 Q1119.9844,50.625 1118.5313,48.8906 Q1117.0781,47.1406 1117.0781,44.0313 Q1117.0781,41.0313 1118.6563,39.25 Q1120.2344,37.4531 1122.9531,37.4531 Q1124.8594,37.4531 1126.5938,38.375 L1125.6406,40.2813 Q1124.1406,39.5 1122.9531,39.5 Q1121.3438,39.5 1120.3594,40.7188 Q1119.3906,41.9219 1119.3906,44.0469 Q1119.3906,46.2969 1120.2969,47.4375 Q1121.2188,48.5781 1122.9531,48.5781 Q1123.9844,48.5781 1126.0156,47.9844 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="117" x="1136.5" y="48.1074">BluetoothMessage</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1108.5" x2="1255.5" y1="59.9531" y2="59.9531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1108.5" x2="1255.5" y1="67.9531" y2="67.9531"/><!--MD5=[b68a6893fb5fe43c9ba686fe799938b5]
class RequestBluetoothStatus--><rect codeLine="6" fill="#FEFECE" filter="url(#f4xudy7d4d6fh)" height="48" id="RequestBluetoothStatus" style="stroke: #A80036; stroke-width: 1.5;" width="186" x="7" y="135.9531"/><ellipse cx="22" cy="151.9531" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M25.5156,155.9844 L25.5156,158.0156 Q24.0313,158.625 22.2031,158.625 Q19.4844,158.625 18.0313,156.8906 Q16.5781,155.1406 16.5781,152.0313 Q16.5781,149.0313 18.1563,147.25 Q19.7344,145.4531 22.4531,145.4531 Q24.3594,145.4531 26.0938,146.375 L25.1406,148.2813 Q23.6406,147.5 22.4531,147.5 Q20.8438,147.5 19.8594,148.7188 Q18.8906,149.9219 18.8906,152.0469 Q18.8906,154.2969 19.7969,155.4375 Q20.7188,156.5781 22.4531,156.5781 Q23.4844,156.5781 25.5156,155.9844 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="154" x="36" y="156.1074">RequestBluetoothStatus</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="8" x2="192" y1="167.9531" y2="167.9531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="8" x2="192" y1="175.9531" y2="175.9531"/><!--MD5=[cc960df078a163385707cbd025b1228e]
class RequestBondedDevices--><rect codeLine="7" fill="#FEFECE" filter="url(#f4xudy7d4d6fh)" height="48" id="RequestBondedDevices" style="stroke: #A80036; stroke-width: 1.5;" width="180" x="228" y="135.9531"/><ellipse cx="243" cy="151.9531" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M246.5156,155.9844 L246.5156,158.0156 Q245.0313,158.625 243.2031,158.625 Q240.4844,158.625 239.0313,156.8906 Q237.5781,155.1406 237.5781,152.0313 Q237.5781,149.0313 239.1563,147.25 Q240.7344,145.4531 243.4531,145.4531 Q245.3594,145.4531 247.0938,146.375 L246.1406,148.2813 Q244.6406,147.5 243.4531,147.5 Q241.8438,147.5 240.8594,148.7188 Q239.8906,149.9219 239.8906,152.0469 Q239.8906,154.2969 240.7969,155.4375 Q241.7188,156.5781 243.4531,156.5781 Q244.4844,156.5781 246.5156,155.9844 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="148" x="257" y="156.1074">RequestBondedDevices</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="229" x2="407" y1="167.9531" y2="167.9531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="229" x2="407" y1="175.9531" y2="175.9531"/><!--MD5=[f1a36d6b3380e677ad379c4765f0f72c]
class RequestDeviceName--><rect codeLine="8" fill="#FEFECE" filter="url(#f4xudy7d4d6fh)" height="48" id="RequestDeviceName" style="stroke: #A80036; stroke-width: 1.5;" width="161" x="443.5" y="135.9531"/><ellipse cx="458.5" cy="151.9531" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M462.0156,155.9844 L462.0156,158.0156 Q460.5313,158.625 458.7031,158.625 Q455.9844,158.625 454.5313,156.8906 Q453.0781,155.1406 453.0781,152.0313 Q453.0781,149.0313 454.6563,147.25 Q456.2344,145.4531 458.9531,145.4531 Q460.8594,145.4531 462.5938,146.375 L461.6406,148.2813 Q460.1406,147.5 458.9531,147.5 Q457.3438,147.5 456.3594,148.7188 Q455.3906,149.9219 455.3906,152.0469 Q455.3906,154.2969 456.2969,155.4375 Q457.2188,156.5781 458.9531,156.5781 Q459.9844,156.5781 462.0156,155.9844 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="129" x="472.5" y="156.1074">RequestDeviceName</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="444.5" x2="603.5" y1="167.9531" y2="167.9531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="444.5" x2="603.5" y1="175.9531" y2="175.9531"/><!--MD5=[997e5b1c613c646acbb63a9dc35e5d22]
class ResponseBluetoothStatus--><rect codeLine="10" fill="#FEFECE" filter="url(#f4xudy7d4d6fh)" height="48" id="ResponseBluetoothStatus" style="stroke: #A80036; stroke-width: 1.5;" width="196" x="640" y="135.9531"/><ellipse cx="655" cy="151.9531" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M658.5156,155.9844 L658.5156,158.0156 Q657.0313,158.625 655.2031,158.625 Q652.4844,158.625 651.0313,156.8906 Q649.5781,155.1406 649.5781,152.0313 Q649.5781,149.0313 651.1563,147.25 Q652.7344,145.4531 655.4531,145.4531 Q657.3594,145.4531 659.0938,146.375 L658.1406,148.2813 Q656.6406,147.5 655.4531,147.5 Q653.8438,147.5 652.8594,148.7188 Q651.8906,149.9219 651.8906,152.0469 Q651.8906,154.2969 652.7969,155.4375 Q653.7188,156.5781 655.4531,156.5781 Q656.4844,156.5781 658.5156,155.9844 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="164" x="669" y="156.1074">ResponseBluetoothStatus</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="641" x2="835" y1="167.9531" y2="167.9531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="641" x2="835" y1="175.9531" y2="175.9531"/><!--MD5=[eb512bcfdbef1ba9066f1482e200ba23]
class ResponseBondedDevices--><rect codeLine="11" fill="#FEFECE" filter="url(#f4xudy7d4d6fh)" height="48" id="ResponseBondedDevices" style="stroke: #A80036; stroke-width: 1.5;" width="190" x="871" y="135.9531"/><ellipse cx="886" cy="151.9531" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M889.5156,155.9844 L889.5156,158.0156 Q888.0313,158.625 886.2031,158.625 Q883.4844,158.625 882.0313,156.8906 Q880.5781,155.1406 880.5781,152.0313 Q880.5781,149.0313 882.1563,147.25 Q883.7344,145.4531 886.4531,145.4531 Q888.3594,145.4531 890.0938,146.375 L889.1406,148.2813 Q887.6406,147.5 886.4531,147.5 Q884.8438,147.5 883.8594,148.7188 Q882.8906,149.9219 882.8906,152.0469 Q882.8906,154.2969 883.7969,155.4375 Q884.7188,156.5781 886.4531,156.5781 Q887.4844,156.5781 889.5156,155.9844 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="158" x="900" y="156.1074">ResponseBondedDevices</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="872" x2="1060" y1="167.9531" y2="167.9531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="872" x2="1060" y1="175.9531" y2="175.9531"/><!--MD5=[3faab22c1f830479f961f6e769115a5d]
class ResponseDeviceName--><rect codeLine="12" fill="#FEFECE" filter="url(#f4xudy7d4d6fh)" height="48" id="ResponseDeviceName" style="stroke: #A80036; stroke-width: 1.5;" width="171" x="1096.5" y="135.9531"/><ellipse cx="1111.5" cy="151.9531" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1115.0156,155.9844 L1115.0156,158.0156 Q1113.5313,158.625 1111.7031,158.625 Q1108.9844,158.625 1107.5313,156.8906 Q1106.0781,155.1406 1106.0781,152.0313 Q1106.0781,149.0313 1107.6563,147.25 Q1109.2344,145.4531 1111.9531,145.4531 Q1113.8594,145.4531 1115.5938,146.375 L1114.6406,148.2813 Q1113.1406,147.5 1111.9531,147.5 Q1110.3438,147.5 1109.3594,148.7188 Q1108.3906,149.9219 1108.3906,152.0469 Q1108.3906,154.2969 1109.2969,155.4375 Q1110.2188,156.5781 1111.9531,156.5781 Q1112.9844,156.5781 1115.0156,155.9844 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="139" x="1125.5" y="156.1074">ResponseDeviceName</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1097.5" x2="1266.5" y1="167.9531" y2="167.9531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1097.5" x2="1266.5" y1="175.9531" y2="175.9531"/><!--MD5=[16efb683b245cffa4f1d0163265c1862]
class ResponseVisibleDevices--><rect codeLine="13" fill="#FEFECE" filter="url(#f4xudy7d4d6fh)" height="48" id="ResponseVisibleDevices" style="stroke: #A80036; stroke-width: 1.5;" width="182" x="1303" y="135.9531"/><ellipse cx="1318" cy="151.9531" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1321.5156,155.9844 L1321.5156,158.0156 Q1320.0313,158.625 1318.2031,158.625 Q1315.4844,158.625 1314.0313,156.8906 Q1312.5781,155.1406 1312.5781,152.0313 Q1312.5781,149.0313 1314.1563,147.25 Q1315.7344,145.4531 1318.4531,145.4531 Q1320.3594,145.4531 1322.0938,146.375 L1321.1406,148.2813 Q1319.6406,147.5 1318.4531,147.5 Q1316.8438,147.5 1315.8594,148.7188 Q1314.8906,149.9219 1314.8906,152.0469 Q1314.8906,154.2969 1315.7969,155.4375 Q1316.7188,156.5781 1318.4531,156.5781 Q1319.4844,156.5781 1321.5156,155.9844 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="150" x="1332" y="156.1074">ResponseVisibleDevices</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1304" x2="1484" y1="167.9531" y2="167.9531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1304" x2="1484" y1="175.9531" y2="175.9531"/><!--MD5=[55dcaea49b6f335663f06ba5e29d8711]
class SetBluetoothStatus--><rect codeLine="15" fill="#FEFECE" filter="url(#f4xudy7d4d6fh)" height="48" id="SetBluetoothStatus" style="stroke: #A80036; stroke-width: 1.5;" width="155" x="1520.5" y="135.9531"/><ellipse cx="1535.5" cy="151.9531" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1539.0156,155.9844 L1539.0156,158.0156 Q1537.5313,158.625 1535.7031,158.625 Q1532.9844,158.625 1531.5313,156.8906 Q1530.0781,155.1406 1530.0781,152.0313 Q1530.0781,149.0313 1531.6563,147.25 Q1533.2344,145.4531 1535.9531,145.4531 Q1537.8594,145.4531 1539.5938,146.375 L1538.6406,148.2813 Q1537.1406,147.5 1535.9531,147.5 Q1534.3438,147.5 1533.3594,148.7188 Q1532.3906,149.9219 1532.3906,152.0469 Q1532.3906,154.2969 1533.2969,155.4375 Q1534.2188,156.5781 1535.9531,156.5781 Q1536.9844,156.5781 1539.0156,155.9844 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="123" x="1549.5" y="156.1074">SetBluetoothStatus</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1521.5" x2="1674.5" y1="167.9531" y2="167.9531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1521.5" x2="1674.5" y1="175.9531" y2="175.9531"/><!--MD5=[75c2d557c56179bba89b9164f9048e30]
class SetBondedDevices--><rect codeLine="16" fill="#FEFECE" filter="url(#f4xudy7d4d6fh)" height="48" id="SetBondedDevices" style="stroke: #A80036; stroke-width: 1.5;" width="149" x="1710.5" y="135.9531"/><ellipse cx="1725.5" cy="151.9531" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1729.0156,155.9844 L1729.0156,158.0156 Q1727.5313,158.625 1725.7031,158.625 Q1722.9844,158.625 1721.5313,156.8906 Q1720.0781,155.1406 1720.0781,152.0313 Q1720.0781,149.0313 1721.6563,147.25 Q1723.2344,145.4531 1725.9531,145.4531 Q1727.8594,145.4531 1729.5938,146.375 L1728.6406,148.2813 Q1727.1406,147.5 1725.9531,147.5 Q1724.3438,147.5 1723.3594,148.7188 Q1722.3906,149.9219 1722.3906,152.0469 Q1722.3906,154.2969 1723.2969,155.4375 Q1724.2188,156.5781 1725.9531,156.5781 Q1726.9844,156.5781 1729.0156,155.9844 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="117" x="1739.5" y="156.1074">SetBondedDevices</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1711.5" x2="1858.5" y1="167.9531" y2="167.9531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1711.5" x2="1858.5" y1="175.9531" y2="175.9531"/><!--MD5=[8139fa2621595fc198f831176f26a933]
class SetDeviceName--><rect codeLine="17" fill="#FEFECE" filter="url(#f4xudy7d4d6fh)" height="48" id="SetDeviceName" style="stroke: #A80036; stroke-width: 1.5;" width="130" x="1895" y="135.9531"/><ellipse cx="1910" cy="151.9531" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1913.5156,155.9844 L1913.5156,158.0156 Q1912.0313,158.625 1910.2031,158.625 Q1907.4844,158.625 1906.0313,156.8906 Q1904.5781,155.1406 1904.5781,152.0313 Q1904.5781,149.0313 1906.1563,147.25 Q1907.7344,145.4531 1910.4531,145.4531 Q1912.3594,145.4531 1914.0938,146.375 L1913.1406,148.2813 Q1911.6406,147.5 1910.4531,147.5 Q1908.8438,147.5 1907.8594,148.7188 Q1906.8906,149.9219 1906.8906,152.0469 Q1906.8906,154.2969 1907.7969,155.4375 Q1908.7188,156.5781 1910.4531,156.5781 Q1911.4844,156.5781 1913.5156,155.9844 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="98" x="1924" y="156.1074">SetDeviceName</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1896" x2="2024" y1="167.9531" y2="167.9531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1896" x2="2024" y1="175.9531" y2="175.9531"/><!--MD5=[8cf19ae717c5ffa0942c17e0d92fc75b]
class SetScanState--><rect codeLine="18" fill="#FEFECE" filter="url(#f4xudy7d4d6fh)" height="48" id="SetScanState" style="stroke: #A80036; stroke-width: 1.5;" width="118" x="2060" y="135.9531"/><ellipse cx="2075" cy="151.9531" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2078.5156,155.9844 L2078.5156,158.0156 Q2077.0313,158.625 2075.2031,158.625 Q2072.4844,158.625 2071.0313,156.8906 Q2069.5781,155.1406 2069.5781,152.0313 Q2069.5781,149.0313 2071.1563,147.25 Q2072.7344,145.4531 2075.4531,145.4531 Q2077.3594,145.4531 2079.0938,146.375 L2078.1406,148.2813 Q2076.6406,147.5 2075.4531,147.5 Q2073.8438,147.5 2072.8594,148.7188 Q2071.8906,149.9219 2071.8906,152.0469 Q2071.8906,154.2969 2072.7969,155.4375 Q2073.7188,156.5781 2075.4531,156.5781 Q2076.4844,156.5781 2078.5156,155.9844 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="86" x="2089" y="156.1074">SetScanState</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="2061" x2="2177" y1="167.9531" y2="167.9531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2061" x2="2177" y1="175.9531" y2="175.9531"/><!--MD5=[6aa7fa943374ef5ece9454a57dc72e25]
reverse link BluetoothMessage to RequestBluetoothStatus--><path d="M1087.04,57.2431 C912.58,65.9731 529.63,89.0631 210,135.9531 C204.5,136.7631 198.86,137.6731 193.18,138.6531 " fill="none" id="BluetoothMessage-backto-RequestBluetoothStatus" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="none" points="1086.94,50.2431,1107.26,56.2531,1087.63,64.2231,1086.94,50.2431" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[ae7f7d0a4c3187e8bb3020bf0ca371ed]
reverse link BluetoothMessage to RequestBondedDevices--><path d="M1087.19,60.2831 C943.57,72.0831 662.54,97.8831 426,135.9531 C420.13,136.8931 414.1,137.9531 408.04,139.0731 " fill="none" id="BluetoothMessage-backto-RequestBondedDevices" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="none" points="1086.86,53.2831,1107.36,58.6431,1087.99,67.2431,1086.86,53.2831" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[f4b5ee5fa7a2d68677ad130c68f694ee]
reverse link BluetoothMessage to RequestDeviceName--><path d="M1087.49,64.5131 C975.83,78.7431 784.68,104.8631 622,135.9531 C616.34,137.0331 610.5,138.2231 604.64,139.4631 " fill="none" id="BluetoothMessage-backto-RequestDeviceName" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="none" points="1086.67,57.5631,1107.39,62.0031,1088.42,71.4531,1086.67,57.5631" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[b929432a166a87139d0a0b4ddba46eb6]
reverse link BluetoothMessage to ResponseBluetoothStatus--><path d="M1087.72,75.4631 C1013.24,93.2431 909.68,117.9631 834.6,135.8931 " fill="none" id="BluetoothMessage-backto-ResponseBluetoothStatus" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="none" points="1086.36,68.5931,1107.43,70.7531,1089.61,82.2031,1086.36,68.5931" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[e03acb44cf4eb9cc32aef2fc244d1325]
reverse link BluetoothMessage to ResponseBondedDevices--><path d="M1116.85,84.9231 C1083.45,101.3131 1043.53,120.9031 1013.15,135.8131 " fill="none" id="BluetoothMessage-backto-ResponseBondedDevices" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="none" points="1114.09,78.4831,1135.13,75.9531,1120.26,91.0531,1114.09,78.4831" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[0df839f176d4e8747e1fa4ab5a231c8c]
reverse link BluetoothMessage to ResponseDeviceName--><path d="M1182,95.9731 C1182,109.5331 1182,123.9931 1182,135.6331 " fill="none" id="BluetoothMessage-backto-ResponseDeviceName" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="none" points="1175,95.9531,1182,75.9531,1189,95.9531,1175,95.9531" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[033a85fd32f3b3aef0299180834d08b5]
reverse link BluetoothMessage to ResponseVisibleDevices--><path d="M1245.94,84.9231 C1278.72,101.3131 1317.9,120.9031 1347.72,135.8131 " fill="none" id="BluetoothMessage-backto-ResponseVisibleDevices" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="none" points="1242.76,91.1631,1228,75.9531,1249.02,78.6331,1242.76,91.1631" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[b1d91fbcaf829313f55081fceaec155a]
reverse link BluetoothMessage to SetBluetoothStatus--><path d="M1276.38,77.0031 C1350.05,95.7731 1451.16,121.5331 1520.22,139.1331 " fill="none" id="BluetoothMessage-backto-SetBluetoothStatus" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="none" points="1274.51,83.7431,1256.85,72.0231,1277.96,70.1831,1274.51,83.7431" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[5be4832e50a96e9afd6716a5726789fc]
reverse link BluetoothMessage to SetBondedDevices--><path d="M1276.82,65.9231 C1379.74,80.5631 1548.72,106.2531 1693,135.9531 C1698.64,137.1131 1704.46,138.3931 1710.31,139.7231 " fill="none" id="BluetoothMessage-backto-SetBondedDevices" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="none" points="1275.66,72.8231,1256.83,63.1031,1277.61,58.9631,1275.66,72.8231" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[9e81130095896bc22196e3fc1c87645b]
reverse link BluetoothMessage to SetDeviceName--><path d="M1276.77,59.6931 C1411.22,70.2931 1664.59,94.0931 1877,135.9531 C1882.87,137.1131 1888.93,138.4631 1894.98,139.9331 " fill="none" id="BluetoothMessage-backto-SetDeviceName" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="none" points="1276.04,66.6631,1256.64,58.1331,1277.12,52.7031,1276.04,66.6631" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[27d3195f2473dab648037e6c3b9e7d94]
reverse link BluetoothMessage to SetScanState--><path d="M1277.16,55.9831 C1436.84,62.4331 1768.23,81.6931 2043,135.9531 C2048.54,137.0531 2054.26,138.3831 2059.96,139.8531 " fill="none" id="BluetoothMessage-backto-SetScanState" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="none" points="1276.43,62.9631,1256.71,55.1931,1276.97,48.9731,1276.43,62.9631" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[2ef8eb0267679822f093bbaf9f836c5e]
<?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="195px" preserveAspectRatio="none" style="width:2188px;height:195px;background:#F0F0F0;" version="1.1" viewBox="0 0 2188 195" width="2188px" zoomAndPan="magnify"><defs><filter height="300%" id="f15ovtweshh259" 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><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="313" x="941" y="16.708">BluetoothMessages - Class Diagram</text><!--MD5=[23fc707ad27c8e6ea052f1129144ac7b]
class BluetoothMessage--><rect fill="#FEFECE" filter="url(#f15ovtweshh259)" height="48" id="BluetoothMessage" style="stroke: #A80036; stroke-width: 1.5;" width="149" x="1106.5" y="28.9531"/><ellipse cx="1121.5" cy="44.9531" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1124.4688,50.5938 Q1123.8906,50.8906 1123.25,51.0313 Q1122.6094,51.1875 1121.9063,51.1875 Q1119.4063,51.1875 1118.0781,49.5469 Q1116.7656,47.8906 1116.7656,44.7656 Q1116.7656,41.6406 1118.0781,39.9844 Q1119.4063,38.3281 1121.9063,38.3281 Q1122.6094,38.3281 1123.25,38.4844 Q1123.9063,38.6406 1124.4688,38.9375 L1124.4688,41.6563 Q1123.8438,41.0781 1123.25,40.8125 Q1122.6563,40.5313 1122.0313,40.5313 Q1120.6875,40.5313 1120,41.6094 Q1119.3125,42.6719 1119.3125,44.7656 Q1119.3125,46.8594 1120,47.9375 Q1120.6875,49 1122.0313,49 Q1122.6563,49 1123.25,48.7344 Q1123.8438,48.4531 1124.4688,47.875 L1124.4688,50.5938 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="117" x="1135.5" y="49.1074">BluetoothMessage</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1107.5" x2="1254.5" y1="60.9531" y2="60.9531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1107.5" x2="1254.5" y1="68.9531" y2="68.9531"/><!--MD5=[b68a6893fb5fe43c9ba686fe799938b5]
class RequestBluetoothStatus--><rect fill="#FEFECE" filter="url(#f15ovtweshh259)" height="48" id="RequestBluetoothStatus" style="stroke: #A80036; stroke-width: 1.5;" width="186" x="6" y="136.9531"/><ellipse cx="21" cy="152.9531" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M23.9688,158.5938 Q23.3906,158.8906 22.75,159.0313 Q22.1094,159.1875 21.4063,159.1875 Q18.9063,159.1875 17.5781,157.5469 Q16.2656,155.8906 16.2656,152.7656 Q16.2656,149.6406 17.5781,147.9844 Q18.9063,146.3281 21.4063,146.3281 Q22.1094,146.3281 22.75,146.4844 Q23.4063,146.6406 23.9688,146.9375 L23.9688,149.6563 Q23.3438,149.0781 22.75,148.8125 Q22.1563,148.5313 21.5313,148.5313 Q20.1875,148.5313 19.5,149.6094 Q18.8125,150.6719 18.8125,152.7656 Q18.8125,154.8594 19.5,155.9375 Q20.1875,157 21.5313,157 Q22.1563,157 22.75,156.7344 Q23.3438,156.4531 23.9688,155.875 L23.9688,158.5938 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="154" x="35" y="157.1074">RequestBluetoothStatus</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="191" y1="168.9531" y2="168.9531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="191" y1="176.9531" y2="176.9531"/><!--MD5=[cc960df078a163385707cbd025b1228e]
class RequestBondedDevices--><rect fill="#FEFECE" filter="url(#f15ovtweshh259)" height="48" id="RequestBondedDevices" style="stroke: #A80036; stroke-width: 1.5;" width="180" x="227" y="136.9531"/><ellipse cx="242" cy="152.9531" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M244.9688,158.5938 Q244.3906,158.8906 243.75,159.0313 Q243.1094,159.1875 242.4063,159.1875 Q239.9063,159.1875 238.5781,157.5469 Q237.2656,155.8906 237.2656,152.7656 Q237.2656,149.6406 238.5781,147.9844 Q239.9063,146.3281 242.4063,146.3281 Q243.1094,146.3281 243.75,146.4844 Q244.4063,146.6406 244.9688,146.9375 L244.9688,149.6563 Q244.3438,149.0781 243.75,148.8125 Q243.1563,148.5313 242.5313,148.5313 Q241.1875,148.5313 240.5,149.6094 Q239.8125,150.6719 239.8125,152.7656 Q239.8125,154.8594 240.5,155.9375 Q241.1875,157 242.5313,157 Q243.1563,157 243.75,156.7344 Q244.3438,156.4531 244.9688,155.875 L244.9688,158.5938 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="148" x="256" y="157.1074">RequestBondedDevices</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="228" x2="406" y1="168.9531" y2="168.9531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="228" x2="406" y1="176.9531" y2="176.9531"/><!--MD5=[f1a36d6b3380e677ad379c4765f0f72c]
class RequestDeviceName--><rect fill="#FEFECE" filter="url(#f15ovtweshh259)" height="48" id="RequestDeviceName" style="stroke: #A80036; stroke-width: 1.5;" width="161" x="442.5" y="136.9531"/><ellipse cx="457.5" cy="152.9531" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M460.4688,158.5938 Q459.8906,158.8906 459.25,159.0313 Q458.6094,159.1875 457.9063,159.1875 Q455.4063,159.1875 454.0781,157.5469 Q452.7656,155.8906 452.7656,152.7656 Q452.7656,149.6406 454.0781,147.9844 Q455.4063,146.3281 457.9063,146.3281 Q458.6094,146.3281 459.25,146.4844 Q459.9063,146.6406 460.4688,146.9375 L460.4688,149.6563 Q459.8438,149.0781 459.25,148.8125 Q458.6563,148.5313 458.0313,148.5313 Q456.6875,148.5313 456,149.6094 Q455.3125,150.6719 455.3125,152.7656 Q455.3125,154.8594 456,155.9375 Q456.6875,157 458.0313,157 Q458.6563,157 459.25,156.7344 Q459.8438,156.4531 460.4688,155.875 L460.4688,158.5938 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="129" x="471.5" y="157.1074">RequestDeviceName</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="443.5" x2="602.5" y1="168.9531" y2="168.9531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="443.5" x2="602.5" y1="176.9531" y2="176.9531"/><!--MD5=[997e5b1c613c646acbb63a9dc35e5d22]
class ResponseBluetoothStatus--><rect fill="#FEFECE" filter="url(#f15ovtweshh259)" height="48" id="ResponseBluetoothStatus" style="stroke: #A80036; stroke-width: 1.5;" width="196" x="639" y="136.9531"/><ellipse cx="654" cy="152.9531" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M656.9688,158.5938 Q656.3906,158.8906 655.75,159.0313 Q655.1094,159.1875 654.4063,159.1875 Q651.9063,159.1875 650.5781,157.5469 Q649.2656,155.8906 649.2656,152.7656 Q649.2656,149.6406 650.5781,147.9844 Q651.9063,146.3281 654.4063,146.3281 Q655.1094,146.3281 655.75,146.4844 Q656.4063,146.6406 656.9688,146.9375 L656.9688,149.6563 Q656.3438,149.0781 655.75,148.8125 Q655.1563,148.5313 654.5313,148.5313 Q653.1875,148.5313 652.5,149.6094 Q651.8125,150.6719 651.8125,152.7656 Q651.8125,154.8594 652.5,155.9375 Q653.1875,157 654.5313,157 Q655.1563,157 655.75,156.7344 Q656.3438,156.4531 656.9688,155.875 L656.9688,158.5938 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="164" x="668" y="157.1074">ResponseBluetoothStatus</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="640" x2="834" y1="168.9531" y2="168.9531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="640" x2="834" y1="176.9531" y2="176.9531"/><!--MD5=[eb512bcfdbef1ba9066f1482e200ba23]
class ResponseBondedDevices--><rect fill="#FEFECE" filter="url(#f15ovtweshh259)" height="48" id="ResponseBondedDevices" style="stroke: #A80036; stroke-width: 1.5;" width="190" x="870" y="136.9531"/><ellipse cx="885" cy="152.9531" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M887.9688,158.5938 Q887.3906,158.8906 886.75,159.0313 Q886.1094,159.1875 885.4063,159.1875 Q882.9063,159.1875 881.5781,157.5469 Q880.2656,155.8906 880.2656,152.7656 Q880.2656,149.6406 881.5781,147.9844 Q882.9063,146.3281 885.4063,146.3281 Q886.1094,146.3281 886.75,146.4844 Q887.4063,146.6406 887.9688,146.9375 L887.9688,149.6563 Q887.3438,149.0781 886.75,148.8125 Q886.1563,148.5313 885.5313,148.5313 Q884.1875,148.5313 883.5,149.6094 Q882.8125,150.6719 882.8125,152.7656 Q882.8125,154.8594 883.5,155.9375 Q884.1875,157 885.5313,157 Q886.1563,157 886.75,156.7344 Q887.3438,156.4531 887.9688,155.875 L887.9688,158.5938 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="158" x="899" y="157.1074">ResponseBondedDevices</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="871" x2="1059" y1="168.9531" y2="168.9531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="871" x2="1059" y1="176.9531" y2="176.9531"/><!--MD5=[3faab22c1f830479f961f6e769115a5d]
class ResponseDeviceName--><rect fill="#FEFECE" filter="url(#f15ovtweshh259)" height="48" id="ResponseDeviceName" style="stroke: #A80036; stroke-width: 1.5;" width="171" x="1095.5" y="136.9531"/><ellipse cx="1110.5" cy="152.9531" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1113.4688,158.5938 Q1112.8906,158.8906 1112.25,159.0313 Q1111.6094,159.1875 1110.9063,159.1875 Q1108.4063,159.1875 1107.0781,157.5469 Q1105.7656,155.8906 1105.7656,152.7656 Q1105.7656,149.6406 1107.0781,147.9844 Q1108.4063,146.3281 1110.9063,146.3281 Q1111.6094,146.3281 1112.25,146.4844 Q1112.9063,146.6406 1113.4688,146.9375 L1113.4688,149.6563 Q1112.8438,149.0781 1112.25,148.8125 Q1111.6563,148.5313 1111.0313,148.5313 Q1109.6875,148.5313 1109,149.6094 Q1108.3125,150.6719 1108.3125,152.7656 Q1108.3125,154.8594 1109,155.9375 Q1109.6875,157 1111.0313,157 Q1111.6563,157 1112.25,156.7344 Q1112.8438,156.4531 1113.4688,155.875 L1113.4688,158.5938 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="139" x="1124.5" y="157.1074">ResponseDeviceName</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1096.5" x2="1265.5" y1="168.9531" y2="168.9531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1096.5" x2="1265.5" y1="176.9531" y2="176.9531"/><!--MD5=[16efb683b245cffa4f1d0163265c1862]
class ResponseVisibleDevices--><rect fill="#FEFECE" filter="url(#f15ovtweshh259)" height="48" id="ResponseVisibleDevices" style="stroke: #A80036; stroke-width: 1.5;" width="182" x="1302" y="136.9531"/><ellipse cx="1317" cy="152.9531" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1319.9688,158.5938 Q1319.3906,158.8906 1318.75,159.0313 Q1318.1094,159.1875 1317.4063,159.1875 Q1314.9063,159.1875 1313.5781,157.5469 Q1312.2656,155.8906 1312.2656,152.7656 Q1312.2656,149.6406 1313.5781,147.9844 Q1314.9063,146.3281 1317.4063,146.3281 Q1318.1094,146.3281 1318.75,146.4844 Q1319.4063,146.6406 1319.9688,146.9375 L1319.9688,149.6563 Q1319.3438,149.0781 1318.75,148.8125 Q1318.1563,148.5313 1317.5313,148.5313 Q1316.1875,148.5313 1315.5,149.6094 Q1314.8125,150.6719 1314.8125,152.7656 Q1314.8125,154.8594 1315.5,155.9375 Q1316.1875,157 1317.5313,157 Q1318.1563,157 1318.75,156.7344 Q1319.3438,156.4531 1319.9688,155.875 L1319.9688,158.5938 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="150" x="1331" y="157.1074">ResponseVisibleDevices</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1303" x2="1483" y1="168.9531" y2="168.9531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1303" x2="1483" y1="176.9531" y2="176.9531"/><!--MD5=[55dcaea49b6f335663f06ba5e29d8711]
class SetBluetoothStatus--><rect fill="#FEFECE" filter="url(#f15ovtweshh259)" height="48" id="SetBluetoothStatus" style="stroke: #A80036; stroke-width: 1.5;" width="155" x="1519.5" y="136.9531"/><ellipse cx="1534.5" cy="152.9531" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1537.4688,158.5938 Q1536.8906,158.8906 1536.25,159.0313 Q1535.6094,159.1875 1534.9063,159.1875 Q1532.4063,159.1875 1531.0781,157.5469 Q1529.7656,155.8906 1529.7656,152.7656 Q1529.7656,149.6406 1531.0781,147.9844 Q1532.4063,146.3281 1534.9063,146.3281 Q1535.6094,146.3281 1536.25,146.4844 Q1536.9063,146.6406 1537.4688,146.9375 L1537.4688,149.6563 Q1536.8438,149.0781 1536.25,148.8125 Q1535.6563,148.5313 1535.0313,148.5313 Q1533.6875,148.5313 1533,149.6094 Q1532.3125,150.6719 1532.3125,152.7656 Q1532.3125,154.8594 1533,155.9375 Q1533.6875,157 1535.0313,157 Q1535.6563,157 1536.25,156.7344 Q1536.8438,156.4531 1537.4688,155.875 L1537.4688,158.5938 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="123" x="1548.5" y="157.1074">SetBluetoothStatus</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1520.5" x2="1673.5" y1="168.9531" y2="168.9531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1520.5" x2="1673.5" y1="176.9531" y2="176.9531"/><!--MD5=[75c2d557c56179bba89b9164f9048e30]
class SetBondedDevices--><rect fill="#FEFECE" filter="url(#f15ovtweshh259)" height="48" id="SetBondedDevices" style="stroke: #A80036; stroke-width: 1.5;" width="149" x="1709.5" y="136.9531"/><ellipse cx="1724.5" cy="152.9531" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1727.4688,158.5938 Q1726.8906,158.8906 1726.25,159.0313 Q1725.6094,159.1875 1724.9063,159.1875 Q1722.4063,159.1875 1721.0781,157.5469 Q1719.7656,155.8906 1719.7656,152.7656 Q1719.7656,149.6406 1721.0781,147.9844 Q1722.4063,146.3281 1724.9063,146.3281 Q1725.6094,146.3281 1726.25,146.4844 Q1726.9063,146.6406 1727.4688,146.9375 L1727.4688,149.6563 Q1726.8438,149.0781 1726.25,148.8125 Q1725.6563,148.5313 1725.0313,148.5313 Q1723.6875,148.5313 1723,149.6094 Q1722.3125,150.6719 1722.3125,152.7656 Q1722.3125,154.8594 1723,155.9375 Q1723.6875,157 1725.0313,157 Q1725.6563,157 1726.25,156.7344 Q1726.8438,156.4531 1727.4688,155.875 L1727.4688,158.5938 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="117" x="1738.5" y="157.1074">SetBondedDevices</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1710.5" x2="1857.5" y1="168.9531" y2="168.9531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1710.5" x2="1857.5" y1="176.9531" y2="176.9531"/><!--MD5=[8139fa2621595fc198f831176f26a933]
class SetDeviceName--><rect fill="#FEFECE" filter="url(#f15ovtweshh259)" height="48" id="SetDeviceName" style="stroke: #A80036; stroke-width: 1.5;" width="130" x="1894" y="136.9531"/><ellipse cx="1909" cy="152.9531" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1911.9688,158.5938 Q1911.3906,158.8906 1910.75,159.0313 Q1910.1094,159.1875 1909.4063,159.1875 Q1906.9063,159.1875 1905.5781,157.5469 Q1904.2656,155.8906 1904.2656,152.7656 Q1904.2656,149.6406 1905.5781,147.9844 Q1906.9063,146.3281 1909.4063,146.3281 Q1910.1094,146.3281 1910.75,146.4844 Q1911.4063,146.6406 1911.9688,146.9375 L1911.9688,149.6563 Q1911.3438,149.0781 1910.75,148.8125 Q1910.1563,148.5313 1909.5313,148.5313 Q1908.1875,148.5313 1907.5,149.6094 Q1906.8125,150.6719 1906.8125,152.7656 Q1906.8125,154.8594 1907.5,155.9375 Q1908.1875,157 1909.5313,157 Q1910.1563,157 1910.75,156.7344 Q1911.3438,156.4531 1911.9688,155.875 L1911.9688,158.5938 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="98" x="1923" y="157.1074">SetDeviceName</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1895" x2="2023" y1="168.9531" y2="168.9531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1895" x2="2023" y1="176.9531" y2="176.9531"/><!--MD5=[8cf19ae717c5ffa0942c17e0d92fc75b]
class SetScanState--><rect fill="#FEFECE" filter="url(#f15ovtweshh259)" height="48" id="SetScanState" style="stroke: #A80036; stroke-width: 1.5;" width="118" x="2059" y="136.9531"/><ellipse cx="2074" cy="152.9531" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2076.9688,158.5938 Q2076.3906,158.8906 2075.75,159.0313 Q2075.1094,159.1875 2074.4063,159.1875 Q2071.9063,159.1875 2070.5781,157.5469 Q2069.2656,155.8906 2069.2656,152.7656 Q2069.2656,149.6406 2070.5781,147.9844 Q2071.9063,146.3281 2074.4063,146.3281 Q2075.1094,146.3281 2075.75,146.4844 Q2076.4063,146.6406 2076.9688,146.9375 L2076.9688,149.6563 Q2076.3438,149.0781 2075.75,148.8125 Q2075.1563,148.5313 2074.5313,148.5313 Q2073.1875,148.5313 2072.5,149.6094 Q2071.8125,150.6719 2071.8125,152.7656 Q2071.8125,154.8594 2072.5,155.9375 Q2073.1875,157 2074.5313,157 Q2075.1563,157 2075.75,156.7344 Q2076.3438,156.4531 2076.9688,155.875 L2076.9688,158.5938 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="86" x="2088" y="157.1074">SetScanState</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="2060" x2="2176" y1="168.9531" y2="168.9531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2060" x2="2176" y1="176.9531" y2="176.9531"/><!--MD5=[6aa7fa943374ef5ece9454a57dc72e25]
reverse link BluetoothMessage to RequestBluetoothStatus--><path d="M1086.04,58.2431 C911.58,66.9731 528.63,90.0631 209,136.9531 C203.5,137.7631 197.86,138.6731 192.18,139.6531 " fill="none" id="BluetoothMessage&lt;-RequestBluetoothStatus" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="none" points="1085.94,51.2431,1106.26,57.2531,1086.63,65.2231,1085.94,51.2431" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[ae7f7d0a4c3187e8bb3020bf0ca371ed]
reverse link BluetoothMessage to RequestBondedDevices--><path d="M1086.19,61.2831 C942.57,73.0831 661.54,98.8831 425,136.9531 C419.13,137.8931 413.1,138.9531 407.04,140.0731 " fill="none" id="BluetoothMessage&lt;-RequestBondedDevices" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="none" points="1085.86,54.2831,1106.36,59.6431,1086.99,68.2431,1085.86,54.2831" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[f4b5ee5fa7a2d68677ad130c68f694ee]
reverse link BluetoothMessage to RequestDeviceName--><path d="M1086.49,65.5131 C974.83,79.7431 783.68,105.8631 621,136.9531 C615.34,138.0331 609.5,139.2231 603.64,140.4631 " fill="none" id="BluetoothMessage&lt;-RequestDeviceName" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="none" points="1085.67,58.5631,1106.39,63.0031,1087.42,72.4531,1085.67,58.5631" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[b929432a166a87139d0a0b4ddba46eb6]
reverse link BluetoothMessage to ResponseBluetoothStatus--><path d="M1086.72,76.4631 C1012.24,94.2431 908.68,118.9631 833.6,136.8931 " fill="none" id="BluetoothMessage&lt;-ResponseBluetoothStatus" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="none" points="1085.36,69.5931,1106.43,71.7531,1088.61,83.2031,1085.36,69.5931" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[e03acb44cf4eb9cc32aef2fc244d1325]
reverse link BluetoothMessage to ResponseBondedDevices--><path d="M1115.85,85.9231 C1082.45,102.3131 1042.53,121.9031 1012.15,136.8131 " fill="none" id="BluetoothMessage&lt;-ResponseBondedDevices" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="none" points="1113.09,79.4831,1134.13,76.9531,1119.26,92.0531,1113.09,79.4831" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[0df839f176d4e8747e1fa4ab5a231c8c]
reverse link BluetoothMessage to ResponseDeviceName--><path d="M1181,96.9731 C1181,110.5331 1181,124.9931 1181,136.6331 " fill="none" id="BluetoothMessage&lt;-ResponseDeviceName" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="none" points="1174,96.9531,1181,76.9531,1188,96.9531,1174,96.9531" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[033a85fd32f3b3aef0299180834d08b5]
reverse link BluetoothMessage to ResponseVisibleDevices--><path d="M1244.94,85.9231 C1277.72,102.3131 1316.9,121.9031 1346.72,136.8131 " fill="none" id="BluetoothMessage&lt;-ResponseVisibleDevices" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="none" points="1241.76,92.1631,1227,76.9531,1248.02,79.6331,1241.76,92.1631" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[b1d91fbcaf829313f55081fceaec155a]
reverse link BluetoothMessage to SetBluetoothStatus--><path d="M1275.38,78.0031 C1349.05,96.7731 1450.16,122.5331 1519.22,140.1331 " fill="none" id="BluetoothMessage&lt;-SetBluetoothStatus" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="none" points="1273.51,84.7431,1255.85,73.0231,1276.96,71.1831,1273.51,84.7431" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[5be4832e50a96e9afd6716a5726789fc]
reverse link BluetoothMessage to SetBondedDevices--><path d="M1275.82,66.9231 C1378.74,81.5631 1547.72,107.2531 1692,136.9531 C1697.64,138.1131 1703.46,139.3931 1709.31,140.7231 " fill="none" id="BluetoothMessage&lt;-SetBondedDevices" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="none" points="1274.66,73.8231,1255.83,64.1031,1276.61,59.9631,1274.66,73.8231" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[9e81130095896bc22196e3fc1c87645b]
reverse link BluetoothMessage to SetDeviceName--><path d="M1275.77,60.6931 C1410.22,71.2931 1663.59,95.0931 1876,136.9531 C1881.87,138.1131 1887.93,139.4631 1893.98,140.9331 " fill="none" id="BluetoothMessage&lt;-SetDeviceName" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="none" points="1275.04,67.6631,1255.64,59.1331,1276.12,53.7031,1275.04,67.6631" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[27d3195f2473dab648037e6c3b9e7d94]
reverse link BluetoothMessage to SetScanState--><path d="M1276.16,56.9831 C1435.84,63.4331 1767.23,82.6931 2042,136.9531 C2047.54,138.0531 2053.26,139.3831 2058.96,140.8531 " fill="none" id="BluetoothMessage&lt;-SetScanState" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="none" points="1275.43,63.9631,1255.71,56.1931,1275.97,49.9731,1275.43,63.9631" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[65a70bcac7d184e0c5bb5d3a2cb9d16d]
@startuml
skinparam BackgroundColor F0F0F0

title BluetoothMessages - Class Diagram



@@ 46,10 47,12 @@ class SetScanState implements BluetoothMessage

@enduml

PlantUML version 1.2020.19(Mon Oct 12 17:10:01 CEST 2020)
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

M module-bluetooth/bt_settings_basic_flowchart.puml => module-bluetooth/bt_settings_basic_flowchart.puml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0

[Service DB] as srvcdb
[Service Bluetooth] as srvcbt

M module-bluetooth/bt_settings_basic_flowchart.svg => module-bluetooth/bt_settings_basic_flowchart.svg +21 -18
@@ 1,26 1,29 @@
<?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="55px" preserveAspectRatio="none" style="width:700px;height:55px;" version="1.1" viewBox="0 0 700 55" width="700px" zoomAndPan="magnify"><defs><filter height="300%" id="f11mf93z2o7zom" 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><!--MD5=[4ff375fdd5a4c489d7dad352cbd5d06e]
entity srvcdb--><rect fill="#FEFECE" filter="url(#f11mf93z2o7zom)" height="36.2969" style="stroke: #A80036; stroke-width: 1.5;" width="95" x="6" y="8"/><rect fill="#FEFECE" height="5" style="stroke: #A80036; stroke-width: 1.5;" width="10" x="1" y="13"/><rect fill="#FEFECE" height="5" style="stroke: #A80036; stroke-width: 1.5;" width="10" x="1" y="34.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="75" x="16" y="30.9951">Service DB</text><!--MD5=[44cde863c342c45177f5f29f53d2de1e]
entity srvcbt--><rect fill="#FEFECE" filter="url(#f11mf93z2o7zom)" height="36.2969" style="stroke: #A80036; stroke-width: 1.5;" width="142" x="228.5" y="8"/><rect fill="#FEFECE" height="5" style="stroke: #A80036; stroke-width: 1.5;" width="10" x="223.5" y="13"/><rect fill="#FEFECE" height="5" style="stroke: #A80036; stroke-width: 1.5;" width="10" x="223.5" y="34.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="122" x="238.5" y="30.9951">Service Bluetooth</text><!--MD5=[ef233ba7a86bbf46a72532c6e29b3ed1]
entity appstngs--><rect fill="#FEFECE" filter="url(#f11mf93z2o7zom)" height="36.2969" style="stroke: #A80036; stroke-width: 1.5;" width="156" x="533.5" y="8"/><rect fill="#FEFECE" height="5" style="stroke: #A80036; stroke-width: 1.5;" width="10" x="528.5" y="13"/><rect fill="#FEFECE" height="5" style="stroke: #A80036; stroke-width: 1.5;" width="10" x="528.5" y="34.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="136" x="543.5" y="30.9951">Application Settings</text><!--MD5=[ea8f7f3546fb2fa8de5261aa4d1a6346]
link srvcdb to srvcbt--><path d="M106.3823,26 C140.4167,26 185.2057,26 223.0807,26 " fill="none" id="srvcdb-srvcbt" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="228.1388,26,219.1388,22,223.1388,26,219.1388,30,228.1388,26" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="101.223,26,110.223,30,106.223,26,110.223,22,101.223,26" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="91" x="119.25" y="19.0669">SettingsAgent</text><!--MD5=[e3bf7600b9ae2cb087876e44ae9bcba1]
link srvcbt to appstngs--><path d="M375.857,26 C421.9715,26 480.7743,26 528.1023,26 " fill="none" id="srvcbt-appstngs" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="533.2289,26,524.2289,22,528.2289,26,524.2289,30,533.2289,26" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="370.688,26,379.688,30,375.688,26,379.688,22,370.688,26" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="126" x="389" y="19.0669">BluetoothMessages</text><!--MD5=[edba85c2e849d6da9ab271417cd0b1bd]
@startuml
[Service DB] as srvcdb
[Service Bluetooth] as srvcbt
[Application Settings] as appstngs
<?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="55px" preserveAspectRatio="none" style="width:700px;height:55px;background:#F0F0F0;" version="1.1" viewBox="0 0 700 55" width="700px" zoomAndPan="magnify"><defs><filter height="300%" id="f1lqkumy0mfvs4" 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><!--MD5=[4ff375fdd5a4c489d7dad352cbd5d06e]
entity srvcdb--><rect fill="#FEFECE" filter="url(#f1lqkumy0mfvs4)" height="36.2969" style="stroke: #A80036; stroke-width: 1.5;" width="95" x="6" y="8"/><rect fill="#FEFECE" height="5" style="stroke: #A80036; stroke-width: 1.5;" width="10" x="1" y="13"/><rect fill="#FEFECE" height="5" style="stroke: #A80036; stroke-width: 1.5;" width="10" x="1" y="34.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="75" x="16" y="30.9951">Service DB</text><!--MD5=[44cde863c342c45177f5f29f53d2de1e]
entity srvcbt--><rect fill="#FEFECE" filter="url(#f1lqkumy0mfvs4)" height="36.2969" style="stroke: #A80036; stroke-width: 1.5;" width="142" x="228.5" y="8"/><rect fill="#FEFECE" height="5" style="stroke: #A80036; stroke-width: 1.5;" width="10" x="223.5" y="13"/><rect fill="#FEFECE" height="5" style="stroke: #A80036; stroke-width: 1.5;" width="10" x="223.5" y="34.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="122" x="238.5" y="30.9951">Service Bluetooth</text><!--MD5=[ef233ba7a86bbf46a72532c6e29b3ed1]
entity appstngs--><rect fill="#FEFECE" filter="url(#f1lqkumy0mfvs4)" height="36.2969" style="stroke: #A80036; stroke-width: 1.5;" width="156" x="533.5" y="8"/><rect fill="#FEFECE" height="5" style="stroke: #A80036; stroke-width: 1.5;" width="10" x="528.5" y="13"/><rect fill="#FEFECE" height="5" style="stroke: #A80036; stroke-width: 1.5;" width="10" x="528.5" y="34.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="136" x="543.5" y="30.9951">Application Settings</text><!--MD5=[ea8f7f3546fb2fa8de5261aa4d1a6346]
link srvcdb to srvcbt--><path d="M106.38,26 C140.42,26 185.21,26 223.08,26 " fill="none" id="srvcdb-srvcbt" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="228.14,26,219.14,22,223.14,26,219.14,30,228.14,26" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="101.22,26,110.22,30,106.22,26,110.22,22,101.22,26" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="91" x="119.25" y="19.0669">SettingsAgent</text><!--MD5=[e3bf7600b9ae2cb087876e44ae9bcba1]
link srvcbt to appstngs--><path d="M375.86,26 C421.97,26 480.77,26 528.1,26 " fill="none" id="srvcbt-appstngs" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="533.23,26,524.23,22,528.23,26,524.23,30,533.23,26" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="370.69,26,379.69,30,375.69,26,379.69,22,370.69,26" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="126" x="389" y="19.0669">BluetoothMessages</text><!--MD5=[f09ec7015cdd7eb3eb8468bf041776d3]
@startuml
skinparam BackgroundColor F0F0F0

[Service DB] as srvcdb
[Service Bluetooth] as srvcbt
[Application Settings] as appstngs


srvcdb <-r-> srvcbt : SettingsAgent
srvcbt <-r-> appstngs : BluetoothMessages

@enduml


srvcdb <-r-> srvcbt : SettingsAgent
srvcbt <-r-> appstngs : BluetoothMessages
@enduml

PlantUML version 1.2019.12(Sun Nov 03 10:24:54 UTC 2019)
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: 1.8.0_232-heroku-b09
Java Version: 11.0.12+7-post-Debian-2
Operating System: Linux
Default Encoding: UTF-8
Language: en
Country: US
--></g></svg>
--></g></svg>
\ No newline at end of file

M module-bluetooth/change_bt_status_flowchart.puml => module-bluetooth/change_bt_status_flowchart.puml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0

actor User
participant "Application Settings" as appstgs

M module-bluetooth/change_bt_status_flowchart.svg => module-bluetooth/change_bt_status_flowchart.svg +15 -12
@@ 1,5 1,7 @@
<?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]
<?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


@@ 41,15 43,16 @@ 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>
@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>
\ No newline at end of file

M module-bluetooth/doc/bt_on_off_state_diagram.puml => module-bluetooth/doc/bt_on_off_state_diagram.puml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0

[*] --> Off
Off: Bluetooth turned off

M module-bluetooth/doc/bt_on_off_state_diagram.svg => module-bluetooth/doc/bt_on_off_state_diagram.svg +14 -11
@@ 1,14 1,15 @@
<?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="519px" preserveAspectRatio="none" style="width:784px;height:519px;" version="1.1" viewBox="0 0 784 519" width="784px" zoomAndPan="magnify"><defs><filter height="300%" id="fig7e04263nij" 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><!--MD5=[533c208fec6a0d647a17271f098caca5]
cluster Init--><rect fill="#FEFECE" filter="url(#fig7e04263nij)" height="379" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="218" x="554" y="128"/><rect fill="#FFFFFF" height="313.7656" rx="12.5" ry="12.5" style="stroke:#FFFFFF;stroke-width:1.0;" width="212" x="557" y="190.2344"/><line style="stroke:#A80036;stroke-width:1.5;" x1="554" x2="772" y1="187.2344" y2="187.2344"/><line style="stroke:#A80036;stroke-width:1.5;" x1="554" x2="772" y1="154.2969" y2="154.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="20" x="582" y="144.9951">Init</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="146" x="559" y="167.9355">Initialization of BT stack</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="162" x="559" y="181.9043">Creating BluetoothWorker</text><ellipse cx="667" cy="214" fill="#000000" filter="url(#fig7e04263nij)" rx="10" ry="10" style="stroke:none;stroke-width:1.0;"/><g id="Init.WorkerSetup"><rect fill="#FEFECE" filter="url(#fig7e04263nij)" height="64.2344" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="162" x="586" y="285"/><line style="stroke:#A80036;stroke-width:1.5;" x1="586" x2="748" y1="311.2969" y2="311.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="90" x="622" y="302.9951">WorkerSetup</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="142" x="591" y="327.4355">Settings fetch &amp; setup</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="94" x="591" y="341.4043">BT driver setup</text></g><g id="Init.DriverRun"><rect fill="#FEFECE" filter="url(#fig7e04263nij)" height="50.2656" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="144" x="586" y="433"/><line style="stroke:#A80036;stroke-width:1.5;" x1="586" x2="730" y1="459.2969" y2="459.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="68" x="624" y="450.9951">DriverRun</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="124" x="591" y="475.4355">Turning on BT stack</text></g><ellipse cx="16" cy="317" fill="#000000" filter="url(#fig7e04263nij)" rx="10" ry="10" style="stroke:none;stroke-width:1.0;"/><g id="Off"><rect fill="#FEFECE" filter="url(#fig7e04263nij)" height="64.2344" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="147" x="51.5" y="426"/><line style="stroke:#A80036;stroke-width:1.5;" x1="51.5" x2="198.5" y1="452.2969" y2="452.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="19" x="115.5" y="443.9951">Off</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="127" x="56.5" y="468.4355">Bluetooth turned off</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="70" x="56.5" y="482.4043">Initial state</text></g><g id="Restart"><rect fill="#FEFECE" filter="url(#fig7e04263nij)" height="50.2656" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="303" x="410.5" y="7"/><line style="stroke:#A80036;stroke-width:1.5;" x1="410.5" x2="713.5" y1="33.2969" y2="33.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="50" x="537" y="24.9951">Restart</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="283" x="415.5" y="49.4355">Restart Bluetooth Stack in case of hard error</text></g><g id="Init.On"><rect fill="#FEFECE" filter="url(#fig7e04263nij)" height="50.2656" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="166" x="349" y="292"/><line style="stroke:#A80036;stroke-width:1.5;" x1="349" x2="515" y1="318.2969" y2="318.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="20" x="422" y="309.9951">On</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="146" x="354" y="334.4355">BT stack fully operating</text></g><!--MD5=[79cb27a3a0f2a433e2384f6da7fb5477]
link *start to Off--><path d="M21.04,325.99 C30.24,340.38 50.58,371.46 70,396 C76.77,404.55 84.4,413.44 91.78,421.7 " fill="none" id="*start-to-Off" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="95.38,425.69,92.3504,416.3187,92.0423,421.9672,86.3938,421.6591,95.38,425.69" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[cbd16985e98923477b086a370bc489ce]
link Off to Init--><path d="M111.03,425.9 C96.34,387.94 79.61,324 113,285 C145.58,246.945 256.3375,229.42 359.6875,221.4213 C411.3625,217.4219 461.1856,215.8041 498.4588,215.1923 C517.0953,214.8865 532.5944,214.8321 543.6187,214.8574 C546.3747,214.8637 548.8511,214.875 551.027,214.8886 C551.5709,214.892 552.0961,214.8955 552.6022,214.8991 C552.8552,214.901 553.1035,214.9028 553.3469,214.9047 " fill="none" id="Off-to-Init" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="553.3469,214.9047,544.3778,210.8359,548.347,214.8664,544.3165,218.8356,553.3469,214.9047" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="216" x="114" y="321.5669">Command::TurnOn /worker-&gt;init()</text><!--MD5=[155566f13e7efec7d105709a16fe3d4a]
link *start*Init to WorkerSetup--><path d="M667,224.32 C667,236.78 667,259.6 667,279.35 " fill="none" id="*start*Init-to-WorkerSetup" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="667,284.56,671,275.56,667,279.56,663,275.56,667,284.56" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[c80e218129ccf8c5829d329afa97d946]
link WorkerSetup to DriverRun--><path d="M664.98,349.19 C663.46,372.71 661.38,404.73 659.89,427.76 " fill="none" id="WorkerSetup-to-DriverRun" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="659.57,432.82,664.1267,424.0887,659.8837,427.8298,656.1425,423.5868,659.57,432.82" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="88" x="664" y="392.0669">/ initDone = 1</text><!--MD5=[55403775e581799a7dec5eedc8d92082]
link DriverRun to Off--><path d="M585.63,458 C485.85,458 306.72,458 203.7,458 " fill="none" id="DriverRun-to-Off" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="198.55,458,207.55,462,203.55,458,207.55,454,198.55,458" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="293" x="245.75" y="451.0669">Turned on [error != 0]/ send status to appMgr</text><!--MD5=[daf29d706684f08af01db28327c260dd]
link DriverRun to On--><path d="M585.7,452.89 C504.72,446.59 380.99,431.34 352,396 C337.06,377.79 354.29,359.31 376.53,344.91 " fill="none" id="DriverRun-to-On" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="381.03,342.09,371.2759,343.4532,376.786,344.7336,375.5057,350.2436,381.03,342.09" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="299" x="353" y="392.0669">Turned on [error == 0]/ send status to appMgr</text><!--MD5=[2ee57ebca22bdc8713f173619aa2ce0d]
link On to Off--><path d="M348.7,341.47 C288.04,358.57 216.4,378.79 216,379 C195.03,390.23 174.65,406.99 158.5,422.09 " fill="none" id="On-to-Off" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="154.49,425.89,163.772,422.597,158.1171,422.4485,158.2656,416.7936,154.49,425.89" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="121" x="217" y="392.0669">Command::TurnOff</text><!--MD5=[15b5b872ee5848af43a946556c76c324]
link Restart to Init--><path d="M562,57.28 C562,69.37 562,84.94 562,101.545 C562,109.8475 562,118.4088 562,126.9231 C562,127.1892 562,127.4552 562,127.7212 " fill="none" id="Restart-to-Init" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="562,127.7212,566,118.7212,562,122.7212,558,118.7212,562,127.7212" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="91" x="563" y="100.0669">/worker-&gt;Init()</text><!--MD5=[a5b2c1c4be5d5c46b07cf1e23aa28fb7]
<?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="519px" preserveAspectRatio="none" style="width:784px;height:519px;background:#F0F0F0;" version="1.1" viewBox="0 0 784 519" width="784px" zoomAndPan="magnify"><defs><filter height="300%" id="f1bsr8iakppdr5" 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><!--MD5=[533c208fec6a0d647a17271f098caca5]
cluster Init--><rect fill="#FEFECE" filter="url(#f1bsr8iakppdr5)" height="379" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="218" x="554" y="129"/><rect fill="#F0F0F0" height="313.7656" rx="12.5" ry="12.5" style="stroke: #F0F0F0; stroke-width: 1.0;" width="212" x="557" y="191.2344"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="554" x2="772" y1="188.2344" y2="188.2344"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="554" x2="772" y1="155.2969" y2="155.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="20" x="582" y="145.9951">Init</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="146" x="559" y="168.9355">Initialization of BT stack</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="162" x="559" y="182.9043">Creating BluetoothWorker</text><ellipse cx="667" cy="215" fill="#000000" filter="url(#f1bsr8iakppdr5)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#f1bsr8iakppdr5)" height="64.2344" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="162" x="586" y="286"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="586" x2="748" y1="312.2969" y2="312.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="90" x="622" y="303.9951">WorkerSetup</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="142" x="591" y="328.4355">Settings fetch &amp; setup</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="94" x="591" y="342.4043">BT driver setup</text><rect fill="#FEFECE" filter="url(#f1bsr8iakppdr5)" height="50.2656" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="144" x="586" y="434"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="586" x2="730" y1="460.2969" y2="460.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="68" x="624" y="451.9951">DriverRun</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="124" x="591" y="476.4355">Turning on BT stack</text><ellipse cx="16" cy="318" fill="#000000" filter="url(#f1bsr8iakppdr5)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#f1bsr8iakppdr5)" height="64.2344" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="147" x="51.5" y="427"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="51.5" x2="198.5" y1="453.2969" y2="453.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="19" x="115.5" y="444.9951">Off</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="127" x="56.5" y="469.4355">Bluetooth turned off</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="70" x="56.5" y="483.4043">Initial state</text><rect fill="#FEFECE" filter="url(#f1bsr8iakppdr5)" height="50.2656" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="303" x="410.5" y="8"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="410.5" x2="713.5" y1="34.2969" y2="34.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="50" x="537" y="25.9951">Restart</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="283" x="415.5" y="50.4355">Restart Bluetooth Stack in case of hard error</text><rect fill="#FEFECE" filter="url(#f1bsr8iakppdr5)" height="50.2656" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="166" x="349" y="293"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="349" x2="515" y1="319.2969" y2="319.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="20" x="422" y="310.9951">On</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="146" x="354" y="335.4355">BT stack fully operating</text><!--MD5=[79cb27a3a0f2a433e2384f6da7fb5477]
link *start to Off--><path d="M21.04,326.99 C30.24,341.38 50.58,372.46 70,397 C76.77,405.55 84.4,414.44 91.78,422.7 " fill="none" id="*start-&gt;Off" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="95.38,426.69,92.3504,417.3187,92.0423,422.9672,86.3938,422.6591,95.38,426.69" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[cbd16985e98923477b086a370bc489ce]
link Off to Init--><path d="M111.03,426.9 C96.34,388.94 79.61,325 113,286 C145.58,247.945 256.3375,230.42 359.6875,222.4213 C411.3625,218.4219 461.1856,216.8041 498.4588,216.1923 C517.0953,215.8865 532.5944,215.8321 543.6187,215.8574 C546.3747,215.8637 548.8511,215.875 551.027,215.8886 C551.5709,215.892 552.0961,215.8955 552.6022,215.8991 C552.8552,215.901 553.1035,215.9028 553.3469,215.9047 " fill="none" id="Off-&gt;Init" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="553.3469,215.9047,544.3778,211.8359,548.347,215.8664,544.3165,219.8356,553.3469,215.9047" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="216" x="114" y="322.5669">Command::TurnOn /worker-&gt;init()</text><!--MD5=[155566f13e7efec7d105709a16fe3d4a]
link *start*Init to WorkerSetup--><path d="M667,225.32 C667,237.78 667,260.6 667,280.35 " fill="none" id="*start*Init-&gt;WorkerSetup" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="667,285.56,671,276.56,667,280.56,663,276.56,667,285.56" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[c80e218129ccf8c5829d329afa97d946]
link WorkerSetup to DriverRun--><path d="M664.98,350.19 C663.46,373.71 661.38,405.73 659.89,428.76 " fill="none" id="WorkerSetup-&gt;DriverRun" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="659.57,433.82,664.1267,425.0887,659.8837,428.8298,656.1425,424.5868,659.57,433.82" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="88" x="664" y="393.0669">/ initDone = 1</text><!--MD5=[55403775e581799a7dec5eedc8d92082]
link DriverRun to Off--><path d="M585.63,459 C485.85,459 306.72,459 203.7,459 " fill="none" id="DriverRun-&gt;Off" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="198.55,459,207.55,463,203.55,459,207.55,455,198.55,459" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="293" x="245.75" y="452.0669">Turned on [error != 0]/ send status to appMgr</text><!--MD5=[daf29d706684f08af01db28327c260dd]
link DriverRun to On--><path d="M585.7,453.89 C504.72,447.59 380.99,432.34 352,397 C337.06,378.79 354.29,360.31 376.53,345.91 " fill="none" id="DriverRun-&gt;On" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="381.03,343.09,371.2759,344.4532,376.786,345.7336,375.5057,351.2436,381.03,343.09" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="299" x="353" y="393.0669">Turned on [error == 0]/ send status to appMgr</text><!--MD5=[2ee57ebca22bdc8713f173619aa2ce0d]
link On to Off--><path d="M348.7,342.47 C288.04,359.57 216.4,379.79 216,380 C195.03,391.23 174.65,407.99 158.5,423.09 " fill="none" id="On-&gt;Off" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="154.49,426.89,163.772,423.597,158.1171,423.4485,158.2656,417.7936,154.49,426.89" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="121" x="217" y="393.0669">Command::TurnOff</text><!--MD5=[15b5b872ee5848af43a946556c76c324]
link Restart to Init--><path d="M562,58.28 C562,70.37 562,85.94 562,102.545 C562,110.8475 562,119.4088 562,127.9231 C562,128.1892 562,128.4552 562,128.7212 " fill="none" id="Restart-&gt;Init" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="562,128.7212,566,119.7212,562,123.7212,558,119.7212,562,128.7212" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="91" x="563" y="101.0669">/worker-&gt;Init()</text><!--MD5=[6c3c23e026ce7e75e5d4e431ac8c025c]
@startuml
skinparam BackgroundColor F0F0F0

[*] - -> Off
Off: Bluetooth turned off


@@ 43,10 44,12 @@ On - -> Off : Command::TurnOff
Restart - -> Init :/worker->Init()
@enduml

PlantUML version 1.2021.00(Sun Jan 10 11:25:05 CET 2021)
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

M module-bluetooth/doc/bt_scan.puml => module-bluetooth/doc/bt_scan.puml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0

actor User
participant ServiceBluetooth

M module-bluetooth/doc/bt_scan.svg => module-bluetooth/doc/bt_scan.svg +5 -2
@@ 1,5 1,6 @@
<?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="366px" preserveAspectRatio="none" style="width:506px;height:366px;" version="1.1" viewBox="0 0 506 366" width="506px" zoomAndPan="magnify"><defs><filter height="300%" id="f17abn9lsdmeoc" 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(#f17abn9lsdmeoc)" height="93.3984" style="stroke:#A80036;stroke-width:1.0;" width="10" x="421" y="98.2969"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="24" x2="24" y1="88.2969" y2="281.9609"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="426" x2="426" y1="88.2969" y2="281.9609"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="32" x="5" y="84.9951">User</text><ellipse cx="24" cy="15" fill="#FEFECE" filter="url(#f17abn9lsdmeoc)" rx="8" ry="8" style="stroke:#A80036;stroke-width:2.0;"/><path d="M24,23 L24,50 M11,31 L37,31 M24,50 L11,65 M24,50 L37,65 " fill="none" filter="url(#f17abn9lsdmeoc)" style="stroke:#A80036;stroke-width:2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="32" x="5" y="293.9561">User</text><ellipse cx="24" cy="307.2578" fill="#FEFECE" filter="url(#f17abn9lsdmeoc)" rx="8" ry="8" style="stroke:#A80036;stroke-width:2.0;"/><path d="M24,315.2578 L24,342.2578 M11,323.2578 L37,323.2578 M24,342.2578 L11,357.2578 M24,342.2578 L37,357.2578 " fill="none" filter="url(#f17abn9lsdmeoc)" style="stroke:#A80036;stroke-width:2.0;"/><rect fill="#FEFECE" filter="url(#f17abn9lsdmeoc)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="132" x="358" y="53"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="118" x="365" y="72.9951">ServiceBluetooth</text><rect fill="#FEFECE" filter="url(#f17abn9lsdmeoc)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="132" x="358" y="280.9609"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="118" x="365" y="300.9561">ServiceBluetooth</text><rect fill="#FFFFFF" filter="url(#f17abn9lsdmeoc)" height="93.3984" style="stroke:#A80036;stroke-width:1.0;" width="10" x="421" y="98.2969"/><rect fill="#EEEEEE" filter="url(#f17abn9lsdmeoc)" height="3" style="stroke:#EEEEEE;stroke-width:1.0;" width="499" x="0" y="118.8633"/><line style="stroke:#000000;stroke-width:1.0;" x1="0" x2="499" y1="118.8633" y2="118.8633"/><line style="stroke:#000000;stroke-width:1.0;" x1="0" x2="499" y1="121.8633" y2="121.8633"/><rect fill="#EEEEEE" filter="url(#f17abn9lsdmeoc)" height="23.1328" style="stroke:#000000;stroke-width:2.0;" width="89" x="205" y="108.2969"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="75" x="211" y="124.3638">Start scan</text><polygon fill="#A80036" points="409,158.5625,419,162.5625,409,166.5625,413,162.5625" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="24" x2="415" y1="162.5625" y2="162.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="348" x="31" y="157.4966">BluetoothMessage(BluetoothMessage::Request::Scan)</text><polygon fill="#A80036" points="35,187.6953,25,191.6953,35,195.6953,31,191.6953" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="29" x2="425" y1="191.6953" y2="191.6953"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="295" x="41" y="186.6294">for each device: BluetoothScanResultMessage</text><rect fill="#EEEEEE" filter="url(#f17abn9lsdmeoc)" height="3" style="stroke:#EEEEEE;stroke-width:1.0;" width="499" x="0" y="220.2617"/><line style="stroke:#000000;stroke-width:1.0;" x1="0" x2="499" y1="220.2617" y2="220.2617"/><line style="stroke:#000000;stroke-width:1.0;" x1="0" x2="499" y1="223.2617" y2="223.2617"/><rect fill="#EEEEEE" filter="url(#f17abn9lsdmeoc)" height="23.1328" style="stroke:#000000;stroke-width:2.0;" width="87" x="206" y="209.6953"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="73" x="212" y="225.7622">Stop scan</text><polygon fill="#A80036" points="414,259.9609,424,263.9609,414,267.9609,418,263.9609" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="24" x2="420" y1="263.9609" y2="263.9609"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="378" x="31" y="258.895">BluetoothMessage(BluetoothMessage::Request::StopScan)</text><!--MD5=[3e00c5d120b5619ee5a1f6367740c9a8]
<?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="367px" preserveAspectRatio="none" style="width:514px;height:367px;background:#F0F0F0;" version="1.1" viewBox="0 0 514 367" width="514px" zoomAndPan="magnify"><defs><filter height="300%" id="fjwr2af62umoy" 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(#fjwr2af62umoy)" height="93.3984" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="424" y="96.2969"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="27" x2="27" y1="86.2969" y2="279.9609"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="429" x2="429" y1="86.2969" y2="279.9609"/><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(#fjwr2af62umoy)" 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(#fjwr2af62umoy)" style="stroke: #A80036; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="32" x="8" y="291.9561">User</text><ellipse cx="27" cy="305.2578" fill="#FEFECE" filter="url(#fjwr2af62umoy)" rx="8" ry="8" style="stroke: #A80036; stroke-width: 2.0;"/><path d="M27,313.2578 L27,340.2578 M14,321.2578 L40,321.2578 M27,340.2578 L14,355.2578 M27,340.2578 L40,355.2578 " fill="none" filter="url(#fjwr2af62umoy)" style="stroke: #A80036; stroke-width: 2.0;"/><rect fill="#FEFECE" filter="url(#fjwr2af62umoy)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="132" x="361" y="51"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="118" x="368" y="70.9951">ServiceBluetooth</text><rect fill="#FEFECE" filter="url(#fjwr2af62umoy)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="132" x="361" y="278.9609"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="118" x="368" y="298.9561">ServiceBluetooth</text><rect fill="#FFFFFF" filter="url(#fjwr2af62umoy)" height="93.3984" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="424" y="96.2969"/><rect fill="#EEEEEE" filter="url(#fjwr2af62umoy)" height="3" style="stroke: #EEEEEE; stroke-width: 1.0;" width="499" x="3" y="116.8633"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="502" y1="116.8633" y2="116.8633"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="502" y1="119.8633" y2="119.8633"/><rect fill="#EEEEEE" filter="url(#fjwr2af62umoy)" height="23.1328" style="stroke: #000000; stroke-width: 2.0;" width="89" x="208" y="106.2969"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="75" x="214" y="122.3638">Start scan</text><polygon fill="#A80036" points="412,156.5625,422,160.5625,412,164.5625,416,160.5625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="27" x2="418" y1="160.5625" y2="160.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="348" x="34" y="155.4966">BluetoothMessage(BluetoothMessage::Request::Scan)</text><polygon fill="#A80036" points="38,185.6953,28,189.6953,38,193.6953,34,189.6953" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="32" x2="428" y1="189.6953" y2="189.6953"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="295" x="44" y="184.6294">for each device: BluetoothScanResultMessage</text><rect fill="#EEEEEE" filter="url(#fjwr2af62umoy)" height="3" style="stroke: #EEEEEE; stroke-width: 1.0;" width="499" x="3" y="218.2617"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="502" y1="218.2617" y2="218.2617"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="502" y1="221.2617" y2="221.2617"/><rect fill="#EEEEEE" filter="url(#fjwr2af62umoy)" height="23.1328" style="stroke: #000000; stroke-width: 2.0;" width="87" x="209" y="207.6953"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="73" x="215" y="223.7622">Stop scan</text><polygon fill="#A80036" points="417,257.9609,427,261.9609,417,265.9609,421,261.9609" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="27" x2="423" y1="261.9609" y2="261.9609"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="378" x="34" y="256.895">BluetoothMessage(BluetoothMessage::Request::StopScan)</text><!--MD5=[f4e220d96e2dd437887ec4b75627564c]
@startuml
skinparam BackgroundColor F0F0F0

actor User
participant ServiceBluetooth


@@ 13,10 14,12 @@ User -> ServiceBluetooth : BluetoothMessage(BluetoothMessage::Request::StopScan)

@enduml

PlantUML version 1.2021.01(Tue Feb 02 08:55:08 CET 2021)
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

M module-bluetooth/doc/bt_volume_buttons_handling.puml => module-bluetooth/doc/bt_volume_buttons_handling.puml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0

actor User
participant "A2DP Sink" as sink

M module-bluetooth/doc/bt_volume_buttons_handling.svg => module-bluetooth/doc/bt_volume_buttons_handling.svg +4 -4
@@ 1,5 1,6 @@
<?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="468px" preserveAspectRatio="none" style="width:1087px;height:468px;" version="1.1" viewBox="0 0 1087 468" width="1087px" zoomAndPan="magnify"><defs><filter height="300%" id="f1ko217yxdo7w6" 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><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="27" x2="27" y1="86.2969" y2="381.3594"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="200.5" x2="200.5" y1="86.2969" y2="381.3594"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="378" x2="378" y1="86.2969" y2="381.3594"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="573" x2="573" y1="86.2969" y2="381.3594"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="767.5" x2="767.5" y1="86.2969" y2="381.3594"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="929.5" x2="929.5" y1="86.2969" y2="381.3594"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="1023.5" x2="1023.5" y1="86.2969" y2="381.3594"/><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(#f1ko217yxdo7w6)" 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(#f1ko217yxdo7w6)" style="stroke: #A80036; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="32" x="8" y="393.3545">User</text><ellipse cx="27" cy="406.6563" fill="#FEFECE" filter="url(#f1ko217yxdo7w6)" rx="8" ry="8" style="stroke: #A80036; stroke-width: 2.0;"/><path d="M27,414.6563 L27,441.6563 M14,422.6563 L40,422.6563 M27,441.6563 L14,456.6563 M27,441.6563 L40,456.6563 " fill="none" filter="url(#f1ko217yxdo7w6)" style="stroke: #A80036; stroke-width: 2.0;"/><rect fill="#FEFECE" filter="url(#f1ko217yxdo7w6)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="85" x="156.5" y="51"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="71" x="163.5" y="70.9951">A2DP Sink</text><rect fill="#FEFECE" filter="url(#f1ko217yxdo7w6)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="85" x="156.5" y="380.3594"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="71" x="163.5" y="400.3545">A2DP Sink</text><rect fill="#FEFECE" filter="url(#f1ko217yxdo7w6)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="224" x="264" y="51"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="210" x="271" y="70.9951">Source's AVRCP event handler</text><rect fill="#FEFECE" filter="url(#f1ko217yxdo7w6)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="224" x="264" y="380.3594"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="210" x="271" y="400.3545">Source's AVRCP event handler</text><rect fill="#FEFECE" filter="url(#f1ko217yxdo7w6)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="136" x="503" y="51"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="122" x="510" y="70.9951">Service Bluetooth</text><rect fill="#FEFECE" filter="url(#f1ko217yxdo7w6)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="136" x="503" y="380.3594"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="122" x="510" y="400.3545">Service Bluetooth</text><rect fill="#FEFECE" filter="url(#f1ko217yxdo7w6)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="107" x="712.5" y="51"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="93" x="719.5" y="70.9951">Service Audio</text><rect fill="#FEFECE" filter="url(#f1ko217yxdo7w6)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="107" x="712.5" y="380.3594"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="93" x="719.5" y="400.3545">Service Audio</text><rect fill="#FEFECE" filter="url(#f1ko217yxdo7w6)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="71" x="892.5" y="51"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="57" x="899.5" y="70.9951">Settings</text><rect fill="#FEFECE" filter="url(#f1ko217yxdo7w6)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="71" x="892.5" y="380.3594"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="57" x="899.5" y="400.3545">Settings</text><rect fill="#FEFECE" filter="url(#f1ko217yxdo7w6)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="89" x="977.5" y="51"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="75" x="984.5" y="70.9951">Application</text><rect fill="#FEFECE" filter="url(#f1ko217yxdo7w6)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="89" x="977.5" y="380.3594"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="75" x="984.5" y="400.3545">Application</text><polygon fill="#A80036" points="189,113.4297,199,117.4297,189,121.4297,193,117.4297" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="27" x2="195" y1="117.4297" y2="117.4297"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="150" x="34" y="112.3638">Volume button pressed</text><rect fill="#EEEEEE" filter="url(#f1ko217yxdo7w6)" height="3" style="stroke: #EEEEEE; stroke-width: 1.0;" width="1072.5" x="3" y="145.9961"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="1075.5" y1="145.9961" y2="145.9961"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="1075.5" y1="148.9961" y2="148.9961"/><rect fill="#EEEEEE" filter="url(#f1ko217yxdo7w6)" height="23.1328" style="stroke: #000000; stroke-width: 2.0;" width="54" x="512.25" y="135.4297"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="40" x="518.25" y="151.4966">A2DP</text><polygon fill="#A80036" points="366,185.6953,376,189.6953,366,193.6953,370,189.6953" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="201" x2="372" y1="189.6953" y2="189.6953"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="153" x="208" y="184.6294">AVRCP volume changed</text><rect fill="#EEEEEE" filter="url(#f1ko217yxdo7w6)" height="3" style="stroke: #EEEEEE; stroke-width: 1.0;" width="1072.5" x="3" y="210.6953"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="1075.5" y1="210.6953" y2="210.6953"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="1075.5" y1="213.6953" y2="213.6953"/><polygon fill="#A80036" points="561,242.8281,571,246.8281,561,250.8281,565,246.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="378" x2="567" y1="246.8281" y2="246.8281"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="171" x="385" y="241.7622">Volume changed message</text><polygon fill="#A80036" points="756,271.9609,766,275.9609,756,279.9609,760,275.9609" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="573" x2="762" y1="275.9609" y2="275.9609"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="171" x="580" y="270.895">Volume changed message</text><polygon fill="#A80036" points="918,301.0938,928,305.0938,918,309.0938,922,305.0938" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="768" x2="924" y1="305.0938" y2="305.0938"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="138" x="775" y="300.0278">Set appropriate value</text><polygon fill="#A80036" points="1012,330.2266,1022,334.2266,1012,338.2266,1016,334.2266" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="768" x2="1018" y1="334.2266" y2="334.2266"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="158" x="775" y="329.1606">Current volume changed</text><polygon fill="#A80036" points="38,359.3594,28,363.3594,38,367.3594,34,363.3594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="32" x2="1023" y1="363.3594" y2="363.3594"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="168" x="44" y="358.2935">Show current volume level</text><!--
<?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="468px" preserveAspectRatio="none" style="width:1087px;height:468px;background:#F0F0F0;" version="1.1" viewBox="0 0 1087 468" width="1087px" zoomAndPan="magnify"><defs><filter height="300%" id="f1jvycsltafvmo" 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><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="27" x2="27" y1="86.2969" y2="381.3594"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="200.5" x2="200.5" y1="86.2969" y2="381.3594"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="378" x2="378" y1="86.2969" y2="381.3594"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="573" x2="573" y1="86.2969" y2="381.3594"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="767.5" x2="767.5" y1="86.2969" y2="381.3594"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="929.5" x2="929.5" y1="86.2969" y2="381.3594"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="1023.5" x2="1023.5" y1="86.2969" y2="381.3594"/><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(#f1jvycsltafvmo)" 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(#f1jvycsltafvmo)" style="stroke: #A80036; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="32" x="8" y="393.3545">User</text><ellipse cx="27" cy="406.6563" fill="#FEFECE" filter="url(#f1jvycsltafvmo)" rx="8" ry="8" style="stroke: #A80036; stroke-width: 2.0;"/><path d="M27,414.6563 L27,441.6563 M14,422.6563 L40,422.6563 M27,441.6563 L14,456.6563 M27,441.6563 L40,456.6563 " fill="none" filter="url(#f1jvycsltafvmo)" style="stroke: #A80036; stroke-width: 2.0;"/><rect fill="#FEFECE" filter="url(#f1jvycsltafvmo)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="85" x="156.5" y="51"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="71" x="163.5" y="70.9951">A2DP Sink</text><rect fill="#FEFECE" filter="url(#f1jvycsltafvmo)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="85" x="156.5" y="380.3594"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="71" x="163.5" y="400.3545">A2DP Sink</text><rect fill="#FEFECE" filter="url(#f1jvycsltafvmo)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="224" x="264" y="51"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="210" x="271" y="70.9951">Source's AVRCP event handler</text><rect fill="#FEFECE" filter="url(#f1jvycsltafvmo)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="224" x="264" y="380.3594"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="210" x="271" y="400.3545">Source's AVRCP event handler</text><rect fill="#FEFECE" filter="url(#f1jvycsltafvmo)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="136" x="503" y="51"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="122" x="510" y="70.9951">Service Bluetooth</text><rect fill="#FEFECE" filter="url(#f1jvycsltafvmo)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="136" x="503" y="380.3594"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="122" x="510" y="400.3545">Service Bluetooth</text><rect fill="#FEFECE" filter="url(#f1jvycsltafvmo)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="107" x="712.5" y="51"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="93" x="719.5" y="70.9951">Service Audio</text><rect fill="#FEFECE" filter="url(#f1jvycsltafvmo)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="107" x="712.5" y="380.3594"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="93" x="719.5" y="400.3545">Service Audio</text><rect fill="#FEFECE" filter="url(#f1jvycsltafvmo)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="71" x="892.5" y="51"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="57" x="899.5" y="70.9951">Settings</text><rect fill="#FEFECE" filter="url(#f1jvycsltafvmo)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="71" x="892.5" y="380.3594"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="57" x="899.5" y="400.3545">Settings</text><rect fill="#FEFECE" filter="url(#f1jvycsltafvmo)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="89" x="977.5" y="51"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="75" x="984.5" y="70.9951">Application</text><rect fill="#FEFECE" filter="url(#f1jvycsltafvmo)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="89" x="977.5" y="380.3594"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="75" x="984.5" y="400.3545">Application</text><polygon fill="#A80036" points="189,113.4297,199,117.4297,189,121.4297,193,117.4297" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="27" x2="195" y1="117.4297" y2="117.4297"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="150" x="34" y="112.3638">Volume button pressed</text><rect fill="#EEEEEE" filter="url(#f1jvycsltafvmo)" height="3" style="stroke: #EEEEEE; stroke-width: 1.0;" width="1072.5" x="3" y="145.9961"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="1075.5" y1="145.9961" y2="145.9961"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="1075.5" y1="148.9961" y2="148.9961"/><rect fill="#EEEEEE" filter="url(#f1jvycsltafvmo)" height="23.1328" style="stroke: #000000; stroke-width: 2.0;" width="54" x="512.25" y="135.4297"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="40" x="518.25" y="151.4966">A2DP</text><polygon fill="#A80036" points="366,185.6953,376,189.6953,366,193.6953,370,189.6953" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="201" x2="372" y1="189.6953" y2="189.6953"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="153" x="208" y="184.6294">AVRCP volume changed</text><rect fill="#EEEEEE" filter="url(#f1jvycsltafvmo)" height="3" style="stroke: #EEEEEE; stroke-width: 1.0;" width="1072.5" x="3" y="210.6953"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="1075.5" y1="210.6953" y2="210.6953"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="1075.5" y1="213.6953" y2="213.6953"/><polygon fill="#A80036" points="561,242.8281,571,246.8281,561,250.8281,565,246.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="378" x2="567" y1="246.8281" y2="246.8281"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="171" x="385" y="241.7622">Volume changed message</text><polygon fill="#A80036" points="756,271.9609,766,275.9609,756,279.9609,760,275.9609" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="573" x2="762" y1="275.9609" y2="275.9609"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="171" x="580" y="270.895">Volume changed message</text><polygon fill="#A80036" points="918,301.0938,928,305.0938,918,309.0938,922,305.0938" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="768" x2="924" y1="305.0938" y2="305.0938"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="138" x="775" y="300.0278">Set appropriate value</text><polygon fill="#A80036" points="1012,330.2266,1022,334.2266,1012,338.2266,1016,334.2266" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="768" x2="1018" y1="334.2266" y2="334.2266"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="158" x="775" y="329.1606">Current volume changed</text><polygon fill="#A80036" points="38,359.3594,28,363.3594,38,367.3594,34,363.3594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="32" x2="1023" y1="363.3594" y2="363.3594"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="168" x="44" y="358.2935">Show current volume level</text><!--MD5=[20d94dff2733eadb58d0dc4d1a810e30]
@startuml
skinparam BackgroundColor F0F0F0

actor User
participant "A2DP Sink" as sink


@@ 22,13 23,12 @@ app -> User : Show current volume level

@enduml

PlantUML version 1.2018.13(Mon Nov 26 18:11:51 CET 2018)
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.10+9-Ubuntu-0ubuntu1.20.04
Java Version: 11.0.12+7-post-Debian-2
Operating System: Linux
OS Version: 5.8.0-50-generic
Default Encoding: UTF-8
Language: en
Country: US

M module-bluetooth/flowchart.puml => module-bluetooth/flowchart.puml +1 -1
@@ 1,5 1,5 @@

@startuml
skinparam BackgroundColor F0F0F0
== Vol Change - from BT ==
BT ->  EVM: Vol Change request (same key symualtion)
EVM -> App: Vol Change request process Audio

M module-bluetooth/flowchart.svg => module-bluetooth/flowchart.svg +4 -3
@@ 1,5 1,6 @@
<?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="977px" preserveAspectRatio="none" style="width:1063px;height:977px;" version="1.1" viewBox="0 0 1063 977" width="1063px" zoomAndPan="magnify"><defs><filter height="300%" id="f15wvueyp2z2hj" 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><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="151" x2="151" y1="38.2969" y2="937.1484"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="451.5" x2="451.5" y1="38.2969" y2="937.1484"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="695" x2="695" y1="38.2969" y2="937.1484"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="903" x2="903" y1="38.2969" y2="937.1484"/><rect fill="#FEFECE" filter="url(#f15wvueyp2z2hj)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="33" x="133" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="19" x="140" y="22.9951">BT</text><rect fill="#FEFECE" filter="url(#f15wvueyp2z2hj)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="33" x="133" y="936.1484"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="19" x="140" y="956.1436">BT</text><rect fill="#FEFECE" filter="url(#f15wvueyp2z2hj)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="44" x="427.5" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="30" x="434.5" y="22.9951">EVM</text><rect fill="#FEFECE" filter="url(#f15wvueyp2z2hj)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="44" x="427.5" y="936.1484"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="30" x="434.5" y="956.1436">EVM</text><rect fill="#FEFECE" filter="url(#f15wvueyp2z2hj)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="41" x="673" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="27" x="680" y="22.9951">App</text><rect fill="#FEFECE" filter="url(#f15wvueyp2z2hj)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="41" x="673" y="936.1484"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="27" x="680" y="956.1436">App</text><rect fill="#FEFECE" filter="url(#f15wvueyp2z2hj)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="53" x="875" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="39" x="882" y="22.9951">Audio</text><rect fill="#FEFECE" filter="url(#f15wvueyp2z2hj)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="53" x="875" y="936.1484"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="39" x="882" y="956.1436">Audio</text><rect fill="#EEEEEE" filter="url(#f15wvueyp2z2hj)" height="3" style="stroke: #EEEEEE; stroke-width: 1.0;" width="1048" x="3" y="68.8633"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="1051" y1="68.8633" y2="68.8633"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="1051" y1="71.8633" y2="71.8633"/><rect fill="#EEEEEE" filter="url(#f15wvueyp2z2hj)" height="23.1328" style="stroke: #000000; stroke-width: 2.0;" width="176" x="439" y="58.2969"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="157" x="445" y="74.3638">Vol Change - from BT</text><polygon fill="#A80036" points="439.5,108.5625,449.5,112.5625,439.5,116.5625,443.5,112.5625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="151.5" x2="445.5" y1="112.5625" y2="112.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="276" x="158.5" y="107.4966">Vol Change request (same key symualtion)</text><polygon fill="#A80036" points="683.5,137.6953,693.5,141.6953,683.5,145.6953,687.5,141.6953" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="451.5" x2="689.5" y1="141.6953" y2="141.6953"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="220" x="458.5" y="136.6294">Vol Change request process Audio</text><rect fill="#EEEEEE" filter="url(#f15wvueyp2z2hj)" height="3" style="stroke: #EEEEEE; stroke-width: 1.0;" width="1048" x="3" y="170.2617"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="1051" y1="170.2617" y2="170.2617"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="1051" y1="173.2617" y2="173.2617"/><rect fill="#EEEEEE" filter="url(#f15wvueyp2z2hj)" height="23.1328" style="stroke: #000000; stroke-width: 2.0;" width="166" x="444" y="159.6953"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="147" x="450" y="175.7622">Vol Up/Down - to BT</text><polygon fill="#A80036" points="683.5,209.9609,693.5,213.9609,683.5,217.9609,687.5,213.9609" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="451.5" x2="689.5" y1="213.9609" y2="213.9609"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="191" x="458.5" y="208.895">process Up/Down key (popup)</text><polygon fill="#A80036" points="891.5,239.0938,901.5,243.0938,891.5,247.0938,895.5,243.0938" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="695.5" x2="897.5" y1="243.0938" y2="243.0938"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="184" x="702.5" y="238.0278">request Vol Up/Down (finally)</text><polygon fill="#FBFB77" filter="url(#f15wvueyp2z2hj)" points="812,256.0938,994,256.0938,1004,267.0938,994,279.0938,812,279.0938,802,267.0938,812,256.0938" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="178" x="814" y="272.1606">Software codec applies gain</text><polygon fill="#A80036" points="462.5,301.3594,452.5,305.3594,462.5,309.3594,458.5,305.3594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="456.5" x2="902.5" y1="305.3594" y2="305.3594"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="131" x="468.5" y="300.2935">Notify sound change</text><polygon fill="#A80036" points="683.5,330.4922,693.5,334.4922,683.5,338.4922,687.5,334.4922" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="451.5" x2="689.5" y1="334.4922" y2="334.4922"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="126" x="458.5" y="329.4263">show sound change</text><rect fill="#EEEEEE" filter="url(#f15wvueyp2z2hj)" height="3" style="stroke: #EEEEEE; stroke-width: 1.0;" width="1048" x="3" y="363.0586"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="1051" y1="363.0586" y2="363.0586"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="1051" y1="366.0586" y2="366.0586"/><rect fill="#EEEEEE" filter="url(#f15wvueyp2z2hj)" height="23.1328" style="stroke: #000000; stroke-width: 2.0;" width="237" x="408.5" y="352.4922"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="218" x="414.5" y="368.5591">BT device registration - audio</text><polygon fill="#A80036" points="439.5,402.7578,449.5,406.7578,439.5,410.7578,443.5,406.7578" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="151.5" x2="445.5" y1="406.7578" y2="406.7578"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="274" x="158.5" y="401.6919">Event: BTA2DPOn (connection established)</text><polygon fill="#A80036" points="891.5,431.8906,901.5,435.8906,891.5,439.8906,895.5,435.8906" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="451.5" x2="897.5" y1="435.8906" y2="435.8906"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="113" x="458.5" y="430.8247">Event: BTA2DPOn</text><polygon fill="#FBFB77" filter="url(#f15wvueyp2z2hj)" points="771,448.8906,1036,448.8906,1046,459.8906,1036,471.8906,771,471.8906,761,459.8906,771,448.8906" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="261" x="773" y="464.9575">Audio notified about new BT A2DP device</text><polygon fill="#A80036" points="162.5,494.1563,152.5,498.1563,162.5,502.1563,158.5,498.1563" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="156.5" x2="902.5" y1="498.1563" y2="498.1563"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="481" x="168.5" y="493.0903">BluetoothStreamRequestMessage (requesting metadata &amp; queue handles)</text><polygon fill="#A80036" points="891.5,523.2891,901.5,527.2891,891.5,531.2891,895.5,527.2891" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="151.5" x2="897.5" y1="527.2891" y2="527.2891"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="448" x="158.5" y="522.2231">BluetoothStreamRequestMessageResult (metadata &amp; queue handles)</text><polygon fill="#FBFB77" filter="url(#f15wvueyp2z2hj)" points="834,540.2891,973,540.2891,983,559.2891,973,578.2891,834,578.2891,824,559.2891,834,540.2891" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="135" x="836" y="556.356">BT A2DP setup done,</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="113" x="836" y="571.4888">ready to playback</text><rect fill="#EEEEEE" filter="url(#f15wvueyp2z2hj)" height="3" style="stroke: #EEEEEE; stroke-width: 1.0;" width="1048" x="3" y="604.1211"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="1051" y1="604.1211" y2="604.1211"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="1051" y1="607.1211" y2="607.1211"/><rect fill="#EEEEEE" filter="url(#f15wvueyp2z2hj)" height="23.1328" style="stroke: #000000; stroke-width: 2.0;" width="263" x="395.5" y="593.5547"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="244" x="401.5" y="609.6216">BT device registration - COM:WIP</text><polygon fill="#A80036" points="439.5,643.8203,449.5,647.8203,439.5,651.8203,443.5,647.8203" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="151.5" x2="445.5" y1="647.8203" y2="647.8203"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="109" x="158.5" y="642.7544">notify new device</text><polygon fill="#FBFB77" filter="url(#f15wvueyp2z2hj)" points="309,660.8203,593,660.8203,603,679.8203,593,698.8203,309,698.8203,299,679.8203,309,660.8203" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="269" x="311" y="676.8872">do whatever whoever wants with COM port</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="280" x="311" y="692.02">same as with audio device (open handles...)</text><rect fill="#EEEEEE" filter="url(#f15wvueyp2z2hj)" height="3" style="stroke: #EEEEEE; stroke-width: 1.0;" width="1048" x="3" y="724.6523"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="1051" y1="724.6523" y2="724.6523"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="1051" y1="727.6523" y2="727.6523"/><rect fill="#EEEEEE" filter="url(#f15wvueyp2z2hj)" height="23.1328" style="stroke: #000000; stroke-width: 2.0;" width="143" x="455.5" y="714.0859"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="124" x="461.5" y="730.1528">BT device - close</text><polygon fill="#A80036" points="439.5,764.3516,449.5,768.3516,439.5,772.3516,443.5,768.3516" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="151.5" x2="445.5" y1="768.3516" y2="768.3516"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="113" x="158.5" y="763.2856">Event: BTA2DPOff</text><polygon fill="#A80036" points="891.5,793.4844,901.5,797.4844,891.5,801.4844,895.5,797.4844" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="451.5" x2="897.5" y1="797.4844" y2="797.4844"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="113" x="458.5" y="792.4185">Event: BTA2DPOff</text><polygon fill="#A80036" points="462.5,822.6172,452.5,826.6172,462.5,830.6172,458.5,826.6172" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="456.5" x2="902.5" y1="826.6172" y2="826.6172"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="192" x="468.5" y="821.5513">Inform that bt audio ended (?)</text><polygon fill="#A80036" points="683.5,851.75,693.5,855.75,683.5,859.75,687.5,855.75" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="451.5" x2="689.5" y1="855.75" y2="855.75"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="123" x="458.5" y="850.6841">Show bt change (?)</text><polygon fill="#FBFB77" filter="url(#f15wvueyp2z2hj)" points="18,868.75,285,868.75,295,894.75,285,921.75,18,921.75,8,894.75,18,868.75" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="263" x="20" y="884.8169">BT closes handles to streams ( i.e. pipes)</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="193" x="20" y="899.9497">and closes it's device handling</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="210" x="20" y="915.0825">don't pass callback : pass handle</text><!--MD5=[480feff85d53659339712267f944f967]
<?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="977px" preserveAspectRatio="none" style="width:1063px;height:977px;background:#F0F0F0;" version="1.1" viewBox="0 0 1063 977" width="1063px" zoomAndPan="magnify"><defs><filter height="300%" id="f1280ze4d8wjk1" 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><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="151" x2="151" y1="38.2969" y2="937.1484"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="451.5" x2="451.5" y1="38.2969" y2="937.1484"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="695" x2="695" y1="38.2969" y2="937.1484"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="903" x2="903" y1="38.2969" y2="937.1484"/><rect fill="#FEFECE" filter="url(#f1280ze4d8wjk1)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="33" x="133" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="19" x="140" y="22.9951">BT</text><rect fill="#FEFECE" filter="url(#f1280ze4d8wjk1)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="33" x="133" y="936.1484"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="19" x="140" y="956.1436">BT</text><rect fill="#FEFECE" filter="url(#f1280ze4d8wjk1)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="44" x="427.5" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="30" x="434.5" y="22.9951">EVM</text><rect fill="#FEFECE" filter="url(#f1280ze4d8wjk1)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="44" x="427.5" y="936.1484"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="30" x="434.5" y="956.1436">EVM</text><rect fill="#FEFECE" filter="url(#f1280ze4d8wjk1)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="41" x="673" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="27" x="680" y="22.9951">App</text><rect fill="#FEFECE" filter="url(#f1280ze4d8wjk1)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="41" x="673" y="936.1484"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="27" x="680" y="956.1436">App</text><rect fill="#FEFECE" filter="url(#f1280ze4d8wjk1)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="53" x="875" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="39" x="882" y="22.9951">Audio</text><rect fill="#FEFECE" filter="url(#f1280ze4d8wjk1)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="53" x="875" y="936.1484"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="39" x="882" y="956.1436">Audio</text><rect fill="#EEEEEE" filter="url(#f1280ze4d8wjk1)" height="3" style="stroke: #EEEEEE; stroke-width: 1.0;" width="1048" x="3" y="68.8633"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="1051" y1="68.8633" y2="68.8633"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="1051" y1="71.8633" y2="71.8633"/><rect fill="#EEEEEE" filter="url(#f1280ze4d8wjk1)" height="23.1328" style="stroke: #000000; stroke-width: 2.0;" width="176" x="439" y="58.2969"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="157" x="445" y="74.3638">Vol Change - from BT</text><polygon fill="#A80036" points="439.5,108.5625,449.5,112.5625,439.5,116.5625,443.5,112.5625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="151.5" x2="445.5" y1="112.5625" y2="112.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="276" x="158.5" y="107.4966">Vol Change request (same key symualtion)</text><polygon fill="#A80036" points="683.5,137.6953,693.5,141.6953,683.5,145.6953,687.5,141.6953" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="451.5" x2="689.5" y1="141.6953" y2="141.6953"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="220" x="458.5" y="136.6294">Vol Change request process Audio</text><rect fill="#EEEEEE" filter="url(#f1280ze4d8wjk1)" height="3" style="stroke: #EEEEEE; stroke-width: 1.0;" width="1048" x="3" y="170.2617"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="1051" y1="170.2617" y2="170.2617"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="1051" y1="173.2617" y2="173.2617"/><rect fill="#EEEEEE" filter="url(#f1280ze4d8wjk1)" height="23.1328" style="stroke: #000000; stroke-width: 2.0;" width="166" x="444" y="159.6953"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="147" x="450" y="175.7622">Vol Up/Down - to BT</text><polygon fill="#A80036" points="683.5,209.9609,693.5,213.9609,683.5,217.9609,687.5,213.9609" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="451.5" x2="689.5" y1="213.9609" y2="213.9609"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="191" x="458.5" y="208.895">process Up/Down key (popup)</text><polygon fill="#A80036" points="891.5,239.0938,901.5,243.0938,891.5,247.0938,895.5,243.0938" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="695.5" x2="897.5" y1="243.0938" y2="243.0938"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="184" x="702.5" y="238.0278">request Vol Up/Down (finally)</text><polygon fill="#FBFB77" filter="url(#f1280ze4d8wjk1)" points="812,256.0938,994,256.0938,1004,267.0938,994,279.0938,812,279.0938,802,267.0938,812,256.0938" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="178" x="814" y="272.1606">Software codec applies gain</text><polygon fill="#A80036" points="462.5,301.3594,452.5,305.3594,462.5,309.3594,458.5,305.3594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="456.5" x2="902.5" y1="305.3594" y2="305.3594"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="131" x="468.5" y="300.2935">Notify sound change</text><polygon fill="#A80036" points="683.5,330.4922,693.5,334.4922,683.5,338.4922,687.5,334.4922" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="451.5" x2="689.5" y1="334.4922" y2="334.4922"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="126" x="458.5" y="329.4263">show sound change</text><rect fill="#EEEEEE" filter="url(#f1280ze4d8wjk1)" height="3" style="stroke: #EEEEEE; stroke-width: 1.0;" width="1048" x="3" y="363.0586"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="1051" y1="363.0586" y2="363.0586"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="1051" y1="366.0586" y2="366.0586"/><rect fill="#EEEEEE" filter="url(#f1280ze4d8wjk1)" height="23.1328" style="stroke: #000000; stroke-width: 2.0;" width="237" x="408.5" y="352.4922"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="218" x="414.5" y="368.5591">BT device registration - audio</text><polygon fill="#A80036" points="439.5,402.7578,449.5,406.7578,439.5,410.7578,443.5,406.7578" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="151.5" x2="445.5" y1="406.7578" y2="406.7578"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="274" x="158.5" y="401.6919">Event: BTA2DPOn (connection established)</text><polygon fill="#A80036" points="891.5,431.8906,901.5,435.8906,891.5,439.8906,895.5,435.8906" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="451.5" x2="897.5" y1="435.8906" y2="435.8906"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="113" x="458.5" y="430.8247">Event: BTA2DPOn</text><polygon fill="#FBFB77" filter="url(#f1280ze4d8wjk1)" points="771,448.8906,1036,448.8906,1046,459.8906,1036,471.8906,771,471.8906,761,459.8906,771,448.8906" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="261" x="773" y="464.9575">Audio notified about new BT A2DP device</text><polygon fill="#A80036" points="162.5,494.1563,152.5,498.1563,162.5,502.1563,158.5,498.1563" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="156.5" x2="902.5" y1="498.1563" y2="498.1563"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="481" x="168.5" y="493.0903">BluetoothStreamRequestMessage (requesting metadata &amp; queue handles)</text><polygon fill="#A80036" points="891.5,523.2891,901.5,527.2891,891.5,531.2891,895.5,527.2891" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="151.5" x2="897.5" y1="527.2891" y2="527.2891"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="448" x="158.5" y="522.2231">BluetoothStreamRequestMessageResult (metadata &amp; queue handles)</text><polygon fill="#FBFB77" filter="url(#f1280ze4d8wjk1)" points="834,540.2891,973,540.2891,983,559.2891,973,578.2891,834,578.2891,824,559.2891,834,540.2891" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="135" x="836" y="556.356">BT A2DP setup done,</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="113" x="836" y="571.4888">ready to playback</text><rect fill="#EEEEEE" filter="url(#f1280ze4d8wjk1)" height="3" style="stroke: #EEEEEE; stroke-width: 1.0;" width="1048" x="3" y="604.1211"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="1051" y1="604.1211" y2="604.1211"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="1051" y1="607.1211" y2="607.1211"/><rect fill="#EEEEEE" filter="url(#f1280ze4d8wjk1)" height="23.1328" style="stroke: #000000; stroke-width: 2.0;" width="263" x="395.5" y="593.5547"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="244" x="401.5" y="609.6216">BT device registration - COM:WIP</text><polygon fill="#A80036" points="439.5,643.8203,449.5,647.8203,439.5,651.8203,443.5,647.8203" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="151.5" x2="445.5" y1="647.8203" y2="647.8203"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="109" x="158.5" y="642.7544">notify new device</text><polygon fill="#FBFB77" filter="url(#f1280ze4d8wjk1)" points="309,660.8203,593,660.8203,603,679.8203,593,698.8203,309,698.8203,299,679.8203,309,660.8203" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="269" x="311" y="676.8872">do whatever whoever wants with COM port</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="280" x="311" y="692.02">same as with audio device (open handles...)</text><rect fill="#EEEEEE" filter="url(#f1280ze4d8wjk1)" height="3" style="stroke: #EEEEEE; stroke-width: 1.0;" width="1048" x="3" y="724.6523"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="1051" y1="724.6523" y2="724.6523"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="1051" y1="727.6523" y2="727.6523"/><rect fill="#EEEEEE" filter="url(#f1280ze4d8wjk1)" height="23.1328" style="stroke: #000000; stroke-width: 2.0;" width="143" x="455.5" y="714.0859"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="124" x="461.5" y="730.1528">BT device - close</text><polygon fill="#A80036" points="439.5,764.3516,449.5,768.3516,439.5,772.3516,443.5,768.3516" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="151.5" x2="445.5" y1="768.3516" y2="768.3516"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="113" x="158.5" y="763.2856">Event: BTA2DPOff</text><polygon fill="#A80036" points="891.5,793.4844,901.5,797.4844,891.5,801.4844,895.5,797.4844" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="451.5" x2="897.5" y1="797.4844" y2="797.4844"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="113" x="458.5" y="792.4185">Event: BTA2DPOff</text><polygon fill="#A80036" points="462.5,822.6172,452.5,826.6172,462.5,830.6172,458.5,826.6172" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="456.5" x2="902.5" y1="826.6172" y2="826.6172"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="192" x="468.5" y="821.5513">Inform that bt audio ended (?)</text><polygon fill="#A80036" points="683.5,851.75,693.5,855.75,683.5,859.75,687.5,855.75" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="451.5" x2="689.5" y1="855.75" y2="855.75"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="123" x="458.5" y="850.6841">Show bt change (?)</text><polygon fill="#FBFB77" filter="url(#f1280ze4d8wjk1)" points="18,868.75,285,868.75,295,894.75,285,921.75,18,921.75,8,894.75,18,868.75" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="263" x="20" y="884.8169">BT closes handles to streams ( i.e. pipes)</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="193" x="20" y="899.9497">and closes it's device handling</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="210" x="20" y="915.0825">don't pass callback : pass handle</text><!--MD5=[755fd3abb8a19e625661c2f0b0c9f404]
@startuml
skinparam BackgroundColor F0F0F0
== Vol Change - from BT ==
BT ->  EVM: Vol Change request (same key symualtion)
EVM -> App: Vol Change request process Audio


@@ 41,11 42,11 @@ hnote over BT
endhnote
@enduml

PlantUML version 1.2019.12(Sun Nov 03 10:24:54 UTC 2019)
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: 1.8.0_232-heroku-b09
Java Version: 11.0.12+7-post-Debian-2
Operating System: Linux
Default Encoding: UTF-8
Language: en

M module-bluetooth/load_bt_settings_from_db_on_service_start_flowchart.puml => module-bluetooth/load_bt_settings_from_db_on_service_start_flowchart.puml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0

participant "Service DB" as srvdb
participant "Service Bluetooth" as srvbt

M module-bluetooth/load_bt_settings_from_db_on_service_start_flowchart.svg => module-bluetooth/load_bt_settings_from_db_on_service_start_flowchart.svg +15 -12
@@ 1,5 1,7 @@
<?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="591px" preserveAspectRatio="none" style="width:834px;height:591px;" version="1.1" viewBox="0 0 834 591" width="834px" zoomAndPan="magnify"><defs><filter height="300%" id="f16c6p4usmag08" 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(#f16c6p4usmag08)" height="203.9297" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="49.5" y="141.6953"/><rect fill="#FFFFFF" filter="url(#f16c6p4usmag08)" height="87.3984" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="49.5" y="374.7578"/><rect fill="#FFFFFF" filter="url(#f16c6p4usmag08)" height="116.5313" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="402.5" y="112.5625"/><rect fill="#FFFFFF" filter="url(#f16c6p4usmag08)" height="233.0625" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="402.5" y="258.2266"/><rect fill="#FFFFFF" filter="url(#f16c6p4usmag08)" height="35.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="632.5" y="491.2891"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="54" x2="54" y1="38.2969" y2="551.4219"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="407.5" x2="407.5" y1="38.2969" y2="551.4219"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="637" x2="637" y1="38.2969" y2="551.4219"/><rect fill="#FEFECE" filter="url(#f16c6p4usmag08)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="89" x="8" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="75" x="15" y="22.9951">Service DB</text><rect fill="#FEFECE" filter="url(#f16c6p4usmag08)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="89" x="8" y="550.4219"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="75" x="15" y="570.417">Service DB</text><rect fill="#FEFECE" filter="url(#f16c6p4usmag08)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="136" x="337.5" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="122" x="344.5" y="22.9951">Service Bluetooth</text><rect fill="#FEFECE" filter="url(#f16c6p4usmag08)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="136" x="337.5" y="550.4219"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="122" x="344.5" y="570.417">Service Bluetooth</text><rect fill="#FEFECE" filter="url(#f16c6p4usmag08)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="135" x="568" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="121" x="575" y="22.9951">Bluetooth Worker</text><rect fill="#FEFECE" filter="url(#f16c6p4usmag08)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="135" x="568" y="550.4219"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="121" x="575" y="570.417">Bluetooth Worker</text><rect fill="#FFFFFF" filter="url(#f16c6p4usmag08)" height="203.9297" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="49.5" y="141.6953"/><rect fill="#FFFFFF" filter="url(#f16c6p4usmag08)" height="87.3984" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="49.5" y="374.7578"/><rect fill="#FFFFFF" filter="url(#f16c6p4usmag08)" height="116.5313" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="402.5" y="112.5625"/><rect fill="#FFFFFF" filter="url(#f16c6p4usmag08)" height="233.0625" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="402.5" y="258.2266"/><rect fill="#FFFFFF" filter="url(#f16c6p4usmag08)" height="35.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="632.5" y="491.2891"/><rect fill="#EEEEEE" filter="url(#f16c6p4usmag08)" height="3" style="stroke: #EEEEEE; stroke-width: 1.0;" width="819.5" x="3" y="68.8633"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="822.5" y1="68.8633" y2="68.8633"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="822.5" y1="71.8633" y2="71.8633"/><rect fill="#EEEEEE" filter="url(#f16c6p4usmag08)" height="23.1328" style="stroke: #000000; stroke-width: 2.0;" width="315" x="255.25" y="58.2969"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="296" x="261.25" y="74.3638">Load Bluetooth Settings on startup flow</text><ellipse cx="10.5" cy="111.8125" fill="none" rx="4" ry="4" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#A80036" points="390.5,108.5625,400.5,112.5625,390.5,116.5625,394.5,112.5625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="15" x2="396.5" y1="112.5625" y2="112.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="155" x="18" y="107.4966">need Bluetooth Settings</text><polygon fill="#A80036" points="70.5,137.6953,60.5,141.6953,70.5,145.6953,66.5,141.6953" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="64.5" x2="401.5" y1="141.6953" y2="141.6953"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="301" x="76.5" y="136.6294">Settings::registerValueChange(bluetoothState)</text><polygon fill="#A80036" points="70.5,166.8281,60.5,170.8281,70.5,174.8281,66.5,170.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="64.5" x2="401.5" y1="170.8281" y2="170.8281"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="297" x="76.5" y="165.7622">Settings::registerValueChange(deviceVisibility)</text><polygon fill="#A80036" points="70.5,195.9609,60.5,199.9609,70.5,203.9609,66.5,199.9609" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="64.5" x2="401.5" y1="199.9609" y2="199.9609"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="285" x="76.5" y="194.895">Settings::registerValueChange(deviceName)</text><polygon fill="#A80036" points="70.5,225.0938,60.5,229.0938,70.5,233.0938,66.5,229.0938" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="64.5" x2="406.5" y1="229.0938" y2="229.0938"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="303" x="76.5" y="224.0278">Settings::registerValueChange(bondedDevices)</text><polygon fill="#A80036" points="390.5,254.2266,400.5,258.2266,390.5,262.2266,394.5,258.2266" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="59.5" x2="396.5" y1="258.2266" y2="258.2266"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="312" x="66.5" y="253.1606">activate callback with new value (bluetoothState)</text><polygon fill="#A80036" points="390.5,283.3594,400.5,287.3594,390.5,291.3594,394.5,287.3594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="59.5" x2="396.5" y1="287.3594" y2="287.3594"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="308" x="66.5" y="282.2935">activate callback with new value (deviceVisibility)</text><polygon fill="#A80036" points="390.5,312.4922,400.5,316.4922,390.5,320.4922,394.5,316.4922" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="59.5" x2="396.5" y1="316.4922" y2="316.4922"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="296" x="66.5" y="311.4263">activate callback with new value (deviceName)</text><polygon fill="#A80036" points="390.5,341.625,400.5,345.625,390.5,349.625,394.5,345.625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="54.5" x2="396.5" y1="345.625" y2="345.625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="314" x="61.5" y="340.5591">activate callback with new value (bondedDevices)</text><polygon fill="#A80036" points="70.5,370.7578,60.5,374.7578,70.5,378.7578,66.5,374.7578" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="64.5" x2="401.5" y1="374.7578" y2="374.7578"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="317" x="76.5" y="369.6919">Settings::unregisterValueChange(bluetoothState)</text><polygon fill="#A80036" points="70.5,399.8906,60.5,403.8906,70.5,407.8906,66.5,403.8906" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="64.5" x2="401.5" y1="403.8906" y2="403.8906"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="313" x="76.5" y="398.8247">Settings::unregisterValueChange(deviceVisibility)</text><polygon fill="#A80036" points="70.5,429.0234,60.5,433.0234,70.5,437.0234,66.5,433.0234" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="64.5" x2="401.5" y1="433.0234" y2="433.0234"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="301" x="76.5" y="427.9575">Settings::unregisterValueChange(deviceName)</text><polygon fill="#A80036" points="65.5,458.1563,55.5,462.1563,65.5,466.1563,61.5,462.1563" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="59.5" x2="401.5" y1="462.1563" y2="462.1563"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="319" x="71.5" y="457.0903">Settings::unregisterValueChange(bondedDevices)</text><polygon fill="#A80036" points="620.5,487.2891,630.5,491.2891,620.5,495.2891,624.5,491.2891" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="407.5" x2="626.5" y1="491.2891" y2="491.2891"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="201" x="414.5" y="486.2231">Pass cached Bluetooth settings</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="642.5" x2="684.5" y1="525.4219" y2="525.4219"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="684.5" x2="684.5" y1="525.4219" y2="538.4219"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="637.5" x2="684.5" y1="538.4219" y2="538.4219"/><polygon fill="#A80036" points="647.5,534.4219,637.5,538.4219,647.5,542.4219,643.5,538.4219" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="161" x="649.5" y="520.356">reload Bluetooth settings</text><!--MD5=[4d9c8857c780332cca01714f51f346a9]
<?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="591px" preserveAspectRatio="none" style="width:834px;height:591px;background:#F0F0F0;" version="1.1" viewBox="0 0 834 591" width="834px" zoomAndPan="magnify"><defs><filter height="300%" id="fxmka0jrkuew8" 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(#fxmka0jrkuew8)" height="203.9297" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="49.5" y="141.6953"/><rect fill="#FFFFFF" filter="url(#fxmka0jrkuew8)" height="87.3984" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="49.5" y="374.7578"/><rect fill="#FFFFFF" filter="url(#fxmka0jrkuew8)" height="116.5313" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="402.5" y="112.5625"/><rect fill="#FFFFFF" filter="url(#fxmka0jrkuew8)" height="233.0625" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="402.5" y="258.2266"/><rect fill="#FFFFFF" filter="url(#fxmka0jrkuew8)" height="35.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="632.5" y="491.2891"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="54" x2="54" y1="38.2969" y2="551.4219"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="407.5" x2="407.5" y1="38.2969" y2="551.4219"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="637" x2="637" y1="38.2969" y2="551.4219"/><rect fill="#FEFECE" filter="url(#fxmka0jrkuew8)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="89" x="8" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="75" x="15" y="22.9951">Service DB</text><rect fill="#FEFECE" filter="url(#fxmka0jrkuew8)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="89" x="8" y="550.4219"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="75" x="15" y="570.417">Service DB</text><rect fill="#FEFECE" filter="url(#fxmka0jrkuew8)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="136" x="337.5" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="122" x="344.5" y="22.9951">Service Bluetooth</text><rect fill="#FEFECE" filter="url(#fxmka0jrkuew8)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="136" x="337.5" y="550.4219"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="122" x="344.5" y="570.417">Service Bluetooth</text><rect fill="#FEFECE" filter="url(#fxmka0jrkuew8)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="135" x="568" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="121" x="575" y="22.9951">Bluetooth Worker</text><rect fill="#FEFECE" filter="url(#fxmka0jrkuew8)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="135" x="568" y="550.4219"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="121" x="575" y="570.417">Bluetooth Worker</text><rect fill="#FFFFFF" filter="url(#fxmka0jrkuew8)" height="203.9297" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="49.5" y="141.6953"/><rect fill="#FFFFFF" filter="url(#fxmka0jrkuew8)" height="87.3984" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="49.5" y="374.7578"/><rect fill="#FFFFFF" filter="url(#fxmka0jrkuew8)" height="116.5313" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="402.5" y="112.5625"/><rect fill="#FFFFFF" filter="url(#fxmka0jrkuew8)" height="233.0625" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="402.5" y="258.2266"/><rect fill="#FFFFFF" filter="url(#fxmka0jrkuew8)" height="35.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="632.5" y="491.2891"/><rect fill="#EEEEEE" filter="url(#fxmka0jrkuew8)" height="3" style="stroke: #EEEEEE; stroke-width: 1.0;" width="819.5" x="3" y="68.8633"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="822.5" y1="68.8633" y2="68.8633"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="822.5" y1="71.8633" y2="71.8633"/><rect fill="#EEEEEE" filter="url(#fxmka0jrkuew8)" height="23.1328" style="stroke: #000000; stroke-width: 2.0;" width="315" x="255.25" y="58.2969"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="296" x="261.25" y="74.3638">Load Bluetooth Settings on startup flow</text><ellipse cx="10.5" cy="111.8125" fill="none" rx="4" ry="4" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#A80036" points="390.5,108.5625,400.5,112.5625,390.5,116.5625,394.5,112.5625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="15" x2="396.5" y1="112.5625" y2="112.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="155" x="18" y="107.4966">need Bluetooth Settings</text><polygon fill="#A80036" points="70.5,137.6953,60.5,141.6953,70.5,145.6953,66.5,141.6953" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="64.5" x2="401.5" y1="141.6953" y2="141.6953"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="301" x="76.5" y="136.6294">Settings::registerValueChange(bluetoothState)</text><polygon fill="#A80036" points="70.5,166.8281,60.5,170.8281,70.5,174.8281,66.5,170.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="64.5" x2="401.5" y1="170.8281" y2="170.8281"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="297" x="76.5" y="165.7622">Settings::registerValueChange(deviceVisibility)</text><polygon fill="#A80036" points="70.5,195.9609,60.5,199.9609,70.5,203.9609,66.5,199.9609" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="64.5" x2="401.5" y1="199.9609" y2="199.9609"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="285" x="76.5" y="194.895">Settings::registerValueChange(deviceName)</text><polygon fill="#A80036" points="70.5,225.0938,60.5,229.0938,70.5,233.0938,66.5,229.0938" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="64.5" x2="406.5" y1="229.0938" y2="229.0938"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="303" x="76.5" y="224.0278">Settings::registerValueChange(bondedDevices)</text><polygon fill="#A80036" points="390.5,254.2266,400.5,258.2266,390.5,262.2266,394.5,258.2266" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="59.5" x2="396.5" y1="258.2266" y2="258.2266"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="312" x="66.5" y="253.1606">activate callback with new value (bluetoothState)</text><polygon fill="#A80036" points="390.5,283.3594,400.5,287.3594,390.5,291.3594,394.5,287.3594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="59.5" x2="396.5" y1="287.3594" y2="287.3594"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="308" x="66.5" y="282.2935">activate callback with new value (deviceVisibility)</text><polygon fill="#A80036" points="390.5,312.4922,400.5,316.4922,390.5,320.4922,394.5,316.4922" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="59.5" x2="396.5" y1="316.4922" y2="316.4922"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="296" x="66.5" y="311.4263">activate callback with new value (deviceName)</text><polygon fill="#A80036" points="390.5,341.625,400.5,345.625,390.5,349.625,394.5,345.625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="54.5" x2="396.5" y1="345.625" y2="345.625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="314" x="61.5" y="340.5591">activate callback with new value (bondedDevices)</text><polygon fill="#A80036" points="70.5,370.7578,60.5,374.7578,70.5,378.7578,66.5,374.7578" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="64.5" x2="401.5" y1="374.7578" y2="374.7578"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="317" x="76.5" y="369.6919">Settings::unregisterValueChange(bluetoothState)</text><polygon fill="#A80036" points="70.5,399.8906,60.5,403.8906,70.5,407.8906,66.5,403.8906" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="64.5" x2="401.5" y1="403.8906" y2="403.8906"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="313" x="76.5" y="398.8247">Settings::unregisterValueChange(deviceVisibility)</text><polygon fill="#A80036" points="70.5,429.0234,60.5,433.0234,70.5,437.0234,66.5,433.0234" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="64.5" x2="401.5" y1="433.0234" y2="433.0234"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="301" x="76.5" y="427.9575">Settings::unregisterValueChange(deviceName)</text><polygon fill="#A80036" points="65.5,458.1563,55.5,462.1563,65.5,466.1563,61.5,462.1563" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="59.5" x2="401.5" y1="462.1563" y2="462.1563"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="319" x="71.5" y="457.0903">Settings::unregisterValueChange(bondedDevices)</text><polygon fill="#A80036" points="620.5,487.2891,630.5,491.2891,620.5,495.2891,624.5,491.2891" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="407.5" x2="626.5" y1="491.2891" y2="491.2891"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="201" x="414.5" y="486.2231">Pass cached Bluetooth settings</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="642.5" x2="684.5" y1="525.4219" y2="525.4219"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="684.5" x2="684.5" y1="525.4219" y2="538.4219"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="637.5" x2="684.5" y1="538.4219" y2="538.4219"/><polygon fill="#A80036" points="647.5,534.4219,637.5,538.4219,647.5,542.4219,643.5,538.4219" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="161" x="649.5" y="520.356">reload Bluetooth settings</text><!--MD5=[8101b28755652170bddc2ca6e3160411]
@startuml
skinparam BackgroundColor F0F0F0

participant "Service DB" as srvdb
participant "Service Bluetooth" as srvbt
participant "Bluetooth Worker" as btwrkr


@@ 38,15 40,16 @@ activate btwrkr
btwrkr -> btwrkr : reload Bluetooth settings

deactivate btwrkr
@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>
@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>
\ No newline at end of file

M module-bluetooth/service_bt_internals.puml => module-bluetooth/service_bt_internals.puml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0

package ServiceBluetooth {
  object BluetoothSettings {

M module-bluetooth/service_bt_internals.svg => module-bluetooth/service_bt_internals.svg +20 -17
@@ 1,25 1,28 @@
<?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="136px" preserveAspectRatio="none" style="width:352px;height:136px;" version="1.1" viewBox="0 0 352 136" width="352px" zoomAndPan="magnify"><defs><filter height="300%" id="fmppo68x28gj4" 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><!--MD5=[0548101af59ed75e13a0ca2991bca20a]
cluster ServiceBluetooth--><polygon fill="#FFFFFF" filter="url(#fmppo68x28gj4)" points="14,16,155,16,162,38.2969,330,38.2969,330,124,14,124,14,16" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="14" x2="162" y1="38.2969" y2="38.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="135" x="18" y="30.9951">ServiceBluetooth</text><rect fill="#FEFECE" filter="url(#fmppo68x28gj4)" height="72.5313" style="stroke: #A80036; stroke-width: 1.5;" width="127" x="194.5" y="43"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="113" x="201.5" y="56.1387">BluetoothSettings</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="195.5" x2="320.5" y1="60.9688" y2="60.9688"/><text fill="#000000" font-family="sans-serif" font-size="10" lengthAdjust="spacingAndGlyphs" textLength="73" x="200.5" y="74.251">bluetoothState</text><text fill="#000000" font-family="sans-serif" font-size="10" lengthAdjust="spacingAndGlyphs" textLength="74" x="200.5" y="85.8916">bondedDevices</text><text fill="#000000" font-family="sans-serif" font-size="10" lengthAdjust="spacingAndGlyphs" textLength="67" x="200.5" y="97.5322">deviceVisibilty</text><text fill="#000000" font-family="sans-serif" font-size="10" lengthAdjust="spacingAndGlyphs" textLength="61" x="200.5" y="109.1729">deviceName</text><!--MD5=[03d44597ab286d6d2e01a8c181857d8a]
class BluetoothWorker--><rect fill="#FEFECE" filter="url(#fmppo68x28gj4)" height="48" id="BluetoothWorker" style="stroke: #A80036; stroke-width: 1.5;" width="137" x="22.5" y="55.5"/><ellipse cx="37.5" cy="71.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M40.4688,77.1406 Q39.8906,77.4375 39.25,77.5859 Q38.6094,77.7344 37.9063,77.7344 Q35.4063,77.7344 34.0859,76.0859 Q32.7656,74.4375 32.7656,71.3125 Q32.7656,68.1875 34.0859,66.5313 Q35.4063,64.875 37.9063,64.875 Q38.6094,64.875 39.2578,65.0313 Q39.9063,65.1875 40.4688,65.4844 L40.4688,68.2031 Q39.8438,67.625 39.25,67.3516 Q38.6563,67.0781 38.0313,67.0781 Q36.6875,67.0781 36,68.1484 Q35.3125,69.2188 35.3125,71.3125 Q35.3125,73.4063 36,74.4766 Q36.6875,75.5469 38.0313,75.5469 Q38.6563,75.5469 39.25,75.2734 Q39.8438,75 40.4688,74.4219 L40.4688,77.1406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="105" x="51.5" y="75.6543">BluetoothWorker</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="23.5" x2="158.5" y1="87.5" y2="87.5"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="23.5" x2="158.5" y1="95.5" y2="95.5"/><!--MD5=[c20615217e79f31a2461766256926e8e]
@startuml
package ServiceBluetooth {
  object BluetoothSettings {
  bluetoothState
  bondedDevices
  deviceVisibilty
  deviceName
}
  class BluetoothWorker{}
}
@enduml
<?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="160px" preserveAspectRatio="none" style="width:376px;height:160px;background:#F0F0F0;" version="1.1" viewBox="0 0 376 160" width="376px" zoomAndPan="magnify"><defs><filter height="300%" id="f9phkc210ff16" 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><!--MD5=[0548101af59ed75e13a0ca2991bca20a]
cluster ServiceBluetooth--><polygon fill="#F0F0F0" filter="url(#f9phkc210ff16)" points="22,24,163,24,170,46.2969,354,46.2969,354,148,22,148,22,24" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="22" x2="170" y1="46.2969" y2="46.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="135" x="26" y="38.9951">ServiceBluetooth</text><rect fill="#FEFECE" filter="url(#f9phkc210ff16)" height="72.5313" style="stroke: #A80036; stroke-width: 1.5;" width="127" x="210.5" y="59"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="113" x="217.5" y="72.1387">BluetoothSettings</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="211.5" x2="336.5" y1="76.9688" y2="76.9688"/><text fill="#000000" font-family="sans-serif" font-size="10" lengthAdjust="spacingAndGlyphs" textLength="73" x="216.5" y="90.251">bluetoothState</text><text fill="#000000" font-family="sans-serif" font-size="10" lengthAdjust="spacingAndGlyphs" textLength="74" x="216.5" y="101.8916">bondedDevices</text><text fill="#000000" font-family="sans-serif" font-size="10" lengthAdjust="spacingAndGlyphs" textLength="67" x="216.5" y="113.5322">deviceVisibilty</text><text fill="#000000" font-family="sans-serif" font-size="10" lengthAdjust="spacingAndGlyphs" textLength="61" x="216.5" y="125.1729">deviceName</text><!--MD5=[03d44597ab286d6d2e01a8c181857d8a]
class BluetoothWorker--><rect fill="#FEFECE" filter="url(#f9phkc210ff16)" height="48" id="BluetoothWorker" style="stroke: #A80036; stroke-width: 1.5;" width="137" x="38.5" y="71.5"/><ellipse cx="53.5" cy="87.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M56.4688,93.1406 Q55.8906,93.4375 55.25,93.5781 Q54.6094,93.7344 53.9063,93.7344 Q51.4063,93.7344 50.0781,92.0938 Q48.7656,90.4375 48.7656,87.3125 Q48.7656,84.1875 50.0781,82.5313 Q51.4063,80.875 53.9063,80.875 Q54.6094,80.875 55.25,81.0313 Q55.9063,81.1875 56.4688,81.4844 L56.4688,84.2031 Q55.8438,83.625 55.25,83.3594 Q54.6563,83.0781 54.0313,83.0781 Q52.6875,83.0781 52,84.1563 Q51.3125,85.2188 51.3125,87.3125 Q51.3125,89.4063 52,90.4844 Q52.6875,91.5469 54.0313,91.5469 Q54.6563,91.5469 55.25,91.2813 Q55.8438,91 56.4688,90.4219 L56.4688,93.1406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="105" x="67.5" y="91.6543">BluetoothWorker</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="39.5" x2="174.5" y1="103.5" y2="103.5"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="39.5" x2="174.5" y1="111.5" y2="111.5"/><!--MD5=[a9850fad75709833ab4dea581674c7c2]
@startuml
skinparam BackgroundColor F0F0F0

package ServiceBluetooth {
  object BluetoothSettings {
  bluetoothState
  bondedDevices
  deviceVisibilty
  deviceName
}
  class BluetoothWorker{}
}

@enduml

PlantUML version 1.2019.12(Sun Nov 03 10:24:54 UTC 2019)
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: 1.8.0_232-heroku-b09
Java Version: 11.0.12+7-post-Debian-2
Operating System: Linux
Default Encoding: UTF-8
Language: en
Country: US
--></g></svg>
--></g></svg>
\ No newline at end of file

M module-cellular/modem/doc/Images/at_mode.svg => module-cellular/modem/doc/Images/at_mode.svg +23 -20
@@ 1,21 1,22 @@
<?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="1324px" preserveAspectRatio="none" style="width:405px;height:1324px;" version="1.1" viewBox="0 0 405 1324" width="405px" zoomAndPan="magnify"><defs><filter height="300%" id="f1cg90pa4di60m" 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><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacing" textLength="78" x="157" y="16.708">AT Mode</text><!--MD5=[36105e52843f3f28080f43ce369346ca]
cluster CellularBSP--><rect fill="#FEFECE" filter="url(#f1cg90pa4di60m)" height="277" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="350" x="7" y="27.9531"/><rect fill="#FFFFFF" height="244.7031" rx="12.5" ry="12.5" style="stroke:#FFFFFF;stroke-width:1.0;" width="344" x="10" y="57.25"/><line style="stroke:#A80036;stroke-width:1.5;" x1="7" x2="357" y1="54.25" y2="54.25"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="81" x="141.5" y="45.9482">CellularBSP</text><!--MD5=[4feec3315c2ae8fe0f31fdbe0936cbea]
cluster CellularWorker--><rect fill="#FEFECE" filter="url(#f1cg90pa4di60m)" height="554" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="295" x="29" y="377.9531"/><rect fill="#FFFFFF" height="521.7031" rx="12.5" ry="12.5" style="stroke:#FFFFFF;stroke-width:1.0;" width="289" x="32" y="407.25"/><line style="stroke:#A80036;stroke-width:1.5;" x1="29" x2="324" y1="404.25" y2="404.25"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="106" x="123.5" y="395.9482">CellularWorker</text><!--MD5=[df0b49b3bcea4a1034e7e56a9608b471]
cluster Channel--><rect fill="#FEFECE" filter="url(#f1cg90pa4di60m)" height="189" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="174" x="219" y="1004.9531"/><rect fill="#FFFFFF" height="156.7031" rx="12.5" ry="12.5" style="stroke:#FFFFFF;stroke-width:1.0;" width="168" x="222" y="1034.25"/><line style="stroke:#A80036;stroke-width:1.5;" x1="219" x2="393" y1="1031.25" y2="1031.25"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="58" x="277" y="1022.9482">Channel</text><g id="CellularBSP.UartIrq"><rect fill="#FEFECE" filter="url(#f1cg90pa4di60m)" height="64.2344" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="284" x="40" y="62.9531"/><line style="stroke:#A80036;stroke-width:1.5;" x1="40" x2="324" y1="89.25" y2="89.25"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="49" x="157.5" y="80.9482">UartIrq</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="218" x="45" y="105.3887">Reads data with DMA to static buffer</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="264" x="45" y="119.3574">and packs them into struct with result code.</text></g><g id="CellularBSP.SendToWorker"><rect fill="#FEFECE" filter="url(#f1cg90pa4di60m)" height="50.2656" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="318" x="23" y="187.9531"/><line style="stroke:#A80036;stroke-width:1.5;" x1="23" x2="341" y1="214.25" y2="214.25"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="107" x="128.5" y="205.9482">SendToWorker</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="298" x="28" y="230.3887">Puts structured data into workers MessageBuffer.</text></g><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="49" x="157.5" y="323.9482">output</text><ellipse cx="182" cy="304.9531" fill="#FEFECE" rx="6" ry="6" style="stroke:#A80036;stroke-width:1.5;"/><line style="stroke:#A80036;stroke-width:1.5;" x1="186.3891" x2="178.6109" y1="309.3422" y2="301.564"/><line style="stroke:#A80036;stroke-width:1.5;" x1="186.3891" x2="178.6109" y1="301.564" y2="309.3422"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="139" x="94.5" y="356.6514">DMAMessageBuffer</text><rect fill="#FEFECE" height="12" style="stroke:#A80036;stroke-width:1.5;" width="48" x="158" y="371.9531"/><line style="stroke:#A80036;stroke-width:1.5;" x1="170" x2="170" y1="371.9531" y2="383.9531"/><line style="stroke:#A80036;stroke-width:1.5;" x1="182" x2="182" y1="371.9531" y2="383.9531"/><line style="stroke:#A80036;stroke-width:1.5;" x1="194" x2="194" y1="371.9531" y2="383.9531"/><g id="CellularWorker.ATParser"><rect fill="#FEFECE" filter="url(#f1cg90pa4di60m)" height="50.2656" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="154" x="105" y="449.9531"/><line style="stroke:#A80036;stroke-width:1.5;" x1="105" x2="259" y1="476.25" y2="476.25"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="64" x="150" y="467.9482">ATParser</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="134" x="110" y="492.3887">Parses URC packages.</text></g><g id="CellularWorker.CmdAwaitingResponse"><rect fill="#FEFECE" filter="url(#f1cg90pa4di60m)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="185" x="89.5" y="560.9531"/><line style="stroke:#A80036;stroke-width:1.5;" x1="89.5" x2="274.5" y1="587.25" y2="587.25"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="165" x="99.5" y="578.9482">CmdAwaitingResponse</text></g><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="102" x="255" y="950.9482">outputWorker</text><ellipse cx="306" cy="931.9531" fill="#FEFECE" rx="6" ry="6" style="stroke:#A80036;stroke-width:1.5;"/><line style="stroke:#A80036;stroke-width:1.5;" x1="310.3891" x2="302.6109" y1="936.3422" y2="928.564"/><line style="stroke:#A80036;stroke-width:1.5;" x1="310.3891" x2="302.6109" y1="928.564" y2="936.3422"/><g id="CellularWorker.CheckIfFOTA"><rect fill="#FEFECE" filter="url(#f1cg90pa4di60m)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="113" x="125.5" y="687.9531"/><line style="stroke:#A80036;stroke-width:1.5;" x1="125.5" x2="238.5" y1="714.25" y2="714.25"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="93" x="135.5" y="705.9482">CheckIfFOTA</text></g><g id="CellularWorker.StoreURC"><rect fill="#FEFECE" filter="url(#f1cg90pa4di60m)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="89" x="45.5" y="814.9531"/><line style="stroke:#A80036;stroke-width:1.5;" x1="45.5" x2="134.5" y1="841.25" y2="841.25"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="69" x="55.5" y="832.9482">StoreURC</text></g><g id="CellularWorker.FotaService"><rect fill="#FEFECE" filter="url(#f1cg90pa4di60m)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="105" x="169.5" y="814.9531"/><line style="stroke:#A80036;stroke-width:1.5;" x1="169.5" x2="274.5" y1="841.25" y2="841.25"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="85" x="179.5" y="832.9482">FotaService</text></g><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="64" x="256" y="983.6514">ATBuffer</text><rect fill="#FEFECE" height="12" style="stroke:#A80036;stroke-width:1.5;" width="48" x="282" y="998.9531"/><line style="stroke:#A80036;stroke-width:1.5;" x1="294" x2="294" y1="998.9531" y2="1010.9531"/><line style="stroke:#A80036;stroke-width:1.5;" x1="306" x2="306" y1="998.9531" y2="1010.9531"/><line style="stroke:#A80036;stroke-width:1.5;" x1="318" x2="318" y1="998.9531" y2="1010.9531"/><g id="Channel.ATStream"><rect fill="#FEFECE" filter="url(#f1cg90pa4di60m)" height="50.2656" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="141" x="235.5" y="1076.9531"/><line style="stroke:#A80036;stroke-width:1.5;" x1="235.5" x2="376.5" y1="1103.25" y2="1103.25"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="72" x="270" y="1094.9482">ATStream</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="121" x="240.5" y="1119.3887">parses AT message</text></g><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="107" x="252.5" y="1212.9482">channelOutput</text><ellipse cx="306" cy="1193.9531" fill="#FEFECE" rx="6" ry="6" style="stroke:#A80036;stroke-width:1.5;"/><line style="stroke:#A80036;stroke-width:1.5;" x1="310.3891" x2="302.6109" y1="1198.3422" y2="1190.564"/><line style="stroke:#A80036;stroke-width:1.5;" x1="310.3891" x2="302.6109" y1="1190.564" y2="1198.3422"/><g id="ServiceCellular"><rect fill="#FEFECE" filter="url(#f1cg90pa4di60m)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="126" x="243" y="1260.9531"/><line style="stroke:#A80036;stroke-width:1.5;" x1="243" x2="369" y1="1287.25" y2="1287.25"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="106" x="253" y="1278.9482">ServiceCellular</text></g><!--MD5=[a57b3170d04d2bd212a327163f4c8137]
link UartIrq to SendToWorker--><path d="M182,127.0431 C182,144.3131 182,165.6731 182,182.6531 " fill="none" id="UartIrq-to-SendToWorker" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="182,187.7731,186,178.7731,182,182.7731,178,178.7731,182,187.7731" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[12c5ee31291134eacafef3eedf3c1f48]
link SendToWorker to output--><path d="M182,238.0731 C182,256.2931 182,280.3931 182,293.8131 " fill="none" id="SendToWorker-to-output" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="182,298.8631,186,289.8631,182,293.8631,178,289.8631,182,298.8631" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[e932264d0d3e1dc4eecdd1ce9c7fd236]
link DMAMessageBuffer to ATParser--><path d="M182,384.0611 C182,395.3351 182,423.0731 182,444.7801 " fill="none" id="DMAMessageBuffer-to-ATParser" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="182,449.8731,186,440.8731,182,444.8731,178,440.8731,182,449.8731" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[13a40670c7eb8b170560bd331fd78e1e]
link ATParser to CmdAwaitingResponse--><path d="M182,500.1441 C182,516.5131 182,538.2321 182,555.5931 " fill="none" id="ATParser-to-CmdAwaitingResponse" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="182,560.8301,186,551.8301,182,555.8301,178,551.8301,182,560.8301" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[777abd894339136b04c29cf487b6773b]
link CmdAwaitingResponse to outputWorker--><path d="M203.533,611.0751 C219.963,630.5941 242.074,659.4351 256,687.9531 C296.557,771.0041 304.253,885.5621 305.682,920.4531 " fill="none" id="CmdAwaitingResponse-to-outputWorker" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="305.872,925.6871,309.5401,916.5468,305.6891,920.6905,301.5455,916.8395,305.872,925.6871" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="29" x="289" y="781.02">True</text><!--MD5=[8a7a058cbacea9da7579bb2851695ae5]
link CmdAwaitingResponse to CheckIfFOTA--><path d="M168.072,611.1631 C163.609,620.2081 159.244,630.7631 157,640.9531 C153.871,655.1611 158.191,670.4391 164.073,683.1691 " fill="none" id="CmdAwaitingResponse-to-CheckIfFOTA" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="166.3,687.7371,165.9509,677.8945,164.1086,683.2429,158.7601,681.4007,166.3,687.7371" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="33" x="158" y="654.02">False</text><!--MD5=[fd94f81ce2f3862349c63c5a12cf90a3]
link CheckIfFOTA to StoreURC--><path d="M155.402,738.1951 C146.442,747.0751 136.758,757.5161 129,767.9531 C119.287,781.0221 110.382,796.7921 103.541,810.1471 " fill="none" id="CheckIfFOTA-to-StoreURC" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="101.117,814.9491,108.7436,808.7173,103.3702,810.4856,101.6019,805.1122,101.117,814.9491" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="33" x="130" y="781.02">False</text><!--MD5=[2bf7f23f6b2f1fdfd1cbf2b79eff56c5]
link CheckIfFOTA to FotaService--><path d="M174.406,737.9881 C171.221,752.0771 169.4,769.9881 175,784.9531 C178.492,794.2831 184.405,803.0651 190.88,810.7271 " fill="none" id="CheckIfFOTA-to-FotaService" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="194.524,814.8641,191.5787,805.466,191.2199,811.1114,185.5744,810.7526,194.524,814.8641" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="29" x="176" y="781.02">True</text><!--MD5=[460a876a9029e334c616b58fb8501c7e]
link output to DMAMessageBuffer--><path d="M182,311.0591 C182,322.7261 182,351.5151 182,366.8911 " fill="none" id="output-to-DMAMessageBuffer" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="182,371.8931,186,362.8931,182,366.8931,178,362.8931,182,371.8931" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[f66c76729024c907a3d48f760668579d]
link ATBuffer to ATStream--><path d="M306,1011.0611 C306,1022.3351 306,1050.0731 306,1071.7801 " fill="none" id="ATBuffer-to-ATStream" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="306,1076.8731,310,1067.8731,306,1071.8731,302,1067.8731,306,1076.8731" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[dd80df3ee72f240316d7675a269eb8c4]
link ATStream to channelOutput--><path d="M306,1127.0711 C306,1145.2951 306,1169.3901 306,1182.8131 " fill="none" id="ATStream-to-channelOutput" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="306,1187.8641,310,1178.8641,306,1182.8641,302,1178.8641,306,1187.8641" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[8fe72049e9716dbce24d7677e0dd4d3e]
link outputWorker to ATBuffer--><path d="M306,938.0591 C306,949.7261 306,978.5151 306,993.8911 " fill="none" id="outputWorker-to-ATBuffer" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="306,998.8931,310,989.8931,306,993.8931,302,989.8931,306,998.8931" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[4663c35d14db62ee482ccec530d01964]
link channelOutput to ServiceCellular--><path d="M306,1200.0501 C306,1210.6081 306,1235.5673 306,1255.7077 " fill="none" id="channelOutput-to-ServiceCellular" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="306,1260.7127,310,1251.7127,306,1255.7127,302,1251.7127,306,1260.7127" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[8213d0f92b754f55ac336ef108bd4edb]
<?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="1330px" preserveAspectRatio="none" style="width:418px;height:1330px;background:#F0F0F0;" version="1.1" viewBox="0 0 418 1330" width="418px" zoomAndPan="magnify"><defs><filter height="300%" id="f3yb8nnoq80v4" 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><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="79" x="176.5" y="16.708">AT Mode</text><!--MD5=[36105e52843f3f28080f43ce369346ca]
cluster CellularBSP--><rect fill="#FEFECE" filter="url(#f3yb8nnoq80v4)" height="277" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="366" x="14" y="36.9531"/><rect fill="#F0F0F0" height="244.7031" rx="12.5" ry="12.5" style="stroke: #F0F0F0; stroke-width: 1.0;" width="360" x="17" y="66.25"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="14" x2="380" y1="63.25" y2="63.25"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="78" x="158" y="54.9482">CellularBSP</text><!--MD5=[4feec3315c2ae8fe0f31fdbe0936cbea]
cluster CellularWorker--><rect fill="#FEFECE" filter="url(#f3yb8nnoq80v4)" height="554" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="288" x="48" y="386.9531"/><rect fill="#F0F0F0" height="521.7031" rx="12.5" ry="12.5" style="stroke: #F0F0F0; stroke-width: 1.0;" width="282" x="51" y="416.25"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="48" x2="336" y1="413.25" y2="413.25"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="99" x="142.5" y="404.9482">CellularWorker</text><!--MD5=[df0b49b3bcea4a1034e7e56a9608b471]
cluster Channel--><rect fill="#FEFECE" filter="url(#f3yb8nnoq80v4)" height="189" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="176" x="230" y="1013.9531"/><rect fill="#F0F0F0" height="156.7031" rx="12.5" ry="12.5" style="stroke: #F0F0F0; stroke-width: 1.0;" width="170" x="233" y="1043.25"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="230" x2="406" y1="1040.25" y2="1040.25"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="57" x="289.5" y="1031.9482">Channel</text><rect fill="#FEFECE" filter="url(#f3yb8nnoq80v4)" height="64.2344" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="298" x="48" y="71.9531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="48" x2="346" y1="98.25" y2="98.25"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="45" x="174.5" y="89.9482">UartIrq</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="229" x="53" y="114.3887">Reads data with DMA to static buffer</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="278" x="53" y="128.3574">and packs them into struct with result code.</text><rect fill="#FEFECE" filter="url(#f3yb8nnoq80v4)" height="50.2656" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="333" x="30.5" y="196.9531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="30.5" x2="363.5" y1="223.25" y2="223.25"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="103" x="145.5" y="214.9482">SendToWorker</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="313" x="35.5" y="239.3887">Puts structured data into workers MessageBuffer.</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="46" x="174" y="332.9482">output</text><ellipse cx="197" cy="313.9531" fill="#FEFECE" rx="6" ry="6" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="201.3891" x2="193.6109" y1="318.3422" y2="310.564"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="201.3891" x2="193.6109" y1="310.564" y2="318.3422"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="136" x="111" y="365.6514">DMAMessageBuffer</text><rect fill="#FEFECE" height="12" style="stroke: #A80036; stroke-width: 1.5;" width="48" x="173" y="380.9531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="185" x2="185" y1="380.9531" y2="392.9531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="197" x2="197" y1="380.9531" y2="392.9531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="209" x2="209" y1="380.9531" y2="392.9531"/><rect fill="#FEFECE" filter="url(#f3yb8nnoq80v4)" height="50.2656" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="161" x="116.5" y="458.9531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="116.5" x2="277.5" y1="485.25" y2="485.25"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="62" x="166" y="476.9482">ATParser</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="141" x="121.5" y="501.3887">Parses URC packages.</text><rect fill="#FEFECE" filter="url(#f3yb8nnoq80v4)" height="50" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="180" x="107" y="569.9531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="107" x2="287" y1="596.25" y2="596.25"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="160" x="117" y="587.9482">CmdAwaitingResponse</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="95" x="270.5" y="959.9482">outputWorker</text><ellipse cx="318" cy="940.9531" fill="#FEFECE" rx="6" ry="6" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="322.3891" x2="314.6109" y1="945.3422" y2="937.564"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="322.3891" x2="314.6109" y1="937.564" y2="945.3422"/><rect fill="#FEFECE" filter="url(#f3yb8nnoq80v4)" height="50" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="108" x="143" y="696.9531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="143" x2="251" y1="723.25" y2="723.25"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="88" x="153" y="714.9482">CheckIfFOTA</text><rect fill="#FEFECE" filter="url(#f3yb8nnoq80v4)" height="50" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="87" x="64.5" y="823.9531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="64.5" x2="151.5" y1="850.25" y2="850.25"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="67" x="74.5" y="841.9482">StoreURC</text><rect fill="#FEFECE" filter="url(#f3yb8nnoq80v4)" height="50" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="100" x="187" y="823.9531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="187" x2="287" y1="850.25" y2="850.25"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="80" x="197" y="841.9482">FotaService</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="59" x="270.5" y="992.6514">ATBuffer</text><rect fill="#FEFECE" height="12" style="stroke: #A80036; stroke-width: 1.5;" width="48" x="294" y="1007.9531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="306" x2="306" y1="1007.9531" y2="1019.9531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="318" x2="318" y1="1007.9531" y2="1019.9531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="330" x2="330" y1="1007.9531" y2="1019.9531"/><rect fill="#FEFECE" filter="url(#f3yb8nnoq80v4)" height="50.2656" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="143" x="246.5" y="1085.9531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="246.5" x2="389.5" y1="1112.25" y2="1112.25"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="67" x="284.5" y="1103.9482">ATStream</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="123" x="251.5" y="1128.3887">parses AT message</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="103" x="266.5" y="1221.9482">channelOutput</text><ellipse cx="318" cy="1202.9531" fill="#FEFECE" rx="6" ry="6" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="322.3891" x2="314.6109" y1="1207.3422" y2="1199.564"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="322.3891" x2="314.6109" y1="1199.564" y2="1207.3422"/><rect fill="#FEFECE" filter="url(#f3yb8nnoq80v4)" height="50" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="120" x="258" y="1269.9531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="258" x2="378" y1="1296.25" y2="1296.25"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="100" x="268" y="1287.9482">ServiceCellular</text><!--MD5=[a57b3170d04d2bd212a327163f4c8137]
link UartIrq to SendToWorker--><path d="M197,136.0431 C197,153.3131 197,174.6731 197,191.6531 " fill="none" id="UartIrq-&gt;SendToWorker" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="197,196.7731,201,187.7731,197,191.7731,193,187.7731,197,196.7731" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[12c5ee31291134eacafef3eedf3c1f48]
link SendToWorker to output--><path d="M197,247.0731 C197,265.2931 197,289.3931 197,302.8131 " fill="none" id="SendToWorker-&gt;output" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="197,307.8631,201,298.8631,197,302.8631,193,298.8631,197,307.8631" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[e932264d0d3e1dc4eecdd1ce9c7fd236]
link DMAMessageBuffer to ATParser--><path d="M197,393.0631 C197,404.3331 197,432.0731 197,453.7831 " fill="none" id="DMAMessageBuffer-&gt;ATParser" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="197,458.8731,201,449.8731,197,453.8731,193,449.8731,197,458.8731" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[13a40670c7eb8b170560bd331fd78e1e]
link ATParser to CmdAwaitingResponse--><path d="M197,509.1431 C197,525.5131 197,547.2331 197,564.5931 " fill="none" id="ATParser-&gt;CmdAwaitingResponse" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="197,569.8331,201,560.8331,197,564.8331,193,560.8331,197,569.8331" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[777abd894339136b04c29cf487b6773b]
link CmdAwaitingResponse to outputWorker--><path d="M217.92,620.1731 C233.88,639.7431 255.39,668.6131 269,696.9531 C308.98,780.2031 316.37,894.6231 317.71,929.4631 " fill="none" id="CmdAwaitingResponse-&gt;outputWorker" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="317.88,934.6931,321.5945,925.5716,317.7225,929.6956,313.5985,925.8236,317.88,934.6931" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="28" x="301" y="790.02">True</text><!--MD5=[8a7a058cbacea9da7579bb2851695ae5]
link CmdAwaitingResponse to CheckIfFOTA--><path d="M181.3,620.1731 C174.36,633.7031 168.49,651.0031 172,666.9531 C173.86,675.3931 177.17,684.0831 180.79,691.9531 " fill="none" id="CmdAwaitingResponse-&gt;CheckIfFOTA" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="183.07,696.7431,182.7987,686.898,180.9142,692.2317,175.5805,690.3472,183.07,696.7431" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="33" x="173" y="663.02">False</text><!--MD5=[fd94f81ce2f3862349c63c5a12cf90a3]
link CheckIfFOTA to StoreURC--><path d="M170.21,747.0531 C161.23,755.9231 151.58,766.3931 144,776.9531 C134.67,789.9531 126.41,805.7131 120.17,819.0831 " fill="none" id="CheckIfFOTA-&gt;StoreURC" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="117.96,823.8931,125.3504,817.383,120.0462,819.3492,118.08,814.045,117.96,823.8931" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="33" x="145" y="790.02">False</text><!--MD5=[2bf7f23f6b2f1fdfd1cbf2b79eff56c5]
link CheckIfFOTA to FotaService--><path d="M189.96,746.9831 C187.05,761.0631 185.49,778.9831 191,793.9531 C194.41,803.2131 200.2,811.9731 206.53,819.6331 " fill="none" id="CheckIfFOTA-&gt;FotaService" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="210.1,823.7731,207.2623,814.3419,206.839,819.9829,201.198,819.5595,210.1,823.7731" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="28" x="192" y="790.02">True</text><!--MD5=[460a876a9029e334c616b58fb8501c7e]
link output to DMAMessageBuffer--><path d="M197,320.0631 C197,331.7231 197,360.5131 197,375.8931 " fill="none" id="output-&gt;DMAMessageBuffer" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="197,380.8931,201,371.8931,197,375.8931,193,371.8931,197,380.8931" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[f66c76729024c907a3d48f760668579d]
link ATBuffer to ATStream--><path d="M318,1020.0631 C318,1031.3331 318,1059.0731 318,1080.7831 " fill="none" id="ATBuffer-&gt;ATStream" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="318,1085.8731,322,1076.8731,318,1080.8731,314,1076.8731,318,1085.8731" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[dd80df3ee72f240316d7675a269eb8c4]
link ATStream to channelOutput--><path d="M318,1136.0731 C318,1154.2931 318,1178.3931 318,1191.8131 " fill="none" id="ATStream-&gt;channelOutput" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="318,1196.8631,322,1187.8631,318,1191.8631,314,1187.8631,318,1196.8631" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[8fe72049e9716dbce24d7677e0dd4d3e]
link outputWorker to ATBuffer--><path d="M318,947.0631 C318,958.7231 318,987.5131 318,1002.8931 " fill="none" id="outputWorker-&gt;ATBuffer" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="318,1007.8931,322,998.8931,318,1002.8931,314,998.8931,318,1007.8931" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[4663c35d14db62ee482ccec530d01964]
link channelOutput to ServiceCellular--><path d="M318,1209.0531 C318,1219.6031 318,1244.5631 318,1264.7031 " fill="none" id="channelOutput-&gt;ServiceCellular" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="318,1269.7131,322,1260.7131,318,1264.7131,314,1260.7131,318,1269.7131" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[0b8c942851dcca4227b07d8b7636a161]
@startuml
skinparam BackgroundColor F0F0F0
Title AT Mode

state CellularBSP {


@@ 62,10 63,12 @@ outputWorker - -> ATBuffer
channelOutput - -> ServiceCellular
@enduml

PlantUML version 1.2021.4beta1(Unknown compile time)
PlantUML version 1.2020.02(Sun Mar 01 05:22:07 EST 2020)
(GPL source distribution)
Java Runtime: Java(TM) SE Runtime Environment
JVM: Java HotSpot(TM) 64-Bit Server VM
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

M module-cellular/modem/doc/Images/at_mode.uml => module-cellular/modem/doc/Images/at_mode.uml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0
Title AT Mode

state CellularBSP {

M module-cellular/modem/doc/Images/cellular_result_struct.png => module-cellular/modem/doc/Images/cellular_result_struct.png +0 -0
M module-cellular/modem/doc/Images/cellular_result_struct.uml => module-cellular/modem/doc/Images/cellular_result_struct.uml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0
object CellularResultStruct {
  CellularResultCode resultCode
  vector<uint8_t> data

M module-cellular/modem/doc/Images/cmx_mode.uml => module-cellular/modem/doc/Images/cmx_mode.uml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0
Title CMUX Mode

state CellularBSP {

M module-cellular/modem/doc/Images/dma_result_struct.png => module-cellular/modem/doc/Images/dma_result_struct.png +0 -0
M module-cellular/modem/doc/Images/dma_result_struct.uml => module-cellular/modem/doc/Images/dma_result_struct.uml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0
object CellularDMAResultStruct {
  CellularResultCode resultCode
  size_t dataSize

M module-cellular/modem/doc/Images/single_cmd.uml => module-cellular/modem/doc/Images/single_cmd.uml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0
title Single cmd processing

participant IRQ order 1

M module-cellular/modem/doc/scripts/atstream.pu => module-cellular/modem/doc/scripts/atstream.pu +2 -1
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0

start



@@ 46,4 47,4 @@ endif



@enduml
\ No newline at end of file
@enduml

M module-cellular/modem/doc/scripts/class_channel.pu => module-cellular/modem/doc/scripts/class_channel.pu +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0

abstract class BaseChannel


M module-db/doc/contacts_import.puml => module-db/doc/contacts_import.puml +2 -1
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0

participant "Application" as app
participant "ContactRecord" as rec


@@ 27,4 28,4 @@ group number found in db
end
rec -> app : status response

@enduml
\ No newline at end of file
@enduml

M module-db/doc/contacts_import.svg => module-db/doc/contacts_import.svg +7 -4
@@ 1,5 1,6 @@
<?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="627px" preserveAspectRatio="none" style="width:658px;height:627px;background:#FFFFFF;" version="1.1" viewBox="0 0 658 627" width="658px" zoomAndPan="magnify"><defs><filter height="300%" id="f12hef58xpqd4m" 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(#f12hef58xpqd4m)" height="46.2656" style="stroke:#000000;stroke-width:2.0;" width="397.5" x="243.5" y="431.7578"/><rect fill="#FFFFFF" filter="url(#f12hef58xpqd4m)" height="46.2656" style="stroke:#000000;stroke-width:2.0;" width="397.5" x="243.5" y="492.0234"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="51" x2="51" y1="40.2969" y2="584.4219"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="314.5" x2="314.5" y1="40.2969" y2="584.4219"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="579" x2="579" y1="40.2969" y2="584.4219"/><rect fill="#FEFECE" filter="url(#f12hef58xpqd4m)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="89" x="5" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="75" x="12" y="24.9951">Application</text><rect fill="#FEFECE" filter="url(#f12hef58xpqd4m)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="89" x="5" y="583.4219"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="75" x="12" y="603.417">Application</text><rect fill="#FEFECE" filter="url(#f12hef58xpqd4m)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="118" x="253.5" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="104" x="260.5" y="24.9951">ContactRecord</text><rect fill="#FEFECE" filter="url(#f12hef58xpqd4m)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="118" x="253.5" y="583.4219"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="104" x="260.5" y="603.417">ContactRecord</text><rect fill="#FEFECE" filter="url(#f12hef58xpqd4m)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="99" x="528" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="85" x="535" y="24.9951">contacts DB</text><rect fill="#FEFECE" filter="url(#f12hef58xpqd4m)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="99" x="528" y="583.4219"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="85" x="535" y="603.417">contacts DB</text><rect fill="#EEEEEE" filter="url(#f12hef58xpqd4m)" height="3" style="stroke:#EEEEEE;stroke-width:1.0;" width="651" x="0" y="70.8633"/><line style="stroke:#000000;stroke-width:1.0;" x1="0" x2="651" y1="70.8633" y2="70.8633"/><line style="stroke:#000000;stroke-width:1.0;" x1="0" x2="651" y1="73.8633" y2="73.8633"/><rect fill="#EEEEEE" filter="url(#f12hef58xpqd4m)" height="23.1328" style="stroke:#000000;stroke-width:2.0;" width="195" x="228" y="60.2969"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="176" x="234" y="76.3638">Checking for duplicates</text><polygon fill="#A80036" points="302.5,125.6953,312.5,129.6953,302.5,133.6953,306.5,129.6953" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="51.5" x2="308.5" y1="129.6953" y2="129.6953"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="113" x="58.5" y="109.4966">contacts to check</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="239" x="58.5" y="124.6294">(query::CheckContactsListDuplicates)</text><polygon fill="#A80036" points="567.5,154.8281,577.5,158.8281,567.5,162.8281,571.5,158.8281" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="314.5" x2="573.5" y1="158.8281" y2="158.8281"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="82" x="321.5" y="153.7622">get numbers</text><polygon fill="#A80036" points="325.5,168.8281,315.5,172.8281,325.5,176.8281,321.5,172.8281" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="319.5" x2="578.5" y1="172.8281" y2="172.8281"/><line style="stroke:#A80036;stroke-width:1.0;" x1="314.5" x2="356.5" y1="201.9609" y2="201.9609"/><line style="stroke:#A80036;stroke-width:1.0;" x1="356.5" x2="356.5" y1="201.9609" y2="214.9609"/><line style="stroke:#A80036;stroke-width:1.0;" x1="315.5" x2="356.5" y1="214.9609" y2="214.9609"/><polygon fill="#A80036" points="325.5,210.9609,315.5,214.9609,325.5,218.9609,321.5,214.9609" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="136" x="321.5" y="196.895">numbers comparison</text><polygon fill="#A80036" points="62.5,240.0938,52.5,244.0938,62.5,248.0938,58.5,244.0938" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="56.5" x2="313.5" y1="244.0938" y2="244.0938"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="125" x="68.5" y="239.0278">duplicated contacts</text><rect fill="#EEEEEE" filter="url(#f12hef58xpqd4m)" height="3" style="stroke:#EEEEEE;stroke-width:1.0;" width="651" x="0" y="272.6602"/><line style="stroke:#000000;stroke-width:1.0;" x1="0" x2="651" y1="272.6602" y2="272.6602"/><line style="stroke:#000000;stroke-width:1.0;" x1="0" x2="651" y1="275.6602" y2="275.6602"/><rect fill="#EEEEEE" filter="url(#f12hef58xpqd4m)" height="23.1328" style="stroke:#000000;stroke-width:2.0;" width="221" x="215" y="262.0938"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="202" x="221" y="278.1606">Merging contacts list to DB</text><polygon fill="#A80036" points="302.5,327.4922,312.5,331.4922,302.5,335.4922,306.5,331.4922" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="51.5" x2="308.5" y1="331.4922" y2="331.4922"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="118" x="58.5" y="311.2935">contacts to merge</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="173" x="58.5" y="326.4263">(query::MergeContactsList)</text><polygon fill="#A80036" points="567.5,356.625,577.5,360.625,567.5,364.625,571.5,360.625" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="314.5" x2="573.5" y1="360.625" y2="360.625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="82" x="321.5" y="355.5591">get numbers</text><polygon fill="#A80036" points="325.5,370.625,315.5,374.625,325.5,378.625,321.5,374.625" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="319.5" x2="578.5" y1="374.625" y2="374.625"/><line style="stroke:#A80036;stroke-width:1.0;" x1="314.5" x2="356.5" y1="403.7578" y2="403.7578"/><line style="stroke:#A80036;stroke-width:1.0;" x1="356.5" x2="356.5" y1="403.7578" y2="416.7578"/><line style="stroke:#A80036;stroke-width:1.0;" x1="315.5" x2="356.5" y1="416.7578" y2="416.7578"/><polygon fill="#A80036" points="325.5,412.7578,315.5,416.7578,325.5,420.7578,321.5,416.7578" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="136" x="321.5" y="398.6919">numbers comparison</text><path d="M243.5,431.7578 L422.5,431.7578 L422.5,438.7578 L412.5,448.7578 L243.5,448.7578 L243.5,431.7578 " fill="#EEEEEE" style="stroke:#000000;stroke-width:1.0;"/><rect fill="none" height="46.2656" style="stroke:#000000;stroke-width:2.0;" width="397.5" x="243.5" y="431.7578"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="134" x="258.5" y="444.8247">number not found</text><polygon fill="#A80036" points="567.5,466.0234,577.5,470.0234,567.5,474.0234,571.5,470.0234" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="314.5" x2="573.5" y1="470.0234" y2="470.0234"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="77" x="321.5" y="464.9575">Add contact</text><path d="M243.5,492.0234 L436.5,492.0234 L436.5,499.0234 L426.5,509.0234 L243.5,509.0234 L243.5,492.0234 " fill="#EEEEEE" style="stroke:#000000;stroke-width:1.0;"/><rect fill="none" height="46.2656" style="stroke:#000000;stroke-width:2.0;" width="397.5" x="243.5" y="492.0234"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="148" x="258.5" y="505.0903">number found in db</text><polygon fill="#A80036" points="567.5,526.2891,577.5,530.2891,567.5,534.2891,571.5,530.2891" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="314.5" x2="573.5" y1="530.2891" y2="530.2891"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="241" x="321.5" y="525.2231">Update contact by overriding old data</text><polygon fill="#A80036" points="62.5,562.4219,52.5,566.4219,62.5,570.4219,58.5,566.4219" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="56.5" x2="313.5" y1="566.4219" y2="566.4219"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="103" x="68.5" y="561.356">status response</text><!--MD5=[921bcca0682cb10fe9b051cd54a58a3c]
<?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="622px" preserveAspectRatio="none" style="width:666px;height:622px;background:#F0F0F0;" version="1.1" viewBox="0 0 666 622" width="666px" zoomAndPan="magnify"><defs><filter height="300%" id="fmbmvvqwg1s80" 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="#F0F0F0" filter="url(#fmbmvvqwg1s80)" height="46.2656" style="stroke: #000000; stroke-width: 2.0;" width="397.5" x="246.5" y="429.7578"/><rect fill="#F0F0F0" filter="url(#fmbmvvqwg1s80)" height="46.2656" style="stroke: #000000; stroke-width: 2.0;" width="397.5" x="246.5" y="490.0234"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="54" x2="54" y1="38.2969" y2="582.4219"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="317.5" x2="317.5" y1="38.2969" y2="582.4219"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="582" x2="582" y1="38.2969" y2="582.4219"/><rect fill="#FEFECE" filter="url(#fmbmvvqwg1s80)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="89" x="8" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="75" x="15" y="22.9951">Application</text><rect fill="#FEFECE" filter="url(#fmbmvvqwg1s80)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="89" x="8" y="581.4219"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="75" x="15" y="601.417">Application</text><rect fill="#FEFECE" filter="url(#fmbmvvqwg1s80)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="118" x="256.5" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="104" x="263.5" y="22.9951">ContactRecord</text><rect fill="#FEFECE" filter="url(#fmbmvvqwg1s80)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="118" x="256.5" y="581.4219"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="104" x="263.5" y="601.417">ContactRecord</text><rect fill="#FEFECE" filter="url(#fmbmvvqwg1s80)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="99" x="531" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="85" x="538" y="22.9951">contacts DB</text><rect fill="#FEFECE" filter="url(#fmbmvvqwg1s80)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="99" x="531" y="581.4219"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="85" x="538" y="601.417">contacts DB</text><rect fill="#EEEEEE" filter="url(#fmbmvvqwg1s80)" height="3" style="stroke: #EEEEEE; stroke-width: 1.0;" width="651" x="3" y="68.8633"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="654" y1="68.8633" y2="68.8633"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="654" y1="71.8633" y2="71.8633"/><rect fill="#EEEEEE" filter="url(#fmbmvvqwg1s80)" height="23.1328" style="stroke: #000000; stroke-width: 2.0;" width="195" x="231" y="58.2969"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="176" x="237" y="74.3638">Checking for duplicates</text><polygon fill="#A80036" points="305.5,123.6953,315.5,127.6953,305.5,131.6953,309.5,127.6953" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="54.5" x2="311.5" y1="127.6953" y2="127.6953"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="113" x="61.5" y="107.4966">contacts to check</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="239" x="61.5" y="122.6294">(query::CheckContactsListDuplicates)</text><polygon fill="#A80036" points="570.5,152.8281,580.5,156.8281,570.5,160.8281,574.5,156.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="317.5" x2="576.5" y1="156.8281" y2="156.8281"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="82" x="324.5" y="151.7622">get numbers</text><polygon fill="#A80036" points="328.5,166.8281,318.5,170.8281,328.5,174.8281,324.5,170.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="322.5" x2="581.5" y1="170.8281" y2="170.8281"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="317.5" x2="359.5" y1="199.9609" y2="199.9609"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="359.5" x2="359.5" y1="199.9609" y2="212.9609"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="318.5" x2="359.5" y1="212.9609" y2="212.9609"/><polygon fill="#A80036" points="328.5,208.9609,318.5,212.9609,328.5,216.9609,324.5,212.9609" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="136" x="324.5" y="194.895">numbers comparison</text><polygon fill="#A80036" points="65.5,238.0938,55.5,242.0938,65.5,246.0938,61.5,242.0938" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="59.5" x2="316.5" y1="242.0938" y2="242.0938"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="125" x="71.5" y="237.0278">duplicated contacts</text><rect fill="#EEEEEE" filter="url(#fmbmvvqwg1s80)" height="3" style="stroke: #EEEEEE; stroke-width: 1.0;" width="651" x="3" y="270.6602"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="654" y1="270.6602" y2="270.6602"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="654" y1="273.6602" y2="273.6602"/><rect fill="#EEEEEE" filter="url(#fmbmvvqwg1s80)" height="23.1328" style="stroke: #000000; stroke-width: 2.0;" width="221" x="218" y="260.0938"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="202" x="224" y="276.1606">Merging contacts list to DB</text><polygon fill="#A80036" points="305.5,325.4922,315.5,329.4922,305.5,333.4922,309.5,329.4922" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="54.5" x2="311.5" y1="329.4922" y2="329.4922"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="118" x="61.5" y="309.2935">contacts to merge</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="173" x="61.5" y="324.4263">(query::MergeContactsList)</text><polygon fill="#A80036" points="570.5,354.625,580.5,358.625,570.5,362.625,574.5,358.625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="317.5" x2="576.5" y1="358.625" y2="358.625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="82" x="324.5" y="353.5591">get numbers</text><polygon fill="#A80036" points="328.5,368.625,318.5,372.625,328.5,376.625,324.5,372.625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="322.5" x2="581.5" y1="372.625" y2="372.625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="317.5" x2="359.5" y1="401.7578" y2="401.7578"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="359.5" x2="359.5" y1="401.7578" y2="414.7578"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="318.5" x2="359.5" y1="414.7578" y2="414.7578"/><polygon fill="#A80036" points="328.5,410.7578,318.5,414.7578,328.5,418.7578,324.5,414.7578" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="136" x="324.5" y="396.6919">numbers comparison</text><path d="M246.5,429.7578 L425.5,429.7578 L425.5,436.7578 L415.5,446.7578 L246.5,446.7578 L246.5,429.7578 " fill="#EEEEEE" style="stroke: #000000; stroke-width: 1.0;"/><rect fill="none" height="46.2656" style="stroke: #000000; stroke-width: 2.0;" width="397.5" x="246.5" y="429.7578"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="134" x="261.5" y="442.8247">number not found</text><polygon fill="#A80036" points="570.5,464.0234,580.5,468.0234,570.5,472.0234,574.5,468.0234" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="317.5" x2="576.5" y1="468.0234" y2="468.0234"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="77" x="324.5" y="462.9575">Add contact</text><path d="M246.5,490.0234 L439.5,490.0234 L439.5,497.0234 L429.5,507.0234 L246.5,507.0234 L246.5,490.0234 " fill="#EEEEEE" style="stroke: #000000; stroke-width: 1.0;"/><rect fill="none" height="46.2656" style="stroke: #000000; stroke-width: 2.0;" width="397.5" x="246.5" y="490.0234"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="148" x="261.5" y="503.0903">number found in db</text><polygon fill="#A80036" points="570.5,524.2891,580.5,528.2891,570.5,532.2891,574.5,528.2891" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="317.5" x2="576.5" y1="528.2891" y2="528.2891"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="241" x="324.5" y="523.2231">Update contact by overriding old data</text><polygon fill="#A80036" points="65.5,560.4219,55.5,564.4219,65.5,568.4219,61.5,564.4219" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="59.5" x2="316.5" y1="564.4219" y2="564.4219"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="103" x="71.5" y="559.356">status response</text><!--MD5=[515b218ac3b5f2cb30693f184c9eef1c]
@startuml
skinparam BackgroundColor F0F0F0

participant "Application" as app
participant "ContactRecord" as rec


@@ 30,11 31,13 @@ rec -> app : status response

@enduml

PlantUML version 1.2021.7(Sun May 23 14:40:07 CEST 2021)
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: pl
Country: PL
Language: en
Country: US
--></g></svg>
\ No newline at end of file

M module-gui/doc/how_app_start_work.puml => module-gui/doc/how_app_start_work.puml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0

== ApplicationManager aplication start ==


M module-gui/doc/how_app_start_work.svg => module-gui/doc/how_app_start_work.svg +6 -5
@@ 1,5 1,6 @@
<?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="595px" preserveAspectRatio="none" style="width:549px;height:595px;" version="1.1" viewBox="0 0 549 595" width="549px" zoomAndPan="magnify"><defs><filter height="300%" id="f1c6cy85tvhugn" 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(#f1c6cy85tvhugn)" height="75.3984" style="stroke: #000000; stroke-width: 2.0;" width="229" x="298.5" y="462.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="127" x2="127" y1="38.2969" y2="266.2266"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="127" x2="127" y1="266.2266" y2="307.0313"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="127" x2="127" y1="307.0313" y2="554.9609"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="354.5" x2="354.5" y1="38.2969" y2="266.2266"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="354.5" x2="354.5" y1="266.2266" y2="307.0313"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="354.5" x2="354.5" y1="307.0313" y2="554.9609"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="435.5" x2="435.5" y1="38.2969" y2="266.2266"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="435.5" x2="435.5" y1="266.2266" y2="307.0313"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="435.5" x2="435.5" y1="307.0313" y2="554.9609"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="493.5" x2="493.5" y1="38.2969" y2="266.2266"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="493.5" x2="493.5" y1="266.2266" y2="307.0313"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="493.5" x2="493.5" y1="307.0313" y2="554.9609"/><rect fill="#FEFECE" filter="url(#f1c6cy85tvhugn)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="44" x="103" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="30" x="110" y="22.9951">APM</text><rect fill="#FEFECE" filter="url(#f1c6cy85tvhugn)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="44" x="103" y="553.9609"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="30" x="110" y="573.9561">APM</text><rect fill="#FEFECE" filter="url(#f1c6cy85tvhugn)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="89" x="308.5" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="75" x="315.5" y="22.9951">Application</text><rect fill="#FEFECE" filter="url(#f1c6cy85tvhugn)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="89" x="308.5" y="553.9609"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="75" x="315.5" y="573.9561">Application</text><rect fill="#FEFECE" filter="url(#f1c6cy85tvhugn)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="44" x="411.5" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="30" x="418.5" y="22.9951">EVM</text><rect fill="#FEFECE" filter="url(#f1c6cy85tvhugn)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="44" x="411.5" y="553.9609"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="30" x="418.5" y="573.9561">EVM</text><rect fill="#FEFECE" filter="url(#f1c6cy85tvhugn)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="44" x="469.5" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="30" x="476.5" y="22.9951">SVM</text><rect fill="#FEFECE" filter="url(#f1c6cy85tvhugn)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="44" x="469.5" y="553.9609"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="30" x="476.5" y="573.9561">SVM</text><rect fill="#EEEEEE" filter="url(#f1c6cy85tvhugn)" height="3" style="stroke: #EEEEEE; stroke-width: 1.0;" width="534.5" x="3" y="68.8633"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="537.5" y1="68.8633" y2="68.8633"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="537.5" y1="71.8633" y2="71.8633"/><rect fill="#EEEEEE" filter="url(#f1c6cy85tvhugn)" height="23.1328" style="stroke: #000000; stroke-width: 2.0;" width="284" x="128.25" y="58.2969"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="265" x="134.25" y="74.3638">ApplicationManager aplication start</text><polygon fill="#A80036" points="343,108.5625,353,112.5625,343,116.5625,347,112.5625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="127" x2="349" y1="112.5625" y2="112.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="91" x="134" y="107.4966">Message start</text><polygon fill="#A80036" points="138,137.6953,128,141.6953,138,145.6953,134,141.6953" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="132" x2="354" y1="141.6953" y2="141.6953"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="204" x="144" y="136.6294">Application started confirmation</text><polygon fill="#A80036" points="343,166.8281,353,170.8281,343,174.8281,347,170.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="127" x2="349" y1="170.8281" y2="170.8281"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="19" x="134" y="165.7622">Init</text><polygon fill="#A80036" points="138,195.9609,128,199.9609,138,203.9609,134,199.9609" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="132" x2="354" y1="199.9609" y2="199.9609"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="59" x="144" y="194.895">Initialized</text><polygon fill="#A80036" points="343,225.0938,353,229.0938,343,233.0938,347,229.0938" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="127" x2="349" y1="229.0938" y2="229.0938"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="96" x="134" y="224.0278">You have focus</text><polygon fill="#A80036" points="423.5,254.2266,433.5,258.2266,423.5,262.2266,427.5,258.2266" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="127" x2="429.5" y1="258.2266" y2="258.2266"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="177" x="134" y="253.1606">Application NAME has focus</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="0" x="267.75" y="290.437"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="77" x="271.75" y="290.437">Lots of action</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="0" x="356.75" y="290.437"/><rect fill="#EEEEEE" filter="url(#f1c6cy85tvhugn)" height="3" style="stroke: #EEEEEE; stroke-width: 1.0;" width="534.5" x="3" y="327.5977"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="537.5" y1="327.5977" y2="327.5977"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="537.5" y1="330.5977" y2="330.5977"/><rect fill="#EEEEEE" filter="url(#f1c6cy85tvhugn)" height="23.1328" style="stroke: #000000; stroke-width: 2.0;" width="284" x="128.25" y="317.0313"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="265" x="134.25" y="333.0981">ApplicationManager aplication start</text><polygon fill="#A80036" points="343,367.2969,353,371.2969,343,375.2969,347,371.2969" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="127" x2="349" y1="371.2969" y2="371.2969"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="78" x="134" y="366.231">EOL request</text><polygon fill="#FBFB77" filter="url(#f1c6cy85tvhugn)" points="18,384.2969,237,384.2969,247,395.2969,237,407.2969,18,407.2969,8,395.2969,18,384.2969" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="215" x="20" y="400.3638">Get previous application or ignore</text><rect fill="#EEEEEE" filter="url(#f1c6cy85tvhugn)" height="3" style="stroke: #EEEEEE; stroke-width: 1.0;" width="534.5" x="3" y="432.9961"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="537.5" y1="432.9961" y2="432.9961"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="537.5" y1="435.9961" y2="435.9961"/><rect fill="#EEEEEE" filter="url(#f1c6cy85tvhugn)" height="23.1328" style="stroke: #000000; stroke-width: 2.0;" width="230" x="155.25" y="422.4297"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="211" x="161.25" y="438.4966">Service manager - power off</text><path d="M298.5,462.5625 L375.5,462.5625 L375.5,469.5625 L365.5,479.5625 L298.5,479.5625 L298.5,462.5625 " fill="#EEEEEE" style="stroke: #000000; stroke-width: 1.0;"/><rect fill="none" height="75.3984" style="stroke: #000000; stroke-width: 2.0;" width="229" x="298.5" y="462.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="32" x="313.5" y="475.6294">loop</text><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="117" x="390.5" y="474.7729">[each application]</text><polygon fill="#A80036" points="366,496.8281,356,500.8281,366,504.8281,362,500.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="360" x2="492.5" y1="500.8281" y2="500.8281"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="78" x="372" y="495.7622">EOL request</text><polygon fill="#A80036" points="481.5,525.9609,491.5,529.9609,481.5,533.9609,485.5,529.9609" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="355" x2="487.5" y1="529.9609" y2="529.9609"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="18" x="362" y="524.895">OK</text><!--MD5=[090adacf00461bba96671e23f23f37eb]
<?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="595px" preserveAspectRatio="none" style="width:549px;height:595px;background:#F0F0F0;" version="1.1" viewBox="0 0 549 595" width="549px" zoomAndPan="magnify"><defs><filter height="300%" id="f8351ngeeg3ar" 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="#F0F0F0" filter="url(#f8351ngeeg3ar)" height="75.3984" style="stroke: #000000; stroke-width: 2.0;" width="229" x="298.5" y="462.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="127" x2="127" y1="38.2969" y2="266.2266"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="127" x2="127" y1="266.2266" y2="307.0313"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="127" x2="127" y1="307.0313" y2="554.9609"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="354.5" x2="354.5" y1="38.2969" y2="266.2266"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="354.5" x2="354.5" y1="266.2266" y2="307.0313"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="354.5" x2="354.5" y1="307.0313" y2="554.9609"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="435.5" x2="435.5" y1="38.2969" y2="266.2266"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="435.5" x2="435.5" y1="266.2266" y2="307.0313"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="435.5" x2="435.5" y1="307.0313" y2="554.9609"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="493.5" x2="493.5" y1="38.2969" y2="266.2266"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="493.5" x2="493.5" y1="266.2266" y2="307.0313"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="493.5" x2="493.5" y1="307.0313" y2="554.9609"/><rect fill="#FEFECE" filter="url(#f8351ngeeg3ar)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="44" x="103" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="30" x="110" y="22.9951">APM</text><rect fill="#FEFECE" filter="url(#f8351ngeeg3ar)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="44" x="103" y="553.9609"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="30" x="110" y="573.9561">APM</text><rect fill="#FEFECE" filter="url(#f8351ngeeg3ar)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="89" x="308.5" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="75" x="315.5" y="22.9951">Application</text><rect fill="#FEFECE" filter="url(#f8351ngeeg3ar)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="89" x="308.5" y="553.9609"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="75" x="315.5" y="573.9561">Application</text><rect fill="#FEFECE" filter="url(#f8351ngeeg3ar)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="44" x="411.5" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="30" x="418.5" y="22.9951">EVM</text><rect fill="#FEFECE" filter="url(#f8351ngeeg3ar)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="44" x="411.5" y="553.9609"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="30" x="418.5" y="573.9561">EVM</text><rect fill="#FEFECE" filter="url(#f8351ngeeg3ar)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="44" x="469.5" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="30" x="476.5" y="22.9951">SVM</text><rect fill="#FEFECE" filter="url(#f8351ngeeg3ar)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="44" x="469.5" y="553.9609"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="30" x="476.5" y="573.9561">SVM</text><rect fill="#EEEEEE" filter="url(#f8351ngeeg3ar)" height="3" style="stroke: #EEEEEE; stroke-width: 1.0;" width="534.5" x="3" y="68.8633"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="537.5" y1="68.8633" y2="68.8633"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="537.5" y1="71.8633" y2="71.8633"/><rect fill="#EEEEEE" filter="url(#f8351ngeeg3ar)" height="23.1328" style="stroke: #000000; stroke-width: 2.0;" width="284" x="128.25" y="58.2969"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="265" x="134.25" y="74.3638">ApplicationManager aplication start</text><polygon fill="#A80036" points="343,108.5625,353,112.5625,343,116.5625,347,112.5625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="127" x2="349" y1="112.5625" y2="112.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="91" x="134" y="107.4966">Message start</text><polygon fill="#A80036" points="138,137.6953,128,141.6953,138,145.6953,134,141.6953" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="132" x2="354" y1="141.6953" y2="141.6953"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="204" x="144" y="136.6294">Application started confirmation</text><polygon fill="#A80036" points="343,166.8281,353,170.8281,343,174.8281,347,170.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="127" x2="349" y1="170.8281" y2="170.8281"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="19" x="134" y="165.7622">Init</text><polygon fill="#A80036" points="138,195.9609,128,199.9609,138,203.9609,134,199.9609" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="132" x2="354" y1="199.9609" y2="199.9609"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="59" x="144" y="194.895">Initialized</text><polygon fill="#A80036" points="343,225.0938,353,229.0938,343,233.0938,347,229.0938" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="127" x2="349" y1="229.0938" y2="229.0938"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="96" x="134" y="224.0278">You have focus</text><polygon fill="#A80036" points="423.5,254.2266,433.5,258.2266,423.5,262.2266,427.5,258.2266" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="127" x2="429.5" y1="258.2266" y2="258.2266"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="177" x="134" y="253.1606">Application NAME has focus</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="0" x="269.75" y="290.437"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="75" x="272.75" y="290.437">Lots of action</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="0" x="353.75" y="290.437"/><rect fill="#EEEEEE" filter="url(#f8351ngeeg3ar)" height="3" style="stroke: #EEEEEE; stroke-width: 1.0;" width="534.5" x="3" y="327.5977"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="537.5" y1="327.5977" y2="327.5977"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="537.5" y1="330.5977" y2="330.5977"/><rect fill="#EEEEEE" filter="url(#f8351ngeeg3ar)" height="23.1328" style="stroke: #000000; stroke-width: 2.0;" width="284" x="128.25" y="317.0313"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="265" x="134.25" y="333.0981">ApplicationManager aplication start</text><polygon fill="#A80036" points="343,367.2969,353,371.2969,343,375.2969,347,371.2969" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="127" x2="349" y1="371.2969" y2="371.2969"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="78" x="134" y="366.231">EOL request</text><polygon fill="#FBFB77" filter="url(#f8351ngeeg3ar)" points="18,384.2969,237,384.2969,247,395.2969,237,407.2969,18,407.2969,8,395.2969,18,384.2969" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="215" x="20" y="400.3638">Get previous application or ignore</text><rect fill="#EEEEEE" filter="url(#f8351ngeeg3ar)" height="3" style="stroke: #EEEEEE; stroke-width: 1.0;" width="534.5" x="3" y="432.9961"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="537.5" y1="432.9961" y2="432.9961"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="537.5" y1="435.9961" y2="435.9961"/><rect fill="#EEEEEE" filter="url(#f8351ngeeg3ar)" height="23.1328" style="stroke: #000000; stroke-width: 2.0;" width="230" x="155.25" y="422.4297"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="211" x="161.25" y="438.4966">Service manager - power off</text><path d="M298.5,462.5625 L375.5,462.5625 L375.5,469.5625 L365.5,479.5625 L298.5,479.5625 L298.5,462.5625 " fill="#EEEEEE" style="stroke: #000000; stroke-width: 1.0;"/><rect fill="none" height="75.3984" style="stroke: #000000; stroke-width: 2.0;" width="229" x="298.5" y="462.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="32" x="313.5" y="475.6294">loop</text><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="117" x="390.5" y="474.7729">[each application]</text><polygon fill="#A80036" points="366,496.8281,356,500.8281,366,504.8281,362,500.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="360" x2="492.5" y1="500.8281" y2="500.8281"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="78" x="372" y="495.7622">EOL request</text><polygon fill="#A80036" points="481.5,525.9609,491.5,529.9609,481.5,533.9609,485.5,529.9609" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="355" x2="487.5" y1="529.9609" y2="529.9609"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="18" x="362" y="524.895">OK</text><!--MD5=[11dcbb335bd6ce7ae452eebd9085098c]
@startuml
skinparam BackgroundColor F0F0F0

== ApplicationManager aplication start ==



@@ 29,13 30,13 @@ end

@enduml

PlantUML version 1.2019.13(Tue Dec 10 18:18:29 CET 2019)
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: 14.0.2+12
Java Version: 11.0.12+7-post-Debian-2
Operating System: Linux
Default Encoding: UTF-8
Language: pl
Country: PL
Language: en
Country: US
--></g></svg>
\ No newline at end of file

M module-gui/doc/how_keypress_work.puml => module-gui/doc/how_keypress_work.puml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0

actor User


M module-gui/doc/how_keypress_work.svg => module-gui/doc/how_keypress_work.svg +10 -10
@@ 1,10 1,9 @@
<?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="938px" preserveAspectRatio="none" style="width:420px;height:938px;" version="1.1" viewBox="0 0 420 938" width="420px" zoomAndPan="magnify"><defs><filter height="300%" id="frwjtjhbu39g7" 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><line style="stroke: #A80036; stroke-width: 1.0;" x1="27" x2="27" y1="86.2969" y2="357.3594"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="27" x2="27" y1="357.3594" y2="398.1641"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="27" x2="27" y1="398.1641" y2="616.0938"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="27" x2="27" y1="616.0938" y2="656.8984"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="27" x2="27" y1="656.8984" y2="850.8281"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="155" x2="155" y1="86.2969" y2="357.3594"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="155" x2="155" y1="357.3594" y2="398.1641"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="155" x2="155" y1="398.1641" y2="616.0938"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="155" x2="155" y1="616.0938" y2="656.8984"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="155" x2="155" y1="656.8984" y2="850.8281"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="307.5" x2="307.5" y1="86.2969" y2="357.3594"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="307.5" x2="307.5" y1="357.3594" y2="398.1641"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="307.5" x2="307.5" y1="398.1641" y2="616.0938"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="307.5" x2="307.5" y1="616.0938" y2="656.8984"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="307.5" x2="307.5" y1="656.8984" y2="850.8281"/><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(#frwjtjhbu39g7)" 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(#frwjtjhbu39g7)" style="stroke: #A80036; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="32" x="8" y="862.8232">User</text><ellipse cx="27" cy="876.125" fill="#FEFECE" filter="url(#frwjtjhbu39g7)" rx="8" ry="8" style="stroke: #A80036; stroke-width: 2.0;"/><path d="M27,884.125 L27,911.125 M14,892.125 L40,892.125 M27,911.125 L14,926.125 M27,911.125 L40,926.125 " fill="none" filter="url(#frwjtjhbu39g7)" style="stroke: #A80036; stroke-width: 2.0;"/><rect fill="#FEFECE" filter="url(#frwjtjhbu39g7)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="44" x="131" y="51"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="30" x="138" y="70.9951">EVM</text><rect fill="#FEFECE" filter="url(#frwjtjhbu39g7)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="44" x="131" y="849.8281"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="30" x="138" y="869.8232">EVM</text><rect fill="#FEFECE" filter="url(#frwjtjhbu39g7)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="49" x="281.5" y="51"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="35" x="288.5" y="70.9951">Apps</text><rect fill="#FEFECE" filter="url(#frwjtjhbu39g7)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="49" x="281.5" y="849.8281"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="35" x="288.5" y="869.8232">Apps</text><rect fill="#EEEEEE" filter="url(#frwjtjhbu39g7)" height="3" style="stroke: #EEEEEE; stroke-width: 1.0;" width="405" x="3" y="116.8633"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="408" y1="116.8633" y2="116.8633"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="408" y1="119.8633" y2="119.8633"/><rect fill="#EEEEEE" filter="url(#frwjtjhbu39g7)" height="23.1328" style="stroke: #000000; stroke-width: 2.0;" width="180" x="115.5" y="106.2969"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="161" x="121.5" y="122.3638">Simple fast key press</text><polygon fill="#A80036" points="143,156.5625,153,160.5625,143,164.5625,147,160.5625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="27" x2="149" y1="160.5625" y2="160.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="58" x="34" y="155.4966">KeyPress</text><polygon fill="#A80036" points="296,185.6953,306,189.6953,296,193.6953,300,189.6953" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="155" x2="302" y1="189.6953" y2="189.6953"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="58" x="162" y="184.6294">KeyPress</text><polygon fill="#A80036" points="143,214.8281,153,218.8281,143,222.8281,147,218.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="27" x2="149" y1="218.8281" y2="218.8281"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="73" x="34" y="213.7622">KeyRelease</text><polygon fill="#A80036" points="296,243.9609,306,247.9609,296,251.9609,300,247.9609" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="155" x2="302" y1="247.9609" y2="247.9609"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="81" x="162" y="242.895">KeyReleased</text><rect fill="#EEEEEE" filter="url(#frwjtjhbu39g7)" height="3" style="stroke: #EEEEEE; stroke-width: 1.0;" width="405" x="3" y="276.5273"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="408" y1="276.5273" y2="276.5273"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="408" y1="279.5273" y2="279.5273"/><rect fill="#EEEEEE" filter="url(#frwjtjhbu39g7)" height="23.1328" style="stroke: #000000; stroke-width: 2.0;" width="101" x="155" y="265.9609"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="82" x="161" y="282.0278">Long Press</text><polygon fill="#A80036" points="143,316.2266,153,320.2266,143,324.2266,147,320.2266" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="27" x2="149" y1="320.2266" y2="320.2266"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="58" x="34" y="315.1606">KeyPress</text><polygon fill="#A80036" points="296,345.3594,306,349.3594,296,353.3594,300,349.3594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="155" x2="302" y1="349.3594" y2="349.3594"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="58" x="162" y="344.2935">KeyPress</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="33" x="120" y="381.5698">Some</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="58" x="157" y="381.5698">long delay</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="0" x="219" y="381.5698"/><polygon fill="#A80036" points="296,415.2969,306,419.2969,296,423.2969,300,419.2969" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="155" x2="302" y1="419.2969" y2="419.2969"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="89" x="162" y="414.231">KeyLongPress</text><polygon fill="#A80036" points="143,444.4297,153,448.4297,143,452.4297,147,448.4297" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="27" x2="149" y1="448.4297" y2="448.4297"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="73" x="34" y="443.3638">KeyRelease</text><polygon fill="#A80036" points="296,473.5625,306,477.5625,296,481.5625,300,477.5625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="155" x2="302" y1="477.5625" y2="477.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="81" x="162" y="472.4966">KeyReleased</text><line style="stroke: #A80036; stroke-width: 2.0;" x1="290" x2="300" y1="501.6953" y2="511.6953"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="290" x2="300" y1="511.6953" y2="501.6953"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="155" x2="295" y1="506.6953" y2="506.6953"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="129" x="162" y="501.6294">No KeyRelease now!</text><rect fill="#EEEEEE" filter="url(#frwjtjhbu39g7)" height="3" style="stroke: #EEEEEE; stroke-width: 1.0;" width="405" x="3" y="535.2617"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="408" y1="535.2617" y2="535.2617"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="408" y1="538.2617" y2="538.2617"/><rect fill="#EEEEEE" filter="url(#frwjtjhbu39g7)" height="23.1328" style="stroke: #000000; stroke-width: 2.0;" width="273" x="69" y="524.6953"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="254" x="75" y="540.7622">Long Press - with continous action</text><polygon fill="#A80036" points="143,574.9609,153,578.9609,143,582.9609,147,578.9609" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="27" x2="149" y1="578.9609" y2="578.9609"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="58" x="34" y="573.895">KeyPress</text><polygon fill="#A80036" points="296,604.0938,306,608.0938,296,612.0938,300,608.0938" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="155" x2="302" y1="608.0938" y2="608.0938"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="58" x="162" y="603.0278">KeyPress</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="33" x="120" y="640.3042">Some</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="58" x="157" y="640.3042">long delay</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="0" x="219" y="640.3042"/><polygon fill="#A80036" points="296,674.0313,306,678.0313,296,682.0313,300,678.0313" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="155" x2="302" y1="678.0313" y2="678.0313"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="89" x="162" y="672.9653">KeyLongPress</text><polygon fill="#FBFB77" filter="url(#frwjtjhbu39g7)" points="222,691.0313,393,691.0313,403,717.0313,393,744.0313,222,744.0313,212,717.0313,222,691.0313" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="167" x="224" y="707.0981">App TIMER process things:</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="83" x="224" y="722.231">each 100ms:</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="91" x="240" y="737.3638">do_something</text><polygon fill="#A80036" points="296,766.5625,306,770.5625,296,774.5625,300,770.5625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="155" x2="302" y1="770.5625" y2="770.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="81" x="162" y="765.4966">KeyReleased</text><polygon fill="#A80036" points="143,795.6953,153,799.6953,143,803.6953,147,799.6953" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="27" x2="149" y1="799.6953" y2="799.6953"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="34" y="794.6294">KeyLongRelease</text><polygon fill="#FBFB77" filter="url(#frwjtjhbu39g7)" points="222,812.6953,393,812.6953,403,823.6953,393,835.6953,222,835.6953,212,823.6953,222,812.6953" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="167" x="224" y="828.7622">App end TIMER processing</text><!--MD5=[f8124802a12c98bcd1f4d060e24ddd0d]
<?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="978px" preserveAspectRatio="none" style="width:397px;height:978px;background:#F0F0F0;" version="1.1" viewBox="0 0 397 978" width="397px" zoomAndPan="magnify"><defs><filter height="300%" id="f1qsj2cwhw8y1j" 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><line style="stroke: #A80036; stroke-width: 1.0;" x1="27" x2="27" y1="86.2969" y2="357.3594"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="27" x2="27" y1="357.3594" y2="398.1641"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="27" x2="27" y1="398.1641" y2="586.9609"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="27" x2="27" y1="586.9609" y2="627.7656"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="27" x2="27" y1="627.7656" y2="720.2969"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="27" x2="27" y1="720.2969" y2="761.1016"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="27" x2="27" y1="761.1016" y2="891.6328"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="132" x2="132" y1="86.2969" y2="357.3594"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="132" x2="132" y1="357.3594" y2="398.1641"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="132" x2="132" y1="398.1641" y2="586.9609"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="132" x2="132" y1="586.9609" y2="627.7656"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="132" x2="132" y1="627.7656" y2="720.2969"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="132" x2="132" y1="720.2969" y2="761.1016"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="132" x2="132" y1="761.1016" y2="891.6328"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="284.5" x2="284.5" y1="86.2969" y2="357.3594"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="284.5" x2="284.5" y1="357.3594" y2="398.1641"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="284.5" x2="284.5" y1="398.1641" y2="586.9609"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="284.5" x2="284.5" y1="586.9609" y2="627.7656"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="284.5" x2="284.5" y1="627.7656" y2="720.2969"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="284.5" x2="284.5" y1="720.2969" y2="761.1016"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="284.5" x2="284.5" y1="761.1016" y2="891.6328"/><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(#f1qsj2cwhw8y1j)" 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(#f1qsj2cwhw8y1j)" style="stroke: #A80036; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="32" x="8" y="903.6279">User</text><ellipse cx="27" cy="916.9297" fill="#FEFECE" filter="url(#f1qsj2cwhw8y1j)" rx="8" ry="8" style="stroke: #A80036; stroke-width: 2.0;"/><path d="M27,924.9297 L27,951.9297 M14,932.9297 L40,932.9297 M27,951.9297 L14,966.9297 M27,951.9297 L40,966.9297 " fill="none" filter="url(#f1qsj2cwhw8y1j)" style="stroke: #A80036; stroke-width: 2.0;"/><rect fill="#FEFECE" filter="url(#f1qsj2cwhw8y1j)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="44" x="108" y="51"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="30" x="115" y="70.9951">EVM</text><rect fill="#FEFECE" filter="url(#f1qsj2cwhw8y1j)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="44" x="108" y="890.6328"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="30" x="115" y="910.6279">EVM</text><rect fill="#FEFECE" filter="url(#f1qsj2cwhw8y1j)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="49" x="258.5" y="51"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="35" x="265.5" y="70.9951">Apps</text><rect fill="#FEFECE" filter="url(#f1qsj2cwhw8y1j)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="49" x="258.5" y="890.6328"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="35" x="265.5" y="910.6279">Apps</text><rect fill="#EEEEEE" filter="url(#f1qsj2cwhw8y1j)" height="3" style="stroke: #EEEEEE; stroke-width: 1.0;" width="382" x="3" y="116.8633"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="385" y1="116.8633" y2="116.8633"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="385" y1="119.8633" y2="119.8633"/><rect fill="#EEEEEE" filter="url(#f1qsj2cwhw8y1j)" height="23.1328" style="stroke: #000000; stroke-width: 2.0;" width="180" x="104" y="106.2969"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="161" x="110" y="122.3638">Simple fast key press</text><polygon fill="#A80036" points="120,156.5625,130,160.5625,120,164.5625,124,160.5625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="27" x2="126" y1="160.5625" y2="160.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="58" x="34" y="155.4966">KeyPress</text><polygon fill="#A80036" points="273,185.6953,283,189.6953,273,193.6953,277,189.6953" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="132" x2="279" y1="189.6953" y2="189.6953"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="58" x="139" y="184.6294">KeyPress</text><polygon fill="#A80036" points="120,214.8281,130,218.8281,120,222.8281,124,218.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="27" x2="126" y1="218.8281" y2="218.8281"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="73" x="34" y="213.7622">KeyRelease</text><polygon fill="#A80036" points="273,243.9609,283,247.9609,273,251.9609,277,247.9609" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="132" x2="279" y1="247.9609" y2="247.9609"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="81" x="139" y="242.895">KeyReleased</text><rect fill="#EEEEEE" filter="url(#f1qsj2cwhw8y1j)" height="3" style="stroke: #EEEEEE; stroke-width: 1.0;" width="382" x="3" y="276.5273"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="385" y1="276.5273" y2="276.5273"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="385" y1="279.5273" y2="279.5273"/><rect fill="#EEEEEE" filter="url(#f1qsj2cwhw8y1j)" height="23.1328" style="stroke: #000000; stroke-width: 2.0;" width="101" x="143.5" y="265.9609"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="82" x="149.5" y="282.0278">Long Press</text><polygon fill="#A80036" points="120,316.2266,130,320.2266,120,324.2266,124,320.2266" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="27" x2="126" y1="320.2266" y2="320.2266"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="58" x="34" y="315.1606">KeyPress</text><polygon fill="#A80036" points="273,345.3594,283,349.3594,273,353.3594,277,349.3594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="132" x2="279" y1="349.3594" y2="349.3594"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="58" x="139" y="344.2935">KeyPress</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="33" x="109.5" y="381.5698">Some</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="57" x="145.5" y="381.5698">long delay</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="0" x="205.5" y="381.5698"/><polygon fill="#A80036" points="273,415.2969,283,419.2969,273,423.2969,277,419.2969" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="132" x2="279" y1="419.2969" y2="419.2969"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="89" x="139" y="414.231">KeyLongPress</text><polygon fill="#A80036" points="120,444.4297,130,448.4297,120,452.4297,124,448.4297" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="27" x2="126" y1="448.4297" y2="448.4297"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="73" x="34" y="443.3638">KeyRelease</text><line style="stroke: #A80036; stroke-width: 2.0;" x1="267" x2="277" y1="472.5625" y2="482.5625"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="267" x2="277" y1="482.5625" y2="472.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="132" x2="272" y1="477.5625" y2="477.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="129" x="139" y="472.4966">No KeyRelease now!</text><rect fill="#EEEEEE" filter="url(#f1qsj2cwhw8y1j)" height="3" style="stroke: #EEEEEE; stroke-width: 1.0;" width="382" x="3" y="506.1289"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="385" y1="506.1289" y2="506.1289"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="385" y1="509.1289" y2="509.1289"/><rect fill="#EEEEEE" filter="url(#f1qsj2cwhw8y1j)" height="23.1328" style="stroke: #000000; stroke-width: 2.0;" width="273" x="57.5" y="495.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="254" x="63.5" y="511.6294">Long Press - with continous action</text><polygon fill="#A80036" points="120,545.8281,130,549.8281,120,553.8281,124,549.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="27" x2="126" y1="549.8281" y2="549.8281"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="58" x="34" y="544.7622">KeyPress</text><polygon fill="#A80036" points="273,574.9609,283,578.9609,273,582.9609,277,578.9609" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="132" x2="279" y1="578.9609" y2="578.9609"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="58" x="139" y="573.895">KeyPress</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="33" x="109.5" y="611.1714">Some</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="57" x="145.5" y="611.1714">long delay</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="0" x="205.5" y="611.1714"/><polygon fill="#A80036" points="273,644.8984,283,648.8984,273,652.8984,277,648.8984" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="132" x2="279" y1="648.8984" y2="648.8984"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="89" x="139" y="643.8325">KeyLongPress</text><polygon fill="#FBFB77" filter="url(#f1qsj2cwhw8y1j)" points="199,661.8984,370,661.8984,380,687.8984,370,714.8984,199,714.8984,189,687.8984,199,661.8984" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="167" x="201" y="677.9653">App TIMER process things:</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="83" x="201" y="693.0981">each 100ms:</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="91" x="217" y="708.231">do_something</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="33" x="109.5" y="744.5073">Some</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="57" x="145.5" y="744.5073">long delay</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="0" x="205.5" y="744.5073"/><polygon fill="#A80036" points="120,778.2344,130,782.2344,120,786.2344,124,782.2344" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="27" x2="126" y1="782.2344" y2="782.2344"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="81" x="34" y="777.1685">KeyReleased</text><polygon fill="#A80036" points="273,807.3672,283,811.3672,273,815.3672,277,811.3672" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="132" x2="279" y1="811.3672" y2="811.3672"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="139" y="806.3013">KeyLongRelease</text><polygon fill="#FBFB77" filter="url(#f1qsj2cwhw8y1j)" points="199,824.3672,370,824.3672,380,835.3672,370,847.3672,199,847.3672,189,835.3672,199,824.3672" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="167" x="201" y="840.4341">App end TIMER processing</text><line style="stroke: #A80036; stroke-width: 2.0;" x1="267" x2="277" y1="868.6328" y2="878.6328"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="267" x2="277" y1="878.6328" y2="868.6328"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="132" x2="272" y1="873.6328" y2="873.6328"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="129" x="139" y="868.5669">No KeyRelease now!</text><!--MD5=[78670620c5c2c0d19f61bbc4de275c40]
@startuml
skinparam BackgroundColor F0F0F0

actor User



== Simple fast key press ==

User -> EVM : KeyPress


@@ 19,7 18,6 @@ EVM->Apps: KeyPress
... Some ~~long delay~~ ...
EVM->Apps: KeyLongPress
User-> EVM: KeyRelease
EVM->Apps: KeyReleased
EVM -x Apps: No KeyRelease now!

== Long Press - with continous action ==


@@ 33,21 31,23 @@ EVM->Apps: KeyLongPress
            each 100ms:
                do_something
        endhnote
EVM->Apps: KeyReleased
User-> EVM: KeyLongRelease
... Some ~~long delay~~ ...
User->EVM: KeyReleased
EVM-> Apps: KeyLongRelease
        hnote over Apps
            App end TIMER processing
        endhnote
EVM -x Apps: No KeyRelease now!

@enduml

PlantUML version 1.2019.13(Tue Dec 10 18:18:29 CET 2019)
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: 14.0.2+12
Java Version: 11.0.12+7-post-Debian-2
Operating System: Linux
Default Encoding: UTF-8
Language: pl
Country: PL
Language: en
Country: US
--></g></svg>
\ No newline at end of file

M module-gui/doc/how_ui_work.puml => module-gui/doc/how_ui_work.puml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0

Application -> Application : Prepare DOM for render
Application -> ServiceGUI : Process DOM to render

M module-gui/doc/how_ui_work.svg => module-gui/doc/how_ui_work.svg +6 -5
@@ 1,5 1,6 @@
<?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="294px" preserveAspectRatio="none" style="width:494px;height:294px;" version="1.1" viewBox="0 0 494 294" width="494px" zoomAndPan="magnify"><defs><filter height="300%" id="f1jdw8zuufxguh" 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><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="54" x2="54" y1="38.2969" y2="254.0938"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="226.5" x2="226.5" y1="38.2969" y2="254.0938"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="404" x2="404" y1="38.2969" y2="254.0938"/><rect fill="#FEFECE" filter="url(#f1jdw8zuufxguh)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="89" x="8" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="75" x="15" y="22.9951">Application</text><rect fill="#FEFECE" filter="url(#f1jdw8zuufxguh)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="89" x="8" y="253.0938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="75" x="15" y="273.0889">Application</text><rect fill="#FEFECE" filter="url(#f1jdw8zuufxguh)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="88" x="180.5" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="74" x="187.5" y="22.9951">ServiceGUI</text><rect fill="#FEFECE" filter="url(#f1jdw8zuufxguh)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="88" x="180.5" y="253.0938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="74" x="187.5" y="273.0889">ServiceGUI</text><rect fill="#FEFECE" filter="url(#f1jdw8zuufxguh)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="93" x="356" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="79" x="363" y="22.9951">ServiceEink</text><rect fill="#FEFECE" filter="url(#f1jdw8zuufxguh)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="93" x="356" y="253.0938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="79" x="363" y="273.0889">ServiceEink</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="54.5" x2="96.5" y1="69.4297" y2="69.4297"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="96.5" x2="96.5" y1="69.4297" y2="82.4297"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="55.5" x2="96.5" y1="82.4297" y2="82.4297"/><polygon fill="#A80036" points="65.5,78.4297,55.5,82.4297,65.5,86.4297,61.5,82.4297" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="152" x="61.5" y="64.3638">Prepare DOM for render</text><polygon fill="#A80036" points="214.5,107.5625,224.5,111.5625,214.5,115.5625,218.5,111.5625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="54.5" x2="220.5" y1="111.5625" y2="111.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="148" x="61.5" y="106.4966">Process DOM to render</text><polygon fill="#FBFB77" filter="url(#f1jdw8zuufxguh)" points="153,124.5625,300,124.5625,310,135.5625,300,147.5625,153,147.5625,143,135.5625,153,124.5625" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="143" x="155" y="140.6294">Draws DOM on canvas</text><polygon fill="#A80036" points="392.5,169.8281,402.5,173.8281,392.5,177.8281,396.5,173.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="226.5" x2="398.5" y1="173.8281" y2="173.8281"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="131" x="233.5" y="168.7622">Process DOM render</text><polygon fill="#A80036" points="237.5,198.9609,227.5,202.9609,237.5,206.9609,233.5,202.9609" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="231.5" x2="403.5" y1="202.9609" y2="202.9609"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="154" x="243.5" y="197.895">Request done (blocking)</text><polygon fill="#FBFB77" filter="url(#f1jdw8zuufxguh)" points="333,215.9609,475,215.9609,485,226.9609,475,238.9609,333,238.9609,323,226.9609,333,215.9609" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="138" x="335" y="232.0278">Sends data to display</text><!--MD5=[fb52525b73408992da5a09dc4748740b]
<?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="294px" preserveAspectRatio="none" style="width:494px;height:294px;background:#F0F0F0;" version="1.1" viewBox="0 0 494 294" width="494px" zoomAndPan="magnify"><defs><filter height="300%" id="f10fho5c441ctd" 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><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="54" x2="54" y1="38.2969" y2="254.0938"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="226.5" x2="226.5" y1="38.2969" y2="254.0938"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="404" x2="404" y1="38.2969" y2="254.0938"/><rect fill="#FEFECE" filter="url(#f10fho5c441ctd)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="89" x="8" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="75" x="15" y="22.9951">Application</text><rect fill="#FEFECE" filter="url(#f10fho5c441ctd)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="89" x="8" y="253.0938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="75" x="15" y="273.0889">Application</text><rect fill="#FEFECE" filter="url(#f10fho5c441ctd)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="88" x="180.5" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="74" x="187.5" y="22.9951">ServiceGUI</text><rect fill="#FEFECE" filter="url(#f10fho5c441ctd)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="88" x="180.5" y="253.0938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="74" x="187.5" y="273.0889">ServiceGUI</text><rect fill="#FEFECE" filter="url(#f10fho5c441ctd)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="93" x="356" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="79" x="363" y="22.9951">ServiceEink</text><rect fill="#FEFECE" filter="url(#f10fho5c441ctd)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="93" x="356" y="253.0938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="79" x="363" y="273.0889">ServiceEink</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="54.5" x2="96.5" y1="69.4297" y2="69.4297"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="96.5" x2="96.5" y1="69.4297" y2="82.4297"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="55.5" x2="96.5" y1="82.4297" y2="82.4297"/><polygon fill="#A80036" points="65.5,78.4297,55.5,82.4297,65.5,86.4297,61.5,82.4297" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="152" x="61.5" y="64.3638">Prepare DOM for render</text><polygon fill="#A80036" points="214.5,107.5625,224.5,111.5625,214.5,115.5625,218.5,111.5625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="54.5" x2="220.5" y1="111.5625" y2="111.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="148" x="61.5" y="106.4966">Process DOM to render</text><polygon fill="#FBFB77" filter="url(#f10fho5c441ctd)" points="153,124.5625,300,124.5625,310,135.5625,300,147.5625,153,147.5625,143,135.5625,153,124.5625" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="143" x="155" y="140.6294">Draws DOM on canvas</text><polygon fill="#A80036" points="392.5,169.8281,402.5,173.8281,392.5,177.8281,396.5,173.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="226.5" x2="398.5" y1="173.8281" y2="173.8281"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="131" x="233.5" y="168.7622">Process DOM render</text><polygon fill="#A80036" points="237.5,198.9609,227.5,202.9609,237.5,206.9609,233.5,202.9609" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="231.5" x2="403.5" y1="202.9609" y2="202.9609"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="154" x="243.5" y="197.895">Request done (blocking)</text><polygon fill="#FBFB77" filter="url(#f10fho5c441ctd)" points="333,215.9609,475,215.9609,485,226.9609,475,238.9609,333,238.9609,323,226.9609,333,215.9609" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="138" x="335" y="232.0278">Sends data to display</text><!--MD5=[5bd9927c53ca0197899a9acf6844c8ee]
@startuml
skinparam BackgroundColor F0F0F0

Application -> Application : Prepare DOM for render
Application -> ServiceGUI : Process DOM to render


@@ 17,13 18,13 @@ endhnote

@enduml

PlantUML version 1.2019.13(Tue Dec 10 18:18:29 CET 2019)
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: 14.0.2+12
Java Version: 11.0.12+7-post-Debian-2
Operating System: Linux
Default Encoding: UTF-8
Language: pl
Country: PL
Language: en
Country: US
--></g></svg>
\ No newline at end of file

M module-gui/doc/item_tree.puml => module-gui/doc/item_tree.puml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0

class gui::ItemNode
{

M module-gui/doc/item_tree.svg => module-gui/doc/item_tree.svg +10 -4
@@ 1,5 1,12 @@
<?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="372px" preserveAspectRatio="none" style="width:413px;height:372px;" version="1.1" viewBox="0 0 413 372" width="413px" zoomAndPan="magnify"><defs><filter height="300%" id="fbi96ixapffwh" 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><!--class gui::ItemNode--><rect fill="#FEFECE" filter="url(#fbi96ixapffwh)" height="73.6094" id="gui::ItemNode" style="stroke: #A80036; stroke-width: 1.5;" width="119" x="6" y="8"/><ellipse cx="21" cy="24" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M23.9688,29.6406 Q23.3906,29.9375 22.75,30.0781 Q22.1094,30.2344 21.4063,30.2344 Q18.9063,30.2344 17.5781,28.5938 Q16.2656,26.9375 16.2656,23.8125 Q16.2656,20.6875 17.5781,19.0313 Q18.9063,17.375 21.4063,17.375 Q22.1094,17.375 22.75,17.5313 Q23.4063,17.6875 23.9688,17.9844 L23.9688,20.7031 Q23.3438,20.125 22.75,19.8594 Q22.1563,19.5781 21.5313,19.5781 Q20.1875,19.5781 19.5,20.6563 Q18.8125,21.7188 18.8125,23.8125 Q18.8125,25.9063 19.5,26.9844 Q20.1875,28.0469 21.5313,28.0469 Q22.1563,28.0469 22.75,27.7813 Q23.3438,27.5 23.9688,26.9219 L23.9688,29.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="87" x="35" y="28.1543">gui::ItemNode</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="124" y1="40" y2="40"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="56" x="12" y="54.2104">gui::Item*</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="44" x="12" y="67.0151">int level</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="124" y1="73.6094" y2="73.6094"/><!--class gui::ItemTree--><rect fill="#FEFECE" filter="url(#fbi96ixapffwh)" height="73.6094" id="gui::ItemTree" style="stroke: #A80036; stroke-width: 1.5;" width="146" x="160.5" y="8"/><ellipse cx="189.45" cy="24" fill="#A9DCDF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M189.5594,19.3438 L188.4031,24.4219 L190.7313,24.4219 L189.5594,19.3438 Z M188.075,17.1094 L191.0594,17.1094 L194.4188,29.5 L191.9656,29.5 L191.2,26.4375 L187.9188,26.4375 L187.1688,29.5 L184.7313,29.5 L188.075,17.1094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="83" x="206.55" y="28.1543">gui::ItemTree</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="161.5" x2="305.5" y1="40" y2="40"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="161.5" x2="305.5" y1="48" y2="48"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="82" x="166.5" y="62.2104">bool hasNext()</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="134" x="166.5" y="75.0151">gui::ItemNode getNext()</text><!--class TraverseMode--><rect fill="#FEFECE" filter="url(#fbi96ixapffwh)" height="73.6094" id="TraverseMode" style="stroke: #A80036; stroke-width: 1.5;" width="120" x="173.5" y="288"/><ellipse cx="188.5" cy="304" fill="#EB937F" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M192.6094,310 L184.8906,310 L184.8906,297.6094 L192.6094,297.6094 L192.6094,299.7656 L187.3438,299.7656 L187.3438,302.4375 L192.1094,302.4375 L192.1094,304.5938 L187.3438,304.5938 L187.3438,307.8438 L192.6094,307.8438 L192.6094,310 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="88" x="202.5" y="308.1543">TraverseMode</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="174.5" x2="292.5" y1="320" y2="320"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="52" x="179.5" y="334.2104">PreOrder</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="58" x="179.5" y="347.0151">PostOrder</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="174.5" x2="292.5" y1="353.6094" y2="353.6094"/><!--class gui::DepthFirstItemTree--><rect fill="#FEFECE" filter="url(#fbi96ixapffwh)" height="86.4141" id="gui::DepthFirstItemTree" style="stroke: #A80036; stroke-width: 1.5;" width="337" x="65" y="142"/><ellipse cx="155.75" cy="158" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M158.7188,163.6406 Q158.1406,163.9375 157.5,164.0781 Q156.8594,164.2344 156.1563,164.2344 Q153.6563,164.2344 152.3281,162.5938 Q151.0156,160.9375 151.0156,157.8125 Q151.0156,154.6875 152.3281,153.0313 Q153.6563,151.375 156.1563,151.375 Q156.8594,151.375 157.5,151.5313 Q158.1563,151.6875 158.7188,151.9844 L158.7188,154.7031 Q158.0938,154.125 157.5,153.8594 Q156.9063,153.5781 156.2813,153.5781 Q154.9375,153.5781 154.25,154.6563 Q153.5625,155.7188 153.5625,157.8125 Q153.5625,159.9063 154.25,160.9844 Q154.9375,162.0469 156.2813,162.0469 Q156.9063,162.0469 157.5,161.7813 Q158.0938,161.5 158.7188,160.9219 L158.7188,163.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="147" x="176.25" y="162.1543">gui::DepthFirstItemTree</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="66" x2="401" y1="174" y2="174"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="66" x2="401" y1="182" y2="182"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="325" x="71" y="196.2104">DepthFirstItemTree(gui::Item *root, TraverseMode mode)</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="82" x="71" y="209.0151">bool hasNext()</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="134" x="71" y="221.8198">gui::ItemNode getNext()</text><!--link gui::ItemTree to gui::DepthFirstItemTree--><path d="M233.5,102.62 C233.5,115.66 233.5,129.31 233.5,141.62 " fill="none" id="gui::ItemTree-gui::DepthFirstItemTree" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="226.5,102.26,233.5,82.26,240.5,102.26,226.5,102.26" style="stroke: #A80036; stroke-width: 1.0;"/><!--link gui::DepthFirstItemTree to TraverseMode--><path d="M233.5,241.5 C233.5,257.06 233.5,273.57 233.5,287.7 " fill="none" id="gui::DepthFirstItemTree-TraverseMode" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="233.5,228.15,229.5,234.15,233.5,240.15,237.5,234.15,233.5,228.15" style="stroke: #A80036; stroke-width: 1.0;"/><!--
<?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="372px" preserveAspectRatio="none" style="width:410px;height:372px;background:#F0F0F0;" version="1.1" viewBox="0 0 410 372" width="410px" zoomAndPan="magnify"><defs><filter height="300%" id="f9myy279dbw6j" 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><!--MD5=[0776035cf1819bca93efef61eaa62841]
class gui::ItemNode--><rect fill="#FEFECE" filter="url(#f9myy279dbw6j)" height="73.6094" id="gui::ItemNode" style="stroke: #A80036; stroke-width: 1.5;" width="119" x="6" y="8"/><ellipse cx="21" cy="24" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M23.9688,29.6406 Q23.3906,29.9375 22.75,30.0781 Q22.1094,30.2344 21.4063,30.2344 Q18.9063,30.2344 17.5781,28.5938 Q16.2656,26.9375 16.2656,23.8125 Q16.2656,20.6875 17.5781,19.0313 Q18.9063,17.375 21.4063,17.375 Q22.1094,17.375 22.75,17.5313 Q23.4063,17.6875 23.9688,17.9844 L23.9688,20.7031 Q23.3438,20.125 22.75,19.8594 Q22.1563,19.5781 21.5313,19.5781 Q20.1875,19.5781 19.5,20.6563 Q18.8125,21.7188 18.8125,23.8125 Q18.8125,25.9063 19.5,26.9844 Q20.1875,28.0469 21.5313,28.0469 Q22.1563,28.0469 22.75,27.7813 Q23.3438,27.5 23.9688,26.9219 L23.9688,29.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="87" x="35" y="28.1543">gui::ItemNode</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="124" y1="40" y2="40"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="56" x="12" y="54.2104">gui::Item*</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="43" x="12" y="67.0151">int level</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="124" y1="73.6094" y2="73.6094"/><!--MD5=[3fdf194e7134626e874d5533443356b6]
class gui::ItemTree--><rect fill="#FEFECE" filter="url(#f9myy279dbw6j)" height="73.6094" id="gui::ItemTree" style="stroke: #A80036; stroke-width: 1.5;" width="145" x="160" y="8"/><ellipse cx="189.85" cy="24" fill="#A9DCDF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M189.9594,19.3438 L188.8031,24.4219 L191.1313,24.4219 L189.9594,19.3438 Z M188.475,17.1094 L191.4594,17.1094 L194.8188,29.5 L192.3656,29.5 L191.6,26.4375 L188.3188,26.4375 L187.5688,29.5 L185.1313,29.5 L188.475,17.1094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="80" x="207.15" y="28.1543">gui::ItemTree</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="161" x2="304" y1="40" y2="40"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="161" x2="304" y1="48" y2="48"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="81" x="166" y="62.2104">bool hasNext()</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="133" x="166" y="75.0151">gui::ItemNode getNext()</text><!--MD5=[52f44d732e60a5df01fcd1f11df5ad8d]
class TraverseMode--><rect fill="#FEFECE" filter="url(#f9myy279dbw6j)" height="73.6094" id="TraverseMode" style="stroke: #A80036; stroke-width: 1.5;" width="120" x="172.5" y="288"/><ellipse cx="187.5" cy="304" fill="#EB937F" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M191.6094,310 L183.8906,310 L183.8906,297.6094 L191.6094,297.6094 L191.6094,299.7656 L186.3438,299.7656 L186.3438,302.4375 L191.1094,302.4375 L191.1094,304.5938 L186.3438,304.5938 L186.3438,307.8438 L191.6094,307.8438 L191.6094,310 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="88" x="201.5" y="308.1543">TraverseMode</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="173.5" x2="291.5" y1="320" y2="320"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="52" x="178.5" y="334.2104">PreOrder</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="58" x="178.5" y="347.0151">PostOrder</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="173.5" x2="291.5" y1="353.6094" y2="353.6094"/><!--MD5=[2cede1678ac832b92b66ac6c3f666cf3]
class gui::DepthFirstItemTree--><rect fill="#FEFECE" filter="url(#f9myy279dbw6j)" height="86.4141" id="gui::DepthFirstItemTree" style="stroke: #A80036; stroke-width: 1.5;" width="334" x="65.5" y="142"/><ellipse cx="154.75" cy="158" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M157.7188,163.6406 Q157.1406,163.9375 156.5,164.0781 Q155.8594,164.2344 155.1563,164.2344 Q152.6563,164.2344 151.3281,162.5938 Q150.0156,160.9375 150.0156,157.8125 Q150.0156,154.6875 151.3281,153.0313 Q152.6563,151.375 155.1563,151.375 Q155.8594,151.375 156.5,151.5313 Q157.1563,151.6875 157.7188,151.9844 L157.7188,154.7031 Q157.0938,154.125 156.5,153.8594 Q155.9063,153.5781 155.2813,153.5781 Q153.9375,153.5781 153.25,154.6563 Q152.5625,155.7188 152.5625,157.8125 Q152.5625,159.9063 153.25,160.9844 Q153.9375,162.0469 155.2813,162.0469 Q155.9063,162.0469 156.5,161.7813 Q157.0938,161.5 157.7188,160.9219 L157.7188,163.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="147" x="175.25" y="162.1543">gui::DepthFirstItemTree</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="66.5" x2="398.5" y1="174" y2="174"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="66.5" x2="398.5" y1="182" y2="182"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="322" x="71.5" y="196.2104">DepthFirstItemTree(gui::Item *root, TraverseMode mode)</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="81" x="71.5" y="209.0151">bool hasNext()</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="133" x="71.5" y="221.8198">gui::ItemNode getNext()</text><!--MD5=[a74cdc850cfb18772b9e2c76fb19c9d1]
reverse link gui::ItemTree to gui::DepthFirstItemTree--><path d="M232.5,102.62 C232.5,115.66 232.5,129.31 232.5,141.62 " fill="none" id="gui::ItemTree&lt;-gui::DepthFirstItemTree" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="225.5,102.26,232.5,82.26,239.5,102.26,225.5,102.26" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[36616bbc63dc63db2ce22b29036c1075]
reverse link gui::DepthFirstItemTree to TraverseMode--><path d="M232.5,241.5 C232.5,257.06 232.5,273.57 232.5,287.7 " fill="none" id="gui::DepthFirstItemTree&lt;-TraverseMode" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#F0F0F0" points="232.5,228.15,228.5,234.15,232.5,240.15,236.5,234.15,232.5,228.15" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[705d74553e833ae197fa7d6724d49367]
@startuml
skinparam BackgroundColor F0F0F0

class gui::ItemNode
{


@@ 31,13 38,12 @@ gui::DepthFirstItemTree o- - TraverseMode

@enduml

PlantUML version 1.2018.13(Mon Nov 26 18:11:51 CET 2018)
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.9.1+1-Ubuntu-0ubuntu1.20.04
Java Version: 11.0.12+7-post-Debian-2
Operating System: Linux
OS Version: 5.4.0-56-generic
Default Encoding: UTF-8
Language: en
Country: US

M module-gui/doc/visitor_item_example.puml => module-gui/doc/visitor_item_example.puml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0

participant "ConcreteTree" as ct
participant "ConcreteWalker" as cw

M module-gui/doc/visitor_item_example.svg => module-gui/doc/visitor_item_example.svg +4 -4
@@ 1,5 1,6 @@
<?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="538px" preserveAspectRatio="none" style="width:665px;height:538px;" version="1.1" viewBox="0 0 665 538" width="665px" zoomAndPan="magnify"><defs><filter height="300%" id="fkjo6aca5dlwn" 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="#006400" filter="url(#fkjo6aca5dlwn)" height="371.6563" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="75" y="108.5625"/><rect fill="#32CD32" filter="url(#fkjo6aca5dlwn)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="80" y="213.2891"/><rect fill="#006400" filter="url(#fkjo6aca5dlwn)" height="419.7891" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="282" y="69.4297"/><rect fill="#006400" filter="url(#fkjo6aca5dlwn)" height="297.2266" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="488" y="153.8594"/><rect fill="#32CD32" filter="url(#fkjo6aca5dlwn)" height="57.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="493" y="300.6875"/><rect fill="#32CD32" filter="url(#fkjo6aca5dlwn)" height="14" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="493" y="400.9531"/><rect fill="#006400" filter="url(#fkjo6aca5dlwn)" height="100.2656" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="599.5" y="271.5547"/><rect fill="#32CD32" filter="url(#fkjo6aca5dlwn)" height="14" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="604.5" y="329.8203"/><rect fill="#FEFECE" filter="url(#fkjo6aca5dlwn)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="110" x="23" y="77.4297"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="96" x="30" y="97.4248">ConcreteTree</text><rect fill="#FEFECE" filter="url(#fkjo6aca5dlwn)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="120" x="431" y="122.7266"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="106" x="438" y="142.7217">ConcreteVisitor</text><rect fill="#FFFFFF" filter="url(#fkjo6aca5dlwn)" height="247.9297" style="stroke: #000000; stroke-width: 2.0;" width="641" x="13" y="175.0234"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="80" x2="80" y1="110.0781" y2="498.2188"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="287" x2="287" y1="38.2969" y2="498.2188"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="493" x2="493" y1="155.375" y2="498.2188"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="604" x2="604" y1="38.2969" y2="498.2188"/><rect fill="#FEFECE" filter="url(#fkjo6aca5dlwn)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="110" x="23" y="497.2188"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="96" x="30" y="517.2139">ConcreteTree</text><rect fill="#FEFECE" filter="url(#fkjo6aca5dlwn)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="124" x="223" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="110" x="230" y="22.9951">ConcreteWalker</text><rect fill="#FEFECE" filter="url(#fkjo6aca5dlwn)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="124" x="223" y="497.2188"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="110" x="230" y="517.2139">ConcreteWalker</text><rect fill="#FEFECE" filter="url(#fkjo6aca5dlwn)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="120" x="431" y="497.2188"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="106" x="438" y="517.2139">ConcreteVisitor</text><rect fill="#FEFECE" filter="url(#fkjo6aca5dlwn)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="75" x="565" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="61" x="572" y="22.9951">gui::Item</text><rect fill="#FEFECE" filter="url(#fkjo6aca5dlwn)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="75" x="565" y="497.2188"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="61" x="572" y="517.2139">gui::Item</text><rect fill="#006400" filter="url(#fkjo6aca5dlwn)" height="371.6563" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="75" y="108.5625"/><rect fill="#32CD32" filter="url(#fkjo6aca5dlwn)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="80" y="213.2891"/><rect fill="#006400" filter="url(#fkjo6aca5dlwn)" height="419.7891" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="282" y="69.4297"/><rect fill="#006400" filter="url(#fkjo6aca5dlwn)" height="297.2266" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="488" y="153.8594"/><rect fill="#32CD32" filter="url(#fkjo6aca5dlwn)" height="57.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="493" y="300.6875"/><rect fill="#32CD32" filter="url(#fkjo6aca5dlwn)" height="14" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="493" y="400.9531"/><rect fill="#006400" filter="url(#fkjo6aca5dlwn)" height="100.2656" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="599.5" y="271.5547"/><rect fill="#32CD32" filter="url(#fkjo6aca5dlwn)" height="14" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="604.5" y="329.8203"/><ellipse cx="10.5" cy="68.6797" fill="none" rx="4" ry="4" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#A80036" points="270,65.4297,280,69.4297,270,73.4297,274,69.4297" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="15" x2="276" y1="69.4297" y2="69.4297"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="89" x="18" y="64.3638">traverse(root)</text><polygon fill="#A80036" points="148,94.5625,138,98.5625,148,102.5625,144,98.5625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="142" x2="281" y1="98.5625" y2="98.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="121" x="154" y="93.4966">&lt;&lt;create&gt;&gt;(root)</text><rect fill="#FEFECE" filter="url(#fkjo6aca5dlwn)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="110" x="23" y="77.4297"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="96" x="30" y="97.4248">ConcreteTree</text><polygon fill="#A80036" points="419,139.8594,429,143.8594,419,147.8594,423,143.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="292" x2="425" y1="143.8594" y2="143.8594"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="299" y="138.7935">&lt;&lt;create&gt;&gt;</text><rect fill="#FEFECE" filter="url(#fkjo6aca5dlwn)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="120" x="431" y="122.7266"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="106" x="438" y="142.7217">ConcreteVisitor</text><path d="M13,175.0234 L90,175.0234 L90,182.0234 L80,192.0234 L13,192.0234 L13,175.0234 " fill="#EEEEEE" style="stroke: #000000; stroke-width: 1.0;"/><rect fill="none" height="247.9297" style="stroke: #000000; stroke-width: 2.0;" width="641" x="13" y="175.0234"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="32" x="28" y="188.0903">loop</text><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="106" x="105" y="187.2339">[tree::hasNext()]</text><polygon fill="#A80036" points="101,209.2891,91,213.2891,101,217.2891,97,213.2891" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="95" x2="281" y1="213.2891" y2="213.2891"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="51" x="107" y="208.2231">getNext</text><polygon fill="#A80036" points="270,238.4219,280,242.4219,270,246.4219,274,242.4219" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="85" x2="276" y1="242.4219" y2="242.4219"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="92" y="237.356">node</text><polygon fill="#A80036" points="587.5,267.5547,597.5,271.5547,587.5,275.5547,591.5,271.5547" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="292" x2="593.5" y1="271.5547" y2="271.5547"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="91" x="299" y="266.4888">accept(visitor)</text><polygon fill="#A80036" points="514,296.6875,504,300.6875,514,304.6875,510,300.6875" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="508" x2="598.5" y1="300.6875" y2="300.6875"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="65" x="520" y="295.6216">visit(*this)</text><polygon fill="#A80036" points="592.5,325.8203,602.5,329.8203,592.5,333.8203,596.5,329.8203" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="503" x2="598.5" y1="329.8203" y2="329.8203"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="68" x="510" y="324.7544">interaction</text><polygon fill="#A80036" points="514,339.8203,504,343.8203,514,347.8203,510,343.8203" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="508" x2="598.5" y1="343.8203" y2="343.8203"/><polygon fill="#A80036" points="587.5,353.8203,597.5,357.8203,587.5,361.8203,591.5,357.8203" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="498" x2="593.5" y1="357.8203" y2="357.8203"/><polygon fill="#A80036" points="303,367.8203,293,371.8203,303,375.8203,299,371.8203" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="297" x2="603.5" y1="371.8203" y2="371.8203"/><polygon fill="#A80036" points="481,396.9531,491,400.9531,481,404.9531,485,400.9531" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="292" x2="487" y1="400.9531" y2="400.9531"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="172" x="299" y="395.8872">&lt;&lt;concrete interaction&gt;&gt;</text><polygon fill="#A80036" points="303,410.9531,293,414.9531,303,418.9531,299,414.9531" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="297" x2="487" y1="414.9531" y2="414.9531"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="475" x2="485" y1="446.0859" y2="456.0859"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="475" x2="485" y1="456.0859" y2="446.0859"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="292" x2="480" y1="451.0859" y2="451.0859"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="84" x="299" y="446.02">&lt;&lt;delete&gt;&gt;</text><line style="stroke: #A80036; stroke-width: 2.0;" x1="86" x2="96" y1="475.2188" y2="485.2188"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="86" x2="96" y1="485.2188" y2="475.2188"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="92" x2="281" y1="480.2188" y2="480.2188"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="84" x="97" y="475.1528">&lt;&lt;delete&gt;&gt;</text><!--
<?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="538px" preserveAspectRatio="none" style="width:665px;height:538px;background:#F0F0F0;" version="1.1" viewBox="0 0 665 538" width="665px" zoomAndPan="magnify"><defs><filter height="300%" id="f7g0ekply0bv5" 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="#006400" filter="url(#f7g0ekply0bv5)" height="371.6563" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="75" y="108.5625"/><rect fill="#32CD32" filter="url(#f7g0ekply0bv5)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="80" y="213.2891"/><rect fill="#006400" filter="url(#f7g0ekply0bv5)" height="419.7891" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="282" y="69.4297"/><rect fill="#006400" filter="url(#f7g0ekply0bv5)" height="297.2266" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="488" y="153.8594"/><rect fill="#32CD32" filter="url(#f7g0ekply0bv5)" height="57.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="493" y="300.6875"/><rect fill="#32CD32" filter="url(#f7g0ekply0bv5)" height="14" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="493" y="400.9531"/><rect fill="#006400" filter="url(#f7g0ekply0bv5)" height="100.2656" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="599.5" y="271.5547"/><rect fill="#32CD32" filter="url(#f7g0ekply0bv5)" height="14" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="604.5" y="329.8203"/><rect fill="#F0F0F0" filter="url(#f7g0ekply0bv5)" height="247.9297" style="stroke: #000000; stroke-width: 2.0;" width="641" x="13" y="175.0234"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="80" x2="80" y1="110.0781" y2="498.2188"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="287" x2="287" y1="38.2969" y2="498.2188"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="493" x2="493" y1="155.375" y2="498.2188"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="604" x2="604" y1="38.2969" y2="498.2188"/><rect fill="#FEFECE" filter="url(#f7g0ekply0bv5)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="110" x="23" y="497.2188"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="96" x="30" y="517.2139">ConcreteTree</text><rect fill="#FEFECE" filter="url(#f7g0ekply0bv5)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="124" x="223" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="110" x="230" y="22.9951">ConcreteWalker</text><rect fill="#FEFECE" filter="url(#f7g0ekply0bv5)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="124" x="223" y="497.2188"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="110" x="230" y="517.2139">ConcreteWalker</text><rect fill="#FEFECE" filter="url(#f7g0ekply0bv5)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="120" x="431" y="497.2188"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="106" x="438" y="517.2139">ConcreteVisitor</text><rect fill="#FEFECE" filter="url(#f7g0ekply0bv5)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="75" x="565" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="61" x="572" y="22.9951">gui::Item</text><rect fill="#FEFECE" filter="url(#f7g0ekply0bv5)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="75" x="565" y="497.2188"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="61" x="572" y="517.2139">gui::Item</text><rect fill="#006400" filter="url(#f7g0ekply0bv5)" height="371.6563" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="75" y="108.5625"/><rect fill="#32CD32" filter="url(#f7g0ekply0bv5)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="80" y="213.2891"/><rect fill="#006400" filter="url(#f7g0ekply0bv5)" height="419.7891" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="282" y="69.4297"/><rect fill="#006400" filter="url(#f7g0ekply0bv5)" height="297.2266" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="488" y="153.8594"/><rect fill="#32CD32" filter="url(#f7g0ekply0bv5)" height="57.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="493" y="300.6875"/><rect fill="#32CD32" filter="url(#f7g0ekply0bv5)" height="14" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="493" y="400.9531"/><rect fill="#006400" filter="url(#f7g0ekply0bv5)" height="100.2656" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="599.5" y="271.5547"/><rect fill="#32CD32" filter="url(#f7g0ekply0bv5)" height="14" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="604.5" y="329.8203"/><ellipse cx="10.5" cy="68.6797" fill="none" rx="4" ry="4" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#A80036" points="270,65.4297,280,69.4297,270,73.4297,274,69.4297" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="15" x2="276" y1="69.4297" y2="69.4297"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="89" x="18" y="64.3638">traverse(root)</text><polygon fill="#A80036" points="148,94.5625,138,98.5625,148,102.5625,144,98.5625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="142" x2="281" y1="98.5625" y2="98.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="121" x="154" y="93.4966">&lt;&lt;create&gt;&gt;(root)</text><rect fill="#FEFECE" filter="url(#f7g0ekply0bv5)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="110" x="23" y="77.4297"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="96" x="30" y="97.4248">ConcreteTree</text><polygon fill="#A80036" points="419,139.8594,429,143.8594,419,147.8594,423,143.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="292" x2="425" y1="143.8594" y2="143.8594"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="299" y="138.7935">&lt;&lt;create&gt;&gt;</text><rect fill="#FEFECE" filter="url(#f7g0ekply0bv5)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="120" x="431" y="122.7266"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="106" x="438" y="142.7217">ConcreteVisitor</text><path d="M13,175.0234 L90,175.0234 L90,182.0234 L80,192.0234 L13,192.0234 L13,175.0234 " fill="#EEEEEE" style="stroke: #000000; stroke-width: 1.0;"/><rect fill="none" height="247.9297" style="stroke: #000000; stroke-width: 2.0;" width="641" x="13" y="175.0234"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="32" x="28" y="188.0903">loop</text><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="106" x="105" y="187.2339">[tree::hasNext()]</text><polygon fill="#A80036" points="101,209.2891,91,213.2891,101,217.2891,97,213.2891" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="95" x2="281" y1="213.2891" y2="213.2891"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="51" x="107" y="208.2231">getNext</text><polygon fill="#A80036" points="270,238.4219,280,242.4219,270,246.4219,274,242.4219" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="85" x2="276" y1="242.4219" y2="242.4219"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="92" y="237.356">node</text><polygon fill="#A80036" points="587.5,267.5547,597.5,271.5547,587.5,275.5547,591.5,271.5547" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="292" x2="593.5" y1="271.5547" y2="271.5547"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="91" x="299" y="266.4888">accept(visitor)</text><polygon fill="#A80036" points="514,296.6875,504,300.6875,514,304.6875,510,300.6875" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="508" x2="598.5" y1="300.6875" y2="300.6875"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="65" x="520" y="295.6216">visit(*this)</text><polygon fill="#A80036" points="592.5,325.8203,602.5,329.8203,592.5,333.8203,596.5,329.8203" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="503" x2="598.5" y1="329.8203" y2="329.8203"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="68" x="510" y="324.7544">interaction</text><polygon fill="#A80036" points="514,339.8203,504,343.8203,514,347.8203,510,343.8203" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="508" x2="598.5" y1="343.8203" y2="343.8203"/><polygon fill="#A80036" points="587.5,353.8203,597.5,357.8203,587.5,361.8203,591.5,357.8203" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="498" x2="593.5" y1="357.8203" y2="357.8203"/><polygon fill="#A80036" points="303,367.8203,293,371.8203,303,375.8203,299,371.8203" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="297" x2="603.5" y1="371.8203" y2="371.8203"/><polygon fill="#A80036" points="481,396.9531,491,400.9531,481,404.9531,485,400.9531" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="292" x2="487" y1="400.9531" y2="400.9531"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="172" x="299" y="395.8872">&lt;&lt;concrete interaction&gt;&gt;</text><polygon fill="#A80036" points="303,410.9531,293,414.9531,303,418.9531,299,414.9531" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="297" x2="487" y1="414.9531" y2="414.9531"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="475" x2="485" y1="446.0859" y2="456.0859"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="475" x2="485" y1="456.0859" y2="446.0859"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="292" x2="480" y1="451.0859" y2="451.0859"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="84" x="299" y="446.02">&lt;&lt;delete&gt;&gt;</text><line style="stroke: #A80036; stroke-width: 2.0;" x1="86" x2="96" y1="475.2188" y2="485.2188"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="86" x2="96" y1="485.2188" y2="475.2188"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="92" x2="281" y1="480.2188" y2="480.2188"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="84" x="97" y="475.1528">&lt;&lt;delete&gt;&gt;</text><!--MD5=[346318be35906a91bc9260b1fe44214c]
@startuml
skinparam BackgroundColor F0F0F0

participant "ConcreteTree" as ct
participant "ConcreteWalker" as cw


@@ 47,13 48,12 @@ end

@enduml

PlantUML version 1.2018.13(Mon Nov 26 18:11:51 CET 2018)
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.9.1+1-Ubuntu-0ubuntu1.20.04
Java Version: 11.0.12+7-post-Debian-2
Operating System: Linux
OS Version: 5.4.0-56-generic
Default Encoding: UTF-8
Language: en
Country: US

M module-gui/doc/visitor_item_structure.puml => module-gui/doc/visitor_item_structure.puml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0

abstract class gui::GuiVisitor
{

M module-gui/doc/visitor_item_structure.svg => module-gui/doc/visitor_item_structure.svg +18 -4
@@ 1,5 1,20 @@
<?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="415px" preserveAspectRatio="none" style="width:896px;height:415px;" version="1.1" viewBox="0 0 896 415" width="896px" zoomAndPan="magnify"><defs><filter height="300%" id="f14eszahge7obk" 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><!--class gui::GuiVisitor--><rect fill="#FEFECE" filter="url(#f14eszahge7obk)" height="108.0234" id="gui::GuiVisitor" style="stroke: #A80036; stroke-width: 1.5;" width="210" x="129" y="8"/><ellipse cx="187.25" cy="24" fill="#A9DCDF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M187.3594,19.3438 L186.2031,24.4219 L188.5313,24.4219 L187.3594,19.3438 Z M185.875,17.1094 L188.8594,17.1094 L192.2188,29.5 L189.7656,29.5 L189,26.4375 L185.7188,26.4375 L184.9688,29.5 L182.5313,29.5 L185.875,17.1094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="85" x="207.75" y="28.1543">gui::GuiVisitor</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="130" x2="338" y1="40" y2="40"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="147" x="135" y="54.2104">void visit(gui::Item &amp;item)</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="146" x="135" y="67.0151">void visit(gui::Rect &amp;item)</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="146" x="135" y="79.8198">void visit(gui::Text &amp;item)</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="198" x="135" y="109.4292">void visit(gui::CustomItem2 &amp;item)</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="130" x2="184.5" y1="92.8164" y2="92.8164"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="99" x="184.5" y="96.1245">. visit overloads .</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="283.5" x2="338" y1="92.8164" y2="92.8164"/><!--class gui::ConcreteVisitor1--><rect fill="#FEFECE" filter="url(#f14eszahge7obk)" height="108.0234" id="gui::ConcreteVisitor1" style="stroke: #A80036; stroke-width: 1.5;" width="210" x="6" y="176"/><ellipse cx="42.15" cy="192" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M45.1188,197.6406 Q44.5406,197.9375 43.9,198.0781 Q43.2594,198.2344 42.5563,198.2344 Q40.0563,198.2344 38.7281,196.5938 Q37.4156,194.9375 37.4156,191.8125 Q37.4156,188.6875 38.7281,187.0313 Q40.0563,185.375 42.5563,185.375 Q43.2594,185.375 43.9,185.5313 Q44.5563,185.6875 45.1188,185.9844 L45.1188,188.7031 Q44.4938,188.125 43.9,187.8594 Q43.3063,187.5781 42.6813,187.5781 Q41.3375,187.5781 40.65,188.6563 Q39.9625,189.7188 39.9625,191.8125 Q39.9625,193.9063 40.65,194.9844 Q41.3375,196.0469 42.6813,196.0469 Q43.3063,196.0469 43.9,195.7813 Q44.4938,195.5 45.1188,194.9219 L45.1188,197.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="131" x="60.85" y="196.1543">gui::ConcreteVisitor1</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="215" y1="208" y2="208"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="147" x="12" y="222.2104">void visit(gui::Item &amp;item)</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="146" x="12" y="235.0151">void visit(gui::Rect &amp;item)</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="146" x="12" y="247.8198">void visit(gui::Text &amp;item)</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="198" x="12" y="277.4292">void visit(gui::CustomItem2 &amp;item)</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="7" x2="61.5" y1="260.8164" y2="260.8164"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="99" x="61.5" y="264.1245">. visit overloads .</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="160.5" x2="215" y1="260.8164" y2="260.8164"/><!--class gui::ConcreteVisitor2--><rect fill="#FEFECE" filter="url(#f14eszahge7obk)" height="108.0234" id="gui::ConcreteVisitor2" style="stroke: #A80036; stroke-width: 1.5;" width="210" x="251" y="176"/><ellipse cx="287.15" cy="192" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M290.1188,197.6406 Q289.5406,197.9375 288.9,198.0781 Q288.2594,198.2344 287.5563,198.2344 Q285.0563,198.2344 283.7281,196.5938 Q282.4156,194.9375 282.4156,191.8125 Q282.4156,188.6875 283.7281,187.0313 Q285.0563,185.375 287.5563,185.375 Q288.2594,185.375 288.9,185.5313 Q289.5563,185.6875 290.1188,185.9844 L290.1188,188.7031 Q289.4938,188.125 288.9,187.8594 Q288.3063,187.5781 287.6813,187.5781 Q286.3375,187.5781 285.65,188.6563 Q284.9625,189.7188 284.9625,191.8125 Q284.9625,193.9063 285.65,194.9844 Q286.3375,196.0469 287.6813,196.0469 Q288.3063,196.0469 288.9,195.7813 Q289.4938,195.5 290.1188,194.9219 L290.1188,197.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="131" x="305.85" y="196.1543">gui::ConcreteVisitor2</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="252" x2="460" y1="208" y2="208"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="147" x="257" y="222.2104">void visit(gui::Item &amp;item)</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="146" x="257" y="235.0151">void visit(gui::Rect &amp;item)</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="146" x="257" y="247.8198">void visit(gui::Text &amp;item)</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="198" x="257" y="277.4292">void visit(gui::CustomItem2 &amp;item)</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="252" x2="306.5" y1="260.8164" y2="260.8164"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="99" x="306.5" y="264.1245">. visit overloads .</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="405.5" x2="460" y1="260.8164" y2="260.8164"/><!--class gui::Item--><rect fill="#FEFECE" filter="url(#f14eszahge7obk)" height="60.8047" id="gui::Item" style="stroke: #A80036; stroke-width: 1.5;" width="213" x="496.5" y="31.5"/><ellipse cx="571.75" cy="47.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M574.7188,53.1406 Q574.1406,53.4375 573.5,53.5781 Q572.8594,53.7344 572.1563,53.7344 Q569.6563,53.7344 568.3281,52.0938 Q567.0156,50.4375 567.0156,47.3125 Q567.0156,44.1875 568.3281,42.5313 Q569.6563,40.875 572.1563,40.875 Q572.8594,40.875 573.5,41.0313 Q574.1563,41.1875 574.7188,41.4844 L574.7188,44.2031 Q574.0938,43.625 573.5,43.3594 Q572.9063,43.0781 572.2813,43.0781 Q570.9375,43.0781 570.25,44.1563 Q569.5625,45.2188 569.5625,47.3125 Q569.5625,49.4063 570.25,50.4844 Q570.9375,51.5469 572.2813,51.5469 Q572.9063,51.5469 573.5,51.2813 Q574.0938,51 574.7188,50.4219 L574.7188,53.1406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="54" x="592.25" y="51.6543">gui::Item</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="497.5" x2="708.5" y1="63.5" y2="63.5"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="497.5" x2="708.5" y1="71.5" y2="71.5"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="201" x="502.5" y="85.7104">void accept(gui::GuiVisitor &amp;visitor)</text><!--class gui::Rect--><rect fill="#FEFECE" filter="url(#f14eszahge7obk)" height="60.8047" id="gui::Rect" style="stroke: #A80036; stroke-width: 1.5;" width="213" x="496.5" y="199.5"/><ellipse cx="571.25" cy="215.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M574.2188,221.1406 Q573.6406,221.4375 573,221.5781 Q572.3594,221.7344 571.6563,221.7344 Q569.1563,221.7344 567.8281,220.0938 Q566.5156,218.4375 566.5156,215.3125 Q566.5156,212.1875 567.8281,210.5313 Q569.1563,208.875 571.6563,208.875 Q572.3594,208.875 573,209.0313 Q573.6563,209.1875 574.2188,209.4844 L574.2188,212.2031 Q573.5938,211.625 573,211.3594 Q572.4063,211.0781 571.7813,211.0781 Q570.4375,211.0781 569.75,212.1563 Q569.0625,213.2188 569.0625,215.3125 Q569.0625,217.4063 569.75,218.4844 Q570.4375,219.5469 571.7813,219.5469 Q572.4063,219.5469 573,219.2813 Q573.5938,219 574.2188,218.4219 L574.2188,221.1406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="55" x="591.75" y="219.6543">gui::Rect</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="497.5" x2="708.5" y1="231.5" y2="231.5"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="497.5" x2="708.5" y1="239.5" y2="239.5"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="201" x="502.5" y="253.7104">void accept(gui::GuiVisitor &amp;visitor)</text><!--class gui::Text--><rect fill="#FEFECE" filter="url(#f14eszahge7obk)" height="60.8047" id="gui::Text" style="stroke: #A80036; stroke-width: 1.5;" width="213" x="248.5" y="344"/><ellipse cx="324.25" cy="360" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M327.2188,365.6406 Q326.6406,365.9375 326,366.0781 Q325.3594,366.2344 324.6563,366.2344 Q322.1563,366.2344 320.8281,364.5938 Q319.5156,362.9375 319.5156,359.8125 Q319.5156,356.6875 320.8281,355.0313 Q322.1563,353.375 324.6563,353.375 Q325.3594,353.375 326,353.5313 Q326.6563,353.6875 327.2188,353.9844 L327.2188,356.7031 Q326.5938,356.125 326,355.8594 Q325.4063,355.5781 324.7813,355.5781 Q323.4375,355.5781 322.75,356.6563 Q322.0625,357.7188 322.0625,359.8125 Q322.0625,361.9063 322.75,362.9844 Q323.4375,364.0469 324.7813,364.0469 Q325.4063,364.0469 326,363.7813 Q326.5938,363.5 327.2188,362.9219 L327.2188,365.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="53" x="344.75" y="364.1543">gui::Text</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="249.5" x2="460.5" y1="376" y2="376"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="249.5" x2="460.5" y1="384" y2="384"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="201" x="254.5" y="398.2104">void accept(gui::GuiVisitor &amp;visitor)</text><!--class gui::CustomItem1--><rect fill="#FEFECE" filter="url(#f14eszahge7obk)" height="60.8047" id="gui::CustomItem1" style="stroke: #A80036; stroke-width: 1.5;" width="213" x="496.5" y="344"/><ellipse cx="544.25" cy="360" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M547.2188,365.6406 Q546.6406,365.9375 546,366.0781 Q545.3594,366.2344 544.6563,366.2344 Q542.1563,366.2344 540.8281,364.5938 Q539.5156,362.9375 539.5156,359.8125 Q539.5156,356.6875 540.8281,355.0313 Q542.1563,353.375 544.6563,353.375 Q545.3594,353.375 546,353.5313 Q546.6563,353.6875 547.2188,353.9844 L547.2188,356.7031 Q546.5938,356.125 546,355.8594 Q545.4063,355.5781 544.7813,355.5781 Q543.4375,355.5781 542.75,356.6563 Q542.0625,357.7188 542.0625,359.8125 Q542.0625,361.9063 542.75,362.9844 Q543.4375,364.0469 544.7813,364.0469 Q545.4063,364.0469 546,363.7813 Q546.5938,363.5 547.2188,362.9219 L547.2188,365.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="109" x="564.75" y="364.1543">gui::CustomItem1</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="497.5" x2="708.5" y1="376" y2="376"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="497.5" x2="708.5" y1="384" y2="384"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="201" x="502.5" y="398.2104">void accept(gui::GuiVisitor &amp;visitor)</text><!--class gui::CustomItem2--><rect fill="#FEFECE" filter="url(#f14eszahge7obk)" height="48" id="gui::CustomItem2" style="stroke: #A80036; stroke-width: 1.5;" width="141" x="744.5" y="350.5"/><ellipse cx="759.5" cy="366.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M762.4688,372.1406 Q761.8906,372.4375 761.25,372.5781 Q760.6094,372.7344 759.9063,372.7344 Q757.4063,372.7344 756.0781,371.0938 Q754.7656,369.4375 754.7656,366.3125 Q754.7656,363.1875 756.0781,361.5313 Q757.4063,359.875 759.9063,359.875 Q760.6094,359.875 761.25,360.0313 Q761.9063,360.1875 762.4688,360.4844 L762.4688,363.2031 Q761.8438,362.625 761.25,362.3594 Q760.6563,362.0781 760.0313,362.0781 Q758.6875,362.0781 758,363.1563 Q757.3125,364.2188 757.3125,366.3125 Q757.3125,368.4063 758,369.4844 Q758.6875,370.5469 760.0313,370.5469 Q760.6563,370.5469 761.25,370.2813 Q761.8438,370 762.4688,369.4219 L762.4688,372.1406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="109" x="773.5" y="370.6543">gui::CustomItem2</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="745.5" x2="884.5" y1="382.5" y2="382.5"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="745.5" x2="884.5" y1="390.5" y2="390.5"/><!--link gui::GuiVisitor to gui::ConcreteVisitor1--><path d="M182.15,132.97 C171.49,147.36 160.44,162.28 150.31,175.95 " fill="none" id="gui::GuiVisitor-gui::ConcreteVisitor1" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="176.87,128.34,194.4,116.44,188.12,136.67,176.87,128.34" style="stroke: #A80036; stroke-width: 1.0;"/><!--link gui::GuiVisitor to gui::ConcreteVisitor2--><path d="M285.42,132.97 C296,147.36 306.96,162.28 317.01,175.95 " fill="none" id="gui::GuiVisitor-gui::ConcreteVisitor2" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="279.48,136.7,273.27,116.44,290.76,128.41,279.48,136.7" style="stroke: #A80036; stroke-width: 1.0;"/><!--link gui::Item to gui::Rect--><path d="M603,112.77 C603,140.97 603,175.29 603,199.3 " fill="none" id="gui::Item-gui::Rect" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="596,112.68,603,92.68,610,112.68,596,112.68" style="stroke: #A80036; stroke-width: 1.0;"/><!--link gui::Rect to gui::Text--><path d="M534.14,270.57 C493.81,293.74 443.7,322.53 406.75,343.77 " fill="none" id="gui::Rect-gui::Text" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="530.79,264.42,551.61,260.53,537.76,276.56,530.79,264.42" style="stroke: #A80036; stroke-width: 1.0;"/><!--link gui::Rect to gui::CustomItem1--><path d="M603,280.64 C603,301.59 603,325.3 603,343.52 " fill="none" id="gui::Rect-gui::CustomItem1" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="596,280.53,603,260.53,610,280.53,596,280.53" style="stroke: #A80036; stroke-width: 1.0;"/><!--link gui::Rect to gui::CustomItem2--><path d="M663.58,271.72 C701.5,297.21 748.98,329.12 780.56,350.35 " fill="none" id="gui::Rect-gui::CustomItem2" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="659.62,277.49,646.93,260.53,667.43,265.87,659.62,277.49" style="stroke: #A80036; stroke-width: 1.0;"/><!--
<?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="415px" preserveAspectRatio="none" style="width:890px;height:415px;background:#F0F0F0;" version="1.1" viewBox="0 0 890 415" width="890px" zoomAndPan="magnify"><defs><filter height="300%" id="fpdobvgwbigqe" 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><!--MD5=[907495ea877607270534e371f40f173f]
class gui::GuiVisitor--><rect fill="#FEFECE" filter="url(#fpdobvgwbigqe)" height="108.0234" id="gui::GuiVisitor" style="stroke: #A80036; stroke-width: 1.5;" width="208" x="128" y="8"/><ellipse cx="185.75" cy="24" fill="#A9DCDF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M185.8594,19.3438 L184.7031,24.4219 L187.0313,24.4219 L185.8594,19.3438 Z M184.375,17.1094 L187.3594,17.1094 L190.7188,29.5 L188.2656,29.5 L187.5,26.4375 L184.2188,26.4375 L183.4688,29.5 L181.0313,29.5 L184.375,17.1094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="84" x="206.25" y="28.1543">gui::GuiVisitor</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="129" x2="335" y1="40" y2="40"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="145" x="134" y="54.2104">void visit(gui::Item &amp;item)</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="144" x="134" y="67.0151">void visit(gui::Rect &amp;item)</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="144" x="134" y="79.8198">void visit(gui::Text &amp;item)</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="196" x="134" y="109.4292">void visit(gui::CustomItem2 &amp;item)</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="129" x2="184" y1="92.8164" y2="92.8164"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="96" x="184" y="96.1245">. visit overloads .</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="280" x2="335" y1="92.8164" y2="92.8164"/><!--MD5=[a45651c2af25c6ef524400c87b29b85e]
class gui::ConcreteVisitor1--><rect fill="#FEFECE" filter="url(#fpdobvgwbigqe)" height="108.0234" id="gui::ConcreteVisitor1" style="stroke: #A80036; stroke-width: 1.5;" width="208" x="6" y="176"/><ellipse cx="41.25" cy="192" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M44.2188,197.6406 Q43.6406,197.9375 43,198.0781 Q42.3594,198.2344 41.6563,198.2344 Q39.1563,198.2344 37.8281,196.5938 Q36.5156,194.9375 36.5156,191.8125 Q36.5156,188.6875 37.8281,187.0313 Q39.1563,185.375 41.6563,185.375 Q42.3594,185.375 43,185.5313 Q43.6563,185.6875 44.2188,185.9844 L44.2188,188.7031 Q43.5938,188.125 43,187.8594 Q42.4063,187.5781 41.7813,187.5781 Q40.4375,187.5781 39.75,188.6563 Q39.0625,189.7188 39.0625,191.8125 Q39.0625,193.9063 39.75,194.9844 Q40.4375,196.0469 41.7813,196.0469 Q42.4063,196.0469 43,195.7813 Q43.5938,195.5 44.2188,194.9219 L44.2188,197.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="131" x="59.75" y="196.1543">gui::ConcreteVisitor1</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="213" y1="208" y2="208"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="145" x="12" y="222.2104">void visit(gui::Item &amp;item)</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="144" x="12" y="235.0151">void visit(gui::Rect &amp;item)</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="144" x="12" y="247.8198">void visit(gui::Text &amp;item)</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="196" x="12" y="277.4292">void visit(gui::CustomItem2 &amp;item)</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="7" x2="62" y1="260.8164" y2="260.8164"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="96" x="62" y="264.1245">. visit overloads .</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="158" x2="213" y1="260.8164" y2="260.8164"/><!--MD5=[dc40434cc3a18b39425969309a25ec51]
class gui::ConcreteVisitor2--><rect fill="#FEFECE" filter="url(#fpdobvgwbigqe)" height="108.0234" id="gui::ConcreteVisitor2" style="stroke: #A80036; stroke-width: 1.5;" width="208" x="249" y="176"/><ellipse cx="284.25" cy="192" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M287.2188,197.6406 Q286.6406,197.9375 286,198.0781 Q285.3594,198.2344 284.6563,198.2344 Q282.1563,198.2344 280.8281,196.5938 Q279.5156,194.9375 279.5156,191.8125 Q279.5156,188.6875 280.8281,187.0313 Q282.1563,185.375 284.6563,185.375 Q285.3594,185.375 286,185.5313 Q286.6563,185.6875 287.2188,185.9844 L287.2188,188.7031 Q286.5938,188.125 286,187.8594 Q285.4063,187.5781 284.7813,187.5781 Q283.4375,187.5781 282.75,188.6563 Q282.0625,189.7188 282.0625,191.8125 Q282.0625,193.9063 282.75,194.9844 Q283.4375,196.0469 284.7813,196.0469 Q285.4063,196.0469 286,195.7813 Q286.5938,195.5 287.2188,194.9219 L287.2188,197.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="131" x="302.75" y="196.1543">gui::ConcreteVisitor2</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="250" x2="456" y1="208" y2="208"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="145" x="255" y="222.2104">void visit(gui::Item &amp;item)</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="144" x="255" y="235.0151">void visit(gui::Rect &amp;item)</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="144" x="255" y="247.8198">void visit(gui::Text &amp;item)</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="196" x="255" y="277.4292">void visit(gui::CustomItem2 &amp;item)</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="250" x2="305" y1="260.8164" y2="260.8164"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="96" x="305" y="264.1245">. visit overloads .</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="401" x2="456" y1="260.8164" y2="260.8164"/><!--MD5=[6bf221c2a0be1d4b00cffc70c3cc5685]
class gui::Item--><rect fill="#FEFECE" filter="url(#fpdobvgwbigqe)" height="60.8047" id="gui::Item" style="stroke: #A80036; stroke-width: 1.5;" width="211" x="492.5" y="31.5"/><ellipse cx="566.75" cy="47.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M569.7188,53.1406 Q569.1406,53.4375 568.5,53.5781 Q567.8594,53.7344 567.1563,53.7344 Q564.6563,53.7344 563.3281,52.0938 Q562.0156,50.4375 562.0156,47.3125 Q562.0156,44.1875 563.3281,42.5313 Q564.6563,40.875 567.1563,40.875 Q567.8594,40.875 568.5,41.0313 Q569.1563,41.1875 569.7188,41.4844 L569.7188,44.2031 Q569.0938,43.625 568.5,43.3594 Q567.9063,43.0781 567.2813,43.0781 Q565.9375,43.0781 565.25,44.1563 Q564.5625,45.2188 564.5625,47.3125 Q564.5625,49.4063 565.25,50.4844 Q565.9375,51.5469 567.2813,51.5469 Q567.9063,51.5469 568.5,51.2813 Q569.0938,51 569.7188,50.4219 L569.7188,53.1406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="54" x="587.25" y="51.6543">gui::Item</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="493.5" x2="702.5" y1="63.5" y2="63.5"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="493.5" x2="702.5" y1="71.5" y2="71.5"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="199" x="498.5" y="85.7104">void accept(gui::GuiVisitor &amp;visitor)</text><!--MD5=[e9e8020b497cb332cc1d59a58e3e55ed]
class gui::Rect--><rect fill="#FEFECE" filter="url(#fpdobvgwbigqe)" height="60.8047" id="gui::Rect" style="stroke: #A80036; stroke-width: 1.5;" width="211" x="492.5" y="199.5"/><ellipse cx="566.25" cy="215.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M569.2188,221.1406 Q568.6406,221.4375 568,221.5781 Q567.3594,221.7344 566.6563,221.7344 Q564.1563,221.7344 562.8281,220.0938 Q561.5156,218.4375 561.5156,215.3125 Q561.5156,212.1875 562.8281,210.5313 Q564.1563,208.875 566.6563,208.875 Q567.3594,208.875 568,209.0313 Q568.6563,209.1875 569.2188,209.4844 L569.2188,212.2031 Q568.5938,211.625 568,211.3594 Q567.4063,211.0781 566.7813,211.0781 Q565.4375,211.0781 564.75,212.1563 Q564.0625,213.2188 564.0625,215.3125 Q564.0625,217.4063 564.75,218.4844 Q565.4375,219.5469 566.7813,219.5469 Q567.4063,219.5469 568,219.2813 Q568.5938,219 569.2188,218.4219 L569.2188,221.1406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="55" x="586.75" y="219.6543">gui::Rect</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="493.5" x2="702.5" y1="231.5" y2="231.5"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="493.5" x2="702.5" y1="239.5" y2="239.5"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="199" x="498.5" y="253.7104">void accept(gui::GuiVisitor &amp;visitor)</text><!--MD5=[7918c9ecc1c5ee873dba591519f7c147]
class gui::Text--><rect fill="#FEFECE" filter="url(#fpdobvgwbigqe)" height="60.8047" id="gui::Text" style="stroke: #A80036; stroke-width: 1.5;" width="211" x="246.5" y="344"/><ellipse cx="321.25" cy="360" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M324.2188,365.6406 Q323.6406,365.9375 323,366.0781 Q322.3594,366.2344 321.6563,366.2344 Q319.1563,366.2344 317.8281,364.5938 Q316.5156,362.9375 316.5156,359.8125 Q316.5156,356.6875 317.8281,355.0313 Q319.1563,353.375 321.6563,353.375 Q322.3594,353.375 323,353.5313 Q323.6563,353.6875 324.2188,353.9844 L324.2188,356.7031 Q323.5938,356.125 323,355.8594 Q322.4063,355.5781 321.7813,355.5781 Q320.4375,355.5781 319.75,356.6563 Q319.0625,357.7188 319.0625,359.8125 Q319.0625,361.9063 319.75,362.9844 Q320.4375,364.0469 321.7813,364.0469 Q322.4063,364.0469 323,363.7813 Q323.5938,363.5 324.2188,362.9219 L324.2188,365.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="53" x="341.75" y="364.1543">gui::Text</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="247.5" x2="456.5" y1="376" y2="376"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="247.5" x2="456.5" y1="384" y2="384"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="199" x="252.5" y="398.2104">void accept(gui::GuiVisitor &amp;visitor)</text><!--MD5=[2cc88430fa67116709440bd6c760ea0c]
class gui::CustomItem1--><rect fill="#FEFECE" filter="url(#fpdobvgwbigqe)" height="60.8047" id="gui::CustomItem1" style="stroke: #A80036; stroke-width: 1.5;" width="211" x="492.5" y="344"/><ellipse cx="539.25" cy="360" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M542.2188,365.6406 Q541.6406,365.9375 541,366.0781 Q540.3594,366.2344 539.6563,366.2344 Q537.1563,366.2344 535.8281,364.5938 Q534.5156,362.9375 534.5156,359.8125 Q534.5156,356.6875 535.8281,355.0313 Q537.1563,353.375 539.6563,353.375 Q540.3594,353.375 541,353.5313 Q541.6563,353.6875 542.2188,353.9844 L542.2188,356.7031 Q541.5938,356.125 541,355.8594 Q540.4063,355.5781 539.7813,355.5781 Q538.4375,355.5781 537.75,356.6563 Q537.0625,357.7188 537.0625,359.8125 Q537.0625,361.9063 537.75,362.9844 Q538.4375,364.0469 539.7813,364.0469 Q540.4063,364.0469 541,363.7813 Q541.5938,363.5 542.2188,362.9219 L542.2188,365.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="109" x="559.75" y="364.1543">gui::CustomItem1</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="493.5" x2="702.5" y1="376" y2="376"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="493.5" x2="702.5" y1="384" y2="384"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="199" x="498.5" y="398.2104">void accept(gui::GuiVisitor &amp;visitor)</text><!--MD5=[cc71a9cbd9dacc0ed3bbc590e0358412]
class gui::CustomItem2--><rect fill="#FEFECE" filter="url(#fpdobvgwbigqe)" height="48" id="gui::CustomItem2" style="stroke: #A80036; stroke-width: 1.5;" width="141" x="738.5" y="350.5"/><ellipse cx="753.5" cy="366.5" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M756.4688,372.1406 Q755.8906,372.4375 755.25,372.5781 Q754.6094,372.7344 753.9063,372.7344 Q751.4063,372.7344 750.0781,371.0938 Q748.7656,369.4375 748.7656,366.3125 Q748.7656,363.1875 750.0781,361.5313 Q751.4063,359.875 753.9063,359.875 Q754.6094,359.875 755.25,360.0313 Q755.9063,360.1875 756.4688,360.4844 L756.4688,363.2031 Q755.8438,362.625 755.25,362.3594 Q754.6563,362.0781 754.0313,362.0781 Q752.6875,362.0781 752,363.1563 Q751.3125,364.2188 751.3125,366.3125 Q751.3125,368.4063 752,369.4844 Q752.6875,370.5469 754.0313,370.5469 Q754.6563,370.5469 755.25,370.2813 Q755.8438,370 756.4688,369.4219 L756.4688,372.1406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="109" x="767.5" y="370.6543">gui::CustomItem2</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="739.5" x2="878.5" y1="382.5" y2="382.5"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="739.5" x2="878.5" y1="390.5" y2="390.5"/><!--MD5=[453665208b69cbea7fa676dba7e63db8]
reverse link gui::GuiVisitor to gui::ConcreteVisitor1--><path d="M180.58,132.97 C170,147.36 159.04,162.28 148.99,175.95 " fill="none" id="gui::GuiVisitor&lt;-gui::ConcreteVisitor1" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="175.24,128.41,192.73,116.44,186.52,136.7,175.24,128.41" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[c0a214ced495d4b83d965825c4f83d9e]
reverse link gui::GuiVisitor to gui::ConcreteVisitor2--><path d="M283,132.97 C293.49,147.36 304.36,162.28 314.33,175.95 " fill="none" id="gui::GuiVisitor&lt;-gui::ConcreteVisitor2" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="277.08,136.72,270.95,116.44,288.39,128.48,277.08,136.72" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[712ef25754a80ee3b6a4e2d6aa0433b2]
reverse link gui::Item to gui::Rect--><path d="M598,112.77 C598,140.97 598,175.29 598,199.3 " fill="none" id="gui::Item&lt;-gui::Rect" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="591,112.68,598,92.68,605,112.68,591,112.68" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[e13587f1f7c126fbb652dda1773376d8]
reverse link gui::Rect to gui::Text--><path d="M529.69,270.57 C489.69,293.74 439.99,322.53 403.33,343.77 " fill="none" id="gui::Rect&lt;-gui::Text" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="526.21,264.49,547.03,260.53,533.23,276.61,526.21,264.49" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[4a56414eac0388125cd91db68b30e4b7]
reverse link gui::Rect to gui::CustomItem1--><path d="M598,280.64 C598,301.59 598,325.3 598,343.52 " fill="none" id="gui::Rect&lt;-gui::CustomItem1" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="591,280.53,598,260.53,605,280.53,591,280.53" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[72f7115df8ae9549cc907cdc3122a351]
reverse link gui::Rect to gui::CustomItem2--><path d="M658.3,271.72 C696.04,297.21 743.29,329.12 774.72,350.35 " fill="none" id="gui::Rect&lt;-gui::CustomItem2" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="654.38,277.52,641.72,260.53,662.21,265.92,654.38,277.52" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[6508938596972928e474638060561d6b]
@startuml
skinparam BackgroundColor F0F0F0

abstract class gui::GuiVisitor
{


@@ 57,13 72,12 @@ gui::Rect <|- - gui::CustomItem1
gui::Rect <|- - gui::CustomItem2
@enduml

PlantUML version 1.2018.13(Mon Nov 26 18:11:51 CET 2018)
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.9.1+1-Ubuntu-0ubuntu1.20.04
Java Version: 11.0.12+7-post-Debian-2
Operating System: Linux
OS Version: 5.4.0-56-generic
Default Encoding: UTF-8
Language: en
Country: US

M module-services/service-appmgr/doc/appmgr_init.png => module-services/service-appmgr/doc/appmgr_init.png +0 -0
M module-services/service-appmgr/doc/appmgr_init.pu => module-services/service-appmgr/doc/appmgr_init.pu +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0
participant "Application Manager" as appmgr
participant "Root Application" as root


M module-services/service-appmgr/doc/appmgr_start_app.png => module-services/service-appmgr/doc/appmgr_start_app.png +0 -0
M module-services/service-appmgr/doc/appmgr_start_app.pu => module-services/service-appmgr/doc/appmgr_start_app.pu +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0
participant "Application Manager" as appmgr
participant "Application" as app


M module-services/service-appmgr/doc/appmgr_switch_app.png => module-services/service-appmgr/doc/appmgr_switch_app.png +0 -0
M module-services/service-appmgr/doc/appmgr_switch_app.pu => module-services/service-appmgr/doc/appmgr_switch_app.pu +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0
participant "Application 1" as app1
participant "Application Manager" as appmgr
participant "Application 2" as app2

M module-services/service-appmgr/doc/appmgr_switch_back.png => module-services/service-appmgr/doc/appmgr_switch_back.png +0 -0
M module-services/service-appmgr/doc/appmgr_switch_back.pu => module-services/service-appmgr/doc/appmgr_switch_back.pu +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0
participant "Application" as app
participant "Application Manager" as appmgr
participant "Previous Application" as prev

M module-services/service-appmgr/doc/appmgr_switch_sms_app_proposal.png => module-services/service-appmgr/doc/appmgr_switch_sms_app_proposal.png +0 -0
M module-services/service-appmgr/doc/appmgr_switch_sms_app_proposal.pu => module-services/service-appmgr/doc/appmgr_switch_sms_app_proposal.pu +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0
participant "Application" as app
box "Application Manager Service" #LightBlue
participant "Controller" as appmgr_control

M module-services/service-appmgr/doc/auto-lock/auto_lock_activity_detection.puml => module-services/service-appmgr/doc/auto-lock/auto_lock_activity_detection.puml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0

participant "AutoLock Timer" as timer
participant "PhoneLock Handler" as lock

M module-services/service-appmgr/doc/auto-lock/auto_lock_activity_detection.svg => module-services/service-appmgr/doc/auto-lock/auto_lock_activity_detection.svg +4 -4
@@ 1,5 1,6 @@
<?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="412px" preserveAspectRatio="none" style="width:738px;height:412px;" version="1.1" viewBox="0 0 738 412" width="738px" zoomAndPan="magnify"><defs><filter height="300%" id="fbcu624ntgdbm" 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(#fbcu624ntgdbm)" height="16" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="80.5" y="300.2266"/><rect fill="#FFFFFF" filter="url(#fbcu624ntgdbm)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="229" y="217.8281"/><rect fill="#FFFFFF" filter="url(#fbcu624ntgdbm)" height="127.5313" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="389.5" y="188.6953"/><rect fill="#FFFFFF" filter="url(#fbcu624ntgdbm)" height="71.2656" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="572.5" y="117.4297"/><rect fill="#FFFFFF" filter="url(#fbcu624ntgdbm)" height="46.2656" style="stroke: #000000; stroke-width: 2.0;" width="466" x="13" y="261.9609"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="85" x2="85" y1="86.2969" y2="325.2266"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="234" x2="234" y1="86.2969" y2="325.2266"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="394" x2="394" y1="86.2969" y2="325.2266"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="577" x2="577" y1="86.2969" y2="325.2266"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="713.5" x2="713.5" y1="86.2969" y2="325.2266"/><rect fill="#FEFECE" filter="url(#fbcu624ntgdbm)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="121" x="23" y="51"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="107" x="30" y="70.9951">AutoLock Timer</text><rect fill="#FEFECE" filter="url(#fbcu624ntgdbm)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="121" x="23" y="324.2266"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="107" x="30" y="344.2217">AutoLock Timer</text><rect fill="#FEFECE" filter="url(#fbcu624ntgdbm)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="148" x="158" y="51"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="134" x="165" y="70.9951">PhoneLock Handler</text><rect fill="#FEFECE" filter="url(#fbcu624ntgdbm)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="148" x="158" y="324.2266"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="134" x="165" y="344.2217">PhoneLock Handler</text><rect fill="#FEFECE" filter="url(#fbcu624ntgdbm)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="145" x="320" y="51"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="131" x="327" y="70.9951">Application Manger</text><rect fill="#FEFECE" filter="url(#fbcu624ntgdbm)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="145" x="320" y="324.2266"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="131" x="327" y="344.2217">Application Manger</text><rect fill="#FEFECE" filter="url(#fbcu624ntgdbm)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="117" x="517" y="51"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="103" x="524" y="70.9951">Event Manager</text><rect fill="#FEFECE" filter="url(#fbcu624ntgdbm)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="117" x="517" y="324.2266"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="103" x="524" y="344.2217">Event Manager</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="32" x="694.5" y="82.9951">User</text><ellipse cx="713.5" cy="13" fill="#FEFECE" filter="url(#fbcu624ntgdbm)" rx="8" ry="8" style="stroke: #A80036; stroke-width: 2.0;"/><path d="M713.5,21 L713.5,48 M700.5,29 L726.5,29 M713.5,48 L700.5,63 M713.5,48 L726.5,63 " fill="none" filter="url(#fbcu624ntgdbm)" style="stroke: #A80036; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="32" x="694.5" y="337.2217">User</text><ellipse cx="713.5" cy="350.5234" fill="#FEFECE" filter="url(#fbcu624ntgdbm)" rx="8" ry="8" style="stroke: #A80036; stroke-width: 2.0;"/><path d="M713.5,358.5234 L713.5,385.5234 M700.5,366.5234 L726.5,366.5234 M713.5,385.5234 L700.5,400.5234 M713.5,385.5234 L726.5,400.5234 " fill="none" filter="url(#fbcu624ntgdbm)" style="stroke: #A80036; stroke-width: 2.0;"/><rect fill="#FFFFFF" filter="url(#fbcu624ntgdbm)" height="16" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="80.5" y="300.2266"/><rect fill="#FFFFFF" filter="url(#fbcu624ntgdbm)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="229" y="217.8281"/><rect fill="#FFFFFF" filter="url(#fbcu624ntgdbm)" height="127.5313" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="389.5" y="188.6953"/><rect fill="#FFFFFF" filter="url(#fbcu624ntgdbm)" height="71.2656" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="572.5" y="117.4297"/><polygon fill="#A80036" points="593.5,113.4297,583.5,117.4297,593.5,121.4297,589.5,117.4297" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="587.5" x2="712.5" y1="117.4297" y2="117.4297"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="112" x="599.5" y="112.3638">key press/release</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="582.5" x2="624.5" y1="146.5625" y2="146.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="624.5" x2="624.5" y1="146.5625" y2="159.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="583.5" x2="624.5" y1="159.5625" y2="159.5625"/><polygon fill="#A80036" points="593.5,155.5625,583.5,159.5625,593.5,163.5625,589.5,159.5625" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="90" x="589.5" y="141.4966">process event</text><polygon fill="#A80036" points="410.5,184.6953,400.5,188.6953,410.5,192.6953,406.5,188.6953" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="404.5" x2="576.5" y1="188.6953" y2="188.6953"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="154" x="416.5" y="183.6294">PreventBlockingRequest</text><polygon fill="#A80036" points="250,213.8281,240,217.8281,250,221.8281,246,217.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="244" x2="388.5" y1="217.8281" y2="217.8281"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="55" x="256" y="212.7622">isLocked</text><polygon fill="#A80036" points="377.5,242.9609,387.5,246.9609,377.5,250.9609,381.5,246.9609" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="234" x2="383.5" y1="246.9609" y2="246.9609"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="59" x="241" y="241.895">response</text><path d="M13,261.9609 L77,261.9609 L77,268.9609 L67,278.9609 L13,278.9609 L13,261.9609 " fill="#EEEEEE" style="stroke: #000000; stroke-width: 1.0;"/><rect fill="none" height="46.2656" style="stroke: #000000; stroke-width: 2.0;" width="466" x="13" y="261.9609"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="19" x="28" y="275.0278">alt</text><a target="_top" xlink:actuate="onRequest" xlink:href="" xlink:show="new" xlink:title="" xlink:type="simple"><text fill="#0000FF" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="68" x="92" y="274.1714">Not locked</text><line style="stroke: #0000FF; stroke-width: 1.0;" x1="92" x2="160" y1="276.1714" y2="276.1714"/></a><polygon fill="#A80036" points="101.5,296.2266,91.5,300.2266,101.5,304.2266,97.5,300.2266" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="95.5" x2="388.5" y1="300.2266" y2="300.2266"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="53" x="107.5" y="295.1606">(re)start</text><!--
<?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="412px" preserveAspectRatio="none" style="width:738px;height:412px;background:#F0F0F0;" version="1.1" viewBox="0 0 738 412" width="738px" zoomAndPan="magnify"><defs><filter height="300%" id="f1hg25pkqoip3w" 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(#f1hg25pkqoip3w)" height="16" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="80.5" y="300.2266"/><rect fill="#FFFFFF" filter="url(#f1hg25pkqoip3w)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="229" y="217.8281"/><rect fill="#FFFFFF" filter="url(#f1hg25pkqoip3w)" height="127.5313" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="389.5" y="188.6953"/><rect fill="#FFFFFF" filter="url(#f1hg25pkqoip3w)" height="71.2656" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="572.5" y="117.4297"/><rect fill="#F0F0F0" filter="url(#f1hg25pkqoip3w)" height="46.2656" style="stroke: #000000; stroke-width: 2.0;" width="466" x="13" y="261.9609"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="85" x2="85" y1="86.2969" y2="325.2266"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="234" x2="234" y1="86.2969" y2="325.2266"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="394" x2="394" y1="86.2969" y2="325.2266"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="577" x2="577" y1="86.2969" y2="325.2266"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="713.5" x2="713.5" y1="86.2969" y2="325.2266"/><rect fill="#FEFECE" filter="url(#f1hg25pkqoip3w)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="121" x="23" y="51"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="107" x="30" y="70.9951">AutoLock Timer</text><rect fill="#FEFECE" filter="url(#f1hg25pkqoip3w)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="121" x="23" y="324.2266"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="107" x="30" y="344.2217">AutoLock Timer</text><rect fill="#FEFECE" filter="url(#f1hg25pkqoip3w)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="148" x="158" y="51"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="134" x="165" y="70.9951">PhoneLock Handler</text><rect fill="#FEFECE" filter="url(#f1hg25pkqoip3w)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="148" x="158" y="324.2266"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="134" x="165" y="344.2217">PhoneLock Handler</text><rect fill="#FEFECE" filter="url(#f1hg25pkqoip3w)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="145" x="320" y="51"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="131" x="327" y="70.9951">Application Manger</text><rect fill="#FEFECE" filter="url(#f1hg25pkqoip3w)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="145" x="320" y="324.2266"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="131" x="327" y="344.2217">Application Manger</text><rect fill="#FEFECE" filter="url(#f1hg25pkqoip3w)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="117" x="517" y="51"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="103" x="524" y="70.9951">Event Manager</text><rect fill="#FEFECE" filter="url(#f1hg25pkqoip3w)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="117" x="517" y="324.2266"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="103" x="524" y="344.2217">Event Manager</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="32" x="694.5" y="82.9951">User</text><ellipse cx="713.5" cy="13" fill="#FEFECE" filter="url(#f1hg25pkqoip3w)" rx="8" ry="8" style="stroke: #A80036; stroke-width: 2.0;"/><path d="M713.5,21 L713.5,48 M700.5,29 L726.5,29 M713.5,48 L700.5,63 M713.5,48 L726.5,63 " fill="none" filter="url(#f1hg25pkqoip3w)" style="stroke: #A80036; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="32" x="694.5" y="337.2217">User</text><ellipse cx="713.5" cy="350.5234" fill="#FEFECE" filter="url(#f1hg25pkqoip3w)" rx="8" ry="8" style="stroke: #A80036; stroke-width: 2.0;"/><path d="M713.5,358.5234 L713.5,385.5234 M700.5,366.5234 L726.5,366.5234 M713.5,385.5234 L700.5,400.5234 M713.5,385.5234 L726.5,400.5234 " fill="none" filter="url(#f1hg25pkqoip3w)" style="stroke: #A80036; stroke-width: 2.0;"/><rect fill="#FFFFFF" filter="url(#f1hg25pkqoip3w)" height="16" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="80.5" y="300.2266"/><rect fill="#FFFFFF" filter="url(#f1hg25pkqoip3w)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="229" y="217.8281"/><rect fill="#FFFFFF" filter="url(#f1hg25pkqoip3w)" height="127.5313" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="389.5" y="188.6953"/><rect fill="#FFFFFF" filter="url(#f1hg25pkqoip3w)" height="71.2656" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="572.5" y="117.4297"/><polygon fill="#A80036" points="593.5,113.4297,583.5,117.4297,593.5,121.4297,589.5,117.4297" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="587.5" x2="712.5" y1="117.4297" y2="117.4297"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="112" x="599.5" y="112.3638">key press/release</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="582.5" x2="624.5" y1="146.5625" y2="146.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="624.5" x2="624.5" y1="146.5625" y2="159.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="583.5" x2="624.5" y1="159.5625" y2="159.5625"/><polygon fill="#A80036" points="593.5,155.5625,583.5,159.5625,593.5,163.5625,589.5,159.5625" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="90" x="589.5" y="141.4966">process event</text><polygon fill="#A80036" points="410.5,184.6953,400.5,188.6953,410.5,192.6953,406.5,188.6953" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="404.5" x2="576.5" y1="188.6953" y2="188.6953"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="154" x="416.5" y="183.6294">PreventBlockingRequest</text><polygon fill="#A80036" points="250,213.8281,240,217.8281,250,221.8281,246,217.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="244" x2="388.5" y1="217.8281" y2="217.8281"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="55" x="256" y="212.7622">isLocked</text><polygon fill="#A80036" points="377.5,242.9609,387.5,246.9609,377.5,250.9609,381.5,246.9609" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="234" x2="383.5" y1="246.9609" y2="246.9609"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="59" x="241" y="241.895">response</text><path d="M13,261.9609 L77,261.9609 L77,268.9609 L67,278.9609 L13,278.9609 L13,261.9609 " fill="#EEEEEE" style="stroke: #000000; stroke-width: 1.0;"/><rect fill="none" height="46.2656" style="stroke: #000000; stroke-width: 2.0;" width="466" x="13" y="261.9609"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="19" x="28" y="275.0278">alt</text><a href="" target="_top" title="" xlink:actuate="onRequest" xlink:href="" xlink:show="new" xlink:title="" xlink:type="simple"><text fill="#0000FF" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="68" x="92" y="274.1714">Not locked</text></a><polygon fill="#A80036" points="101.5,296.2266,91.5,300.2266,101.5,304.2266,97.5,300.2266" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="95.5" x2="388.5" y1="300.2266" y2="300.2266"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="53" x="107.5" y="295.1606">(re)start</text><!--MD5=[78ac571f8a7f392beb5830965945a2eb]
@startuml
skinparam BackgroundColor F0F0F0

participant "AutoLock Timer" as timer
participant "PhoneLock Handler" as lock


@@ 26,13 27,12 @@ end

@enduml

PlantUML version 1.2018.13(Mon Nov 26 18:11:51 CET 2018)
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.11+9-Ubuntu-0ubuntu2.20.04
Java Version: 11.0.12+7-post-Debian-2
Operating System: Linux
OS Version: 5.8.0-53-generic
Default Encoding: UTF-8
Language: en
Country: US

M module-services/service-appmgr/doc/auto-lock/auto_lock_policy_handler_interface.puml => module-services/service-appmgr/doc/auto-lock/auto_lock_policy_handler_interface.puml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0

skinparam linetype ortho


M module-services/service-appmgr/doc/auto-lock/auto_lock_policy_handler_interface.svg => module-services/service-appmgr/doc/auto-lock/auto_lock_policy_handler_interface.svg +15 -4
@@ 1,5 1,17 @@
<?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="558px" preserveAspectRatio="none" style="width:408px;height:558px;" version="1.1" viewBox="0 0 408 558" width="408px" zoomAndPan="magnify"><defs><filter height="300%" id="f17wzgsgh6vm0a" 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><!--class handlerInt--><rect fill="#FEFECE" filter="url(#f17wzgsgh6vm0a)" height="86.4141" id="handlerInt" style="stroke: #A80036; stroke-width: 1.5;" width="222" x="39" y="327"/><ellipse cx="63" cy="343" fill="#B4A7E5" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M58.9219,338.7656 L58.9219,336.6094 L66.3125,336.6094 L66.3125,338.7656 L63.8438,338.7656 L63.8438,346.8438 L66.3125,346.8438 L66.3125,349 L58.9219,349 L58.9219,346.8438 L61.3906,346.8438 L61.3906,338.7656 L58.9219,338.7656 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="170" x="79" y="347.1543">LockPolicyHandlerInterface</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="40" x2="260" y1="359" y2="359"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="40" x2="260" y1="367" y2="367"/><polygon fill="#FFFF44" points="50,373.9023,54,377.9023,50,381.9023,46,377.9023" style="stroke: #B38D22; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="196" x="59" y="381.2104">bool preventsAutoLockByWindow()</text><polygon fill="#FFFF44" points="50,386.707,54,390.707,50,394.707,46,390.707" style="stroke: #B38D22; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="181" x="59" y="394.0151">bool preventsAutoLockByState()</text><ellipse cx="50" cy="404.5117" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="153" x="59" y="406.8198">bool preventsAutoLocking()</text><!--class access--><rect fill="#FEFECE" filter="url(#f17wzgsgh6vm0a)" height="86.4141" id="access" style="stroke: #A80036; stroke-width: 1.5;" width="195" x="82.5" y="133"/><ellipse cx="97.5" cy="149" fill="#B4A7E5" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M93.4219,144.7656 L93.4219,142.6094 L100.8125,142.6094 L100.8125,144.7656 L98.3438,144.7656 L98.3438,152.8438 L100.8125,152.8438 L100.8125,155 L93.4219,155 L93.4219,152.8438 L95.8906,152.8438 L95.8906,144.7656 L93.4219,144.7656 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="163" x="111.5" y="153.1543">LockPolicyAccessInterface</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="83.5" x2="276.5" y1="165" y2="165"/><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="90.5" y="173.9023"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="118" x="102.5" y="179.2104">AutoLockPolicy policy</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="83.5" x2="276.5" y1="185.8047" y2="185.8047"/><rect fill="#F24D5C" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="90.5" y="194.707"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="53" x="102.5" y="200.0151">void set()</text><ellipse cx="93.5" cy="210.5117" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="53" x="102.5" y="212.8198">void get()</text><!--class handler--><rect fill="#FEFECE" filter="url(#f17wzgsgh6vm0a)" height="73.6094" id="handler" style="stroke: #A80036; stroke-width: 1.5;" width="282" x="99" y="474"/><ellipse cx="179.75" cy="490" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M182.7188,495.6406 Q182.1406,495.9375 181.5,496.0781 Q180.8594,496.2344 180.1563,496.2344 Q177.6563,496.2344 176.3281,494.5938 Q175.0156,492.9375 175.0156,489.8125 Q175.0156,486.6875 176.3281,485.0313 Q177.6563,483.375 180.1563,483.375 Q180.8594,483.375 181.5,483.5313 Q182.1563,483.6875 182.7188,483.9844 L182.7188,486.7031 Q182.0938,486.125 181.5,485.8594 Q180.9063,485.5781 180.2813,485.5781 Q178.9375,485.5781 178.25,486.6563 Q177.5625,487.7188 177.5625,489.8125 Q177.5625,491.9063 178.25,492.9844 Q178.9375,494.0469 180.2813,494.0469 Q180.9063,494.0469 181.5,493.7813 Q182.0938,493.5 182.7188,492.9219 L182.7188,495.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="112" x="200.25" y="494.1543">LockPolicyHandler</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="100" x2="380" y1="506" y2="506"/><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="107" y="514.9023"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="191" x="119" y="520.2104">preventsAutoLockByStateCallback</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="100" x2="380" y1="526.8047" y2="526.8047"/><ellipse cx="110" cy="538.707" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="256" x="119" y="541.0151">void setPreventsAutoLockByStateCallback(...)</text><!--class launcher--><rect fill="#FEFECE" filter="url(#f17wzgsgh6vm0a)" height="48" id="launcher" style="stroke: #A80036; stroke-width: 1.5;" width="191" x="84.5" y="8"/><ellipse cx="99.5" cy="24" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M102.4688,29.6406 Q101.8906,29.9375 101.25,30.0781 Q100.6094,30.2344 99.9063,30.2344 Q97.4063,30.2344 96.0781,28.5938 Q94.7656,26.9375 94.7656,23.8125 Q94.7656,20.6875 96.0781,19.0313 Q97.4063,17.375 99.9063,17.375 Q100.6094,17.375 101.25,17.5313 Q101.9063,17.6875 102.4688,17.9844 L102.4688,20.7031 Q101.8438,20.125 101.25,19.8594 Q100.6563,19.5781 100.0313,19.5781 Q98.6875,19.5781 98,20.6563 Q97.3125,21.7188 97.3125,23.8125 Q97.3125,25.9063 98,26.9844 Q98.6875,28.0469 100.0313,28.0469 Q100.6563,28.0469 101.25,27.7813 Q101.8438,27.5 102.4688,26.9219 L102.4688,29.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="159" x="113.5" y="28.1543">app::ApplicationLauncher</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="85.5" x2="274.5" y1="40" y2="40"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="85.5" x2="274.5" y1="48" y2="48"/><!--class app--><rect fill="#FEFECE" filter="url(#f17wzgsgh6vm0a)" height="48" id="app" style="stroke: #A80036; stroke-width: 1.5;" width="133" x="264.5" y="249"/><ellipse cx="279.5" cy="265" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M282.4688,270.6406 Q281.8906,270.9375 281.25,271.0781 Q280.6094,271.2344 279.9063,271.2344 Q277.4063,271.2344 276.0781,269.5938 Q274.7656,267.9375 274.7656,264.8125 Q274.7656,261.6875 276.0781,260.0313 Q277.4063,258.375 279.9063,258.375 Q280.6094,258.375 281.25,258.5313 Q281.9063,258.6875 282.4688,258.9844 L282.4688,261.7031 Q281.8438,261.125 281.25,260.8594 Q280.6563,260.5781 280.0313,260.5781 Q278.6875,260.5781 278,261.6563 Q277.3125,262.7188 277.3125,264.8125 Q277.3125,266.9063 278,267.9844 Q278.6875,269.0469 280.0313,269.0469 Q280.6563,269.0469 281.25,268.7813 Q281.8438,268.5 282.4688,267.9219 L282.4688,270.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="101" x="293.5" y="269.1543">app::Application</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="265.5" x2="396.5" y1="281" y2="281"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="265.5" x2="396.5" y1="289" y2="289"/><!--link access to handlerInt--><path d="M171.75,239.05 C171.75,239.05 171.75,326.73 171.75,326.73 " fill="none" id="access-handlerInt" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="164.75,239.05,171.75,219.05,178.75,239.05,164.75,239.05" style="stroke: #A80036; stroke-width: 1.0;"/><!--link handlerInt to handler--><path d="M180,433.07 C180,433.07 180,473.91 180,473.91 " fill="none" id="handlerInt-handler" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="173,433.07,180,413.07,187,433.07,173,433.07" style="stroke: #A80036; stroke-width: 1.0;"/><!--link launcher to app--><path d="M275.7,32 C308.68,32 337.5,32 337.5,32 C337.5,32 337.5,243.57 337.5,243.57 " fill="none" id="launcher-app" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="337.5,248.57,341.5,239.57,337.5,243.57,333.5,239.57,337.5,248.57" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="64" x="332" y="99.0669">«creates»</text><!--link launcher to access--><path d="M180,56.1 C180,56.1 180,127.87 180,127.87 " fill="none" id="launcher-access" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="180,132.87,184,123.87,180,127.87,176,123.87,180,132.87" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="52" x="181" y="99.0669">«friend»</text><!--link launcher to handlerInt--><path d="M84.31,32 C70.45,32 60.75,32 60.75,32 C60.75,32 60.75,321.85 60.75,321.85 " fill="none" id="launcher-handlerInt" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="60.75,326.85,64.75,317.85,60.75,321.85,56.75,317.85,60.75,326.85" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="39" x="7" y="180.5669">«use»</text><!--link app to handler--><path d="M322.75,297.13 C322.75,297.13 322.75,468.58 322.75,468.58 " fill="none" id="app-handler" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="322.75,473.58,326.75,464.58,322.75,468.58,318.75,464.58,322.75,473.58" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="64" x="332" y="374.5669">«creates»</text><!--
<?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="558px" preserveAspectRatio="none" style="width:400px;height:558px;background:#F0F0F0;" version="1.1" viewBox="0 0 400 558" width="400px" zoomAndPan="magnify"><defs><filter height="300%" id="frumzay836624" 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><!--MD5=[8909005f5aef5572453598ef5dc578cd]
class handlerInt--><rect fill="#FEFECE" filter="url(#frumzay836624)" height="86.4141" id="handlerInt" style="stroke: #A80036; stroke-width: 1.5;" width="221" x="31.5" y="327"/><ellipse cx="59.1" cy="343" fill="#B4A7E5" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M55.0219,338.7656 L55.0219,336.6094 L62.4125,336.6094 L62.4125,338.7656 L59.9438,338.7656 L59.9438,346.8438 L62.4125,346.8438 L62.4125,349 L55.0219,349 L55.0219,346.8438 L57.4906,346.8438 L57.4906,338.7656 L55.0219,338.7656 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="161" x="75.9" y="347.1543">LockPolicyHandlerInterface</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="32.5" x2="251.5" y1="359" y2="359"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="32.5" x2="251.5" y1="367" y2="367"/><polygon fill="#FFFF44" points="42.5,373,46.5,377,42.5,381,38.5,377" style="stroke: #B38D22; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="195" x="51.5" y="381.2104">bool preventsAutoLockByWindow()</text><polygon fill="#FFFF44" points="42.5,385.8047,46.5,389.8047,42.5,393.8047,38.5,389.8047" style="stroke: #B38D22; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="180" x="51.5" y="394.0151">bool preventsAutoLockByState()</text><ellipse cx="42.5" cy="403.6094" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="152" x="51.5" y="406.8198">bool preventsAutoLocking()</text><!--MD5=[f0b36ea040dad50e65ce4d637621ca4c]
class access--><rect fill="#FEFECE" filter="url(#frumzay836624)" height="86.4141" id="access" style="stroke: #A80036; stroke-width: 1.5;" width="188" x="82" y="133"/><ellipse cx="97" cy="149" fill="#B4A7E5" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M92.9219,144.7656 L92.9219,142.6094 L100.3125,142.6094 L100.3125,144.7656 L97.8438,144.7656 L97.8438,152.8438 L100.3125,152.8438 L100.3125,155 L92.9219,155 L92.9219,152.8438 L95.3906,152.8438 L95.3906,144.7656 L92.9219,144.7656 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="156" x="111" y="153.1543">LockPolicyAccessInterface</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="83" x2="269" y1="165" y2="165"/><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="90" y="173"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="117" x="102" y="179.2104">AutoLockPolicy policy</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="83" x2="269" y1="185.8047" y2="185.8047"/><rect fill="#F24D5C" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="90" y="193.8047"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="52" x="102" y="200.0151">void set()</text><ellipse cx="93" cy="209.6094" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="52" x="102" y="212.8198">void get()</text><!--MD5=[30f0d63ce302d2bf17e9e696c3b69008]
class handler--><rect fill="#FEFECE" filter="url(#frumzay836624)" height="73.6094" id="handler" style="stroke: #A80036; stroke-width: 1.5;" width="281" x="91.5" y="474"/><ellipse cx="171.75" cy="490" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M174.7188,495.6406 Q174.1406,495.9375 173.5,496.0781 Q172.8594,496.2344 172.1563,496.2344 Q169.6563,496.2344 168.3281,494.5938 Q167.0156,492.9375 167.0156,489.8125 Q167.0156,486.6875 168.3281,485.0313 Q169.6563,483.375 172.1563,483.375 Q172.8594,483.375 173.5,483.5313 Q174.1563,483.6875 174.7188,483.9844 L174.7188,486.7031 Q174.0938,486.125 173.5,485.8594 Q172.9063,485.5781 172.2813,485.5781 Q170.9375,485.5781 170.25,486.6563 Q169.5625,487.7188 169.5625,489.8125 Q169.5625,491.9063 170.25,492.9844 Q170.9375,494.0469 172.2813,494.0469 Q172.9063,494.0469 173.5,493.7813 Q174.0938,493.5 174.7188,492.9219 L174.7188,495.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="112" x="192.25" y="494.1543">LockPolicyHandler</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="92.5" x2="371.5" y1="506" y2="506"/><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="99.5" y="514"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="191" x="111.5" y="520.2104">preventsAutoLockByStateCallback</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="92.5" x2="371.5" y1="526.8047" y2="526.8047"/><ellipse cx="102.5" cy="537.8047" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="255" x="111.5" y="541.0151">void setPreventsAutoLockByStateCallback(...)</text><!--MD5=[7dbd75b9b82aacf4c2b09a3278a282e5]
class launcher--><rect fill="#FEFECE" filter="url(#frumzay836624)" height="48" id="launcher" style="stroke: #A80036; stroke-width: 1.5;" width="191" x="80.5" y="8"/><ellipse cx="95.5" cy="24" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M98.4688,29.6406 Q97.8906,29.9375 97.25,30.0781 Q96.6094,30.2344 95.9063,30.2344 Q93.4063,30.2344 92.0781,28.5938 Q90.7656,26.9375 90.7656,23.8125 Q90.7656,20.6875 92.0781,19.0313 Q93.4063,17.375 95.9063,17.375 Q96.6094,17.375 97.25,17.5313 Q97.9063,17.6875 98.4688,17.9844 L98.4688,20.7031 Q97.8438,20.125 97.25,19.8594 Q96.6563,19.5781 96.0313,19.5781 Q94.6875,19.5781 94,20.6563 Q93.3125,21.7188 93.3125,23.8125 Q93.3125,25.9063 94,26.9844 Q94.6875,28.0469 96.0313,28.0469 Q96.6563,28.0469 97.25,27.7813 Q97.8438,27.5 98.4688,26.9219 L98.4688,29.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="159" x="109.5" y="28.1543">app::ApplicationLauncher</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="81.5" x2="270.5" y1="40" y2="40"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="81.5" x2="270.5" y1="48" y2="48"/><!--MD5=[d26137e5d461602f48e26353ca7979f6]
class app--><rect fill="#FEFECE" filter="url(#frumzay836624)" height="48" id="app" style="stroke: #A80036; stroke-width: 1.5;" width="133" x="256.5" y="249"/><ellipse cx="271.5" cy="265" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M274.4688,270.6406 Q273.8906,270.9375 273.25,271.0781 Q272.6094,271.2344 271.9063,271.2344 Q269.4063,271.2344 268.0781,269.5938 Q266.7656,267.9375 266.7656,264.8125 Q266.7656,261.6875 268.0781,260.0313 Q269.4063,258.375 271.9063,258.375 Q272.6094,258.375 273.25,258.5313 Q273.9063,258.6875 274.4688,258.9844 L274.4688,261.7031 Q273.8438,261.125 273.25,260.8594 Q272.6563,260.5781 272.0313,260.5781 Q270.6875,260.5781 270,261.6563 Q269.3125,262.7188 269.3125,264.8125 Q269.3125,266.9063 270,267.9844 Q270.6875,269.0469 272.0313,269.0469 Q272.6563,269.0469 273.25,268.7813 Q273.8438,268.5 274.4688,267.9219 L274.4688,270.6406 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="101" x="285.5" y="269.1543">app::Application</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="257.5" x2="388.5" y1="281" y2="281"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="257.5" x2="388.5" y1="289" y2="289"/><!--MD5=[c9393f36dcd655bb531f9f5cdc49ec10]
reverse link access to handlerInt--><path d="M167.25,239.05 C167.25,239.05 167.25,326.73 167.25,326.73 " fill="none" id="access&lt;-handlerInt" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="160.25,239.05,167.25,219.05,174.25,239.05,160.25,239.05" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[ed104bc6b12fbc96d5e1e24353bee221]
reverse link handlerInt to handler--><path d="M172,433.07 C172,433.07 172,473.91 172,473.91 " fill="none" id="handlerInt&lt;-handler" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="165,433.07,172,413.07,179,433.07,165,433.07" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[0a92c29c73b36b68060891527f9e7146]
link launcher to app--><path d="M271.65,32 C303.26,32 330.5,32 330.5,32 C330.5,32 330.5,243.57 330.5,243.57 " fill="none" id="launcher-&gt;app" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="330.5,248.57,334.5,239.57,330.5,243.57,326.5,239.57,330.5,248.57" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="64" x="324" y="99.0669">«creates»</text><!--MD5=[2428aacdc7f89a10c285f96224597aa3]
link launcher to access--><path d="M176,56.1 C176,56.1 176,127.87 176,127.87 " fill="none" id="launcher-&gt;access" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="176,132.87,180,123.87,176,127.87,172,123.87,176,132.87" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="52" x="177" y="99.0669">«friend»</text><!--MD5=[95f8af4092caa30e62ed80d5e98155c7]
link launcher to handlerInt--><path d="M80.28,32 C66.03,32 56,32 56,32 C56,32 56,321.85 56,321.85 " fill="none" id="launcher-&gt;handlerInt" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="56,326.85,60,317.85,56,321.85,52,317.85,56,326.85" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="39" x="7" y="180.5669">«use»</text><!--MD5=[bcf77131f8f138e9b28de1b5545a4bca]
link app to handler--><path d="M314.5,297.13 C314.5,297.13 314.5,468.58 314.5,468.58 " fill="none" id="app-&gt;handler" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="314.5,473.58,318.5,464.58,314.5,468.58,310.5,464.58,314.5,473.58" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="64" x="324" y="374.5669">«creates»</text><!--MD5=[32dd08c4f6c08aa4274a05aceb2e96fe]
@startuml
skinparam BackgroundColor F0F0F0

skinparam linetype ortho



@@ 37,13 49,12 @@ app..>handler : <<creates>>

@enduml

PlantUML version 1.2018.13(Mon Nov 26 18:11:51 CET 2018)
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.11+9-Ubuntu-0ubuntu2.20.04
Java Version: 11.0.12+7-post-Debian-2
Operating System: Linux
OS Version: 5.8.0-53-generic
Default Encoding: UTF-8
Language: en
Country: US

M module-services/service-appmgr/doc/auto-lock/auto_lock_sequence.puml => module-services/service-appmgr/doc/auto-lock/auto_lock_sequence.puml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0

participant "AutoLock Timer" as timer
participant "PhoneLock Handler" as lock

M module-services/service-appmgr/doc/auto-lock/auto_lock_sequence.svg => module-services/service-appmgr/doc/auto-lock/auto_lock_sequence.svg +4 -4
@@ 1,5 1,6 @@
<?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="494px" preserveAspectRatio="none" style="width:767px;height:494px;" version="1.1" viewBox="0 0 767 494" width="767px" zoomAndPan="magnify"><defs><filter height="300%" id="f1o57wmgua4eph" 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(#f1o57wmgua4eph)" height="8" style="stroke: #FFFFFF; stroke-width: 1.0;" width="10" x="80.5" y="69.4297"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="80.5" x2="80.5" y1="69.4297" y2="77.4297"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="90.5" x2="90.5" y1="69.4297" y2="77.4297"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="80.5" x2="90.5" y1="69.4297" y2="69.4297"/><rect fill="#FFFFFF" filter="url(#f1o57wmgua4eph)" height="21.1328" style="stroke: #FFFFFF; stroke-width: 1.0;" width="10" x="80.5" y="105.4297"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="80.5" x2="80.5" y1="105.4297" y2="126.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="90.5" x2="90.5" y1="105.4297" y2="126.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="80.5" x2="90.5" y1="126.5625" y2="126.5625"/><rect fill="#FFFFFF" filter="url(#f1o57wmgua4eph)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="229" y="155.6953"/><rect fill="#FFFFFF" filter="url(#f1o57wmgua4eph)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="399.5" y="213.9609"/><rect fill="#FFFFFF" filter="url(#f1o57wmgua4eph)" height="21.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="568.5" y="48.2969"/><rect fill="#FFFFFF" filter="url(#f1o57wmgua4eph)" height="319.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="568.5" y="126.5625"/><rect fill="#FFFFFF" filter="url(#f1o57wmgua4eph)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="708.5" y="272.2266"/><rect fill="#FFFFFF" filter="url(#f1o57wmgua4eph)" height="121.3359" style="stroke: #000000; stroke-width: 2.0;" width="645" x="13" y="316.3594"/><rect fill="#FFFFFF" height="43.9375" style="stroke: none; stroke-width: 1.0;" width="645" x="13" y="362.625"/><rect fill="#FFFFFF" height="31.1328" style="stroke: none; stroke-width: 1.0;" width="645" x="13" y="406.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="85" x2="85" y1="38.2969" y2="77.4297"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="85" x2="85" y1="77.4297" y2="105.4297"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="85" x2="85" y1="105.4297" y2="454.6953"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="234" x2="234" y1="38.2969" y2="77.4297"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="234" x2="234" y1="77.4297" y2="105.4297"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="234" x2="234" y1="105.4297" y2="454.6953"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="404" x2="404" y1="38.2969" y2="77.4297"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="404" x2="404" y1="77.4297" y2="105.4297"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="404" x2="404" y1="105.4297" y2="454.6953"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="573" x2="573" y1="38.2969" y2="77.4297"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="573" x2="573" y1="77.4297" y2="105.4297"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="573" x2="573" y1="105.4297" y2="454.6953"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="713" x2="713" y1="38.2969" y2="77.4297"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="713" x2="713" y1="77.4297" y2="105.4297"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="713" x2="713" y1="105.4297" y2="454.6953"/><rect fill="#FEFECE" filter="url(#f1o57wmgua4eph)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="121" x="23" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="107" x="30" y="22.9951">AutoLock Timer</text><rect fill="#FEFECE" filter="url(#f1o57wmgua4eph)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="121" x="23" y="453.6953"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="107" x="30" y="473.6904">AutoLock Timer</text><rect fill="#FEFECE" filter="url(#f1o57wmgua4eph)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="148" x="158" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="134" x="165" y="22.9951">PhoneLock Handler</text><rect fill="#FEFECE" filter="url(#f1o57wmgua4eph)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="148" x="158" y="453.6953"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="134" x="165" y="473.6904">PhoneLock Handler</text><rect fill="#FEFECE" filter="url(#f1o57wmgua4eph)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="165" x="320" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="151" x="327" y="22.9951">PhoneMode Observer</text><rect fill="#FEFECE" filter="url(#f1o57wmgua4eph)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="165" x="320" y="453.6953"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="151" x="327" y="473.6904">PhoneMode Observer</text><rect fill="#FEFECE" filter="url(#f1o57wmgua4eph)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="145" x="499" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="131" x="506" y="22.9951">Application Manger</text><rect fill="#FEFECE" filter="url(#f1o57wmgua4eph)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="145" x="499" y="453.6953"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="131" x="506" y="473.6904">Application Manger</text><rect fill="#FEFECE" filter="url(#f1o57wmgua4eph)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="89" x="667" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="75" x="674" y="22.9951">Application</text><rect fill="#FEFECE" filter="url(#f1o57wmgua4eph)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="89" x="667" y="453.6953"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="75" x="674" y="473.6904">Application</text><rect fill="#FFFFFF" filter="url(#f1o57wmgua4eph)" height="8" style="stroke: #FFFFFF; stroke-width: 1.0;" width="10" x="80.5" y="69.4297"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="80.5" x2="80.5" y1="69.4297" y2="77.4297"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="90.5" x2="90.5" y1="69.4297" y2="77.4297"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="80.5" x2="90.5" y1="69.4297" y2="69.4297"/><rect fill="#FFFFFF" filter="url(#f1o57wmgua4eph)" height="21.1328" style="stroke: #FFFFFF; stroke-width: 1.0;" width="10" x="80.5" y="105.4297"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="80.5" x2="80.5" y1="105.4297" y2="126.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="90.5" x2="90.5" y1="105.4297" y2="126.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="80.5" x2="90.5" y1="126.5625" y2="126.5625"/><rect fill="#FFFFFF" filter="url(#f1o57wmgua4eph)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="229" y="155.6953"/><rect fill="#FFFFFF" filter="url(#f1o57wmgua4eph)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="399.5" y="213.9609"/><rect fill="#FFFFFF" filter="url(#f1o57wmgua4eph)" height="21.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="568.5" y="48.2969"/><rect fill="#FFFFFF" filter="url(#f1o57wmgua4eph)" height="319.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="568.5" y="126.5625"/><rect fill="#FFFFFF" filter="url(#f1o57wmgua4eph)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="708.5" y="272.2266"/><polygon fill="#A80036" points="101.5,65.4297,91.5,69.4297,101.5,73.4297,97.5,69.4297" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="95.5" x2="572.5" y1="69.4297" y2="69.4297"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="53" x="107.5" y="64.3638">(re)start</text><polygon fill="#A80036" points="556.5,122.5625,566.5,126.5625,556.5,130.5625,560.5,126.5625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="85.5" x2="562.5" y1="126.5625" y2="126.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="92.5" y="121.4966">onPhoneLock</text><polygon fill="#A80036" points="250,151.6953,240,155.6953,250,159.6953,246,155.6953" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="244" x2="567.5" y1="155.6953" y2="155.6953"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="55" x="256" y="150.6294">isLocked</text><polygon fill="#A80036" points="556.5,180.8281,566.5,184.8281,556.5,188.8281,560.5,184.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="234" x2="562.5" y1="184.8281" y2="184.8281"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="59" x="241" y="179.7622">response</text><polygon fill="#A80036" points="420.5,209.9609,410.5,213.9609,420.5,217.9609,416.5,213.9609" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="414.5" x2="567.5" y1="213.9609" y2="213.9609"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="88" x="426.5" y="208.895">isTetheringOn</text><polygon fill="#A80036" points="556.5,239.0938,566.5,243.0938,556.5,247.0938,560.5,243.0938" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="404.5" x2="562.5" y1="243.0938" y2="243.0938"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="59" x="411.5" y="238.0278">response</text><polygon fill="#A80036" points="696.5,268.2266,706.5,272.2266,696.5,276.2266,700.5,272.2266" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="578.5" x2="702.5" y1="272.2266" y2="272.2266"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="111" x="585.5" y="267.1606">preventsAutolock</text><polygon fill="#A80036" points="589.5,297.3594,579.5,301.3594,589.5,305.3594,585.5,301.3594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="583.5" x2="712.5" y1="301.3594" y2="301.3594"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="59" x="595.5" y="296.2935">response</text><path d="M13,316.3594 L77,316.3594 L77,323.3594 L67,333.3594 L13,333.3594 L13,316.3594 " fill="#EEEEEE" style="stroke: #000000; stroke-width: 1.0;"/><rect fill="none" height="121.3359" style="stroke: #000000; stroke-width: 2.0;" width="645" x="13" y="316.3594"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="19" x="28" y="329.4263">alt</text><a target="_top" xlink:actuate="onRequest" xlink:href="" xlink:show="new" xlink:title="" xlink:type="simple"><text fill="#0000FF" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="57" x="92" y="328.5698">is locked</text><line style="stroke: #0000FF; stroke-width: 1.0;" x1="92" x2="149" y1="330.5698" y2="330.5698"/></a><polygon fill="#A80036" points="96.5,350.625,86.5,354.625,96.5,358.625,92.5,354.625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="90.5" x2="567.5" y1="354.625" y2="354.625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="28" x="102.5" y="349.5591">stop</text><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="13" x2="658" y1="363.625" y2="363.625"/><a target="_top" xlink:actuate="onRequest" xlink:href="" xlink:show="new" xlink:title="" xlink:type="simple"><text fill="#0000FF" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="215" x="18" y="373.8354">tetheringIsOn || preventsAutolock</text><line style="stroke: #0000FF; stroke-width: 1.0;" x1="18" x2="233" y1="375.8354" y2="375.8354"/></a><polygon fill="#A80036" points="96.5,394.5625,86.5,398.5625,96.5,402.5625,92.5,398.5625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="90.5" x2="567.5" y1="398.5625" y2="398.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="43" x="102.5" y="393.4966">restart</text><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="13" x2="658" y1="407.5625" y2="407.5625"/><polygon fill="#A80036" points="245,425.6953,235,429.6953,245,433.6953,241,429.6953" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="239" x2="567.5" y1="429.6953" y2="429.6953"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="78" x="251" y="424.6294">request lock</text><!--
<?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="494px" preserveAspectRatio="none" style="width:767px;height:494px;background:#F0F0F0;" version="1.1" viewBox="0 0 767 494" width="767px" zoomAndPan="magnify"><defs><filter height="300%" id="f900ulwioappb" 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(#f900ulwioappb)" height="8" style="stroke: #FFFFFF; stroke-width: 1.0;" width="10" x="80.5" y="69.4297"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="80.5" x2="80.5" y1="69.4297" y2="77.4297"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="90.5" x2="90.5" y1="69.4297" y2="77.4297"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="80.5" x2="90.5" y1="69.4297" y2="69.4297"/><rect fill="#FFFFFF" filter="url(#f900ulwioappb)" height="21.1328" style="stroke: #FFFFFF; stroke-width: 1.0;" width="10" x="80.5" y="105.4297"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="80.5" x2="80.5" y1="105.4297" y2="126.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="90.5" x2="90.5" y1="105.4297" y2="126.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="80.5" x2="90.5" y1="126.5625" y2="126.5625"/><rect fill="#FFFFFF" filter="url(#f900ulwioappb)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="229" y="155.6953"/><rect fill="#FFFFFF" filter="url(#f900ulwioappb)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="399.5" y="213.9609"/><rect fill="#FFFFFF" filter="url(#f900ulwioappb)" height="21.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="568.5" y="48.2969"/><rect fill="#FFFFFF" filter="url(#f900ulwioappb)" height="319.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="568.5" y="126.5625"/><rect fill="#FFFFFF" filter="url(#f900ulwioappb)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="708.5" y="272.2266"/><rect fill="#F0F0F0" filter="url(#f900ulwioappb)" height="121.3359" style="stroke: #000000; stroke-width: 2.0;" width="645" x="13" y="316.3594"/><rect fill="#F0F0F0" height="43.9375" style="stroke: none; stroke-width: 1.0;" width="645" x="13" y="362.625"/><rect fill="#F0F0F0" height="31.1328" style="stroke: none; stroke-width: 1.0;" width="645" x="13" y="406.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="85" x2="85" y1="38.2969" y2="77.4297"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="85" x2="85" y1="77.4297" y2="105.4297"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="85" x2="85" y1="105.4297" y2="454.6953"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="234" x2="234" y1="38.2969" y2="77.4297"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="234" x2="234" y1="77.4297" y2="105.4297"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="234" x2="234" y1="105.4297" y2="454.6953"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="404" x2="404" y1="38.2969" y2="77.4297"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="404" x2="404" y1="77.4297" y2="105.4297"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="404" x2="404" y1="105.4297" y2="454.6953"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="573" x2="573" y1="38.2969" y2="77.4297"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="573" x2="573" y1="77.4297" y2="105.4297"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="573" x2="573" y1="105.4297" y2="454.6953"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="713" x2="713" y1="38.2969" y2="77.4297"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="713" x2="713" y1="77.4297" y2="105.4297"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="713" x2="713" y1="105.4297" y2="454.6953"/><rect fill="#FEFECE" filter="url(#f900ulwioappb)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="121" x="23" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="107" x="30" y="22.9951">AutoLock Timer</text><rect fill="#FEFECE" filter="url(#f900ulwioappb)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="121" x="23" y="453.6953"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="107" x="30" y="473.6904">AutoLock Timer</text><rect fill="#FEFECE" filter="url(#f900ulwioappb)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="148" x="158" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="134" x="165" y="22.9951">PhoneLock Handler</text><rect fill="#FEFECE" filter="url(#f900ulwioappb)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="148" x="158" y="453.6953"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="134" x="165" y="473.6904">PhoneLock Handler</text><rect fill="#FEFECE" filter="url(#f900ulwioappb)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="165" x="320" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="151" x="327" y="22.9951">PhoneMode Observer</text><rect fill="#FEFECE" filter="url(#f900ulwioappb)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="165" x="320" y="453.6953"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="151" x="327" y="473.6904">PhoneMode Observer</text><rect fill="#FEFECE" filter="url(#f900ulwioappb)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="145" x="499" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="131" x="506" y="22.9951">Application Manger</text><rect fill="#FEFECE" filter="url(#f900ulwioappb)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="145" x="499" y="453.6953"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="131" x="506" y="473.6904">Application Manger</text><rect fill="#FEFECE" filter="url(#f900ulwioappb)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="89" x="667" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="75" x="674" y="22.9951">Application</text><rect fill="#FEFECE" filter="url(#f900ulwioappb)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="89" x="667" y="453.6953"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="75" x="674" y="473.6904">Application</text><rect fill="#FFFFFF" filter="url(#f900ulwioappb)" height="8" style="stroke: #FFFFFF; stroke-width: 1.0;" width="10" x="80.5" y="69.4297"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="80.5" x2="80.5" y1="69.4297" y2="77.4297"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="90.5" x2="90.5" y1="69.4297" y2="77.4297"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="80.5" x2="90.5" y1="69.4297" y2="69.4297"/><rect fill="#FFFFFF" filter="url(#f900ulwioappb)" height="21.1328" style="stroke: #FFFFFF; stroke-width: 1.0;" width="10" x="80.5" y="105.4297"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="80.5" x2="80.5" y1="105.4297" y2="126.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="90.5" x2="90.5" y1="105.4297" y2="126.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="80.5" x2="90.5" y1="126.5625" y2="126.5625"/><rect fill="#FFFFFF" filter="url(#f900ulwioappb)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="229" y="155.6953"/><rect fill="#FFFFFF" filter="url(#f900ulwioappb)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="399.5" y="213.9609"/><rect fill="#FFFFFF" filter="url(#f900ulwioappb)" height="21.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="568.5" y="48.2969"/><rect fill="#FFFFFF" filter="url(#f900ulwioappb)" height="319.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="568.5" y="126.5625"/><rect fill="#FFFFFF" filter="url(#f900ulwioappb)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="708.5" y="272.2266"/><polygon fill="#A80036" points="101.5,65.4297,91.5,69.4297,101.5,73.4297,97.5,69.4297" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="95.5" x2="572.5" y1="69.4297" y2="69.4297"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="53" x="107.5" y="64.3638">(re)start</text><polygon fill="#A80036" points="556.5,122.5625,566.5,126.5625,556.5,130.5625,560.5,126.5625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="85.5" x2="562.5" y1="126.5625" y2="126.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="92.5" y="121.4966">onPhoneLock</text><polygon fill="#A80036" points="250,151.6953,240,155.6953,250,159.6953,246,155.6953" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="244" x2="567.5" y1="155.6953" y2="155.6953"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="55" x="256" y="150.6294">isLocked</text><polygon fill="#A80036" points="556.5,180.8281,566.5,184.8281,556.5,188.8281,560.5,184.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="234" x2="562.5" y1="184.8281" y2="184.8281"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="59" x="241" y="179.7622">response</text><polygon fill="#A80036" points="420.5,209.9609,410.5,213.9609,420.5,217.9609,416.5,213.9609" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="414.5" x2="567.5" y1="213.9609" y2="213.9609"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="88" x="426.5" y="208.895">isTetheringOn</text><polygon fill="#A80036" points="556.5,239.0938,566.5,243.0938,556.5,247.0938,560.5,243.0938" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="404.5" x2="562.5" y1="243.0938" y2="243.0938"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="59" x="411.5" y="238.0278">response</text><polygon fill="#A80036" points="696.5,268.2266,706.5,272.2266,696.5,276.2266,700.5,272.2266" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="578.5" x2="702.5" y1="272.2266" y2="272.2266"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="111" x="585.5" y="267.1606">preventsAutolock</text><polygon fill="#A80036" points="589.5,297.3594,579.5,301.3594,589.5,305.3594,585.5,301.3594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="583.5" x2="712.5" y1="301.3594" y2="301.3594"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="59" x="595.5" y="296.2935">response</text><path d="M13,316.3594 L77,316.3594 L77,323.3594 L67,333.3594 L13,333.3594 L13,316.3594 " fill="#EEEEEE" style="stroke: #000000; stroke-width: 1.0;"/><rect fill="none" height="121.3359" style="stroke: #000000; stroke-width: 2.0;" width="645" x="13" y="316.3594"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="19" x="28" y="329.4263">alt</text><a href="" target="_top" title="" xlink:actuate="onRequest" xlink:href="" xlink:show="new" xlink:title="" xlink:type="simple"><text fill="#0000FF" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="57" x="92" y="328.5698">is locked</text></a><polygon fill="#A80036" points="96.5,350.625,86.5,354.625,96.5,358.625,92.5,354.625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="90.5" x2="567.5" y1="354.625" y2="354.625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="28" x="102.5" y="349.5591">stop</text><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="13" x2="658" y1="363.625" y2="363.625"/><a href="" target="_top" title="" xlink:actuate="onRequest" xlink:href="" xlink:show="new" xlink:title="" xlink:type="simple"><text fill="#0000FF" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="215" x="18" y="373.8354">tetheringIsOn || preventsAutolock</text></a><polygon fill="#A80036" points="96.5,394.5625,86.5,398.5625,96.5,402.5625,92.5,398.5625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="90.5" x2="567.5" y1="398.5625" y2="398.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="43" x="102.5" y="393.4966">restart</text><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="13" x2="658" y1="407.5625" y2="407.5625"/><polygon fill="#A80036" points="245,425.6953,235,429.6953,245,433.6953,241,429.6953" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="239" x2="567.5" y1="429.6953" y2="429.6953"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="78" x="251" y="424.6294">request lock</text><!--MD5=[eea8b7c340aa3510b9c46048aa7426b2]
@startuml
skinparam BackgroundColor F0F0F0

participant "AutoLock Timer" as timer
participant "PhoneLock Handler" as lock


@@ 43,13 44,12 @@ end

@enduml

PlantUML version 1.2018.13(Mon Nov 26 18:11:51 CET 2018)
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.11+9-Ubuntu-0ubuntu2.20.04
Java Version: 11.0.12+7-post-Debian-2
Operating System: Linux
OS Version: 5.8.0-53-generic
Default Encoding: UTF-8
Language: en
Country: US

M module-services/service-bluetooth/doc/bluetooth-pairing-general-view.puml => module-services/service-bluetooth/doc/bluetooth-pairing-general-view.puml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0

actor "External BT device" as extbt
participant "Worker Bluetooth" as workbt

M module-services/service-bluetooth/doc/bluetooth-pairing-general-view.svg => module-services/service-bluetooth/doc/bluetooth-pairing-general-view.svg +4 -4
@@ 1,5 1,6 @@
<?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="467px" preserveAspectRatio="none" style="width:908px;height:467px;" version="1.1" viewBox="0 0 908 467" width="908px" zoomAndPan="magnify"><defs><filter height="300%" id="f1ugik642gy5so" 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(#f1ugik642gy5so)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="69.5" y="274.7656"/><rect fill="#FFFFFF" filter="url(#f1ugik642gy5so)" height="87.3984" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="215.5" y="245.6328"/><rect fill="#FFFFFF" filter="url(#f1ugik642gy5so)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="402.5" y="216.5"/><rect fill="#FFFFFF" filter="url(#f1ugik642gy5so)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="547" y="117.4297"/><rect fill="#FFFFFF" filter="url(#f1ugik642gy5so)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="547" y="333.0313"/><rect fill="#FFFFFF" filter="url(#f1ugik642gy5so)" height="58.2656" style="stroke: #FFFFFF; stroke-width: 1.0;" width="10" x="819" y="96.2969"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="819" x2="819" y1="96.2969" y2="154.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="829" x2="829" y1="96.2969" y2="154.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="819" x2="829" y1="96.2969" y2="96.2969"/><rect fill="#FFFFFF" filter="url(#f1ugik642gy5so)" height="175.7969" style="stroke: #FFFFFF; stroke-width: 1.0;" width="10" x="819" y="195.3672"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="819" x2="819" y1="195.3672" y2="371.1641"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="829" x2="829" y1="195.3672" y2="371.1641"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="74" x2="74" y1="86.2969" y2="154.5625"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="74" x2="74" y1="154.5625" y2="195.3672"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="74" x2="74" y1="195.3672" y2="380.1641"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="220" x2="220" y1="86.2969" y2="154.5625"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="220" x2="220" y1="154.5625" y2="195.3672"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="220" x2="220" y1="195.3672" y2="380.1641"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="407.5" x2="407.5" y1="86.2969" y2="154.5625"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="407.5" x2="407.5" y1="154.5625" y2="195.3672"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="407.5" x2="407.5" y1="195.3672" y2="380.1641"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="551.5" x2="551.5" y1="86.2969" y2="154.5625"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="551.5" x2="551.5" y1="154.5625" y2="195.3672"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="551.5" x2="551.5" y1="195.3672" y2="380.1641"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="824" x2="824" y1="86.2969" y2="154.5625"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="824" x2="824" y1="154.5625" y2="195.3672"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="824" x2="824" y1="195.3672" y2="380.1641"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="127" x="8" y="82.9951">External BT device</text><ellipse cx="74.5" cy="13" fill="#FEFECE" filter="url(#f1ugik642gy5so)" rx="8" ry="8" style="stroke: #A80036; stroke-width: 2.0;"/><path d="M74.5,21 L74.5,48 M61.5,29 L87.5,29 M74.5,48 L61.5,63 M74.5,48 L87.5,63 " fill="none" filter="url(#f1ugik642gy5so)" style="stroke: #A80036; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="127" x="8" y="392.1592">External BT device</text><ellipse cx="74.5" cy="405.4609" fill="#FEFECE" filter="url(#f1ugik642gy5so)" rx="8" ry="8" style="stroke: #A80036; stroke-width: 2.0;"/><path d="M74.5,413.4609 L74.5,440.4609 M61.5,421.4609 L87.5,421.4609 M74.5,440.4609 L61.5,455.4609 M74.5,440.4609 L87.5,455.4609 " fill="none" filter="url(#f1ugik642gy5so)" style="stroke: #A80036; stroke-width: 2.0;"/><rect fill="#FEFECE" filter="url(#f1ugik642gy5so)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="135" x="151" y="51"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="121" x="158" y="70.9951">Worker Bluetooth</text><rect fill="#FEFECE" filter="url(#f1ugik642gy5so)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="135" x="151" y="379.1641"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="121" x="158" y="399.1592">Worker Bluetooth</text><rect fill="#FEFECE" filter="url(#f1ugik642gy5so)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="136" x="337.5" y="51"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="122" x="344.5" y="70.9951">Service Bluetooth</text><rect fill="#FEFECE" filter="url(#f1ugik642gy5so)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="136" x="337.5" y="379.1641"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="122" x="344.5" y="399.1592">Service Bluetooth</text><rect fill="#FEFECE" filter="url(#f1ugik642gy5so)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="125" x="487.5" y="51"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="111" x="494.5" y="70.9951">Database Agent</text><rect fill="#FEFECE" filter="url(#f1ugik642gy5so)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="125" x="487.5" y="379.1641"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="111" x="494.5" y="399.1592">Database Agent</text><rect fill="#FEFECE" filter="url(#f1ugik642gy5so)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="150" x="747" y="51"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="136" x="754" y="70.9951">Application Settings</text><rect fill="#FEFECE" filter="url(#f1ugik642gy5so)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="150" x="747" y="379.1641"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="136" x="754" y="399.1592">Application Settings</text><rect fill="#FFFFFF" filter="url(#f1ugik642gy5so)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="69.5" y="274.7656"/><rect fill="#FFFFFF" filter="url(#f1ugik642gy5so)" height="87.3984" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="215.5" y="245.6328"/><rect fill="#FFFFFF" filter="url(#f1ugik642gy5so)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="402.5" y="216.5"/><rect fill="#FFFFFF" filter="url(#f1ugik642gy5so)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="547" y="117.4297"/><rect fill="#FFFFFF" filter="url(#f1ugik642gy5so)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="547" y="333.0313"/><rect fill="#FFFFFF" filter="url(#f1ugik642gy5so)" height="58.2656" style="stroke: #FFFFFF; stroke-width: 1.0;" width="10" x="819" y="96.2969"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="819" x2="819" y1="96.2969" y2="154.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="829" x2="829" y1="96.2969" y2="154.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="819" x2="829" y1="96.2969" y2="96.2969"/><rect fill="#FFFFFF" filter="url(#f1ugik642gy5so)" height="175.7969" style="stroke: #FFFFFF; stroke-width: 1.0;" width="10" x="819" y="195.3672"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="819" x2="819" y1="195.3672" y2="371.1641"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="829" x2="829" y1="195.3672" y2="371.1641"/><polygon fill="#A80036" points="568,113.4297,558,117.4297,568,121.4297,564,117.4297" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="562" x2="818" y1="117.4297" y2="117.4297"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="243" x="574" y="112.3638">register cb on bonded devices change</text><polygon fill="#A80036" points="807,142.5625,817,146.5625,807,150.5625,811,146.5625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="552" x2="813" y1="146.5625" y2="146.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="155" x="559" y="141.4966">bonded devices callback</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="0" x="451.25" y="178.7729"/><polygon fill="#A80036" points="423.5,212.5,413.5,216.5,423.5,220.5,419.5,216.5" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="417.5" x2="818" y1="216.5" y2="216.5"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="117" x="429.5" y="211.4341">pair msg(address)</text><polygon fill="#A80036" points="236.5,241.6328,226.5,245.6328,236.5,249.6328,232.5,245.6328" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="230.5" x2="406.5" y1="245.6328" y2="245.6328"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="158" x="242.5" y="240.5669">command(pair, address)</text><polygon fill="#A80036" points="90.5,270.7656,80.5,274.7656,90.5,278.7656,86.5,274.7656" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="84.5" x2="214.5" y1="274.7656" y2="274.7656"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="96.5" y="269.6997">bond</text><polygon fill="#A80036" points="203.5,299.8984,213.5,303.8984,203.5,307.8984,207.5,303.8984" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="74.5" x2="209.5" y1="303.8984" y2="303.8984"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="52" x="81.5" y="298.8325">respond</text><polygon fill="#A80036" points="535,329.0313,545,333.0313,535,337.0313,539,333.0313" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="220.5" x2="541" y1="333.0313" y2="333.0313"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="149" x="227.5" y="327.9653">update bonded devices</text><polygon fill="#A80036" points="807,358.1641,817,362.1641,807,366.1641,811,362.1641" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="552" x2="813" y1="362.1641" y2="362.1641"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="155" x="559" y="357.0981">bonded devices callback</text><!--
<?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="467px" preserveAspectRatio="none" style="width:908px;height:467px;background:#F0F0F0;" version="1.1" viewBox="0 0 908 467" width="908px" zoomAndPan="magnify"><defs><filter height="300%" id="fehg936av5gxa" 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(#fehg936av5gxa)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="69.5" y="274.7656"/><rect fill="#FFFFFF" filter="url(#fehg936av5gxa)" height="87.3984" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="215.5" y="245.6328"/><rect fill="#FFFFFF" filter="url(#fehg936av5gxa)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="402.5" y="216.5"/><rect fill="#FFFFFF" filter="url(#fehg936av5gxa)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="547" y="117.4297"/><rect fill="#FFFFFF" filter="url(#fehg936av5gxa)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="547" y="333.0313"/><rect fill="#FFFFFF" filter="url(#fehg936av5gxa)" height="58.2656" style="stroke: #FFFFFF; stroke-width: 1.0;" width="10" x="819" y="96.2969"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="819" x2="819" y1="96.2969" y2="154.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="829" x2="829" y1="96.2969" y2="154.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="819" x2="829" y1="96.2969" y2="96.2969"/><rect fill="#FFFFFF" filter="url(#fehg936av5gxa)" height="175.7969" style="stroke: #FFFFFF; stroke-width: 1.0;" width="10" x="819" y="195.3672"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="819" x2="819" y1="195.3672" y2="371.1641"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="829" x2="829" y1="195.3672" y2="371.1641"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="74" x2="74" y1="86.2969" y2="154.5625"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="74" x2="74" y1="154.5625" y2="195.3672"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="74" x2="74" y1="195.3672" y2="380.1641"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="220" x2="220" y1="86.2969" y2="154.5625"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="220" x2="220" y1="154.5625" y2="195.3672"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="220" x2="220" y1="195.3672" y2="380.1641"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="407.5" x2="407.5" y1="86.2969" y2="154.5625"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="407.5" x2="407.5" y1="154.5625" y2="195.3672"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="407.5" x2="407.5" y1="195.3672" y2="380.1641"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="551.5" x2="551.5" y1="86.2969" y2="154.5625"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="551.5" x2="551.5" y1="154.5625" y2="195.3672"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="551.5" x2="551.5" y1="195.3672" y2="380.1641"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="824" x2="824" y1="86.2969" y2="154.5625"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="824" x2="824" y1="154.5625" y2="195.3672"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="824" x2="824" y1="195.3672" y2="380.1641"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="127" x="8" y="82.9951">External BT device</text><ellipse cx="74.5" cy="13" fill="#FEFECE" filter="url(#fehg936av5gxa)" rx="8" ry="8" style="stroke: #A80036; stroke-width: 2.0;"/><path d="M74.5,21 L74.5,48 M61.5,29 L87.5,29 M74.5,48 L61.5,63 M74.5,48 L87.5,63 " fill="none" filter="url(#fehg936av5gxa)" style="stroke: #A80036; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="127" x="8" y="392.1592">External BT device</text><ellipse cx="74.5" cy="405.4609" fill="#FEFECE" filter="url(#fehg936av5gxa)" rx="8" ry="8" style="stroke: #A80036; stroke-width: 2.0;"/><path d="M74.5,413.4609 L74.5,440.4609 M61.5,421.4609 L87.5,421.4609 M74.5,440.4609 L61.5,455.4609 M74.5,440.4609 L87.5,455.4609 " fill="none" filter="url(#fehg936av5gxa)" style="stroke: #A80036; stroke-width: 2.0;"/><rect fill="#FEFECE" filter="url(#fehg936av5gxa)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="135" x="151" y="51"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="121" x="158" y="70.9951">Worker Bluetooth</text><rect fill="#FEFECE" filter="url(#fehg936av5gxa)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="135" x="151" y="379.1641"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="121" x="158" y="399.1592">Worker Bluetooth</text><rect fill="#FEFECE" filter="url(#fehg936av5gxa)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="136" x="337.5" y="51"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="122" x="344.5" y="70.9951">Service Bluetooth</text><rect fill="#FEFECE" filter="url(#fehg936av5gxa)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="136" x="337.5" y="379.1641"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="122" x="344.5" y="399.1592">Service Bluetooth</text><rect fill="#FEFECE" filter="url(#fehg936av5gxa)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="125" x="487.5" y="51"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="111" x="494.5" y="70.9951">Database Agent</text><rect fill="#FEFECE" filter="url(#fehg936av5gxa)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="125" x="487.5" y="379.1641"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="111" x="494.5" y="399.1592">Database Agent</text><rect fill="#FEFECE" filter="url(#fehg936av5gxa)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="150" x="747" y="51"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="136" x="754" y="70.9951">Application Settings</text><rect fill="#FEFECE" filter="url(#fehg936av5gxa)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="150" x="747" y="379.1641"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="136" x="754" y="399.1592">Application Settings</text><rect fill="#FFFFFF" filter="url(#fehg936av5gxa)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="69.5" y="274.7656"/><rect fill="#FFFFFF" filter="url(#fehg936av5gxa)" height="87.3984" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="215.5" y="245.6328"/><rect fill="#FFFFFF" filter="url(#fehg936av5gxa)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="402.5" y="216.5"/><rect fill="#FFFFFF" filter="url(#fehg936av5gxa)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="547" y="117.4297"/><rect fill="#FFFFFF" filter="url(#fehg936av5gxa)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="547" y="333.0313"/><rect fill="#FFFFFF" filter="url(#fehg936av5gxa)" height="58.2656" style="stroke: #FFFFFF; stroke-width: 1.0;" width="10" x="819" y="96.2969"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="819" x2="819" y1="96.2969" y2="154.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="829" x2="829" y1="96.2969" y2="154.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="819" x2="829" y1="96.2969" y2="96.2969"/><rect fill="#FFFFFF" filter="url(#fehg936av5gxa)" height="175.7969" style="stroke: #FFFFFF; stroke-width: 1.0;" width="10" x="819" y="195.3672"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="819" x2="819" y1="195.3672" y2="371.1641"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="829" x2="829" y1="195.3672" y2="371.1641"/><polygon fill="#A80036" points="568,113.4297,558,117.4297,568,121.4297,564,117.4297" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="562" x2="818" y1="117.4297" y2="117.4297"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="243" x="574" y="112.3638">register cb on bonded devices change</text><polygon fill="#A80036" points="807,142.5625,817,146.5625,807,150.5625,811,146.5625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="552" x2="813" y1="146.5625" y2="146.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="155" x="559" y="141.4966">bonded devices callback</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="0" x="450.75" y="178.7729"/><polygon fill="#A80036" points="423.5,212.5,413.5,216.5,423.5,220.5,419.5,216.5" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="417.5" x2="818" y1="216.5" y2="216.5"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="117" x="429.5" y="211.4341">pair msg(address)</text><polygon fill="#A80036" points="236.5,241.6328,226.5,245.6328,236.5,249.6328,232.5,245.6328" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="230.5" x2="406.5" y1="245.6328" y2="245.6328"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="158" x="242.5" y="240.5669">command(pair, address)</text><polygon fill="#A80036" points="90.5,270.7656,80.5,274.7656,90.5,278.7656,86.5,274.7656" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="84.5" x2="214.5" y1="274.7656" y2="274.7656"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="96.5" y="269.6997">bond</text><polygon fill="#A80036" points="203.5,299.8984,213.5,303.8984,203.5,307.8984,207.5,303.8984" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="74.5" x2="209.5" y1="303.8984" y2="303.8984"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="52" x="81.5" y="298.8325">respond</text><polygon fill="#A80036" points="535,329.0313,545,333.0313,535,337.0313,539,333.0313" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="220.5" x2="541" y1="333.0313" y2="333.0313"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="149" x="227.5" y="327.9653">update bonded devices</text><polygon fill="#A80036" points="807,358.1641,817,362.1641,807,366.1641,811,362.1641" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="552" x2="813" y1="362.1641" y2="362.1641"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="155" x="559" y="357.0981">bonded devices callback</text><!--MD5=[3d3f1ac1f7462bd4790273cb02dd2ff2]
@startuml
skinparam BackgroundColor F0F0F0

actor "External BT device" as extbt
participant "Worker Bluetooth" as workbt


@@ 34,13 35,12 @@ appsett <- sett : bonded devices callback

@enduml

PlantUML version 1.2018.13(Mon Nov 26 18:11:51 CET 2018)
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.10+9-Ubuntu-0ubuntu1.20.04
Java Version: 11.0.12+7-post-Debian-2
Operating System: Linux
OS Version: 5.8.0-44-generic
Default Encoding: UTF-8
Language: en
Country: US

M module-services/service-bluetooth/doc/bluetooth-scanning-general-view.puml => module-services/service-bluetooth/doc/bluetooth-scanning-general-view.puml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0

participant "Worker Bluetooth" as workbt
participant "Service Bluetooth" as srvbt

M module-services/service-bluetooth/doc/bluetooth-scanning-general-view.svg => module-services/service-bluetooth/doc/bluetooth-scanning-general-view.svg +4 -4
@@ 1,5 1,6 @@
<?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="388px" preserveAspectRatio="none" style="width:547px;height:388px;" version="1.1" viewBox="0 0 547 388" width="547px" zoomAndPan="magnify"><defs><filter height="300%" id="f1ta8jzhqkv894" 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(#f1ta8jzhqkv894)" height="231.9297" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="132" y="98.5625"/><rect fill="#FFFFFF" filter="url(#f1ta8jzhqkv894)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="137" y="193.9609"/><rect fill="#FFFFFF" filter="url(#f1ta8jzhqkv894)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="287" y="69.4297"/><rect fill="#FFFFFF" filter="url(#f1ta8jzhqkv894)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="287" y="301.3594"/><rect fill="#FFFFFF" filter="url(#f1ta8jzhqkv894)" height="253.0625" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="444" y="48.2969"/><rect fill="#FFFFFF" filter="url(#f1ta8jzhqkv894)" height="35" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="449" y="223.0938"/><rect fill="#FFFFFF" filter="url(#f1ta8jzhqkv894)" height="117.5313" style="stroke: #000000; stroke-width: 2.0;" width="522" x="14" y="155.6953"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="136.5" x2="136.5" y1="38.2969" y2="348.4922"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="292" x2="292" y1="38.2969" y2="348.4922"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="449" x2="449" y1="38.2969" y2="348.4922"/><rect fill="#FEFECE" filter="url(#f1ta8jzhqkv894)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="135" x="67.5" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="121" x="74.5" y="22.9951">Worker Bluetooth</text><rect fill="#FEFECE" filter="url(#f1ta8jzhqkv894)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="135" x="67.5" y="347.4922"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="121" x="74.5" y="367.4873">Worker Bluetooth</text><rect fill="#FEFECE" filter="url(#f1ta8jzhqkv894)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="136" x="222" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="122" x="229" y="22.9951">Service Bluetooth</text><rect fill="#FEFECE" filter="url(#f1ta8jzhqkv894)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="136" x="222" y="347.4922"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="122" x="229" y="367.4873">Service Bluetooth</text><rect fill="#FEFECE" filter="url(#f1ta8jzhqkv894)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="150" x="372" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="136" x="379" y="22.9951">Application Settings</text><rect fill="#FEFECE" filter="url(#f1ta8jzhqkv894)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="150" x="372" y="347.4922"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="136" x="379" y="367.4873">Application Settings</text><rect fill="#FFFFFF" filter="url(#f1ta8jzhqkv894)" height="231.9297" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="132" y="98.5625"/><rect fill="#FFFFFF" filter="url(#f1ta8jzhqkv894)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="137" y="193.9609"/><rect fill="#FFFFFF" filter="url(#f1ta8jzhqkv894)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="287" y="69.4297"/><rect fill="#FFFFFF" filter="url(#f1ta8jzhqkv894)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="287" y="301.3594"/><rect fill="#FFFFFF" filter="url(#f1ta8jzhqkv894)" height="253.0625" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="444" y="48.2969"/><rect fill="#FFFFFF" filter="url(#f1ta8jzhqkv894)" height="35" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="449" y="223.0938"/><polygon fill="#A80036" points="308,65.4297,298,69.4297,308,73.4297,304,69.4297" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="302" x2="443" y1="69.4297" y2="69.4297"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="123" x="314" y="64.3638">start scanning msg</text><polygon fill="#A80036" points="153,94.5625,143,98.5625,153,102.5625,149,98.5625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="147" x2="291" y1="98.5625" y2="98.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="123" x="159" y="93.4966">command(scanOn)</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="142" x2="184" y1="127.6953" y2="127.6953"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="184" x2="184" y1="127.6953" y2="140.6953"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="143" x2="184" y1="140.6953" y2="140.6953"/><polygon fill="#A80036" points="153,136.6953,143,140.6953,153,144.6953,149,140.6953" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="48" x="149" y="122.6294">scanOn</text><path d="M14,155.6953 L91,155.6953 L91,162.6953 L81,172.6953 L14,172.6953 L14,155.6953 " fill="#EEEEEE" style="stroke: #000000; stroke-width: 1.0;"/><rect fill="none" height="117.5313" style="stroke: #000000; stroke-width: 2.0;" width="522" x="14" y="155.6953"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="32" x="29" y="168.7622">loop</text><ellipse cx="10.5" cy="193.2109" fill="none" rx="4" ry="4" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#A80036" points="120,189.9609,130,193.9609,120,197.9609,124,193.9609" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="15" x2="126" y1="193.9609" y2="193.9609"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="102" x="18" y="188.895">device detected</text><polygon fill="#A80036" points="437,219.0938,447,223.0938,437,227.0938,441,223.0938" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="142" x2="443" y1="223.0938" y2="223.0938"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="133" x="149" y="218.0278">available device msg</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="459" x2="501" y1="257.2266" y2="257.2266"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="501" x2="501" y1="257.2266" y2="270.2266"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="454" x2="501" y1="270.2266" y2="270.2266"/><polygon fill="#A80036" points="464,266.2266,454,270.2266,464,274.2266,460,270.2266" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="50" x="466" y="252.1606">process</text><polygon fill="#A80036" points="308,297.3594,298,301.3594,308,305.3594,304,301.3594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="302" x2="448" y1="301.3594" y2="301.3594"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="121" x="314" y="296.2935">stop scanning msg</text><polygon fill="#A80036" points="148,326.4922,138,330.4922,148,334.4922,144,330.4922" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="142" x2="291" y1="330.4922" y2="330.4922"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="121" x="154" y="325.4263">command(stanOff)</text><!--
<?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="388px" preserveAspectRatio="none" style="width:547px;height:388px;background:#F0F0F0;" version="1.1" viewBox="0 0 547 388" width="547px" zoomAndPan="magnify"><defs><filter height="300%" id="f1vf3wp9gfpmq6" 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(#f1vf3wp9gfpmq6)" height="231.9297" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="132" y="98.5625"/><rect fill="#FFFFFF" filter="url(#f1vf3wp9gfpmq6)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="137" y="193.9609"/><rect fill="#FFFFFF" filter="url(#f1vf3wp9gfpmq6)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="287" y="69.4297"/><rect fill="#FFFFFF" filter="url(#f1vf3wp9gfpmq6)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="287" y="301.3594"/><rect fill="#FFFFFF" filter="url(#f1vf3wp9gfpmq6)" height="253.0625" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="444" y="48.2969"/><rect fill="#FFFFFF" filter="url(#f1vf3wp9gfpmq6)" height="35.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="449" y="223.0938"/><rect fill="#F0F0F0" filter="url(#f1vf3wp9gfpmq6)" height="117.5313" style="stroke: #000000; stroke-width: 2.0;" width="522" x="14" y="155.6953"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="136.5" x2="136.5" y1="38.2969" y2="348.4922"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="292" x2="292" y1="38.2969" y2="348.4922"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="449" x2="449" y1="38.2969" y2="348.4922"/><rect fill="#FEFECE" filter="url(#f1vf3wp9gfpmq6)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="135" x="67.5" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="121" x="74.5" y="22.9951">Worker Bluetooth</text><rect fill="#FEFECE" filter="url(#f1vf3wp9gfpmq6)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="135" x="67.5" y="347.4922"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="121" x="74.5" y="367.4873">Worker Bluetooth</text><rect fill="#FEFECE" filter="url(#f1vf3wp9gfpmq6)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="136" x="222" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="122" x="229" y="22.9951">Service Bluetooth</text><rect fill="#FEFECE" filter="url(#f1vf3wp9gfpmq6)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="136" x="222" y="347.4922"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="122" x="229" y="367.4873">Service Bluetooth</text><rect fill="#FEFECE" filter="url(#f1vf3wp9gfpmq6)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="150" x="372" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="136" x="379" y="22.9951">Application Settings</text><rect fill="#FEFECE" filter="url(#f1vf3wp9gfpmq6)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="150" x="372" y="347.4922"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="136" x="379" y="367.4873">Application Settings</text><rect fill="#FFFFFF" filter="url(#f1vf3wp9gfpmq6)" height="231.9297" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="132" y="98.5625"/><rect fill="#FFFFFF" filter="url(#f1vf3wp9gfpmq6)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="137" y="193.9609"/><rect fill="#FFFFFF" filter="url(#f1vf3wp9gfpmq6)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="287" y="69.4297"/><rect fill="#FFFFFF" filter="url(#f1vf3wp9gfpmq6)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="287" y="301.3594"/><rect fill="#FFFFFF" filter="url(#f1vf3wp9gfpmq6)" height="253.0625" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="444" y="48.2969"/><rect fill="#FFFFFF" filter="url(#f1vf3wp9gfpmq6)" height="35.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="449" y="223.0938"/><polygon fill="#A80036" points="308,65.4297,298,69.4297,308,73.4297,304,69.4297" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="302" x2="443" y1="69.4297" y2="69.4297"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="123" x="314" y="64.3638">start scanning msg</text><polygon fill="#A80036" points="153,94.5625,143,98.5625,153,102.5625,149,98.5625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="147" x2="291" y1="98.5625" y2="98.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="123" x="159" y="93.4966">command(scanOn)</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="142" x2="184" y1="127.6953" y2="127.6953"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="184" x2="184" y1="127.6953" y2="140.6953"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="143" x2="184" y1="140.6953" y2="140.6953"/><polygon fill="#A80036" points="153,136.6953,143,140.6953,153,144.6953,149,140.6953" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="48" x="149" y="122.6294">scanOn</text><path d="M14,155.6953 L91,155.6953 L91,162.6953 L81,172.6953 L14,172.6953 L14,155.6953 " fill="#EEEEEE" style="stroke: #000000; stroke-width: 1.0;"/><rect fill="none" height="117.5313" style="stroke: #000000; stroke-width: 2.0;" width="522" x="14" y="155.6953"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="32" x="29" y="168.7622">loop</text><ellipse cx="10.5" cy="193.2109" fill="none" rx="4" ry="4" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#A80036" points="120,189.9609,130,193.9609,120,197.9609,124,193.9609" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="15" x2="126" y1="193.9609" y2="193.9609"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="102" x="18" y="188.895">device detected</text><polygon fill="#A80036" points="437,219.0938,447,223.0938,437,227.0938,441,223.0938" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="142" x2="443" y1="223.0938" y2="223.0938"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="133" x="149" y="218.0278">available device msg</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="459" x2="501" y1="257.2266" y2="257.2266"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="501" x2="501" y1="257.2266" y2="270.2266"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="454" x2="501" y1="270.2266" y2="270.2266"/><polygon fill="#A80036" points="464,266.2266,454,270.2266,464,274.2266,460,270.2266" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="50" x="466" y="252.1606">process</text><polygon fill="#A80036" points="308,297.3594,298,301.3594,308,305.3594,304,301.3594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="302" x2="448" y1="301.3594" y2="301.3594"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="121" x="314" y="296.2935">stop scanning msg</text><polygon fill="#A80036" points="148,326.4922,138,330.4922,148,334.4922,144,330.4922" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="142" x2="291" y1="330.4922" y2="330.4922"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="121" x="154" y="325.4263">command(stanOff)</text><!--MD5=[09fa92b7a8d40aab8e6d58f00c343db4]
@startuml
skinparam BackgroundColor F0F0F0

participant "Worker Bluetooth" as workbt
participant "Service Bluetooth" as srvbt


@@ 30,13 31,12 @@ appsett->srvbt : stop scanning msg

@enduml

PlantUML version 1.2018.13(Mon Nov 26 18:11:51 CET 2018)
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.10+9-Ubuntu-0ubuntu1.20.04
Java Version: 11.0.12+7-post-Debian-2
Operating System: Linux
OS Version: 5.8.0-44-generic
Default Encoding: UTF-8
Language: en
Country: US

M module-services/service-bluetooth/doc/bluetooth-unpairing-general-view.puml => module-services/service-bluetooth/doc/bluetooth-unpairing-general-view.puml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0

participant "Worker Bluetooth" as workbt
participant "Service Bluetooth" as srvbt

M module-services/service-bluetooth/doc/bluetooth-unpairing-general-view.svg => module-services/service-bluetooth/doc/bluetooth-unpairing-general-view.svg +4 -4
@@ 1,5 1,6 @@
<?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="314px" preserveAspectRatio="none" style="width:781px;height:314px;" version="1.1" viewBox="0 0 781 314" width="781px" zoomAndPan="magnify"><defs><filter height="300%" id="f1vsq77c71se17" 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(#f1vsq77c71se17)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="72.5" y="197.6328"/><rect fill="#FFFFFF" filter="url(#f1vsq77c71se17)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="275.5" y="168.5"/><rect fill="#FFFFFF" filter="url(#f1vsq77c71se17)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="420" y="69.4297"/><rect fill="#FFFFFF" filter="url(#f1vsq77c71se17)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="420" y="226.7656"/><rect fill="#FFFFFF" filter="url(#f1vsq77c71se17)" height="58.2656" style="stroke: #FFFFFF; stroke-width: 1.0;" width="10" x="692" y="48.2969"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="692" x2="692" y1="48.2969" y2="106.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="702" x2="702" y1="48.2969" y2="106.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="692" x2="702" y1="48.2969" y2="48.2969"/><rect fill="#FFFFFF" filter="url(#f1vsq77c71se17)" height="117.5313" style="stroke: #FFFFFF; stroke-width: 1.0;" width="10" x="692" y="147.3672"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="692" x2="692" y1="147.3672" y2="264.8984"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="702" x2="702" y1="147.3672" y2="264.8984"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="77" x2="77" y1="38.2969" y2="106.5625"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="77" x2="77" y1="106.5625" y2="147.3672"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="77" x2="77" y1="147.3672" y2="273.8984"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="280.5" x2="280.5" y1="38.2969" y2="106.5625"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="280.5" x2="280.5" y1="106.5625" y2="147.3672"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="280.5" x2="280.5" y1="147.3672" y2="273.8984"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="424.5" x2="424.5" y1="38.2969" y2="106.5625"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="424.5" x2="424.5" y1="106.5625" y2="147.3672"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="424.5" x2="424.5" y1="147.3672" y2="273.8984"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="697" x2="697" y1="38.2969" y2="106.5625"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="697" x2="697" y1="106.5625" y2="147.3672"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="697" x2="697" y1="147.3672" y2="273.8984"/><rect fill="#FEFECE" filter="url(#f1vsq77c71se17)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="135" x="8" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="121" x="15" y="22.9951">Worker Bluetooth</text><rect fill="#FEFECE" filter="url(#f1vsq77c71se17)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="135" x="8" y="272.8984"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="121" x="15" y="292.8936">Worker Bluetooth</text><rect fill="#FEFECE" filter="url(#f1vsq77c71se17)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="136" x="210.5" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="122" x="217.5" y="22.9951">Service Bluetooth</text><rect fill="#FEFECE" filter="url(#f1vsq77c71se17)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="136" x="210.5" y="272.8984"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="122" x="217.5" y="292.8936">Service Bluetooth</text><rect fill="#FEFECE" filter="url(#f1vsq77c71se17)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="125" x="360.5" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="111" x="367.5" y="22.9951">Database Agent</text><rect fill="#FEFECE" filter="url(#f1vsq77c71se17)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="125" x="360.5" y="272.8984"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="111" x="367.5" y="292.8936">Database Agent</text><rect fill="#FEFECE" filter="url(#f1vsq77c71se17)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="150" x="620" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="136" x="627" y="22.9951">Application Settings</text><rect fill="#FEFECE" filter="url(#f1vsq77c71se17)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="150" x="620" y="272.8984"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="136" x="627" y="292.8936">Application Settings</text><rect fill="#FFFFFF" filter="url(#f1vsq77c71se17)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="72.5" y="197.6328"/><rect fill="#FFFFFF" filter="url(#f1vsq77c71se17)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="275.5" y="168.5"/><rect fill="#FFFFFF" filter="url(#f1vsq77c71se17)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="420" y="69.4297"/><rect fill="#FFFFFF" filter="url(#f1vsq77c71se17)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="420" y="226.7656"/><rect fill="#FFFFFF" filter="url(#f1vsq77c71se17)" height="58.2656" style="stroke: #FFFFFF; stroke-width: 1.0;" width="10" x="692" y="48.2969"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="692" x2="692" y1="48.2969" y2="106.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="702" x2="702" y1="48.2969" y2="106.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="692" x2="702" y1="48.2969" y2="48.2969"/><rect fill="#FFFFFF" filter="url(#f1vsq77c71se17)" height="117.5313" style="stroke: #FFFFFF; stroke-width: 1.0;" width="10" x="692" y="147.3672"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="692" x2="692" y1="147.3672" y2="264.8984"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="702" x2="702" y1="147.3672" y2="264.8984"/><polygon fill="#A80036" points="441,65.4297,431,69.4297,441,73.4297,437,69.4297" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="435" x2="691" y1="69.4297" y2="69.4297"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="243" x="447" y="64.3638">register cb on bonded devices change</text><polygon fill="#A80036" points="680,94.5625,690,98.5625,680,102.5625,684,98.5625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="425" x2="686" y1="98.5625" y2="98.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="155" x="432" y="93.4966">bonded devices callback</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="0" x="389.25" y="130.7729"/><polygon fill="#A80036" points="296.5,164.5,286.5,168.5,296.5,172.5,292.5,168.5" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="290.5" x2="691" y1="168.5" y2="168.5"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="176" x="302.5" y="163.4341">forget device msg(address)</text><polygon fill="#A80036" points="93.5,193.6328,83.5,197.6328,93.5,201.6328,89.5,197.6328" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="87.5" x2="279.5" y1="197.6328" y2="197.6328"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="174" x="99.5" y="192.5669">command(unpair, address)</text><polygon fill="#A80036" points="408,222.7656,418,226.7656,408,230.7656,412,226.7656" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="77.5" x2="414" y1="226.7656" y2="226.7656"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="149" x="84.5" y="221.6997">update bonded devices</text><polygon fill="#A80036" points="680,251.8984,690,255.8984,680,259.8984,684,255.8984" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="425" x2="686" y1="255.8984" y2="255.8984"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="155" x="432" y="250.8325">bonded devices callback</text><!--
<?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="314px" preserveAspectRatio="none" style="width:781px;height:314px;background:#F0F0F0;" version="1.1" viewBox="0 0 781 314" width="781px" zoomAndPan="magnify"><defs><filter height="300%" id="f1tr2778tl3gcr" 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(#f1tr2778tl3gcr)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="72.5" y="197.6328"/><rect fill="#FFFFFF" filter="url(#f1tr2778tl3gcr)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="275.5" y="168.5"/><rect fill="#FFFFFF" filter="url(#f1tr2778tl3gcr)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="420" y="69.4297"/><rect fill="#FFFFFF" filter="url(#f1tr2778tl3gcr)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="420" y="226.7656"/><rect fill="#FFFFFF" filter="url(#f1tr2778tl3gcr)" height="58.2656" style="stroke: #FFFFFF; stroke-width: 1.0;" width="10" x="692" y="48.2969"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="692" x2="692" y1="48.2969" y2="106.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="702" x2="702" y1="48.2969" y2="106.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="692" x2="702" y1="48.2969" y2="48.2969"/><rect fill="#FFFFFF" filter="url(#f1tr2778tl3gcr)" height="117.5313" style="stroke: #FFFFFF; stroke-width: 1.0;" width="10" x="692" y="147.3672"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="692" x2="692" y1="147.3672" y2="264.8984"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="702" x2="702" y1="147.3672" y2="264.8984"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="77" x2="77" y1="38.2969" y2="106.5625"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="77" x2="77" y1="106.5625" y2="147.3672"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="77" x2="77" y1="147.3672" y2="273.8984"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="280.5" x2="280.5" y1="38.2969" y2="106.5625"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="280.5" x2="280.5" y1="106.5625" y2="147.3672"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="280.5" x2="280.5" y1="147.3672" y2="273.8984"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="424.5" x2="424.5" y1="38.2969" y2="106.5625"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="424.5" x2="424.5" y1="106.5625" y2="147.3672"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="424.5" x2="424.5" y1="147.3672" y2="273.8984"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="697" x2="697" y1="38.2969" y2="106.5625"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="697" x2="697" y1="106.5625" y2="147.3672"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="697" x2="697" y1="147.3672" y2="273.8984"/><rect fill="#FEFECE" filter="url(#f1tr2778tl3gcr)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="135" x="8" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="121" x="15" y="22.9951">Worker Bluetooth</text><rect fill="#FEFECE" filter="url(#f1tr2778tl3gcr)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="135" x="8" y="272.8984"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="121" x="15" y="292.8936">Worker Bluetooth</text><rect fill="#FEFECE" filter="url(#f1tr2778tl3gcr)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="136" x="210.5" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="122" x="217.5" y="22.9951">Service Bluetooth</text><rect fill="#FEFECE" filter="url(#f1tr2778tl3gcr)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="136" x="210.5" y="272.8984"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="122" x="217.5" y="292.8936">Service Bluetooth</text><rect fill="#FEFECE" filter="url(#f1tr2778tl3gcr)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="125" x="360.5" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="111" x="367.5" y="22.9951">Database Agent</text><rect fill="#FEFECE" filter="url(#f1tr2778tl3gcr)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="125" x="360.5" y="272.8984"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="111" x="367.5" y="292.8936">Database Agent</text><rect fill="#FEFECE" filter="url(#f1tr2778tl3gcr)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="150" x="620" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="136" x="627" y="22.9951">Application Settings</text><rect fill="#FEFECE" filter="url(#f1tr2778tl3gcr)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="150" x="620" y="272.8984"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="136" x="627" y="292.8936">Application Settings</text><rect fill="#FFFFFF" filter="url(#f1tr2778tl3gcr)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="72.5" y="197.6328"/><rect fill="#FFFFFF" filter="url(#f1tr2778tl3gcr)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="275.5" y="168.5"/><rect fill="#FFFFFF" filter="url(#f1tr2778tl3gcr)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="420" y="69.4297"/><rect fill="#FFFFFF" filter="url(#f1tr2778tl3gcr)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="420" y="226.7656"/><rect fill="#FFFFFF" filter="url(#f1tr2778tl3gcr)" height="58.2656" style="stroke: #FFFFFF; stroke-width: 1.0;" width="10" x="692" y="48.2969"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="692" x2="692" y1="48.2969" y2="106.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="702" x2="702" y1="48.2969" y2="106.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="692" x2="702" y1="48.2969" y2="48.2969"/><rect fill="#FFFFFF" filter="url(#f1tr2778tl3gcr)" height="117.5313" style="stroke: #FFFFFF; stroke-width: 1.0;" width="10" x="692" y="147.3672"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="692" x2="692" y1="147.3672" y2="264.8984"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="702" x2="702" y1="147.3672" y2="264.8984"/><polygon fill="#A80036" points="441,65.4297,431,69.4297,441,73.4297,437,69.4297" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="435" x2="691" y1="69.4297" y2="69.4297"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="243" x="447" y="64.3638">register cb on bonded devices change</text><polygon fill="#A80036" points="680,94.5625,690,98.5625,680,102.5625,684,98.5625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="425" x2="686" y1="98.5625" y2="98.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="155" x="432" y="93.4966">bonded devices callback</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="0" x="388.75" y="130.7729"/><polygon fill="#A80036" points="296.5,164.5,286.5,168.5,296.5,172.5,292.5,168.5" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="290.5" x2="691" y1="168.5" y2="168.5"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="176" x="302.5" y="163.4341">forget device msg(address)</text><polygon fill="#A80036" points="93.5,193.6328,83.5,197.6328,93.5,201.6328,89.5,197.6328" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="87.5" x2="279.5" y1="197.6328" y2="197.6328"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="174" x="99.5" y="192.5669">command(unpair, address)</text><polygon fill="#A80036" points="408,222.7656,418,226.7656,408,230.7656,412,226.7656" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="77.5" x2="414" y1="226.7656" y2="226.7656"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="149" x="84.5" y="221.6997">update bonded devices</text><polygon fill="#A80036" points="680,251.8984,690,255.8984,680,259.8984,684,255.8984" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="425" x2="686" y1="255.8984" y2="255.8984"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="155" x="432" y="250.8325">bonded devices callback</text><!--MD5=[8744211fe1e6f1039a29b7206867593f]
@startuml
skinparam BackgroundColor F0F0F0

participant "Worker Bluetooth" as workbt
participant "Service Bluetooth" as srvbt


@@ 28,13 29,12 @@ appsett <- sett : bonded devices callback

@enduml

PlantUML version 1.2018.13(Mon Nov 26 18:11:51 CET 2018)
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.10+9-Ubuntu-0ubuntu1.20.04
Java Version: 11.0.12+7-post-Debian-2
Operating System: Linux
OS Version: 5.8.0-44-generic
Default Encoding: UTF-8
Language: en
Country: US

M module-services/service-cellular/doc/Scripts/current_volte_on.pu => module-services/service-cellular/doc/Scripts/current_volte_on.pu +2 -1
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0





@@ 22,4 23,4 @@ IMS --> Reboot



@enduml
\ No newline at end of file
@enduml

M module-services/service-cellular/doc/Scripts/volte_on.pu => module-services/service-cellular/doc/Scripts/volte_on.pu +2 -1
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0

state "Disable autoselect MBN" as DautoMBN
DautoMBN:AT+QMBNCFG="autoselect",0


@@ 34,4 35,4 @@ IMS --> Reboot: Only if select new MBN



@enduml
\ No newline at end of file
@enduml

M module-services/service-cellular/doc/call_request_handling.puml => module-services/service-cellular/doc/call_request_handling.puml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0
participant ServiceCellular as cellular
participant RequestFactory as factory
participant IRequest as request

M module-services/service-cellular/doc/call_request_handling.svg => module-services/service-cellular/doc/call_request_handling.svg +14 -11
@@ 1,10 1,11 @@
<?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="969px" preserveAspectRatio="none" style="width:995px;height:969px;" version="1.1" viewBox="0 0 995 969" width="995px" zoomAndPan="magnify"><defs><filter height="300%" id="f1ke4x5lxerpcl" 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(#f1ke4x5lxerpcl)" height="808.0938" style="stroke:#A80036;stroke-width:1.0;" width="10" x="163" y="71.4297"/><rect fill="#FFFFFF" filter="url(#f1ke4x5lxerpcl)" height="538.8984" style="stroke:#A80036;stroke-width:1.0;" width="10" x="399" y="100.5625"/><rect fill="#FFFFFF" filter="url(#f1ke4x5lxerpcl)" height="116.5313" style="stroke:#A80036;stroke-width:1.0;" width="10" x="632" y="792.125"/><rect fill="#FFFFFF" filter="url(#f1ke4x5lxerpcl)" height="29.1328" style="stroke:#A80036;stroke-width:1.0;" width="10" x="772" y="821.2578"/><rect fill="#FFFFFF" filter="url(#f1ke4x5lxerpcl)" height="164.6328" style="stroke:#000000;stroke-width:2.0;" width="588" x="99" y="157.6953"/><rect fill="#FFFFFF" height="73.0703" style="stroke:none;stroke-width:1.0;" width="588" x="99" y="249.2578"/><rect fill="#FFFFFF" filter="url(#f1ke4x5lxerpcl)" height="148.6641" style="stroke:#000000;stroke-width:2.0;" width="608" x="89" y="336.3281"/><rect fill="#FFFFFF" filter="url(#f1ke4x5lxerpcl)" height="75.3984" style="stroke:#000000;stroke-width:2.0;" width="588" x="99" y="402.5938"/><rect fill="#FFFFFF" filter="url(#f1ke4x5lxerpcl)" height="148.4688" style="stroke:#000000;stroke-width:2.0;" width="588" x="99" y="498.9922"/><rect fill="#FFFFFF" height="73.0703" style="stroke:none;stroke-width:1.0;" width="588" x="99" y="574.3906"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="168" x2="168" y1="40.2969" y2="926.6563"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="403.5" x2="403.5" y1="40.2969" y2="926.6563"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="637" x2="637" y1="207.4766" y2="926.6563"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="777" x2="777" y1="40.2969" y2="926.6563"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="931" x2="931" y1="40.2969" y2="926.6563"/><rect fill="#FEFECE" filter="url(#f1ke4x5lxerpcl)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="114" x="109" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="100" x="116" y="24.9951">ServiceCellular</text><rect fill="#FEFECE" filter="url(#f1ke4x5lxerpcl)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="114" x="109" y="925.6563"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="100" x="116" y="945.6514">ServiceCellular</text><rect fill="#FEFECE" filter="url(#f1ke4x5lxerpcl)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="123" x="340.5" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="109" x="347.5" y="24.9951">RequestFactory</text><rect fill="#FEFECE" filter="url(#f1ke4x5lxerpcl)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="123" x="340.5" y="925.6563"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="109" x="347.5" y="945.6514">RequestFactory</text><rect fill="#FEFECE" filter="url(#f1ke4x5lxerpcl)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="76" x="597" y="925.6563"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="62" x="604" y="945.6514">IRequest</text><rect fill="#FEFECE" filter="url(#f1ke4x5lxerpcl)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="176" x="687" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="162" x="694" y="24.9951">CellularRequestHandler</text><rect fill="#FEFECE" filter="url(#f1ke4x5lxerpcl)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="176" x="687" y="925.6563"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="162" x="694" y="945.6514">CellularRequestHandler</text><rect fill="#FEFECE" filter="url(#f1ke4x5lxerpcl)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="104" x="877" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="90" x="884" y="24.9951">DLCChannel</text><rect fill="#FEFECE" filter="url(#f1ke4x5lxerpcl)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="104" x="877" y="925.6563"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="90" x="884" y="945.6514">DLCChannel</text><rect fill="#FFFFFF" filter="url(#f1ke4x5lxerpcl)" height="808.0938" style="stroke:#A80036;stroke-width:1.0;" width="10" x="163" y="71.4297"/><rect fill="#FFFFFF" filter="url(#f1ke4x5lxerpcl)" height="538.8984" style="stroke:#A80036;stroke-width:1.0;" width="10" x="399" y="100.5625"/><rect fill="#FFFFFF" filter="url(#f1ke4x5lxerpcl)" height="116.5313" style="stroke:#A80036;stroke-width:1.0;" width="10" x="632" y="792.125"/><rect fill="#FFFFFF" filter="url(#f1ke4x5lxerpcl)" height="29.1328" style="stroke:#A80036;stroke-width:1.0;" width="10" x="772" y="821.2578"/><polygon fill="#A80036" points="151,67.4297,161,71.4297,151,75.4297,155,71.4297" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="53" x2="157" y1="71.4297" y2="71.4297"/><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacing" textLength="96" x="60" y="66.3638">call request</text><polygon fill="#A80036" points="387,96.5625,397,100.5625,387,104.5625,391,100.5625" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="173" x2="393" y1="100.5625" y2="100.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="43" x="180" y="95.4966">Create</text><line style="stroke:#A80036;stroke-width:1.0;" x1="409" x2="451" y1="129.6953" y2="129.6953"/><line style="stroke:#A80036;stroke-width:1.0;" x1="451" x2="451" y1="129.6953" y2="142.6953"/><line style="stroke:#A80036;stroke-width:1.0;" x1="410" x2="451" y1="142.6953" y2="142.6953"/><polygon fill="#A80036" points="420,138.6953,410,142.6953,420,146.6953,416,142.6953" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="121" x="416" y="124.6294">emergencyCheck()</text><path d="M99,157.6953 L163,157.6953 L163,164.6953 L153,174.6953 L99,174.6953 L99,157.6953 " fill="#EEEEEE" style="stroke:#000000;stroke-width:1.0;"/><rect fill="none" height="164.6328" style="stroke:#000000;stroke-width:2.0;" width="588" x="99" y="157.6953"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="19" x="114" y="170.7622">alt</text><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacing" textLength="178" x="178" y="169.9058">[is emergency and allowed]</text><path d="M692,162.6953 L692,202.6953 L945,202.6953 L945,172.6953 L935,162.6953 L692,162.6953 " fill="#FBFB77" filter="url(#f1ke4x5lxerpcl)" style="stroke:#A80036;stroke-width:1.0;"/><path d="M935,162.6953 L935,172.6953 L945,172.6953 L935,162.6953 " fill="#FBFB77" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="232" x="698" y="179.7622">decision depends on the emergency</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="224" x="698" y="194.895">number itself and state of SIM card</text><polygon fill="#A80036" points="585,191.9609,595,195.9609,585,199.9609,589,195.9609" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="409" x2="591" y1="195.9609" y2="195.9609"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="164" x="416" y="190.895">&lt;&lt;create CallRequest&gt;&gt;</text><rect fill="#FEFECE" filter="url(#f1ke4x5lxerpcl)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="76" x="597" y="174.8281"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="62" x="604" y="194.8232">IRequest</text><polygon fill="#A80036" points="184,237.2578,174,241.2578,184,245.2578,180,241.2578" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="178" x2="398" y1="241.2578" y2="241.2578"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="186" x="190" y="236.1919">&lt;&lt;CallRequest : IRequest&gt;&gt;</text><line style="stroke:#000000;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="99" x2="687" y1="250.2578" y2="250.2578"/><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacing" textLength="203" x="104" y="260.4683">[is emergency and not allowed]</text><polygon fill="#A80036" points="625,281.1953,635,285.1953,625,289.1953,629,285.1953" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="409" x2="631" y1="285.1953" y2="285.1953"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="180" x="416" y="280.1294">&lt;&lt;create RejectRequest&gt;&gt;</text><polygon fill="#A80036" points="184,310.3281,174,314.3281,184,318.3281,180,314.3281" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="178" x2="398" y1="314.3281" y2="314.3281"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="202" x="190" y="309.2622">&lt;&lt;RejectRequest : IRequest&gt;&gt;</text><path d="M89,336.3281 L166,336.3281 L166,343.3281 L156,353.3281 L89,353.3281 L89,336.3281 " fill="#EEEEEE" style="stroke:#000000;stroke-width:1.0;"/><rect fill="none" height="148.6641" style="stroke:#000000;stroke-width:2.0;" width="608" x="89" y="336.3281"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="32" x="104" y="349.395">loop</text><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacing" textLength="98" x="181" y="348.5386">[request types]</text><line style="stroke:#A80036;stroke-width:1.0;" x1="409" x2="451" y1="374.5938" y2="374.5938"/><line style="stroke:#A80036;stroke-width:1.0;" x1="451" x2="451" y1="374.5938" y2="387.5938"/><line style="stroke:#A80036;stroke-width:1.0;" x1="410" x2="451" y1="387.5938" y2="387.5938"/><polygon fill="#A80036" points="420,383.5938,410,387.5938,420,391.5938,416,387.5938" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="121" x="416" y="369.5278">&lt;&lt;regexmatch&gt;&gt;</text><path d="M99,402.5938 L163,402.5938 L163,409.5938 L153,419.5938 L99,419.5938 L99,402.5938 " fill="#EEEEEE" style="stroke:#000000;stroke-width:1.0;"/><rect fill="none" height="75.3984" style="stroke:#000000;stroke-width:2.0;" width="588" x="99" y="402.5938"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="19" x="114" y="415.6606">alt</text><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacing" textLength="65" x="178" y="414.8042">[matched]</text><polygon fill="#A80036" points="625,436.8594,635,440.8594,625,444.8594,629,440.8594" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="409" x2="631" y1="440.8594" y2="440.8594"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="199" x="416" y="435.7935">&lt;&lt;create matched request&gt;&gt;</text><polygon fill="#A80036" points="184,465.9922,174,469.9922,184,473.9922,180,469.9922" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="178" x2="398" y1="469.9922" y2="469.9922"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="172" x="190" y="464.9263">&lt;&lt; matched : IRequest&gt;&gt;</text><path d="M99,498.9922 L163,498.9922 L163,505.9922 L153,515.9922 L99,515.9922 L99,498.9922 " fill="#EEEEEE" style="stroke:#000000;stroke-width:1.0;"/><rect fill="none" height="148.4688" style="stroke:#000000;stroke-width:2.0;" width="588" x="99" y="498.9922"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="19" x="114" y="512.0591">alt</text><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacing" textLength="111" x="178" y="511.2026">[SIM not present]</text><polygon fill="#A80036" points="625,533.2578,635,537.2578,625,541.2578,629,537.2578" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="409" x2="631" y1="537.2578" y2="537.2578"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="180" x="416" y="532.1919">&lt;&lt;create RejectRequest&gt;&gt;</text><polygon fill="#A80036" points="184,562.3906,174,566.3906,184,570.3906,180,566.3906" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="178" x2="398" y1="566.3906" y2="566.3906"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="135" x="190" y="561.3247">&lt;&lt;RejectRequest&gt;&gt;</text><line style="stroke:#000000;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="99" x2="687" y1="575.3906" y2="575.3906"/><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacing" textLength="37" x="104" y="585.6011">[else]</text><polygon fill="#A80036" points="625,606.3281,635,610.3281,625,614.3281,629,610.3281" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="409" x2="631" y1="610.3281" y2="610.3281"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="164" x="416" y="605.2622">&lt;&lt;create CallRequest&gt;&gt;</text><polygon fill="#A80036" points="184,635.4609,174,639.4609,184,643.4609,180,639.4609" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="178" x2="403" y1="639.4609" y2="639.4609"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="119" x="190" y="634.395">&lt;&lt;CallRequest&gt;&gt;</text><polygon fill="#A80036" points="625,671.5938,635,675.5938,625,679.5938,629,675.5938" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="173" x2="631" y1="675.5938" y2="675.5938"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="75" x="180" y="670.5278">command()</text><polygon fill="#A80036" points="184,700.7266,174,704.7266,184,708.7266,180,704.7266" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="178" x2="636" y1="704.7266" y2="704.7266"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="109" x="190" y="699.6606">&lt;&lt;command&gt;&gt;</text><polygon fill="#A80036" points="919,729.8594,929,733.8594,919,737.8594,923,733.8594" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="173" x2="925" y1="733.8594" y2="733.8594"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="103" x="180" y="728.7935">cmd(command)</text><polygon fill="#A80036" points="184,758.9922,174,762.9922,184,766.9922,180,762.9922" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="178" x2="930" y1="762.9922" y2="762.9922"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="60" x="190" y="757.9263">at::Result</text><polygon fill="#A80036" points="620,788.125,630,792.125,620,796.125,624,792.125" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="173" x2="626" y1="792.125" y2="792.125"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="272" x="180" y="787.0591">Handle(CellularRequestHandler, at::Result)</text><polygon fill="#A80036" points="760,817.2578,770,821.2578,760,825.2578,764,821.2578" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="642" x2="766" y1="821.2578" y2="821.2578"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="110" x="649" y="816.1919">Handle(IRequest)</text><polygon fill="#A80036" points="981,846.3906,991,850.3906,981,854.3906,985,850.3906" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="777" x2="987" y1="850.3906" y2="850.3906"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="192" x="784" y="845.3247">&lt;&lt;specific system actions&gt;&gt;</text><polygon fill="#A80036" points="11,875.5234,1,879.5234,11,883.5234,7,879.5234" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="5" x2="167" y1="879.5234" y2="879.5234"/><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacing" textLength="144" x="17" y="874.4575">multicast response</text><polygon fill="#A80036" points="625,904.6563,635,908.6563,625,912.6563,629,908.6563" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="168" x2="631" y1="908.6563" y2="908.6563"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="40" x="175" y="903.5903">delete</text><line style="stroke:#A80036;stroke-width:2.0;" x1="628" x2="646" y1="899.6563" y2="917.6563"/><line style="stroke:#A80036;stroke-width:2.0;" x1="628" x2="646" y1="917.6563" y2="899.6563"/><!--MD5=[edee2e5540815f12480a1f2d3e978caa]
<?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="964px" preserveAspectRatio="none" style="width:1002px;height:964px;background:#F0F0F0;" version="1.1" viewBox="0 0 1002 964" width="1002px" zoomAndPan="magnify"><defs><filter height="300%" id="fq80hqptrwjfg" 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(#fq80hqptrwjfg)" height="808.0938" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="166" y="69.4297"/><rect fill="#FFFFFF" filter="url(#fq80hqptrwjfg)" height="538.8984" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="402" y="98.5625"/><rect fill="#FFFFFF" filter="url(#fq80hqptrwjfg)" height="116.5313" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="635" y="790.125"/><rect fill="#FFFFFF" filter="url(#fq80hqptrwjfg)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="775" y="819.2578"/><rect fill="#F0F0F0" filter="url(#fq80hqptrwjfg)" height="164.6328" style="stroke: #000000; stroke-width: 2.0;" width="588" x="102" y="155.6953"/><rect fill="#F0F0F0" height="73.0703" style="stroke: none; stroke-width: 1.0;" width="588" x="102" y="247.2578"/><rect fill="#F0F0F0" filter="url(#fq80hqptrwjfg)" height="148.6641" style="stroke: #000000; stroke-width: 2.0;" width="608" x="92" y="334.3281"/><rect fill="#F0F0F0" filter="url(#fq80hqptrwjfg)" height="75.3984" style="stroke: #000000; stroke-width: 2.0;" width="588" x="102" y="400.5938"/><rect fill="#F0F0F0" filter="url(#fq80hqptrwjfg)" height="148.4688" style="stroke: #000000; stroke-width: 2.0;" width="588" x="102" y="496.9922"/><rect fill="#F0F0F0" height="73.0703" style="stroke: none; stroke-width: 1.0;" width="588" x="102" y="572.3906"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="171" x2="171" y1="38.2969" y2="924.6563"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="406.5" x2="406.5" y1="38.2969" y2="924.6563"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="640" x2="640" y1="205.4766" y2="924.6563"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="780" x2="780" y1="38.2969" y2="924.6563"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="931" x2="931" y1="38.2969" y2="924.6563"/><rect fill="#FEFECE" filter="url(#fq80hqptrwjfg)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="114" x="112" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="100" x="119" y="22.9951">ServiceCellular</text><rect fill="#FEFECE" filter="url(#fq80hqptrwjfg)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="114" x="112" y="923.6563"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="100" x="119" y="943.6514">ServiceCellular</text><rect fill="#FEFECE" filter="url(#fq80hqptrwjfg)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="123" x="343.5" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="109" x="350.5" y="22.9951">RequestFactory</text><rect fill="#FEFECE" filter="url(#fq80hqptrwjfg)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="123" x="343.5" y="923.6563"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="109" x="350.5" y="943.6514">RequestFactory</text><rect fill="#FEFECE" filter="url(#fq80hqptrwjfg)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="76" x="600" y="923.6563"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="62" x="607" y="943.6514">IRequest</text><rect fill="#FEFECE" filter="url(#fq80hqptrwjfg)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="176" x="690" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="162" x="697" y="22.9951">CellularRequestHandler</text><rect fill="#FEFECE" filter="url(#fq80hqptrwjfg)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="176" x="690" y="923.6563"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="162" x="697" y="943.6514">CellularRequestHandler</text><rect fill="#FEFECE" filter="url(#fq80hqptrwjfg)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="99" x="880" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="85" x="887" y="22.9951">DLCChannel</text><rect fill="#FEFECE" filter="url(#fq80hqptrwjfg)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="99" x="880" y="923.6563"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="85" x="887" y="943.6514">DLCChannel</text><rect fill="#FFFFFF" filter="url(#fq80hqptrwjfg)" height="808.0938" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="166" y="69.4297"/><rect fill="#FFFFFF" filter="url(#fq80hqptrwjfg)" height="538.8984" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="402" y="98.5625"/><rect fill="#FFFFFF" filter="url(#fq80hqptrwjfg)" height="116.5313" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="635" y="790.125"/><rect fill="#FFFFFF" filter="url(#fq80hqptrwjfg)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="775" y="819.2578"/><polygon fill="#A80036" points="154,65.4297,164,69.4297,154,73.4297,158,69.4297" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="56" x2="160" y1="69.4297" y2="69.4297"/><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="96" x="63" y="64.3638">call request</text><polygon fill="#A80036" points="390,94.5625,400,98.5625,390,102.5625,394,98.5625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="176" x2="396" y1="98.5625" y2="98.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="43" x="183" y="93.4966">Create</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="412" x2="454" y1="127.6953" y2="127.6953"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="454" x2="454" y1="127.6953" y2="140.6953"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="413" x2="454" y1="140.6953" y2="140.6953"/><polygon fill="#A80036" points="423,136.6953,413,140.6953,423,144.6953,419,140.6953" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="121" x="419" y="122.6294">emergencyCheck()</text><path d="M102,155.6953 L166,155.6953 L166,162.6953 L156,172.6953 L102,172.6953 L102,155.6953 " fill="#EEEEEE" style="stroke: #000000; stroke-width: 1.0;"/><rect fill="none" height="164.6328" style="stroke: #000000; stroke-width: 2.0;" width="588" x="102" y="155.6953"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="19" x="117" y="168.7622">alt</text><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="178" x="181" y="167.9058">[is emergency and allowed]</text><path d="M695,160.6953 L695,200.6953 L948,200.6953 L948,170.6953 L938,160.6953 L695,160.6953 " fill="#FBFB77" filter="url(#fq80hqptrwjfg)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M938,160.6953 L938,170.6953 L948,170.6953 L938,160.6953 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="232" x="701" y="177.7622">decision depends on the emergency</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="224" x="701" y="192.895">number itself and state of SIM card</text><polygon fill="#A80036" points="588,189.9609,598,193.9609,588,197.9609,592,193.9609" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="412" x2="594" y1="193.9609" y2="193.9609"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="164" x="419" y="188.895">&lt;&lt;create CallRequest&gt;&gt;</text><rect fill="#FEFECE" filter="url(#fq80hqptrwjfg)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="76" x="600" y="172.8281"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="62" x="607" y="192.8232">IRequest</text><polygon fill="#A80036" points="187,235.2578,177,239.2578,187,243.2578,183,239.2578" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="181" x2="401" y1="239.2578" y2="239.2578"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="186" x="193" y="234.1919">&lt;&lt;CallRequest : IRequest&gt;&gt;</text><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="102" x2="690" y1="248.2578" y2="248.2578"/><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="203" x="107" y="258.4683">[is emergency and not allowed]</text><polygon fill="#A80036" points="628,279.1953,638,283.1953,628,287.1953,632,283.1953" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="412" x2="634" y1="283.1953" y2="283.1953"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="180" x="419" y="278.1294">&lt;&lt;create RejectRequest&gt;&gt;</text><polygon fill="#A80036" points="187,308.3281,177,312.3281,187,316.3281,183,312.3281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="181" x2="401" y1="312.3281" y2="312.3281"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="202" x="193" y="307.2622">&lt;&lt;RejectRequest : IRequest&gt;&gt;</text><path d="M92,334.3281 L169,334.3281 L169,341.3281 L159,351.3281 L92,351.3281 L92,334.3281 " fill="#EEEEEE" style="stroke: #000000; stroke-width: 1.0;"/><rect fill="none" height="148.6641" style="stroke: #000000; stroke-width: 2.0;" width="608" x="92" y="334.3281"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="32" x="107" y="347.395">loop</text><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="98" x="184" y="346.5386">[request types]</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="412" x2="454" y1="372.5938" y2="372.5938"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="454" x2="454" y1="372.5938" y2="385.5938"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="413" x2="454" y1="385.5938" y2="385.5938"/><polygon fill="#A80036" points="423,381.5938,413,385.5938,423,389.5938,419,385.5938" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="121" x="419" y="367.5278">&lt;&lt;regexmatch&gt;&gt;</text><path d="M102,400.5938 L166,400.5938 L166,407.5938 L156,417.5938 L102,417.5938 L102,400.5938 " fill="#EEEEEE" style="stroke: #000000; stroke-width: 1.0;"/><rect fill="none" height="75.3984" style="stroke: #000000; stroke-width: 2.0;" width="588" x="102" y="400.5938"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="19" x="117" y="413.6606">alt</text><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="65" x="181" y="412.8042">[matched]</text><polygon fill="#A80036" points="628,434.8594,638,438.8594,628,442.8594,632,438.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="412" x2="634" y1="438.8594" y2="438.8594"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="199" x="419" y="433.7935">&lt;&lt;create matched request&gt;&gt;</text><polygon fill="#A80036" points="187,463.9922,177,467.9922,187,471.9922,183,467.9922" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="181" x2="401" y1="467.9922" y2="467.9922"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="172" x="193" y="462.9263">&lt;&lt; matched : IRequest&gt;&gt;</text><path d="M102,496.9922 L166,496.9922 L166,503.9922 L156,513.9922 L102,513.9922 L102,496.9922 " fill="#EEEEEE" style="stroke: #000000; stroke-width: 1.0;"/><rect fill="none" height="148.4688" style="stroke: #000000; stroke-width: 2.0;" width="588" x="102" y="496.9922"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="19" x="117" y="510.0591">alt</text><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="111" x="181" y="509.2026">[SIM not present]</text><polygon fill="#A80036" points="628,531.2578,638,535.2578,628,539.2578,632,535.2578" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="412" x2="634" y1="535.2578" y2="535.2578"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="180" x="419" y="530.1919">&lt;&lt;create RejectRequest&gt;&gt;</text><polygon fill="#A80036" points="187,560.3906,177,564.3906,187,568.3906,183,564.3906" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="181" x2="401" y1="564.3906" y2="564.3906"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="135" x="193" y="559.3247">&lt;&lt;RejectRequest&gt;&gt;</text><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="102" x2="690" y1="573.3906" y2="573.3906"/><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="37" x="107" y="583.6011">[else]</text><polygon fill="#A80036" points="628,604.3281,638,608.3281,628,612.3281,632,608.3281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="412" x2="634" y1="608.3281" y2="608.3281"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="164" x="419" y="603.2622">&lt;&lt;create CallRequest&gt;&gt;</text><polygon fill="#A80036" points="187,633.4609,177,637.4609,187,641.4609,183,637.4609" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="181" x2="406" y1="637.4609" y2="637.4609"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="119" x="193" y="632.395">&lt;&lt;CallRequest&gt;&gt;</text><polygon fill="#A80036" points="628,669.5938,638,673.5938,628,677.5938,632,673.5938" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="176" x2="634" y1="673.5938" y2="673.5938"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="75" x="183" y="668.5278">command()</text><polygon fill="#A80036" points="187,698.7266,177,702.7266,187,706.7266,183,702.7266" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="181" x2="639" y1="702.7266" y2="702.7266"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="109" x="193" y="697.6606">&lt;&lt;command&gt;&gt;</text><polygon fill="#A80036" points="919.5,727.8594,929.5,731.8594,919.5,735.8594,923.5,731.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="176" x2="925.5" y1="731.8594" y2="731.8594"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="103" x="183" y="726.7935">cmd(command)</text><polygon fill="#A80036" points="187,756.9922,177,760.9922,187,764.9922,183,760.9922" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="181" x2="930.5" y1="760.9922" y2="760.9922"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="60" x="193" y="755.9263">at::Result</text><polygon fill="#A80036" points="623,786.125,633,790.125,623,794.125,627,790.125" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="176" x2="629" y1="790.125" y2="790.125"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="272" x="183" y="785.0591">Handle(CellularRequestHandler, at::Result)</text><polygon fill="#A80036" points="763,815.2578,773,819.2578,763,823.2578,767,819.2578" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="645" x2="769" y1="819.2578" y2="819.2578"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="110" x="652" y="814.1919">Handle(IRequest)</text><polygon fill="#A80036" points="984,844.3906,994,848.3906,984,852.3906,988,848.3906" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="780" x2="990" y1="848.3906" y2="848.3906"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="192" x="787" y="843.3247">&lt;&lt;specific system actions&gt;&gt;</text><polygon fill="#A80036" points="14,873.5234,4,877.5234,14,881.5234,10,877.5234" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="8" x2="170" y1="877.5234" y2="877.5234"/><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="144" x="20" y="872.4575">multicast response</text><polygon fill="#A80036" points="628,902.6563,638,906.6563,628,910.6563,632,906.6563" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="171" x2="634" y1="906.6563" y2="906.6563"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="40" x="178" y="901.5903">delete</text><line style="stroke: #A80036; stroke-width: 2.0;" x1="631" x2="649" y1="897.6563" y2="915.6563"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="631" x2="649" y1="915.6563" y2="897.6563"/><!--MD5=[52f0f84982f0558fbdb96c3148020b17]
@startuml
skinparam BackgroundColor F0F0F0
participant ServiceCellular as cellular
participant RequestFactory as factory
participant IRequest as request
participant CellularRequestHandler as handler
participant DLC_channel as channel
participant DLCChannel as channel


?->     cellular + : ""call request""


@@ 42,12 43,14 @@ handler->? - : <<specific system actions>>
?<- -    cellular - - : ""multicast response""
cellular -> request !! : delete
@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: en
Country: US
--></g></svg>

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>
\ No newline at end of file

M module-services/service-cellular/doc/cellular_gsm_onoff_flow.puml => module-services/service-cellular/doc/cellular_gsm_onoff_flow.puml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0

participant "Battery level check" as batt
participant "System Manager" as sysmgr

M module-services/service-cellular/doc/cellular_gsm_onoff_flow.svg => module-services/service-cellular/doc/cellular_gsm_onoff_flow.svg +7 -4
@@ 1,5 1,6 @@
<?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]
<?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="823px" preserveAspectRatio="none" style="width:1141px;height:823px;background:#F0F0F0;" version="1.1" viewBox="0 0 1141 823" width="1141px" zoomAndPan="magnify"><defs><filter height="300%" id="f1t9mvvq3glbw3" 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(#f1t9mvvq3glbw3)" height="100.3984" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="309" y="112.5625"/><rect fill="#FFFFFF" filter="url(#f1t9mvvq3glbw3)" height="100.3984" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="309" y="295.3594"/><rect fill="#FFFFFF" filter="url(#f1t9mvvq3glbw3)" height="299.1953" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="309" y="475.0234"/><rect fill="#FFFFFF" filter="url(#f1t9mvvq3glbw3)" height="116.3984" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="314" y="657.8203"/><rect fill="#FFFFFF" filter="url(#f1t9mvvq3glbw3)" height="164.6641" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="568" y="48.2969"/><rect fill="#FFFFFF" filter="url(#f1t9mvvq3glbw3)" height="153.6641" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="568" y="242.0938"/><rect fill="#FFFFFF" filter="url(#f1t9mvvq3glbw3)" height="71.2656" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="568" y="504.1563"/><rect fill="#FFFFFF" filter="url(#f1t9mvvq3glbw3)" height="71.2656" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="568" y="686.9531"/><rect fill="#FFFFFF" filter="url(#f1t9mvvq3glbw3)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="774" y="212.9609"/><rect fill="#FFFFFF" filter="url(#f1t9mvvq3glbw3)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="774" y="575.4219"/><rect fill="#F0F0F0" filter="url(#f1t9mvvq3glbw3)" height="146.6641" style="stroke: #000000; stroke-width: 2.0;" width="630" x="237.5" y="257.0938"/><rect fill="#F0F0F0" filter="url(#f1t9mvvq3glbw3)" height="146.6641" style="stroke: #000000; stroke-width: 2.0;" width="854.5" x="13" y="619.5547"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="97" x2="97" y1="38.2969" y2="783.2188"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="313.5" x2="313.5" y1="38.2969" y2="783.2188"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="573" x2="573" y1="38.2969" y2="783.2188"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="778.5" x2="778.5" y1="38.2969" y2="783.2188"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="1050.5" x2="1050.5" y1="38.2969" y2="783.2188"/><rect fill="#FEFECE" filter="url(#f1t9mvvq3glbw3)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="144" x="23" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="130" x="30" y="22.9951">Battery level check</text><rect fill="#FEFECE" filter="url(#f1t9mvvq3glbw3)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="144" x="23" y="782.2188"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="130" x="30" y="802.2139">Battery level check</text><rect fill="#FEFECE" filter="url(#f1t9mvvq3glbw3)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="129" x="247.5" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="115" x="254.5" y="22.9951">System Manager</text><rect fill="#FEFECE" filter="url(#f1t9mvvq3glbw3)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="129" x="247.5" y="782.2188"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="115" x="254.5" y="802.2139">System Manager</text><rect fill="#FEFECE" filter="url(#f1t9mvvq3glbw3)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="118" x="512" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="104" x="519" y="22.9951">Service Cellular</text><rect fill="#FEFECE" filter="url(#f1t9mvvq3glbw3)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="118" x="512" y="782.2188"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="104" x="519" y="802.2139">Service Cellular</text><rect fill="#FEFECE" filter="url(#f1t9mvvq3glbw3)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="153" x="700.5" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="139" x="707.5" y="22.9951">Application Manager</text><rect fill="#FEFECE" filter="url(#f1t9mvvq3glbw3)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="153" x="700.5" y="782.2188"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="139" x="707.5" y="802.2139">Application Manager</text><rect fill="#FEFECE" filter="url(#f1t9mvvq3glbw3)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="143" x="977.5" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="129" x="984.5" y="22.9951">ApplicaionDesktop</text><rect fill="#FEFECE" filter="url(#f1t9mvvq3glbw3)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="143" x="977.5" y="782.2188"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="129" x="984.5" y="802.2139">ApplicaionDesktop</text><rect fill="#FFFFFF" filter="url(#f1t9mvvq3glbw3)" height="100.3984" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="309" y="112.5625"/><rect fill="#FFFFFF" filter="url(#f1t9mvvq3glbw3)" height="100.3984" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="309" y="295.3594"/><rect fill="#FFFFFF" filter="url(#f1t9mvvq3glbw3)" height="299.1953" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="309" y="475.0234"/><rect fill="#FFFFFF" filter="url(#f1t9mvvq3glbw3)" height="116.3984" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="314" y="657.8203"/><rect fill="#FFFFFF" filter="url(#f1t9mvvq3glbw3)" height="164.6641" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="568" y="48.2969"/><rect fill="#FFFFFF" filter="url(#f1t9mvvq3glbw3)" height="153.6641" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="568" y="242.0938"/><rect fill="#FFFFFF" filter="url(#f1t9mvvq3glbw3)" height="71.2656" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="568" y="504.1563"/><rect fill="#FFFFFF" filter="url(#f1t9mvvq3glbw3)" height="71.2656" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="568" y="686.9531"/><rect fill="#FFFFFF" filter="url(#f1t9mvvq3glbw3)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="774" y="212.9609"/><rect fill="#FFFFFF" filter="url(#f1t9mvvq3glbw3)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="774" y="575.4219"/><rect fill="#EEEEEE" filter="url(#f1t9mvvq3glbw3)" height="3" style="stroke: #EEEEEE; stroke-width: 1.0;" width="1126.5" x="3" y="68.8633"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="1129.5" y1="68.8633" y2="68.8633"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="1129.5" y1="71.8633" y2="71.8633"/><rect fill="#EEEEEE" filter="url(#f1t9mvvq3glbw3)" height="23.1328" style="stroke: #000000; stroke-width: 2.0;" width="107" x="512.75" y="58.2969"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="88" x="518.75" y="74.3638">Initial check</text><polygon fill="#A80036" points="330,108.5625,320,112.5625,330,116.5625,326,112.5625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="324" x2="567" y1="112.5625" y2="112.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="230" x="336" y="107.4966">CellularCheckIfStartAllowedMessage</text><polygon fill="#A80036" points="556,137.6953,566,141.6953,556,145.6953,560,141.6953" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="319" x2="562" y1="141.6953" y2="141.6953"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="197" x="326" y="136.6294">CellularPowerStateChange(Off)</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="578" x2="620" y1="170.8281" y2="170.8281"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="620" x2="620" y1="170.8281" y2="183.8281"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="579" x2="620" y1="183.8281" y2="183.8281"/><polygon fill="#A80036" points="589,179.8281,579,183.8281,589,187.8281,585,183.8281" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="182" x="585" y="165.7622">handle_power_state_change</text><polygon fill="#A80036" points="762,208.9609,772,212.9609,762,216.9609,766,212.9609" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="314" x2="768" y1="212.9609" y2="212.9609"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="231" x="321" y="207.895">CriticalBatteryLevelNotification(true)</text><polygon fill="#A80036" points="1039,238.0938,1049,242.0938,1039,246.0938,1043,242.0938" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="779" x2="1045" y1="242.0938" y2="242.0938"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="243" x="786" y="237.0278">actions::DisplayLowBatteryNotification</text><path d="M237.5,257.0938 L301.5,257.0938 L301.5,264.0938 L291.5,274.0938 L237.5,274.0938 L237.5,257.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="237.5" y="257.0938"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="19" x="252.5" y="270.1606">alt</text><polygon fill="#A80036" points="330,291.3594,320,295.3594,330,299.3594,326,295.3594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="324" x2="567" y1="295.3594" y2="295.3594"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="230" x="336" y="290.2935">CellularCheckIfStartAllowedMessage</text><polygon fill="#A80036" points="556,320.4922,566,324.4922,556,328.4922,560,324.4922" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="319" x2="562" y1="324.4922" y2="324.4922"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="197" x="326" y="319.4263">CellularPowerStateChange(On)</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="578" x2="620" y1="353.625" y2="353.625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="620" x2="620" y1="353.625" y2="366.625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="579" x2="620" y1="366.625" y2="366.625"/><polygon fill="#A80036" points="589,362.625,579,366.625,589,370.625,585,366.625" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="182" x="585" y="348.5591">handle_power_state_change</text><polygon fill="#A80036" points="767,391.7578,777,395.7578,767,399.7578,771,395.7578" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="314" x2="773" y1="395.7578" y2="395.7578"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="235" x="321" y="390.6919">CriticalBatteryLevelNotification(false)</text><rect fill="#EEEEEE" filter="url(#f1t9mvvq3glbw3)" height="3" style="stroke: #EEEEEE; stroke-width: 1.0;" width="1126.5" x="3" y="431.3242"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="1129.5" y1="431.3242" y2="431.3242"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="1129.5" y1="434.3242" y2="434.3242"/><rect fill="#EEEEEE" filter="url(#f1t9mvvq3glbw3)" height="23.1328" style="stroke: #000000; stroke-width: 2.0;" width="108" x="512.25" y="420.7578"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="89" x="518.25" y="436.8247">Normal flow</text><polygon fill="#A80036" points="297,471.0234,307,475.0234,297,479.0234,301,475.0234" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="97" x2="303" y1="475.0234" y2="475.0234"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="188" x="104" y="469.9575">BatteryStateChangeMessage</text><polygon fill="#A80036" points="556,500.1563,566,504.1563,556,508.1563,560,504.1563" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="319" x2="562" y1="504.1563" y2="504.1563"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="197" x="326" y="499.0903">CellularPowerStateChange(Off)</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="578" x2="620" y1="533.2891" y2="533.2891"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="620" x2="620" y1="533.2891" y2="546.2891"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="579" x2="620" y1="546.2891" y2="546.2891"/><polygon fill="#A80036" points="589,542.2891,579,546.2891,589,550.2891,585,546.2891" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="182" x="585" y="528.2231">handle_power_state_change</text><polygon fill="#A80036" points="762,571.4219,772,575.4219,762,579.4219,766,575.4219" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="319" x2="768" y1="575.4219" y2="575.4219"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="231" x="326" y="570.356">CriticalBatteryLevelNotification(true)</text><polygon fill="#A80036" points="1039,600.5547,1049,604.5547,1039,608.5547,1043,604.5547" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="779" x2="1045" y1="604.5547" y2="604.5547"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="243" x="786" y="599.4888">actions::DisplayLowBatteryNotification</text><path d="M13,619.5547 L77,619.5547 L77,626.5547 L67,636.5547 L13,636.5547 L13,619.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="13" y="619.5547"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="19" x="28" y="632.6216">alt</text><polygon fill="#A80036" points="302,653.8203,312,657.8203,302,661.8203,306,657.8203" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="97" x2="308" y1="657.8203" y2="657.8203"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="188" x="104" y="652.7544">BatteryStateChangeMessage</text><polygon fill="#A80036" points="556,682.9531,566,686.9531,556,690.9531,560,686.9531" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="324" x2="562" y1="686.9531" y2="686.9531"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="197" x="331" y="681.8872">CellularPowerStateChange(On)</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="578" x2="620" y1="716.0859" y2="716.0859"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="620" x2="620" y1="716.0859" y2="729.0859"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="579" x2="620" y1="729.0859" y2="729.0859"/><polygon fill="#A80036" points="589,725.0859,579,729.0859,589,733.0859,585,729.0859" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="182" x="585" y="711.02">handle_power_state_change</text><polygon fill="#A80036" points="767,754.2188,777,758.2188,767,762.2188,771,758.2188" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="324" x2="773" y1="758.2188" y2="758.2188"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="235" x="331" y="753.1528">CriticalBatteryLevelNotification(false)</text><!--MD5=[6dc43d04006142b5167758345b28292a]
@startuml
skinparam BackgroundColor F0F0F0

participant "Battery level check" as batt
participant "System Manager" as sysmgr


@@ 54,11 55,13 @@ end

@enduml

PlantUML version 1.2021.00(Sun Jan 10 11:25:05 CET 2021)
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: pl
Country: PL
Language: en
Country: US
--></g></svg>
\ No newline at end of file

M module-services/service-cellular/doc/cellular_state_machine.puml => module-services/service-cellular/doc/cellular_state_machine.puml +2 -1
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0

[*] --> WaitForStartPermission



@@ 72,4 73,4 @@ Event:modemActive --> PowerDown : state != PowerUpProcedure

Event:powerDownRequest --> PowerDown : state != PowerDown,PowerDownWaiting,\n PowerUpProcedure,PowerUpInProgress

@enduml
\ No newline at end of file
@enduml

M module-services/service-cellular/doc/cellular_state_machine.svg => module-services/service-cellular/doc/cellular_state_machine.svg +35 -40
@@ 1,41 1,34 @@
<?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="1228px" preserveAspectRatio="none" style="width:1839px;height:1228px;" version="1.1" viewBox="0 0 1839 1228" width="1839px" zoomAndPan="magnify"><defs><filter height="300%" id="f1iqeqg1mdk5jf" 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><ellipse cx="100" cy="32" fill="#000000" filter="url(#f1iqeqg1mdk5jf)" rx="10" ry="10" style="stroke:none;stroke-width:1.0;"/><g id="WaitForStartPermission"><rect fill="#FEFECE" filter="url(#f1iqeqg1mdk5jf)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="186" x="7" y="149"/><line style="stroke:#A80036;stroke-width:1.5;" x1="7" x2="193" y1="175.2969" y2="175.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="166" x="17" y="166.9951">WaitForStartPermission</text></g><g id="PowerDown"><rect fill="#FEFECE" filter="url(#f1iqeqg1mdk5jf)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="103" x="492.5" y="149"/><line style="stroke:#A80036;stroke-width:1.5;" x1="492.5" x2="595.5" y1="175.2969" y2="175.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="83" x="502.5" y="166.9951">PowerDown</text></g><g id="PowerUpRequest"><rect fill="#FEFECE" filter="url(#f1iqeqg1mdk5jf)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="140" x="481" y="291"/><line style="stroke:#A80036;stroke-width:1.5;" x1="481" x2="621" y1="317.2969" y2="317.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="120" x="491" y="308.9951">PowerUpRequest</text></g><g id="PowerUpProcedure"><rect fill="#FEFECE" filter="url(#f1iqeqg1mdk5jf)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="155" x="737.5" y="418"/><line style="stroke:#A80036;stroke-width:1.5;" x1="737.5" x2="892.5" y1="444.2969" y2="444.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="135" x="747.5" y="435.9951">PowerUpProcedure</text></g><g id="StatusCheck"><rect fill="#FEFECE" filter="url(#f1iqeqg1mdk5jf)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="108" x="497" y="418"/><line style="stroke:#A80036;stroke-width:1.5;" x1="497" x2="605" y1="444.2969" y2="444.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="88" x="507" y="435.9951">StatusCheck</text></g><g id="PowerUpInPorgress"><rect fill="#FEFECE" filter="url(#f1iqeqg1mdk5jf)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="156" x="724" y="545"/><line style="stroke:#A80036;stroke-width:1.5;" x1="724" x2="880" y1="571.2969" y2="571.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="136" x="734" y="562.9951">PowerUpInPorgress</text></g><g id="CellularConfProcedure"><rect fill="#FEFECE" filter="url(#f1iqeqg1mdk5jf)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="181" x="1160.5" y="672"/><line style="stroke:#A80036;stroke-width:1.5;" x1="1160.5" x2="1341.5" y1="698.2969" y2="698.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="161" x="1170.5" y="689.9951">CellularConfProcedure</text></g><g id="BaudDetect"><rect fill="#FEFECE" filter="url(#f1iqeqg1mdk5jf)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="104" x="853" y="672"/><line style="stroke:#A80036;stroke-width:1.5;" x1="853" x2="957" y1="698.2969" y2="698.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="84" x="863" y="689.9951">BaudDetect</text></g><g id="ModemFatalFailure"><rect fill="#FEFECE" filter="url(#f1iqeqg1mdk5jf)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="157" x="867.5" y="1164"/><line style="stroke:#A80036;stroke-width:1.5;" x1="867.5" x2="1024.5" y1="1190.2969" y2="1190.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="137" x="877.5" y="1181.9951">ModemFatalFailure</text></g><g id="AudioConfigurationProcedure"><rect fill="#FEFECE" filter="url(#f1iqeqg1mdk5jf)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="231" x="1135.5" y="799"/><line style="stroke:#A80036;stroke-width:1.5;" x1="1135.5" x2="1366.5" y1="825.2969" y2="825.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="211" x="1145.5" y="816.9951">AudioConfigurationProcedure</text></g><g id="Failed"><rect fill="#FEFECE" filter="url(#f1iqeqg1mdk5jf)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="63" x="1593.5" y="926"/><line style="stroke:#A80036;stroke-width:1.5;" x1="1593.5" x2="1656.5" y1="952.2969" y2="952.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="43" x="1603.5" y="943.9951">Failed</text></g><g id="Idle"><rect fill="#FEFECE" filter="url(#f1iqeqg1mdk5jf)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="50" x="1226" y="1037"/><line style="stroke:#A80036;stroke-width:1.5;" x1="1226" x2="1276" y1="1063.2969" y2="1063.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="26" x="1238" y="1054.9951">Idle</text></g><g id="APNConfProcedure"><rect fill="#FEFECE" filter="url(#f1iqeqg1mdk5jf)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="154" x="1027" y="926"/><line style="stroke:#A80036;stroke-width:1.5;" x1="1027" x2="1181" y1="952.2969" y2="952.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="134" x="1037" y="943.9951">APNConfProcedure</text></g><g id="SanityCheck"><rect fill="#FEFECE" filter="url(#f1iqeqg1mdk5jf)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="108" x="1050" y="1037"/><line style="stroke:#A80036;stroke-width:1.5;" x1="1050" x2="1158" y1="1063.2969" y2="1063.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="88" x="1060" y="1054.9951">SanityCheck</text></g><g id="ModemOn"><rect fill="#FEFECE" filter="url(#f1iqeqg1mdk5jf)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="93" x="1059.5" y="1164"/><line style="stroke:#A80036;stroke-width:1.5;" x1="1059.5" x2="1152.5" y1="1190.2969" y2="1190.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="73" x="1069.5" y="1181.9951">ModemOn</text></g><g id="URCReady"><rect fill="#FEFECE" filter="url(#f1iqeqg1mdk5jf)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="95" x="1187.5" y="1164"/><line style="stroke:#A80036;stroke-width:1.5;" x1="1187.5" x2="1282.5" y1="1190.2969" y2="1190.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="75" x="1197.5" y="1181.9951">URCReady</text></g><g id="Event:CellularSimProcedure"><rect fill="#FEFECE" filter="url(#f1iqeqg1mdk5jf)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="220" x="824" y="7"/><line style="stroke:#A80036;stroke-width:1.5;" x1="824" x2="1044" y1="33.2969" y2="33.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="200" x="834" y="24.9951">Event:CellularSimProcedure</text></g><g id="SimSelect"><rect fill="#FEFECE" filter="url(#f1iqeqg1mdk5jf)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="91" x="888.5" y="149"/><line style="stroke:#A80036;stroke-width:1.5;" x1="888.5" x2="979.5" y1="175.2969" y2="175.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="71" x="898.5" y="166.9951">SimSelect</text></g><g id="Event:SIM_READY"><rect fill="#FEFECE" filter="url(#f1iqeqg1mdk5jf)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="146" x="1679" y="672"/><line style="stroke:#A80036;stroke-width:1.5;" x1="1679" x2="1825" y1="698.2969" y2="698.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="126" x="1689" y="689.9951">Event:SIM_READY</text></g><g id="SimInit"><rect fill="#FEFECE" filter="url(#f1iqeqg1mdk5jf)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="69" x="1717.5" y="799"/><line style="stroke:#A80036;stroke-width:1.5;" x1="1717.5" x2="1786.5" y1="825.2969" y2="825.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="49" x="1727.5" y="816.9951">SimInit</text></g><g id="Ready"><rect fill="#FEFECE" filter="url(#f1iqeqg1mdk5jf)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="65" x="1736.5" y="926"/><line style="stroke:#A80036;stroke-width:1.5;" x1="1736.5" x2="1801.5" y1="952.2969" y2="952.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="45" x="1746.5" y="943.9951">Ready</text></g><g id="Event:PowerDownDeregistering"><rect fill="#FEFECE" filter="url(#f1iqeqg1mdk5jf)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="245" x="1079.5" y="7"/><line style="stroke:#A80036;stroke-width:1.5;" x1="1079.5" x2="1324.5" y1="33.2969" y2="33.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="225" x="1089.5" y="24.9951">Event:PowerDownDeregistering</text></g><g id="PowerDownStarted"><rect fill="#FEFECE" filter="url(#f1iqeqg1mdk5jf)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="155" x="1124.5" y="149"/><line style="stroke:#A80036;stroke-width:1.5;" x1="1124.5" x2="1279.5" y1="175.2969" y2="175.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="135" x="1134.5" y="166.9951">PowerDownStarted</text></g><g id="Event:PowerDownDeregistered"><rect fill="#FEFECE" filter="url(#f1iqeqg1mdk5jf)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="241" x="366.5" y="799"/><line style="stroke:#A80036;stroke-width:1.5;" x1="366.5" x2="607.5" y1="825.2969" y2="825.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="221" x="376.5" y="816.9951">Event:PowerDownDeregistered</text></g><g id="PowerDownWaiting"><rect fill="#FEFECE" filter="url(#f1iqeqg1mdk5jf)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="157" x="408.5" y="926"/><line style="stroke:#A80036;stroke-width:1.5;" x1="408.5" x2="565.5" y1="952.2969" y2="952.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="137" x="418.5" y="943.9951">PowerDownWaiting</text></g><g id="Event:PowerDownRequest"><rect fill="#FEFECE" filter="url(#f1iqeqg1mdk5jf)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="206" x="167" y="926"/><line style="stroke:#A80036;stroke-width:1.5;" x1="167" x2="373" y1="952.2969" y2="952.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="186" x="177" y="943.9951">Event:PowerDownRequest</text></g><g id="Event:PowerUpProcedureComplete"><rect fill="#FEFECE" filter="url(#f1iqeqg1mdk5jf)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="269" x="1136.5" y="545"/><line style="stroke:#A80036;stroke-width:1.5;" x1="1136.5" x2="1405.5" y1="571.2969" y2="571.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="249" x="1146.5" y="562.9951">Event:PowerUpProcedureComplete</text></g><g id="Event:modemActive"><rect fill="#FEFECE" filter="url(#f1iqeqg1mdk5jf)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="164" x="625" y="7"/><line style="stroke:#A80036;stroke-width:1.5;" x1="625" x2="789" y1="33.2969" y2="33.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="144" x="635" y="24.9951">Event:modemActive</text></g><g id="Event:powerDownRequest"><rect fill="#FEFECE" filter="url(#f1iqeqg1mdk5jf)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="207" x="292.5" y="7"/><line style="stroke:#A80036;stroke-width:1.5;" x1="292.5" x2="499.5" y1="33.2969" y2="33.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="187" x="302.5" y="24.9951">Event:powerDownRequest</text></g><!--MD5=[f915ac7c515e4418b9971fc24141bfa8]
link *start to WaitForStartPermission--><path d="M100,42.19 C100,62.43 100,111.61 100,143.57 " fill="none" id="*start-to-WaitForStartPermission" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="100,148.93,104,139.93,100,143.93,96,139.93,100,148.93" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[88ab108be6f5d0bf533f01e1c35c5b74]
link WaitForStartPermission to PowerDown--><path d="M193.08,174 C281.85,174 412.72,174 487.01,174 " fill="none" id="WaitForStartPermission-to-PowerDown" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="492.26,174,483.26,170,487.26,174,483.26,178,492.26,174" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="263" x="211.25" y="167.0669">PowerDownRequest &amp;&amp; !isModemActive</text><!--MD5=[0c907647073cf18eded21f91f1f8f134]
link WaitForStartPermission to PowerUpRequest--><path d="M161.58,199.14 C209.3,217.39 277.3,242.39 338,261 C383.39,274.92 434.98,288.06 476.02,297.9 " fill="none" id="WaitForStartPermission-to-PowerUpRequest" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="480.97,299.08,473.142,293.1032,476.1061,297.9213,471.288,300.8854,480.97,299.08" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="111" x="339" y="249.5669">PowerUpRequest</text><!--MD5=[584390472df753eb5ace16f97522b8e7]
link PowerDown to PowerUpRequest--><path d="M595.63,179.97 C627.69,186.03 666.55,199.42 687,229 C708.72,260.42 668.44,282.81 626.2,296.85 " fill="none" id="PowerDown-to-PowerUpRequest" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="621.31,298.44,631.105,299.4683,626.0661,296.8975,628.637,291.8586,621.31,298.44" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="111" x="695" y="249.5669">PowerUpRequest</text><!--MD5=[584390472df753eb5ace16f97522b8e7]
link PowerDown to PowerUpRequest--><path d="M492.3,199.11 C480.97,206.97 470.45,216.87 464,229 C457.33,241.56 457.09,248.57 464,261 C469.97,271.74 479.06,280.62 489.15,287.85 " fill="none" id="PowerDown-to-PowerUpRequest-1" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="493.53,290.85,488.3662,282.4634,489.4052,288.024,483.8446,289.0631,493.53,290.85" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="209" x="465" y="242.0669">nextPowerStateChangeAwaiting</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="173" x="487" y="257.1997">&amp;&amp; nextPowerState == on</text><!--MD5=[fd7c4f6a4c6d13e246c834aa3ba49585]
link PowerUpRequest to PowerUpProcedure--><path d="M601.9,341.1 C647.1,362.5 713,393.71 759.53,415.74 " fill="none" id="PowerUpRequest-to-PowerUpProcedure" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="764.25,417.97,757.8155,410.5136,759.7275,415.8376,754.4036,417.7496,764.25,417.97" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="130" x="700" y="384.0669">board == T3 | Linux</text><!--MD5=[1f58f805457b87f5122cad7e5f47ae2e]
link PowerUpRequest to StatusCheck--><path d="M551,341.1 C551,361.59 551,391.08 551,412.88 " fill="none" id="PowerUpRequest-to-StatusCheck" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="551,417.97,555,408.97,551,412.97,547,408.97,551,417.97" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="83" x="552" y="384.0669">board == T4</text><!--MD5=[d831c87685770c4b5421553c9e07c620]
link StatusCheck to PowerUpInPorgress--><path d="M599.4,468.1 C642.37,489.5 705.03,520.71 749.26,542.74 " fill="none" id="StatusCheck-to-PowerUpInPorgress" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="753.75,544.97,747.4793,537.3754,749.275,542.7397,743.9107,544.5354,753.75,544.97" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="91" x="693" y="511.0669">modemActive</text><!--MD5=[5076860d7ea1929d04394078621bcf05]
link StatusCheck to PowerUpProcedure--><path d="M605.06,443 C641.74,443 690.92,443 732.46,443 " fill="none" id="StatusCheck-to-PowerUpProcedure" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="737.48,443,728.48,439,732.48,443,728.48,447,737.48,443" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="96" x="623.25" y="436.0669">!modemActive</text><!--MD5=[d397ed2e524c17c524214a6bc49619b6]
link PowerUpProcedure to CellularConfProcedure--><path d="M892.73,447.29 C936.14,452.88 988.64,466.38 1025,498 C1060.19,528.6 1033.82,560.32 1065,595 C1095.21,628.61 1139.32,653.23 1177,669.75 " fill="none" id="PowerUpProcedure-to-CellularConfProcedure" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="1182.04,671.93,1175.3705,664.6831,1177.4517,669.9432,1172.1916,672.0243,1182.04,671.93" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="52" x="1066" y="574.5669">hotStart</text><!--MD5=[c78ef4752e5fc097b033474b61fe6478]
link PowerUpProcedure to PowerUpInPorgress--><path d="M806.24,468.13 C803.32,477.34 800.45,488.03 799,498 C797.01,511.69 797.34,527.01 798.34,539.9 " fill="none" id="PowerUpProcedure-to-PowerUpInPorgress" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="798.77,544.9,801.9845,535.5905,798.3418,539.9184,794.0139,536.2756,798.77,544.9" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="220" x="800" y="511.0669">coldStart || event: modem ACTIVE</text><!--MD5=[727c9e726932860737726ca6f5028085]
link PowerUpInPorgress to BaudDetect--><path d="M821.86,595.1 C839.03,615.94 863.86,646.07 881.91,667.98 " fill="none" id="PowerUpInPorgress-to-BaudDetect" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="885.2,671.97,882.5528,662.4836,882.016,668.1149,876.3846,667.578,885.2,671.97" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[f6b42f2832973fdffd6f80cf1316681b]
link BaudDetect to CellularConfProcedure--><path d="M957.17,697 C1009.42,697 1091.02,697 1154.98,697 " fill="none" id="BaudDetect-to-CellularConfProcedure" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="1160.33,697,1151.33,693,1155.33,697,1151.33,701,1160.33,697" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="52" x="1032.75" y="690.0669">Success</text><!--MD5=[fb0ab7093ebe96a0eb9a906c1d94f36d]
link BaudDetect to ModemFatalFailure--><path d="M917.97,722.13 C929.98,746.77 946,786.46 946,823 C946,823 946,823 946,1063 C946,1095.62 946,1133.03 946,1158.35 " fill="none" id="BaudDetect-to-ModemFatalFailure" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="946,1163.57,950,1154.57,946,1158.57,942,1154.57,946,1163.57" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="44" x="947" y="955.5669">Failure</text><!--MD5=[68f100448ff22dc026a7f78db7e4edea]
link CellularConfProcedure to AudioConfigurationProcedure--><path d="M1251,722.1 C1251,742.59 1251,772.08 1251,793.88 " fill="none" id="CellularConfProcedure-to-AudioConfigurationProcedure" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="1251,798.97,1255,789.97,1251,793.97,1247,789.97,1251,798.97" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="52" x="1252" y="765.0669">Success</text><!--MD5=[5d7ae24bf63e4aed2a4253c65e46f11f]
link CellularConfProcedure to Failed--><path d="M1340.84,722.08 C1420.79,748.02 1535.26,797.03 1603,879 C1612.74,890.78 1618.17,906.86 1621.21,920.74 " fill="none" id="CellularConfProcedure-to-Failed" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="1622.22,925.74,1624.3396,916.1219,1621.2202,920.841,1616.5011,917.7216,1622.22,925.74" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="39" x="1575" y="828.5669">Failed</text><!--MD5=[8bec8aa94f11da26fdaa532b9e927b58]
link AudioConfigurationProcedure to AudioConfigurationProcedure--><path d="M1366.79,813.08 C1387.24,814.52 1401.5,818.16 1401.5,824 C1401.5,829.34 1389.59,832.84 1371.92,834.5 " fill="none" id="AudioConfigurationProcedure-to-AudioConfigurationProcedure" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="1366.79,834.92,1376.0903,838.161,1371.7728,834.506,1375.4279,830.1885,1366.79,834.92" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="39" x="1407.5" y="828.5669">Failed</text><!--MD5=[f66ed35969f9ee770eed229d3a3a3084]
link AudioConfigurationProcedure to Failed--><path d="M1263.52,849.3 C1273,865.17 1287.54,884.94 1306,896 C1353.17,924.26 1514.8,940.88 1588.2,947.13 " fill="none" id="AudioConfigurationProcedure-to-Failed" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="1593.33,947.57,1584.7056,942.8139,1588.3484,947.1418,1584.0205,950.7845,1593.33,947.57" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="291" x="1307" y="892.0669">Baud setup fail | radio enabling/disabling fail</text><!--MD5=[82b15964c7ea4c9e08a8f2c3031886b6]
link AudioConfigurationProcedure to Idle--><path d="M1251,849.37 C1251,893.03 1251,984.41 1251,1031.52 " fill="none" id="AudioConfigurationProcedure-to-Idle" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="1251,1036.77,1255,1027.77,1251,1031.77,1247,1027.77,1251,1036.77" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="76" x="1252" y="955.5669">reset called</text><!--MD5=[0510a649553933047eef813e676d387c]
link AudioConfigurationProcedure to APNConfProcedure--><path d="M1211.5,849.17 C1198.17,857.97 1183.52,868.37 1171,879 C1155.65,892.04 1140.11,908.27 1127.87,921.92 " fill="none" id="AudioConfigurationProcedure-to-APNConfProcedure" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="1124.51,925.7,1133.4876,921.6499,1127.8398,921.9701,1127.5197,916.3223,1124.51,925.7" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="52" x="1172" y="892.0669">Success</text><!--MD5=[7ef9c75e84b5805cea2dd0fad20a72d8]
link APNConfProcedure to SanityCheck--><path d="M1104,976.19 C1104,992.56 1104,1014.28 1104,1031.64 " fill="none" id="APNConfProcedure-to-SanityCheck" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="1104,1036.88,1108,1027.88,1104,1031.88,1100,1027.88,1104,1036.88" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[8c0f7218f4a51008def03317319fcc3d]
link SanityCheck to ModemOn--><path d="M1104.39,1087.1 C1104.71,1107.59 1105.19,1137.08 1105.53,1158.88 " fill="none" id="SanityCheck-to-ModemOn" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="1105.62,1163.97,1109.491,1154.9138,1105.5486,1158.9705,1101.4918,1155.0281,1105.62,1163.97" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="52" x="1107" y="1130.0669">Success</text><!--MD5=[33f60799b5f26f20f5dd174f2ed7c1a3]
link SanityCheck to ModemFatalFailure--><path d="M1073.54,1087.1 C1046.87,1108.2 1008.16,1138.83 980.39,1160.8 " fill="none" id="SanityCheck-to-ModemFatalFailure" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="976.37,1163.97,985.9088,1161.5181,980.2896,1160.8658,980.942,1155.2466,976.37,1163.97" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="44" x="1036" y="1130.0669">Failure</text><!--MD5=[3905e8178637947b22a281c6f6af1a81]
link ModemOn to URCReady--><path d="M1152.61,1189 C1162.48,1189 1172.34,1189 1182.21,1189 " fill="none" id="ModemOn-to-URCReady" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="1187.37,1189,1178.37,1185,1182.37,1189,1178.37,1193,1187.37,1189" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[25bdad021a3357d0304ecf42b5cd666e]
link Event:CellularSimProcedure to SimSelect--><path d="M934,57.07 C934,81.01 934,117.78 934,143.47 " fill="none" id="Event:CellularSimProcedure-to-SimSelect" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="934,148.78,938,139.78,934,143.78,930,139.78,934,148.78" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[70270a8730f9b46f42f00f8c6cb6b504]
link Event:SIM_READY to SimInit--><path d="M1752,722.1 C1752,742.59 1752,772.08 1752,793.88 " fill="none" id="Event:SIM_READY-to-SimInit" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="1752,798.97,1756,789.97,1752,793.97,1748,789.97,1752,798.97" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[b86a93dae48bca6b30f35403ce1d8717]
link SimInit to Failed--><path d="M1727.51,849.1 C1706.25,870.03 1675.47,900.32 1653.19,922.25 " fill="none" id="SimInit-to-Failed" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="1649.41,925.97,1658.6307,922.509,1652.974,922.4632,1653.0198,916.8065,1649.41,925.97" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="44" x="1697" y="892.0669">Failure</text><!--MD5=[b5461c294bec50186077517b36d4e59b]
link SimInit to Ready--><path d="M1755.28,849.1 C1758.06,869.59 1762.07,899.08 1765.04,920.88 " fill="none" id="SimInit-to-Ready" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="1765.73,925.97,1768.4858,916.5146,1765.0589,921.0152,1760.5582,917.5883,1765.73,925.97" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="52" x="1762" y="892.0669">Success</text><!--MD5=[413a005fcb8ce8860adb73228c80b7ef]
link Event:PowerDownDeregistering to PowerDownStarted--><path d="M1202,57.07 C1202,81.01 1202,117.78 1202,143.47 " fill="none" id="Event:PowerDownDeregistering-to-PowerDownStarted" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="1202,148.78,1206,139.78,1202,143.78,1198,139.78,1202,148.78" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="184" x="1203" y="107.5669">state != PowerDownWaiting</text><!--MD5=[b6a5c31cebdae095f367e2e47186e206]
link Event:PowerDownDeregistered to PowerDownWaiting--><path d="M487,849.1 C487,869.59 487,899.08 487,920.88 " fill="none" id="Event:PowerDownDeregistered-to-PowerDownWaiting" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="487,925.97,491,916.97,487,920.97,483,916.97,487,925.97" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[24c673904b079bd1ceff7ed1ad2637b1]
link Event:PowerDownRequest to PowerDownWaiting--><path d="M373.41,951 C383.36,951 393.31,951 403.26,951 " fill="none" id="Event:PowerDownRequest-to-PowerDownWaiting" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="408.47,951,399.47,947,403.47,951,399.47,955,408.47,951" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[bd7f44948400696f1debeec448c84662]
link PowerDownWaiting to PowerDown--><path d="M408.4,926.8 C362.29,907.82 313,875.68 313,825 C313,315 313,315 313,315 C313,233.76 418.78,198.36 487.18,183.96 " fill="none" id="PowerDownWaiting-to-PowerDown" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="492.45,182.88,482.8319,180.7604,487.551,183.8798,484.4316,188.5989,492.45,182.88" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="118" x="332.5" y="567.0669">(If T3 &amp;&amp; timeout)</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="155" x="318" y="582.1997">|| Event:modemInactive</text><!--MD5=[538f577aff9d45ee5f10c76efb758677]
link BaudDetect to PowerDownWaiting--><path d="M852.99,721.83 C811.99,741.19 753.81,769.96 705,799 C638.63,838.49 565.64,891.06 523.2,922.61 " fill="none" id="BaudDetect-to-PowerDownWaiting" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="518.94,925.79,528.545,923.612,522.9469,922.7992,523.7597,917.201,518.94,925.79" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="209" x="706" y="821.0669">nextPowerStateChangeAwaiting</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="175" x="727" y="836.1997">&amp;&amp; nextPowerState == off</text><!--MD5=[0efad0401ca8edd085e226b25311ae33]
link Event:PowerUpProcedureComplete to CellularConfProcedure--><path d="M1267.14,595.1 C1263.87,615.59 1259.15,645.08 1255.66,666.88 " fill="none" id="Event:PowerUpProcedureComplete-to-CellularConfProcedure" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="1254.84,671.97,1260.207,663.712,1255.6272,667.0324,1252.3068,662.4525,1254.84,671.97" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="134" x="1263" y="638.0669">board == T3 || Linux</text><!--MD5=[18dc0415e66d1a4a3ab66d026941b242]
link Event:modemActive to PowerDown--><path d="M701.15,57.3 C695.48,76.24 685.17,102.09 668,119 C649.49,137.23 623.83,149.79 600.64,158.17 " fill="none" id="Event:modemActive-to-PowerDown" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="595.73,159.9,605.5472,160.689,600.4471,158.2419,602.8942,153.1417,595.73,159.9" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="180" x="691" y="107.5669">state != PowerUpProcedure</text><!--MD5=[8ce29d3611eab794d01643cc4f798f18]
link Event:powerDownRequest to PowerDown--><path d="M387.86,57.11 C383.18,75.7 380.44,101.17 393,119 C414.15,149.03 453.61,162.45 486.89,168.4 " fill="none" id="Event:powerDownRequest-to-PowerDown" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="492.17,169.3,483.9731,163.8401,487.2415,168.4572,482.6245,171.7257,492.17,169.3" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="269" x="394" y="100.0669">state != PowerDown,PowerDownWaiting,</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="253" x="404" y="115.1997">PowerUpProcedure,PowerUpInProgress</text><!--MD5=[c0d462428a6b2d1bf2eefbb04fccfeb6]
<?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="1291px" preserveAspectRatio="none" style="width:1333px;height:1291px;background:#F0F0F0;" version="1.1" viewBox="0 0 1333 1291" width="1333px" zoomAndPan="magnify"><defs><filter height="300%" id="f1ooykyz22dy45" 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><ellipse cx="95.5" cy="89" fill="#000000" filter="url(#f1ooykyz22dy45)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#f1ooykyz22dy45)" height="50" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="179" x="6" y="231"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="6" x2="185" y1="257.2969" y2="257.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="159" x="16" y="248.9951">WaitForStartPermission</text><rect fill="#FEFECE" filter="url(#f1ooykyz22dy45)" height="50" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="103" x="479" y="231"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="479" x2="582" y1="257.2969" y2="257.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="83" x="489" y="248.9951">PowerDown</text><rect fill="#FEFECE" filter="url(#f1ooykyz22dy45)" height="50" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="141" x="420" y="373"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="420" x2="561" y1="399.2969" y2="399.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="121" x="430" y="390.9951">PowerUpRequest</text><rect fill="#FEFECE" filter="url(#f1ooykyz22dy45)" height="50" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="154" x="675.5" y="500"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="675.5" x2="829.5" y1="526.2969" y2="526.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="134" x="685.5" y="517.9951">PowerUpProcedure</text><rect fill="#FEFECE" filter="url(#f1ooykyz22dy45)" height="50" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="108" x="436.5" y="500"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="436.5" x2="544.5" y1="526.2969" y2="526.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="88" x="446.5" y="517.9951">StatusCheck</text><rect fill="#FEFECE" filter="url(#f1ooykyz22dy45)" height="50" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="156" x="553.5" y="627"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="553.5" x2="709.5" y1="653.2969" y2="653.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="136" x="563.5" y="644.9951">PowerUpInPorgress</text><rect fill="#FEFECE" filter="url(#f1ooykyz22dy45)" height="50" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="174" x="784.5" y="738"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="784.5" x2="958.5" y1="764.2969" y2="764.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="154" x="794.5" y="755.9951">CellularConfProcedure</text><rect fill="#FEFECE" filter="url(#f1ooykyz22dy45)" height="50" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="103" x="585" y="738"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="585" x2="688" y1="764.2969" y2="764.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="83" x="595" y="755.9951">BaudDetect</text><rect fill="#FEFECE" filter="url(#f1ooykyz22dy45)" height="50" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="149" x="659" y="1230"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="659" x2="808" y1="1256.2969" y2="1256.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="129" x="669" y="1247.9951">ModemFatalFailure</text><rect fill="#FEFECE" filter="url(#f1ooykyz22dy45)" height="50" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="223" x="991" y="865"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="991" x2="1214" y1="891.2969" y2="891.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="203" x="1001" y="882.9951">AudioConfigurationProcedure</text><rect fill="#FEFECE" filter="url(#f1ooykyz22dy45)" height="50" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="60" x="790.5" y="992"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="790.5" x2="850.5" y1="1018.2969" y2="1018.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="40" x="800.5" y="1009.9951">Failed</text><rect fill="#FEFECE" filter="url(#f1ooykyz22dy45)" height="50" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="50" x="1231.5" y="1103"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1231.5" x2="1281.5" y1="1129.2969" y2="1129.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="24" x="1244.5" y="1120.9951">Idle</text><rect fill="#FEFECE" filter="url(#f1ooykyz22dy45)" height="50" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="152" x="960.5" y="992"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="960.5" x2="1112.5" y1="1018.2969" y2="1018.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="132" x="970.5" y="1009.9951">APNConfProcedure</text><rect fill="#FEFECE" filter="url(#f1ooykyz22dy45)" height="50" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="105" x="879" y="1103"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="879" x2="984" y1="1129.2969" y2="1129.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="85" x="889" y="1120.9951">SanityCheck</text><rect fill="#FEFECE" filter="url(#f1ooykyz22dy45)" height="50" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="92" x="885.5" y="1230"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="885.5" x2="977.5" y1="1256.2969" y2="1256.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="72" x="895.5" y="1247.9951">ModemOn</text><rect fill="#FEFECE" filter="url(#f1ooykyz22dy45)" height="50" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="93" x="1013" y="1230"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1013" x2="1106" y1="1256.2969" y2="1256.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="73" x="1023" y="1247.9951">URCReady</text><rect fill="#FEFECE" filter="url(#f1ooykyz22dy45)" height="162.0156" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="508" x="140.5" y="8"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="140.5" x2="648.5" y1="34.2969" y2="34.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="39" x="375" y="25.9951">Event</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="220" x="145.5" y="50.4355">CellularSimProcedure --&gt; SimSelect</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="134" x="145.5" y="64.4043">SIM_READY --&gt; SimInit</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="488" x="145.5" y="78.373">PowerDownDeregistering --&gt; PowerDownStarted : state != PowerDownWaiting</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="298" x="145.5" y="92.3418">PowerDownDeregistered --&gt; PowerDownWaiting</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="264" x="145.5" y="106.3105">PowerDownRequest -&gt; PowerDownWaiting</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="483" x="145.5" y="120.2793">PowerUpProcedureComplete --&gt; CellularConfProcedure : board == T3 || Linux</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="369" x="145.5" y="134.248">modemActive --&gt; PowerDown : state != PowerUpProcedure</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="488" x="145.5" y="148.2168">powerDownRequest --&gt; PowerDown : state != PowerDown,PowerDownWaiting,</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="246" x="149.5" y="162.1855">PowerUpProcedure,PowerUpInProgress</text><rect fill="#FEFECE" filter="url(#f1ooykyz22dy45)" height="50" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="65" x="243" y="865"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="243" x2="308" y1="891.2969" y2="891.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="45" x="253" y="882.9951">SimInit</text><rect fill="#FEFECE" filter="url(#f1ooykyz22dy45)" height="50" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="63" x="244" y="992"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="244" x2="307" y1="1018.2969" y2="1018.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="43" x="254" y="1009.9951">Ready</text><rect fill="#FEFECE" filter="url(#f1ooykyz22dy45)" height="50" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="153" x="358" y="992"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="358" x2="511" y1="1018.2969" y2="1018.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="133" x="368" y="1009.9951">PowerDownWaiting</text><!--MD5=[f915ac7c515e4418b9971fc24141bfa8]
link *start to WaitForStartPermission--><path d="M95.5,99.34 C95.5,123.26 95.5,187.46 95.5,225.52 " fill="none" id="*start-&gt;WaitForStartPermission" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="95.5,230.94,99.5,221.94,95.5,225.94,91.5,221.94,95.5,230.94" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[88ab108be6f5d0bf533f01e1c35c5b74]
link WaitForStartPermission to PowerDown--><path d="M185.1,256 C271.69,256 400.22,256 473.62,256 " fill="none" id="WaitForStartPermission-&gt;PowerDown" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="478.81,256,469.81,252,473.81,256,469.81,260,478.81,256" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="257" x="203.5" y="249.0669">PowerDownRequest &amp;&amp; !isModemActive</text><!--MD5=[0c907647073cf18eded21f91f1f8f134]
link WaitForStartPermission to PowerUpRequest--><path d="M159.93,281.08 C207.06,298.57 272.61,322.64 330.5,343 C357.97,352.66 388.21,362.95 414.93,371.93 " fill="none" id="WaitForStartPermission-&gt;PowerUpRequest" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="419.88,373.59,412.6128,366.9426,415.138,372.0046,410.0761,374.5298,419.88,373.59" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="108" x="331.5" y="331.5669">PowerUpRequest</text><!--MD5=[584390472df753eb5ace16f97522b8e7]
link PowerDown to PowerUpRequest--><path d="M480.47,281.06 C469.27,288.96 458.84,298.89 452.5,311 C442.65,329.79 452.6,351.67 464.78,368.66 " fill="none" id="PowerDown-&gt;PowerUpRequest" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="467.92,372.87,465.72,363.27,464.92,368.87,459.32,368.07,467.92,372.87" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="108" x="453.5" y="331.5669">PowerUpRequest</text><!--MD5=[584390472df753eb5ace16f97522b8e7]
link PowerDown to PowerUpRequest--><path d="M552.1,281.19 C564.98,298.69 576.97,322.72 566.5,343 C561.04,353.57 552.45,362.52 542.98,369.92 " fill="none" id="PowerDown-&gt;PowerUpRequest-1" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="538.88,372.99,548.48,370.79,542.88,369.99,543.68,364.39,538.88,372.99" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="203" x="570.5" y="324.0669">nextPowerStateChangeAwaiting</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="173" x="589.5" y="339.1997">&amp;&amp; nextPowerState == on</text><!--MD5=[fd7c4f6a4c6d13e246c834aa3ba49585]
link PowerUpRequest to PowerUpProcedure--><path d="M541.02,423.1 C585.87,444.5 651.28,475.71 697.45,497.74 " fill="none" id="PowerUpRequest-&gt;PowerUpProcedure" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="702.14,499.97,695.7441,492.4805,697.6286,497.8142,692.2949,499.6987,702.14,499.97" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="127" x="637.5" y="466.0669">board == T3 | Linux</text><!--MD5=[1f58f805457b87f5122cad7e5f47ae2e]
link PowerUpRequest to StatusCheck--><path d="M490.5,423.1 C490.5,443.59 490.5,473.08 490.5,494.88 " fill="none" id="PowerUpRequest-&gt;StatusCheck" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="490.5,499.97,494.5,490.97,490.5,494.97,486.5,490.97,490.5,499.97" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="82" x="491.5" y="466.0669">board == T4</text><!--MD5=[d831c87685770c4b5421553c9e07c620]
link StatusCheck to PowerUpInPorgress--><path d="M496.81,550.12 C501.75,565.12 509.93,583.96 522.5,597 C533.1,608 546.41,617.09 560.06,624.48 " fill="none" id="StatusCheck-&gt;PowerUpInPorgress" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="564.69,626.92,558.5856,619.191,560.2645,624.593,554.8625,626.2719,564.69,626.92" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="89" x="523.5" y="593.0669">modemActive</text><!--MD5=[5076860d7ea1929d04394078621bcf05]
link StatusCheck to PowerUpProcedure--><path d="M544.79,525 C580.93,525 629.12,525 669.97,525 " fill="none" id="StatusCheck-&gt;PowerUpProcedure" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="675.43,525,666.43,521,670.43,525,666.43,529,675.43,525" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="563" y="518.0669">!modemActive</text><!--MD5=[d397ed2e524c17c524214a6bc49619b6]
link PowerUpProcedure to CellularConfProcedure--><path d="M817.01,550.07 C829.98,557.75 842.17,567.58 850.5,580 C881.54,626.26 879.94,694.4 875.83,732.84 " fill="none" id="PowerUpProcedure-&gt;CellularConfProcedure" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="875.26,737.83,880.2402,729.3331,875.8184,732.8613,872.2902,728.4396,875.26,737.83" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="53" x="878.5" y="656.5669">hotStart</text><!--MD5=[c78ef4752e5fc097b033474b61fe6478]
link PowerUpProcedure to PowerUpInPorgress--><path d="M675.44,543.2 C656.64,551.21 638.73,562.91 627.5,580 C619.53,592.13 619.72,608.09 622.26,621.81 " fill="none" id="PowerUpProcedure-&gt;PowerUpInPorgress" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="623.29,626.75,625.3771,617.1248,622.2737,621.8544,617.5441,618.751,623.29,626.75" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="217" x="628.5" y="593.0669">coldStart || event: modem ACTIVE</text><!--MD5=[727c9e726932860737726ca6f5028085]
link PowerUpInPorgress to BaudDetect--><path d="M632.61,677.19 C633.36,693.56 634.36,715.28 635.15,732.64 " fill="none" id="PowerUpInPorgress-&gt;BaudDetect" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="635.39,737.88,638.9736,728.7063,635.161,732.8852,630.982,729.0726,635.39,737.88" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[f6b42f2832973fdffd6f80cf1316681b]
link BaudDetect to CellularConfProcedure--><path d="M688.07,763 C714.77,763 748.17,763 779.13,763 " fill="none" id="BaudDetect-&gt;CellularConfProcedure" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="784.48,763,775.48,759,779.48,763,775.48,767,784.48,763" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="53" x="709.75" y="756.0669">Success</text><!--MD5=[fb0ab7093ebe96a0eb9a906c1d94f36d]
link BaudDetect to ModemFatalFailure--><path d="M661.89,788.25 C683.65,811.74 711.5,849.52 711.5,889 C711.5,889 711.5,889 711.5,1129 C711.5,1162.26 719.15,1199.75 725.43,1224.93 " fill="none" id="BaudDetect-&gt;ModemFatalFailure" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="726.66,1229.79,728.3309,1220.0839,725.4339,1224.9427,720.5752,1222.0457,726.66,1229.79" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="42" x="712.5" y="1021.5669">Failure</text><!--MD5=[68f100448ff22dc026a7f78db7e4edea]
link CellularConfProcedure to AudioConfigurationProcedure--><path d="M916.04,788.1 C955.35,809.37 1012.56,840.33 1053.22,862.33 " fill="none" id="CellularConfProcedure-&gt;AudioConfigurationProcedure" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1058.1,864.97,1052.0752,857.1789,1053.6986,862.5978,1048.2796,864.2212,1058.1,864.97" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="53" x="1001.5" y="831.0669">Success</text><!--MD5=[5d7ae24bf63e4aed2a4253c65e46f11f]
link CellularConfProcedure to Failed--><path d="M864.79,788.11 C855.4,822.61 838.41,888.21 828.5,945 C826.11,958.7 824.28,974.02 822.98,986.91 " fill="none" id="CellularConfProcedure-&gt;Failed" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="822.48,991.91,827.3338,983.3403,822.9648,986.9336,819.3715,982.5646,822.48,991.91" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="37" x="845.5" y="894.5669">Failed</text><!--MD5=[8bec8aa94f11da26fdaa532b9e927b58]
link AudioConfigurationProcedure to AudioConfigurationProcedure--><path d="M1214.28,879.01 C1234.69,880.4 1249,884.07 1249,890 C1249,895.42 1237.04,898.95 1219.4,900.58 " fill="none" id="AudioConfigurationProcedure-&gt;AudioConfigurationProcedure" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1214.28,900.99,1223.5617,904.2839,1219.2651,900.6043,1222.9447,896.3077,1214.28,900.99" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="37" x="1255" y="894.5669">Failed</text><!--MD5=[f66ed35969f9ee770eed229d3a3a3084]
link AudioConfigurationProcedure to Failed--><path d="M990.69,904.68 C933.85,913.62 872.26,927 850.5,945 C837.81,955.5 830.39,972.31 826.1,986.95 " fill="none" id="AudioConfigurationProcedure-&gt;Failed" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="824.76,991.81,830.989,984.1812,826.0768,986.9865,823.2714,982.0743,824.76,991.81" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="279" x="851.5" y="958.0669">Baud setup fail | radio enabling/disabling fail</text><!--MD5=[82b15964c7ea4c9e08a8f2c3031886b6]
link AudioConfigurationProcedure to Idle--><path d="M1168,915.12 C1181.99,922.84 1195.53,932.68 1205.5,945 C1241.76,989.79 1252.27,1058.78 1255.3,1097.68 " fill="none" id="AudioConfigurationProcedure-&gt;Idle" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1255.66,1102.74,1258.9803,1093.4677,1255.2885,1097.7538,1251.0024,1094.062,1255.66,1102.74" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="74" x="1247.5" y="1021.5669">reset called</text><!--MD5=[0510a649553933047eef813e676d387c]
link AudioConfigurationProcedure to APNConfProcedure--><path d="M1127.91,915.08 C1139.46,929.03 1148.71,946.78 1139.5,962 C1132.81,973.06 1123.03,981.96 1112.12,989.1 " fill="none" id="AudioConfigurationProcedure-&gt;APNConfProcedure" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1107.72,991.85,1117.4707,990.4632,1111.9576,989.1962,1113.2246,983.683,1107.72,991.85" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="53" x="1143.5" y="958.0669">Success</text><!--MD5=[7ef9c75e84b5805cea2dd0fad20a72d8]
link APNConfProcedure to SanityCheck--><path d="M1013.2,1042.19 C997.02,1058.98 975.42,1081.41 958.49,1098.98 " fill="none" id="APNConfProcedure-&gt;SanityCheck" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="954.74,1102.88,963.8666,1099.1779,958.2107,1099.2808,958.1078,1093.6249,954.74,1102.88" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[8c0f7218f4a51008def03317319fcc3d]
link SanityCheck to ModemOn--><path d="M931.5,1153.1 C931.5,1173.59 931.5,1203.08 931.5,1224.88 " fill="none" id="SanityCheck-&gt;ModemOn" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="931.5,1229.97,935.5,1220.97,931.5,1224.97,927.5,1220.97,931.5,1229.97" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="53" x="932.5" y="1196.0669">Success</text><!--MD5=[33f60799b5f26f20f5dd174f2ed7c1a3]
link SanityCheck to ModemFatalFailure--><path d="M893.32,1153.1 C859.77,1174.28 810.99,1205.08 776.16,1227.07 " fill="none" id="SanityCheck-&gt;ModemFatalFailure" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="771.56,1229.97,781.3052,1228.5448,775.7871,1227.2995,777.0324,1221.7814,771.56,1229.97" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="42" x="844.5" y="1196.0669">Failure</text><!--MD5=[3905e8178637947b22a281c6f6af1a81]
link ModemOn to URCReady--><path d="M978,1255 C987.85,1255 997.7,1255 1007.55,1255 " fill="none" id="ModemOn-&gt;URCReady" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1012.7,1255,1003.7,1251,1007.7,1255,1003.7,1259,1012.7,1255" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[b86a93dae48bca6b30f35403ce1d8717]
link SimInit to Failed--><path d="M308.03,896.88 C402.64,914.11 676.54,964.98 763.5,992 C770.75,994.25 778.34,997.09 785.53,1000.02 " fill="none" id="SimInit-&gt;Failed" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="790.44,1002.06,783.652,994.924,785.8196,1000.1491,780.5945,1002.3167,790.44,1002.06" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="42" x="637.5" y="958.0669">Failure</text><!--MD5=[b5461c294bec50186077517b36d4e59b]
link SimInit to Ready--><path d="M275.5,915.1 C275.5,935.59 275.5,965.08 275.5,986.88 " fill="none" id="SimInit-&gt;Ready" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="275.5,991.97,279.5,982.97,275.5,986.97,271.5,982.97,275.5,991.97" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="53" x="276.5" y="958.0669">Success</text><!--MD5=[bd7f44948400696f1debeec448c84662]
link PowerDownWaiting to PowerDown--><path d="M409.79,991.63 C388.61,968.05 361.5,930.2 361.5,891 C361.5,397 361.5,397 361.5,397 C361.5,337.21 425.01,298.11 474.17,276.81 " fill="none" id="PowerDownWaiting-&gt;PowerDown" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="478.88,274.8,469.0324,274.6428,474.2791,276.7575,472.1644,282.0042,478.88,274.8" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="116" x="380" y="649.0669">(If T3 &amp;&amp; timeout)</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="151" x="366.5" y="664.1997">|| Event:modemInactive</text><!--MD5=[538f577aff9d45ee5f10c76efb758677]
link BaudDetect to PowerDownWaiting--><path d="M584.62,784.69 C549.22,801.35 503.95,828.1 476.5,865 C449.45,901.37 439.82,954.35 436.39,986.92 " fill="none" id="BaudDetect-&gt;PowerDownWaiting" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="435.89,991.96,440.7438,983.3903,436.3748,986.9836,432.7815,982.6146,435.89,991.96" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="203" x="477.5" y="887.0669">nextPowerStateChangeAwaiting</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="173" x="496.5" y="902.1997">&amp;&amp; nextPowerState == off</text><!--MD5=[5e3dc1a5dd188e7541087c6526308b6e]
@startuml
skinparam BackgroundColor F0F0F0

[*] - -> WaitForStartPermission



@@ 111,11 104,13 @@ Event:powerDownRequest - -> PowerDown : state != PowerDown,PowerDownWaiting,\n P

@enduml

PlantUML version 1.2021.2(Sun Mar 07 12:10:27 CET 2021)
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: pl
Country: PL
Language: en
Country: US
--></g></svg>
\ No newline at end of file

M module-services/service-cellular/doc/connection_manager.puml => module-services/service-cellular/doc/connection_manager.puml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0

participant "Connection manager " as manager
participant "Service cellular" as cellular

M module-services/service-cellular/doc/connection_manager.svg => module-services/service-cellular/doc/connection_manager.svg +7 -4
@@ 1,5 1,6 @@
<?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="1447px" preserveAspectRatio="none" style="width:899px;height:1447px;" version="1.1" viewBox="0 0 899 1447" width="899px" zoomAndPan="magnify"><defs><filter height="300%" id="fatert3ea1apr" 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><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="91" x2="91" y1="40.2969" y2="1403.7422"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="441" x2="441" y1="40.2969" y2="1403.7422"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="798" x2="798" y1="40.2969" y2="1403.7422"/><rect fill="#FEFECE" filter="url(#fatert3ea1apr)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="168" x="5" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="150" x="12" y="24.9951">Connection manager</text><rect fill="#FEFECE" filter="url(#fatert3ea1apr)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="168" x="5" y="1402.7422"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="150" x="12" y="1422.7373">Connection manager</text><rect fill="#FEFECE" filter="url(#fatert3ea1apr)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="124" x="377" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="110" x="384" y="24.9951">Service cellular</text><rect fill="#FEFECE" filter="url(#fatert3ea1apr)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="124" x="377" y="1402.7422"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="110" x="384" y="1422.7373">Service cellular</text><rect fill="#FEFECE" filter="url(#fatert3ea1apr)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="174" x="709" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="156" x="716" y="24.9951">Phone mode observer</text><rect fill="#FEFECE" filter="url(#fatert3ea1apr)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="174" x="709" y="1402.7422"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="156" x="716" y="1422.7373">Phone mode observer</text><rect fill="#EEEEEE" filter="url(#fatert3ea1apr)" height="3" style="stroke:#EEEEEE;stroke-width:1.0;" width="892" x="0" y="70.8633"/><line style="stroke:#000000;stroke-width:1.0;" x1="0" x2="892" y1="70.8633" y2="70.8633"/><line style="stroke:#000000;stroke-width:1.0;" x1="0" x2="892" y1="73.8633" y2="73.8633"/><rect fill="#EEEEEE" filter="url(#fatert3ea1apr)" height="23.1328" style="stroke:#000000;stroke-width:2.0;" width="310" x="291" y="60.2969"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="296" x="297" y="76.3638">Phone is connected to the GSM network</text><polygon fill="#A80036" points="452,110.5625,442,114.5625,452,118.5625,448,114.5625" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="446" x2="797" y1="114.5625" y2="114.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="324" x="458" y="109.4966">Phone mode change to Connected/ Do not Disturb</text><polygon fill="#A80036" points="102,139.6953,92,143.6953,102,147.6953,98,143.6953" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="96" x2="440" y1="143.6953" y2="143.6953"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="101" x="108" y="138.6294">onPhoneMode()</text><polygon fill="#A80036" points="429,168.8281,439,172.8281,429,176.8281,433,172.8281" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="91" x2="435" y1="172.8281" y2="172.8281"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="260" x="98" y="167.7622">isConnectedToTheNetwork() AT+CFUN?</text><polygon fill="#A80036" points="102,197.9609,92,201.9609,102,205.9609,98,201.9609" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="96" x2="440" y1="201.9609" y2="201.9609"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="63" x="108" y="196.895">+CFUN: 1</text><polygon fill="#A80036" points="452,227.0938,442,231.0938,452,235.0938,448,231.0938" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="446" x2="797" y1="231.0938" y2="231.0938"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="298" x="458" y="226.0278">Phone mode change to Offline / Message only</text><polygon fill="#A80036" points="102,256.2266,92,260.2266,102,264.2266,98,260.2266" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="96" x2="440" y1="260.2266" y2="260.2266"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="101" x="108" y="255.1606">onPhoneMode()</text><polygon fill="#A80036" points="429,285.3594,439,289.3594,429,293.3594,433,289.3594" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="91" x2="435" y1="289.3594" y2="289.3594"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="260" x="98" y="284.2935">isConnectedToTheNetwork() AT+CFUN?</text><polygon fill="#A80036" points="102,314.4922,92,318.4922,102,322.4922,98,318.4922" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="96" x2="440" y1="318.4922" y2="318.4922"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="63" x="108" y="313.4263">+CFUN: 1</text><polygon fill="#A80036" points="429,343.625,439,347.625,429,351.625,433,347.625" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="91" x2="435" y1="347.625" y2="347.625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="139" x="98" y="342.5591">hangUpOngoingCall()</text><polygon fill="#A80036" points="429,372.7578,439,376.7578,429,380.7578,433,376.7578" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="91" x2="435" y1="376.7578" y2="376.7578"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="255" x="98" y="371.6919">disconnectFromNetwork() AT+CFUN=4</text><polygon fill="#A80036" points="429,401.8906,439,405.8906,429,409.8906,433,405.8906" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="91" x2="435" y1="405.8906" y2="405.8906"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="154" x="98" y="400.8247">clearNetworkIndicator()</text><line style="stroke:#A80036;stroke-width:1.0;" x1="91" x2="133" y1="435.0234" y2="435.0234"/><line style="stroke:#A80036;stroke-width:1.0;" x1="133" x2="133" y1="435.0234" y2="448.0234"/><line style="stroke:#A80036;stroke-width:1.0;" x1="92" x2="133" y1="448.0234" y2="448.0234"/><polygon fill="#A80036" points="102,444.0234,92,448.0234,102,452.0234,98,448.0234" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="252" x="98" y="429.9575">handle switch to selected oflline mode</text><rect fill="#EEEEEE" filter="url(#fatert3ea1apr)" height="3" style="stroke:#EEEEEE;stroke-width:1.0;" width="892" x="0" y="476.5898"/><line style="stroke:#000000;stroke-width:1.0;" x1="0" x2="892" y1="476.5898" y2="476.5898"/><line style="stroke:#000000;stroke-width:1.0;" x1="0" x2="892" y1="479.5898" y2="479.5898"/><rect fill="#EEEEEE" filter="url(#fatert3ea1apr)" height="23.1328" style="stroke:#000000;stroke-width:2.0;" width="339" x="276.5" y="466.0234"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="325" x="282.5" y="482.0903">Phone is not connected to the GSM network</text><polygon fill="#A80036" points="452,516.2891,442,520.2891,452,524.2891,448,520.2891" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="446" x2="797" y1="520.2891" y2="520.2891"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="333" x="458" y="515.2231">Phone mode change to CConnected/ Do not Disturb</text><polygon fill="#A80036" points="102,545.4219,92,549.4219,102,553.4219,98,549.4219" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="96" x2="440" y1="549.4219" y2="549.4219"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="101" x="108" y="544.356">onPhoneMode()</text><polygon fill="#A80036" points="429,574.5547,439,578.5547,429,582.5547,433,578.5547" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="91" x2="435" y1="578.5547" y2="578.5547"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="260" x="98" y="573.4888">isConnectedToTheNetwork() AT+CFUN?</text><polygon fill="#A80036" points="102,603.6875,92,607.6875,102,611.6875,98,607.6875" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="96" x2="440" y1="607.6875" y2="607.6875"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="63" x="108" y="602.6216">+CFUN: 4</text><polygon fill="#A80036" points="429,632.8203,439,636.8203,429,640.8203,433,636.8203" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="91" x2="435" y1="636.8203" y2="636.8203"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="243" x="98" y="631.7544">connectToTheNetwork() AT+CFUN=1</text><polygon fill="#A80036" points="452,661.9531,442,665.9531,452,669.9531,448,665.9531" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="446" x2="797" y1="665.9531" y2="665.9531"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="298" x="458" y="660.8872">Phone mode change to Offline / Message only</text><polygon fill="#A80036" points="102,691.0859,92,695.0859,102,699.0859,98,695.0859" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="96" x2="440" y1="695.0859" y2="695.0859"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="101" x="108" y="690.02">onPhoneMode()</text><polygon fill="#A80036" points="429,720.2188,439,724.2188,429,728.2188,433,724.2188" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="91" x2="435" y1="724.2188" y2="724.2188"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="260" x="98" y="719.1528">isConnectedToTheNetwork() AT+CFUN?</text><polygon fill="#A80036" points="102,749.3516,92,753.3516,102,757.3516,98,753.3516" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="96" x2="440" y1="753.3516" y2="753.3516"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="63" x="108" y="748.2856">+CFUN: 4</text><line style="stroke:#A80036;stroke-width:1.0;" x1="91" x2="133" y1="782.4844" y2="782.4844"/><line style="stroke:#A80036;stroke-width:1.0;" x1="133" x2="133" y1="782.4844" y2="795.4844"/><line style="stroke:#A80036;stroke-width:1.0;" x1="92" x2="133" y1="795.4844" y2="795.4844"/><polygon fill="#A80036" points="102,791.4844,92,795.4844,102,799.4844,98,795.4844" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="252" x="98" y="777.4185">handle switch to selected oflline mode</text><rect fill="#EEEEEE" filter="url(#fatert3ea1apr)" height="3" style="stroke:#EEEEEE;stroke-width:1.0;" width="892" x="0" y="824.0508"/><line style="stroke:#000000;stroke-width:1.0;" x1="0" x2="892" y1="824.0508" y2="824.0508"/><line style="stroke:#000000;stroke-width:1.0;" x1="0" x2="892" y1="827.0508" y2="827.0508"/><rect fill="#EEEEEE" filter="url(#fatert3ea1apr)" height="23.1328" style="stroke:#000000;stroke-width:2.0;" width="298" x="297" y="813.4844"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="284" x="303" y="829.5513">handle switch to selected oflline mode</text><rect fill="#EEEEEE" filter="url(#fatert3ea1apr)" height="3" style="stroke:#EEEEEE;stroke-width:1.0;" width="892" x="0" y="867.1836"/><line style="stroke:#000000;stroke-width:1.0;" x1="0" x2="892" y1="867.1836" y2="867.1836"/><line style="stroke:#000000;stroke-width:1.0;" x1="0" x2="892" y1="870.1836" y2="870.1836"/><rect fill="#EEEEEE" filter="url(#fatert3ea1apr)" height="23.1328" style="stroke:#000000;stroke-width:2.0;" width="277" x="307.5" y="856.6172"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="263" x="313.5" y="872.6841">handleModeChangeToOfflineMode()</text><polygon fill="#A80036" points="429,906.8828,439,910.8828,429,914.8828,433,910.8828" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="91" x2="435" y1="910.8828" y2="910.8828"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="173" x="98" y="905.8169">isConnectionTimerActive()</text><polygon fill="#A80036" points="102,936.0156,92,940.0156,102,944.0156,98,940.0156" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="96" x2="440" y1="940.0156" y2="940.0156"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="94" x="108" y="934.9497">timer is active</text><polygon fill="#A80036" points="429,965.1484,439,969.1484,429,973.1484,433,969.1484" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="91" x2="435" y1="969.1484" y2="969.1484"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="149" x="98" y="964.0825">stopConnectionTimer()</text><rect fill="#EEEEEE" filter="url(#fatert3ea1apr)" height="3" style="stroke:#EEEEEE;stroke-width:1.0;" width="892" x="0" y="997.7148"/><line style="stroke:#000000;stroke-width:1.0;" x1="0" x2="892" y1="997.7148" y2="997.7148"/><line style="stroke:#000000;stroke-width:1.0;" x1="0" x2="892" y1="1000.7148" y2="1000.7148"/><rect fill="#EEEEEE" filter="url(#fatert3ea1apr)" height="23.1328" style="stroke:#000000;stroke-width:2.0;" width="277" x="307.5" y="987.1484"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="263" x="313.5" y="1003.2153">handleModeChangeToOfflineMode()</text><polygon fill="#A80036" points="429,1037.4141,439,1041.4141,429,1045.4141,433,1041.4141" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="91" x2="435" y1="1041.4141" y2="1041.4141"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="173" x="98" y="1036.3481">isConnectionTimerActive()</text><polygon fill="#A80036" points="102,1066.5469,92,1070.5469,102,1074.5469,98,1070.5469" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="96" x2="440" y1="1070.5469" y2="1070.5469"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="119" x="108" y="1065.481">timer is not active</text><polygon fill="#A80036" points="429,1095.6797,439,1099.6797,429,1103.6797,433,1099.6797" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="91" x2="435" y1="1099.6797" y2="1099.6797"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="142" x="98" y="1094.6138">startonnectionTimer()</text><rect fill="#EEEEEE" filter="url(#fatert3ea1apr)" height="3" style="stroke:#EEEEEE;stroke-width:1.0;" width="892" x="0" y="1128.2461"/><line style="stroke:#000000;stroke-width:1.0;" x1="0" x2="892" y1="1128.2461" y2="1128.2461"/><line style="stroke:#000000;stroke-width:1.0;" x1="0" x2="892" y1="1131.2461" y2="1131.2461"/><rect fill="#EEEEEE" filter="url(#fatert3ea1apr)" height="23.1328" style="stroke:#000000;stroke-width:2.0;" width="343" x="274.5" y="1117.6797"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="329" x="280.5" y="1133.7466">Connection manager in Messages only mode</text><polygon fill="#A80036" points="102,1167.9453,92,1171.9453,102,1175.9453,98,1171.9453" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="96" x2="440" y1="1171.9453" y2="1171.9453"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="201" x="108" y="1166.8794">service timer tick (60 seconds)</text><line style="stroke:#A80036;stroke-width:1.0;" x1="91" x2="133" y1="1201.0781" y2="1201.0781"/><line style="stroke:#A80036;stroke-width:1.0;" x1="133" x2="133" y1="1201.0781" y2="1214.0781"/><line style="stroke:#A80036;stroke-width:1.0;" x1="92" x2="133" y1="1214.0781" y2="1214.0781"/><polygon fill="#A80036" points="102,1210.0781,92,1214.0781,102,1218.0781,98,1214.0781" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="336" x="98" y="1196.0122">offline period not expired, online period not expired</text><line style="stroke:#A80036;stroke-width:1.0;" x1="91" x2="133" y1="1243.2109" y2="1243.2109"/><line style="stroke:#A80036;stroke-width:1.0;" x1="133" x2="133" y1="1243.2109" y2="1256.2109"/><line style="stroke:#A80036;stroke-width:1.0;" x1="92" x2="133" y1="1256.2109" y2="1256.2109"/><polygon fill="#A80036" points="102,1252.2109,92,1256.2109,102,1260.2109,98,1256.2109" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="222" x="98" y="1238.145">offline period expired onTimTick()</text><polygon fill="#A80036" points="429,1281.3438,439,1285.3438,429,1289.3438,433,1285.3438" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="91" x2="435" y1="1285.3438" y2="1285.3438"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="132" x="98" y="1280.2778">connectToNetwork()</text><line style="stroke:#A80036;stroke-width:1.0;" x1="91" x2="133" y1="1314.4766" y2="1314.4766"/><line style="stroke:#A80036;stroke-width:1.0;" x1="133" x2="133" y1="1314.4766" y2="1327.4766"/><line style="stroke:#A80036;stroke-width:1.0;" x1="92" x2="133" y1="1327.4766" y2="1327.4766"/><polygon fill="#A80036" points="102,1323.4766,92,1327.4766,102,1331.4766,98,1327.4766" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="220" x="98" y="1309.4106">online period expired onTimTick()</text><polygon fill="#A80036" points="429,1352.6094,439,1356.6094,429,1360.6094,433,1356.6094" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="91" x2="435" y1="1356.6094" y2="1356.6094"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="168" x="98" y="1351.5435">disconnectFromNetwork()</text><polygon fill="#A80036" points="429,1381.7422,439,1385.7422,429,1389.7422,433,1385.7422" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="91" x2="435" y1="1385.7422" y2="1385.7422"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="154" x="98" y="1380.6763">clearNetworkIndicator()</text><!--MD5=[e46c5ad7b3b5a2a99eecdfa0cfb63c20]
<?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="1442px" preserveAspectRatio="none" style="width:890px;height:1442px;background:#F0F0F0;" version="1.1" viewBox="0 0 890 1442" width="890px" zoomAndPan="magnify"><defs><filter height="300%" id="fr4ju0uxlqsyz" 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><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="91" x2="91" y1="38.2969" y2="1401.7422"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="429.5" x2="429.5" y1="38.2969" y2="1401.7422"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="785.5" x2="785.5" y1="38.2969" y2="1401.7422"/><rect fill="#FEFECE" filter="url(#fr4ju0uxlqsyz)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="163" x="8" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="145" x="15" y="22.9951">Connection manager</text><rect fill="#FEFECE" filter="url(#fr4ju0uxlqsyz)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="163" x="8" y="1400.7422"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="145" x="15" y="1420.7373">Connection manager</text><rect fill="#FEFECE" filter="url(#fr4ju0uxlqsyz)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="116" x="369.5" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="102" x="376.5" y="22.9951">Service cellular</text><rect fill="#FEFECE" filter="url(#fr4ju0uxlqsyz)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="116" x="369.5" y="1400.7422"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="102" x="376.5" y="1420.7373">Service cellular</text><rect fill="#FEFECE" filter="url(#fr4ju0uxlqsyz)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="172" x="697.5" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="154" x="704.5" y="22.9951">Phone mode observer</text><rect fill="#FEFECE" filter="url(#fr4ju0uxlqsyz)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="172" x="697.5" y="1400.7422"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="154" x="704.5" y="1420.7373">Phone mode observer</text><rect fill="#EEEEEE" filter="url(#fr4ju0uxlqsyz)" height="3" style="stroke: #EEEEEE; stroke-width: 1.0;" width="875.5" x="3" y="68.8633"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="878.5" y1="68.8633" y2="68.8633"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="878.5" y1="71.8633" y2="71.8633"/><rect fill="#EEEEEE" filter="url(#fr4ju0uxlqsyz)" height="23.1328" style="stroke: #000000; stroke-width: 2.0;" width="311" x="285.25" y="58.2969"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="297" x="291.25" y="74.3638">Phone is connected to the GSM network</text><polygon fill="#A80036" points="440.5,108.5625,430.5,112.5625,440.5,116.5625,436.5,112.5625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="434.5" x2="784.5" y1="112.5625" y2="112.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="323" x="446.5" y="107.4966">Phone mode change to Connected/ Do not Disturb</text><polygon fill="#A80036" points="102.5,137.6953,92.5,141.6953,102.5,145.6953,98.5,141.6953" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="96.5" x2="428.5" y1="141.6953" y2="141.6953"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="101" x="108.5" y="136.6294">onPhoneMode()</text><polygon fill="#A80036" points="417.5,166.8281,427.5,170.8281,417.5,174.8281,421.5,170.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="91.5" x2="423.5" y1="170.8281" y2="170.8281"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="253" x="98.5" y="165.7622">isConnectedToTheNetwork() AT+CFUN?</text><polygon fill="#A80036" points="102.5,195.9609,92.5,199.9609,102.5,203.9609,98.5,199.9609" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="96.5" x2="428.5" y1="199.9609" y2="199.9609"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="63" x="108.5" y="194.895">+CFUN: 1</text><polygon fill="#A80036" points="440.5,225.0938,430.5,229.0938,440.5,233.0938,436.5,229.0938" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="434.5" x2="784.5" y1="229.0938" y2="229.0938"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="292" x="446.5" y="224.0278">Phone mode change to Offline / Message only</text><polygon fill="#A80036" points="102.5,254.2266,92.5,258.2266,102.5,262.2266,98.5,258.2266" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="96.5" x2="428.5" y1="258.2266" y2="258.2266"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="101" x="108.5" y="253.1606">onPhoneMode()</text><polygon fill="#A80036" points="417.5,283.3594,427.5,287.3594,417.5,291.3594,421.5,287.3594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="91.5" x2="423.5" y1="287.3594" y2="287.3594"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="253" x="98.5" y="282.2935">isConnectedToTheNetwork() AT+CFUN?</text><polygon fill="#A80036" points="102.5,312.4922,92.5,316.4922,102.5,320.4922,98.5,316.4922" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="96.5" x2="428.5" y1="316.4922" y2="316.4922"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="63" x="108.5" y="311.4263">+CFUN: 1</text><polygon fill="#A80036" points="417.5,341.625,427.5,345.625,417.5,349.625,421.5,345.625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="91.5" x2="423.5" y1="345.625" y2="345.625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="136" x="98.5" y="340.5591">hangUpOngoingCall()</text><polygon fill="#A80036" points="417.5,370.7578,427.5,374.7578,417.5,378.7578,421.5,374.7578" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="91.5" x2="423.5" y1="374.7578" y2="374.7578"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="250" x="98.5" y="369.6919">disconnectFromNetwork() AT+CFUN=4</text><polygon fill="#A80036" points="417.5,399.8906,427.5,403.8906,417.5,407.8906,421.5,403.8906" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="91.5" x2="423.5" y1="403.8906" y2="403.8906"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="148" x="98.5" y="398.8247">clearNetworkIndicator()</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="91.5" x2="133.5" y1="433.0234" y2="433.0234"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="133.5" x2="133.5" y1="433.0234" y2="446.0234"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="92.5" x2="133.5" y1="446.0234" y2="446.0234"/><polygon fill="#A80036" points="102.5,442.0234,92.5,446.0234,102.5,450.0234,98.5,446.0234" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="243" x="98.5" y="427.9575">handle switch to selected oflline mode</text><rect fill="#EEEEEE" filter="url(#fr4ju0uxlqsyz)" height="3" style="stroke: #EEEEEE; stroke-width: 1.0;" width="875.5" x="3" y="474.5898"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="878.5" y1="474.5898" y2="474.5898"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="878.5" y1="477.5898" y2="477.5898"/><rect fill="#EEEEEE" filter="url(#fr4ju0uxlqsyz)" height="23.1328" style="stroke: #000000; stroke-width: 2.0;" width="340" x="270.75" y="464.0234"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="326" x="276.75" y="480.0903">Phone is not connected to the GSM network</text><polygon fill="#A80036" points="440.5,514.2891,430.5,518.2891,440.5,522.2891,436.5,518.2891" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="434.5" x2="784.5" y1="518.2891" y2="518.2891"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="332" x="446.5" y="513.2231">Phone mode change to CConnected/ Do not Disturb</text><polygon fill="#A80036" points="102.5,543.4219,92.5,547.4219,102.5,551.4219,98.5,547.4219" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="96.5" x2="428.5" y1="547.4219" y2="547.4219"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="101" x="108.5" y="542.356">onPhoneMode()</text><polygon fill="#A80036" points="417.5,572.5547,427.5,576.5547,417.5,580.5547,421.5,576.5547" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="91.5" x2="423.5" y1="576.5547" y2="576.5547"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="253" x="98.5" y="571.4888">isConnectedToTheNetwork() AT+CFUN?</text><polygon fill="#A80036" points="102.5,601.6875,92.5,605.6875,102.5,609.6875,98.5,605.6875" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="96.5" x2="428.5" y1="605.6875" y2="605.6875"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="63" x="108.5" y="600.6216">+CFUN: 4</text><polygon fill="#A80036" points="417.5,630.8203,427.5,634.8203,417.5,638.8203,421.5,634.8203" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="91.5" x2="423.5" y1="634.8203" y2="634.8203"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="237" x="98.5" y="629.7544">connectToTheNetwork() AT+CFUN=1</text><polygon fill="#A80036" points="440.5,659.9531,430.5,663.9531,440.5,667.9531,436.5,663.9531" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="434.5" x2="784.5" y1="663.9531" y2="663.9531"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="292" x="446.5" y="658.8872">Phone mode change to Offline / Message only</text><polygon fill="#A80036" points="102.5,689.0859,92.5,693.0859,102.5,697.0859,98.5,693.0859" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="96.5" x2="428.5" y1="693.0859" y2="693.0859"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="101" x="108.5" y="688.02">onPhoneMode()</text><polygon fill="#A80036" points="417.5,718.2188,427.5,722.2188,417.5,726.2188,421.5,722.2188" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="91.5" x2="423.5" y1="722.2188" y2="722.2188"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="253" x="98.5" y="717.1528">isConnectedToTheNetwork() AT+CFUN?</text><polygon fill="#A80036" points="102.5,747.3516,92.5,751.3516,102.5,755.3516,98.5,751.3516" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="96.5" x2="428.5" y1="751.3516" y2="751.3516"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="63" x="108.5" y="746.2856">+CFUN: 4</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="91.5" x2="133.5" y1="780.4844" y2="780.4844"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="133.5" x2="133.5" y1="780.4844" y2="793.4844"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="92.5" x2="133.5" y1="793.4844" y2="793.4844"/><polygon fill="#A80036" points="102.5,789.4844,92.5,793.4844,102.5,797.4844,98.5,793.4844" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="243" x="98.5" y="775.4185">handle switch to selected oflline mode</text><rect fill="#EEEEEE" filter="url(#fr4ju0uxlqsyz)" height="3" style="stroke: #EEEEEE; stroke-width: 1.0;" width="875.5" x="3" y="822.0508"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="878.5" y1="822.0508" y2="822.0508"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="878.5" y1="825.0508" y2="825.0508"/><rect fill="#EEEEEE" filter="url(#fr4ju0uxlqsyz)" height="23.1328" style="stroke: #000000; stroke-width: 2.0;" width="301" x="290.25" y="811.4844"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="287" x="296.25" y="827.5513">handle switch to selected oflline mode</text><rect fill="#EEEEEE" filter="url(#fr4ju0uxlqsyz)" height="3" style="stroke: #EEEEEE; stroke-width: 1.0;" width="875.5" x="3" y="865.1836"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="878.5" y1="865.1836" y2="865.1836"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="878.5" y1="868.1836" y2="868.1836"/><rect fill="#EEEEEE" filter="url(#fr4ju0uxlqsyz)" height="23.1328" style="stroke: #000000; stroke-width: 2.0;" width="280" x="300.75" y="854.6172"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="266" x="306.75" y="870.6841">handleModeChangeToOfflineMode()</text><polygon fill="#A80036" points="417.5,904.8828,427.5,908.8828,417.5,912.8828,421.5,908.8828" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="91.5" x2="423.5" y1="908.8828" y2="908.8828"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="167" x="98.5" y="903.8169">isConnectionTimerActive()</text><polygon fill="#A80036" points="102.5,934.0156,92.5,938.0156,102.5,942.0156,98.5,938.0156" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="96.5" x2="428.5" y1="938.0156" y2="938.0156"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="90" x="108.5" y="932.9497">timer is active</text><polygon fill="#A80036" points="417.5,963.1484,427.5,967.1484,417.5,971.1484,421.5,967.1484" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="91.5" x2="423.5" y1="967.1484" y2="967.1484"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="146" x="98.5" y="962.0825">stopConnectionTimer()</text><rect fill="#EEEEEE" filter="url(#fr4ju0uxlqsyz)" height="3" style="stroke: #EEEEEE; stroke-width: 1.0;" width="875.5" x="3" y="995.7148"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="878.5" y1="995.7148" y2="995.7148"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="878.5" y1="998.7148" y2="998.7148"/><rect fill="#EEEEEE" filter="url(#fr4ju0uxlqsyz)" height="23.1328" style="stroke: #000000; stroke-width: 2.0;" width="280" x="300.75" y="985.1484"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="266" x="306.75" y="1001.2153">handleModeChangeToOfflineMode()</text><polygon fill="#A80036" points="417.5,1035.4141,427.5,1039.4141,417.5,1043.4141,421.5,1039.4141" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="91.5" x2="423.5" y1="1039.4141" y2="1039.4141"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="167" x="98.5" y="1034.3481">isConnectionTimerActive()</text><polygon fill="#A80036" points="102.5,1064.5469,92.5,1068.5469,102.5,1072.5469,98.5,1068.5469" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="96.5" x2="428.5" y1="1068.5469" y2="1068.5469"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="115" x="108.5" y="1063.481">timer is not active</text><polygon fill="#A80036" points="417.5,1093.6797,427.5,1097.6797,417.5,1101.6797,421.5,1097.6797" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="91.5" x2="423.5" y1="1097.6797" y2="1097.6797"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="139" x="98.5" y="1092.6138">startonnectionTimer()</text><rect fill="#EEEEEE" filter="url(#fr4ju0uxlqsyz)" height="3" style="stroke: #EEEEEE; stroke-width: 1.0;" width="875.5" x="3" y="1126.2461"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="878.5" y1="1126.2461" y2="1126.2461"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="878.5" y1="1129.2461" y2="1129.2461"/><rect fill="#EEEEEE" filter="url(#fr4ju0uxlqsyz)" height="23.1328" style="stroke: #000000; stroke-width: 2.0;" width="346" x="267.75" y="1115.6797"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="332" x="273.75" y="1131.7466">Connection manager in Messages only mode</text><polygon fill="#A80036" points="102.5,1165.9453,92.5,1169.9453,102.5,1173.9453,98.5,1169.9453" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="96.5" x2="428.5" y1="1169.9453" y2="1169.9453"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="196" x="108.5" y="1164.8794">service timer tick (60 seconds)</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="91.5" x2="133.5" y1="1199.0781" y2="1199.0781"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="133.5" x2="133.5" y1="1199.0781" y2="1212.0781"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="92.5" x2="133.5" y1="1212.0781" y2="1212.0781"/><polygon fill="#A80036" points="102.5,1208.0781,92.5,1212.0781,102.5,1216.0781,98.5,1212.0781" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="324" x="98.5" y="1194.0122">offline period not expired, online period not expired</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="91.5" x2="133.5" y1="1241.2109" y2="1241.2109"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="133.5" x2="133.5" y1="1241.2109" y2="1254.2109"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="92.5" x2="133.5" y1="1254.2109" y2="1254.2109"/><polygon fill="#A80036" points="102.5,1250.2109,92.5,1254.2109,102.5,1258.2109,98.5,1254.2109" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="210" x="98.5" y="1236.145">offline period expired onTimTick()</text><polygon fill="#A80036" points="417.5,1279.3438,427.5,1283.3438,417.5,1287.3438,421.5,1283.3438" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="91.5" x2="423.5" y1="1283.3438" y2="1283.3438"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="98.5" y="1278.2778">connectToNetwork()</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="91.5" x2="133.5" y1="1312.4766" y2="1312.4766"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="133.5" x2="133.5" y1="1312.4766" y2="1325.4766"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="92.5" x2="133.5" y1="1325.4766" y2="1325.4766"/><polygon fill="#A80036" points="102.5,1321.4766,92.5,1325.4766,102.5,1329.4766,98.5,1325.4766" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="210" x="98.5" y="1307.4106">online period expired onTimTick()</text><polygon fill="#A80036" points="417.5,1350.6094,427.5,1354.6094,417.5,1358.6094,421.5,1354.6094" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="91.5" x2="423.5" y1="1354.6094" y2="1354.6094"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="164" x="98.5" y="1349.5435">disconnectFromNetwork()</text><polygon fill="#A80036" points="417.5,1379.7422,427.5,1383.7422,417.5,1387.7422,421.5,1383.7422" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="91.5" x2="423.5" y1="1383.7422" y2="1383.7422"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="148" x="98.5" y="1378.6763">clearNetworkIndicator()</text><!--MD5=[7b7194bf9c1ccad1d1fe508351e71d48]
@startuml
skinparam BackgroundColor F0F0F0

participant "Connection manager " as manager
participant "Service cellular" as cellular


@@ 59,11 60,13 @@ manager -> cellular : disconnectFromNetwork()
manager -> cellular :clearNetworkIndicator()
@enduml

PlantUML version 1.2021.2(Sun Mar 07 12:10:27 CET 2021)
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: pl
Country: PL
Language: en
Country: US
--></g></svg>
\ No newline at end of file

M module-services/service-cellular/doc/phone_modes.puml => module-services/service-cellular/doc/phone_modes.puml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0

participant "Incoming call URC" as urc
participant "Call request" as call

M module-services/service-cellular/doc/phone_modes.svg => module-services/service-cellular/doc/phone_modes.svg +7 -4
@@ 1,5 1,6 @@
<?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="1174px" preserveAspectRatio="none" style="width:963px;height:1174px;" version="1.1" viewBox="0 0 963 1174" width="963px" zoomAndPan="magnify"><defs><filter height="300%" id="f1v39g9gcrwzrm" 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(#f1v39g9gcrwzrm)" height="320.1953" style="stroke:#A80036;stroke-width:1.0;" width="10" x="73.5" y="50.2969"/><rect fill="#FFFFFF" filter="url(#f1v39g9gcrwzrm)" height="341.1953" style="stroke:#A80036;stroke-width:1.0;" width="10" x="73.5" y="571.2891"/><rect fill="#FFFFFF" filter="url(#f1v39g9gcrwzrm)" height="100.3984" style="stroke:#A80036;stroke-width:1.0;" width="10" x="208.5" y="470.8906"/><rect fill="#FFFFFF" filter="url(#f1v39g9gcrwzrm)" height="100.3984" style="stroke:#A80036;stroke-width:1.0;" width="10" x="208.5" y="1012.8828"/><rect fill="#FFFFFF" filter="url(#f1v39g9gcrwzrm)" height="100.3984" style="stroke:#A80036;stroke-width:1.0;" width="10" x="326" y="370.4922"/><rect fill="#FFFFFF" filter="url(#f1v39g9gcrwzrm)" height="100.3984" style="stroke:#A80036;stroke-width:1.0;" width="10" x="326" y="912.4844"/><rect fill="#FFFFFF" filter="url(#f1v39g9gcrwzrm)" height="1062.9844" style="stroke:#A80036;stroke-width:1.0;" width="10" x="456" y="50.2969"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="78" x2="78" y1="40.2969" y2="1131.2813"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="213" x2="213" y1="40.2969" y2="1131.2813"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="331" x2="331" y1="40.2969" y2="1131.2813"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="461" x2="461" y1="40.2969" y2="1131.2813"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="843" x2="843" y1="40.2969" y2="1131.2813"/><rect fill="#FEFECE" filter="url(#f1v39g9gcrwzrm)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="143" x="5" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="129" x="12" y="24.9951">Incoming call URC</text><rect fill="#FEFECE" filter="url(#f1v39g9gcrwzrm)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="143" x="5" y="1130.2813"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="129" x="12" y="1150.2764">Incoming call URC</text><rect fill="#FEFECE" filter="url(#f1v39g9gcrwzrm)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="99" x="162" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="85" x="169" y="24.9951">Call request</text><rect fill="#FEFECE" filter="url(#f1v39g9gcrwzrm)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="99" x="162" y="1130.2813"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="85" x="169" y="1150.2764">Call request</text><rect fill="#FEFECE" filter="url(#f1v39g9gcrwzrm)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="108" x="275" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="94" x="282" y="24.9951">Messages DB</text><rect fill="#FEFECE" filter="url(#f1v39g9gcrwzrm)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="108" x="275" y="1130.2813"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="94" x="282" y="1150.2764">Messages DB</text><rect fill="#FEFECE" filter="url(#f1v39g9gcrwzrm)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="124" x="397" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="110" x="404" y="24.9951">Service cellular</text><rect fill="#FEFECE" filter="url(#f1v39g9gcrwzrm)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="124" x="397" y="1130.2813"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="110" x="404" y="1150.2764">Service cellular</text><rect fill="#FEFECE" filter="url(#f1v39g9gcrwzrm)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="212" x="735" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="194" x="742" y="24.9951">Service cellular notification</text><rect fill="#FEFECE" filter="url(#f1v39g9gcrwzrm)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="212" x="735" y="1130.2813"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="194" x="742" y="1150.2764">Service cellular notification</text><rect fill="#FFFFFF" filter="url(#f1v39g9gcrwzrm)" height="320.1953" style="stroke:#A80036;stroke-width:1.0;" width="10" x="73.5" y="50.2969"/><rect fill="#FFFFFF" filter="url(#f1v39g9gcrwzrm)" height="341.1953" style="stroke:#A80036;stroke-width:1.0;" width="10" x="73.5" y="571.2891"/><rect fill="#FFFFFF" filter="url(#f1v39g9gcrwzrm)" height="100.3984" style="stroke:#A80036;stroke-width:1.0;" width="10" x="208.5" y="470.8906"/><rect fill="#FFFFFF" filter="url(#f1v39g9gcrwzrm)" height="100.3984" style="stroke:#A80036;stroke-width:1.0;" width="10" x="208.5" y="1012.8828"/><rect fill="#FFFFFF" filter="url(#f1v39g9gcrwzrm)" height="100.3984" style="stroke:#A80036;stroke-width:1.0;" width="10" x="326" y="370.4922"/><rect fill="#FFFFFF" filter="url(#f1v39g9gcrwzrm)" height="100.3984" style="stroke:#A80036;stroke-width:1.0;" width="10" x="326" y="912.4844"/><rect fill="#FFFFFF" filter="url(#f1v39g9gcrwzrm)" height="1062.9844" style="stroke:#A80036;stroke-width:1.0;" width="10" x="456" y="50.2969"/><rect fill="#EEEEEE" filter="url(#f1v39g9gcrwzrm)" height="3" style="stroke:#EEEEEE;stroke-width:1.0;" width="956" x="0" y="70.8633"/><line style="stroke:#000000;stroke-width:1.0;" x1="0" x2="956" y1="70.8633" y2="70.8633"/><line style="stroke:#000000;stroke-width:1.0;" x1="0" x2="956" y1="73.8633" y2="73.8633"/><rect fill="#EEEEEE" filter="url(#f1v39g9gcrwzrm)" height="23.1328" style="stroke:#000000;stroke-width:2.0;" width="143" x="406.5" y="60.2969"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="124" x="412.5" y="76.3638">Connected mode</text><polygon fill="#A80036" points="444,110.5625,454,114.5625,444,118.5625,448,114.5625" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="83.5" x2="450" y1="114.5625" y2="114.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="114" x="90.5" y="109.4966">Ring urc / Clip urc</text><line style="stroke:#A80036;stroke-width:1.0;" x1="466" x2="508" y1="143.6953" y2="143.6953"/><line style="stroke:#A80036;stroke-width:1.0;" x1="508" x2="508" y1="143.6953" y2="156.6953"/><line style="stroke:#A80036;stroke-width:1.0;" x1="467" x2="508" y1="156.6953" y2="156.6953"/><polygon fill="#A80036" points="477,152.6953,467,156.6953,477,160.6953,473,156.6953" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="126" x="473" y="138.6294">identifyNotification</text><line style="stroke:#A80036;stroke-width:1.0;" x1="466" x2="508" y1="185.8281" y2="185.8281"/><line style="stroke:#A80036;stroke-width:1.0;" x1="508" x2="508" y1="185.8281" y2="198.8281"/><line style="stroke:#A80036;stroke-width:1.0;" x1="467" x2="508" y1="198.8281" y2="198.8281"/><polygon fill="#A80036" points="477,194.8281,467,198.8281,477,202.8281,473,198.8281" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="343" x="473" y="180.7622">CellularRingNotification | CellularCallerIdNotification</text><polygon fill="#A80036" points="831,223.9609,841,227.9609,831,231.9609,835,227.9609" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="466" x2="837" y1="227.9609" y2="227.9609"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="353" x="473" y="222.895">CellularCallerIdMessage | CellularIncominCallMessage</text><polygon fill="#A80036" points="444,253.0938,454,257.0938,444,261.0938,448,257.0938" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="83.5" x2="450" y1="257.0938" y2="257.0938"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="55" x="90.5" y="252.0278">Cmti urc</text><line style="stroke:#A80036;stroke-width:1.0;" x1="466" x2="508" y1="286.2266" y2="286.2266"/><line style="stroke:#A80036;stroke-width:1.0;" x1="508" x2="508" y1="286.2266" y2="299.2266"/><line style="stroke:#A80036;stroke-width:1.0;" x1="467" x2="508" y1="299.2266" y2="299.2266"/><polygon fill="#A80036" points="477,295.2266,467,299.2266,477,303.2266,473,299.2266" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="126" x="473" y="281.1606">identifyNotification</text><line style="stroke:#A80036;stroke-width:1.0;" x1="466" x2="508" y1="328.3594" y2="328.3594"/><line style="stroke:#A80036;stroke-width:1.0;" x1="508" x2="508" y1="328.3594" y2="341.3594"/><line style="stroke:#A80036;stroke-width:1.0;" x1="467" x2="508" y1="341.3594" y2="341.3594"/><polygon fill="#A80036" points="477,337.3594,467,341.3594,477,345.3594,473,341.3594" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="76" x="473" y="323.2935">receiveSms</text><polygon fill="#A80036" points="347,366.4922,337,370.4922,347,374.4922,343,370.4922" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="341" x2="455" y1="370.4922" y2="370.4922"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="69" x="353" y="365.4263">add record</text><polygon fill="#A80036" points="444,395.625,454,399.625,444,403.625,448,399.625" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="336" x2="450" y1="399.625" y2="399.625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="87" x="343" y="394.5591">new queeued</text><line style="stroke:#A80036;stroke-width:1.0;" x1="466" x2="508" y1="428.7578" y2="428.7578"/><line style="stroke:#A80036;stroke-width:1.0;" x1="508" x2="508" y1="428.7578" y2="441.7578"/><line style="stroke:#A80036;stroke-width:1.0;" x1="467" x2="508" y1="441.7578" y2="441.7578"/><polygon fill="#A80036" points="477,437.7578,467,441.7578,477,445.7578,473,441.7578" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="166" x="473" y="423.6919">CellularSendSMSMessage</text><polygon fill="#A80036" points="342,466.8906,332,470.8906,342,474.8906,338,470.8906" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="336" x2="455" y1="470.8906" y2="470.8906"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="90" x="348" y="465.8247">update record</text><polygon fill="#A80036" points="444,496.0234,454,500.0234,444,504.0234,448,500.0234" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="218.5" x2="450" y1="500.0234" y2="500.0234"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="185" x="225.5" y="494.9575">CellularCallRequestMessage</text><line style="stroke:#A80036;stroke-width:1.0;" x1="466" x2="508" y1="529.1563" y2="529.1563"/><line style="stroke:#A80036;stroke-width:1.0;" x1="508" x2="508" y1="529.1563" y2="542.1563"/><line style="stroke:#A80036;stroke-width:1.0;" x1="467" x2="508" y1="542.1563" y2="542.1563"/><polygon fill="#A80036" points="477,538.1563,467,542.1563,477,546.1563,473,542.1563" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="229" x="473" y="524.0903">handleCellularCallRequestMessage</text><polygon fill="#A80036" points="831,567.2891,841,571.2891,831,575.2891,835,571.2891" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="466" x2="837" y1="571.2891" y2="571.2891"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="156" x="473" y="566.2231">CellularRingingMessage</text><rect fill="#EEEEEE" filter="url(#f1v39g9gcrwzrm)" height="3" style="stroke:#EEEEEE;stroke-width:1.0;" width="956" x="0" y="599.8555"/><line style="stroke:#000000;stroke-width:1.0;" x1="0" x2="956" y1="599.8555" y2="599.8555"/><line style="stroke:#000000;stroke-width:1.0;" x1="0" x2="956" y1="602.8555" y2="602.8555"/><rect fill="#EEEEEE" filter="url(#f1v39g9gcrwzrm)" height="23.1328" style="stroke:#000000;stroke-width:2.0;" width="172" x="392" y="589.2891"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="153" x="398" y="605.356">Do not Disturb mode</text><polygon fill="#A80036" points="444,639.5547,454,643.5547,444,647.5547,448,643.5547" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="83.5" x2="450" y1="643.5547" y2="643.5547"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="114" x="90.5" y="638.4888">Ring urc / Clip urc</text><line style="stroke:#A80036;stroke-width:1.0;" x1="466" x2="508" y1="672.6875" y2="672.6875"/><line style="stroke:#A80036;stroke-width:1.0;" x1="508" x2="508" y1="672.6875" y2="685.6875"/><line style="stroke:#A80036;stroke-width:1.0;" x1="467" x2="508" y1="685.6875" y2="685.6875"/><polygon fill="#A80036" points="477,681.6875,467,685.6875,477,689.6875,473,685.6875" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="126" x="473" y="667.6216">identifyNotification</text><line style="stroke:#A80036;stroke-width:1.0;" x1="466" x2="508" y1="714.8203" y2="714.8203"/><line style="stroke:#A80036;stroke-width:1.0;" x1="508" x2="508" y1="714.8203" y2="727.8203"/><line style="stroke:#A80036;stroke-width:1.0;" x1="467" x2="508" y1="727.8203" y2="727.8203"/><polygon fill="#A80036" points="477,723.8203,467,727.8203,477,731.8203,473,727.8203" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="343" x="473" y="709.7544">CellularRingNotification | CellularCallerIdNotification</text><line style="stroke:#A80036;stroke-width:1.0;" x1="466" x2="508" y1="756.9531" y2="756.9531"/><line style="stroke:#A80036;stroke-width:1.0;" x1="508" x2="508" y1="756.9531" y2="769.9531"/><line style="stroke:#A80036;stroke-width:1.0;" x1="467" x2="508" y1="769.9531" y2="769.9531"/><polygon fill="#A80036" points="477,765.9531,467,769.9531,477,773.9531,473,769.9531" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="75" x="473" y="751.8872">hangUpCall</text><polygon fill="#A80036" points="444,795.0859,454,799.0859,444,803.0859,448,799.0859" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="83.5" x2="450" y1="799.0859" y2="799.0859"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="55" x="90.5" y="794.02">Cmti urc</text><line style="stroke:#A80036;stroke-width:1.0;" x1="466" x2="508" y1="828.2188" y2="828.2188"/><line style="stroke:#A80036;stroke-width:1.0;" x1="508" x2="508" y1="828.2188" y2="841.2188"/><line style="stroke:#A80036;stroke-width:1.0;" x1="467" x2="508" y1="841.2188" y2="841.2188"/><polygon fill="#A80036" points="477,837.2188,467,841.2188,477,845.2188,473,841.2188" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="126" x="473" y="823.1528">identifyNotification</text><line style="stroke:#A80036;stroke-width:1.0;" x1="466" x2="508" y1="870.3516" y2="870.3516"/><line style="stroke:#A80036;stroke-width:1.0;" x1="508" x2="508" y1="870.3516" y2="883.3516"/><line style="stroke:#A80036;stroke-width:1.0;" x1="467" x2="508" y1="883.3516" y2="883.3516"/><polygon fill="#A80036" points="477,879.3516,467,883.3516,477,887.3516,473,883.3516" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="76" x="473" y="865.2856">receiveSms</text><polygon fill="#A80036" points="347,908.4844,337,912.4844,347,916.4844,343,912.4844" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="341" x2="455" y1="912.4844" y2="912.4844"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="69" x="353" y="907.4185">add record</text><polygon fill="#A80036" points="444,937.6172,454,941.6172,444,945.6172,448,941.6172" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="336" x2="450" y1="941.6172" y2="941.6172"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="87" x="343" y="936.5513">new queeued</text><line style="stroke:#A80036;stroke-width:1.0;" x1="466" x2="508" y1="970.75" y2="970.75"/><line style="stroke:#A80036;stroke-width:1.0;" x1="508" x2="508" y1="970.75" y2="983.75"/><line style="stroke:#A80036;stroke-width:1.0;" x1="467" x2="508" y1="983.75" y2="983.75"/><polygon fill="#A80036" points="477,979.75,467,983.75,477,987.75,473,983.75" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="166" x="473" y="965.6841">CellularSendSMSMessage</text><polygon fill="#A80036" points="342,1008.8828,332,1012.8828,342,1016.8828,338,1012.8828" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="336" x2="455" y1="1012.8828" y2="1012.8828"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="90" x="348" y="1007.8169">update record</text><polygon fill="#A80036" points="444,1038.0156,454,1042.0156,444,1046.0156,448,1042.0156" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="218.5" x2="450" y1="1042.0156" y2="1042.0156"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="185" x="225.5" y="1036.9497">CellularCallRequestMessage</text><line style="stroke:#A80036;stroke-width:1.0;" x1="466" x2="508" y1="1071.1484" y2="1071.1484"/><line style="stroke:#A80036;stroke-width:1.0;" x1="508" x2="508" y1="1071.1484" y2="1084.1484"/><line style="stroke:#A80036;stroke-width:1.0;" x1="467" x2="508" y1="1084.1484" y2="1084.1484"/><polygon fill="#A80036" points="477,1080.1484,467,1084.1484,477,1088.1484,473,1084.1484" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="229" x="473" y="1066.0825">handleCellularCallRequestMessage</text><polygon fill="#A80036" points="831,1109.2813,841,1113.2813,831,1117.2813,835,1113.2813" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="461" x2="837" y1="1113.2813" y2="1113.2813"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="156" x="468" y="1108.2153">CellularRingingMessage</text><!--MD5=[c5f3b5cf44cbfd3216a03d0f902d2afb]
<?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="1169px" preserveAspectRatio="none" style="width:940px;height:1169px;background:#F0F0F0;" version="1.1" viewBox="0 0 940 1169" width="940px" zoomAndPan="magnify"><defs><filter height="300%" id="fc243va7b01go" 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(#fc243va7b01go)" height="320.1953" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="73.5" y="48.2969"/><rect fill="#FFFFFF" filter="url(#fc243va7b01go)" height="341.1953" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="73.5" y="569.2891"/><rect fill="#FFFFFF" filter="url(#fc243va7b01go)" height="100.3984" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="204" y="468.8906"/><rect fill="#FFFFFF" filter="url(#fc243va7b01go)" height="100.3984" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="204" y="1010.8828"/><rect fill="#FFFFFF" filter="url(#fc243va7b01go)" height="100.3984" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="321" y="368.4922"/><rect fill="#FFFFFF" filter="url(#fc243va7b01go)" height="100.3984" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="321" y="910.4844"/><rect fill="#FFFFFF" filter="url(#fc243va7b01go)" height="1062.9844" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="448" y="48.2969"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="78" x2="78" y1="38.2969" y2="1129.2813"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="209" x2="209" y1="38.2969" y2="1129.2813"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="326" x2="326" y1="38.2969" y2="1129.2813"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="453" x2="453" y1="38.2969" y2="1129.2813"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="821.5" x2="821.5" y1="38.2969" y2="1129.2813"/><rect fill="#FEFECE" filter="url(#fc243va7b01go)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="137" x="8" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="123" x="15" y="22.9951">Incoming call URC</text><rect fill="#FEFECE" filter="url(#fc243va7b01go)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="137" x="8" y="1128.2813"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="123" x="15" y="1148.2764">Incoming call URC</text><rect fill="#FEFECE" filter="url(#fc243va7b01go)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="159" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="82" x="166" y="22.9951">Call request</text><rect fill="#FEFECE" filter="url(#fc243va7b01go)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="159" y="1128.2813"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="82" x="166" y="1148.2764">Call request</text><rect fill="#FEFECE" filter="url(#fc243va7b01go)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="110" x="269" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="96" x="276" y="22.9951">Messages DB</text><rect fill="#FEFECE" filter="url(#fc243va7b01go)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="110" x="269" y="1128.2813"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="96" x="276" y="1148.2764">Messages DB</text><rect fill="#FEFECE" filter="url(#fc243va7b01go)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="116" x="393" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="102" x="400" y="22.9951">Service cellular</text><rect fill="#FEFECE" filter="url(#fc243va7b01go)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="116" x="393" y="1128.2813"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="102" x="400" y="1148.2764">Service cellular</text><rect fill="#FEFECE" filter="url(#fc243va7b01go)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="199" x="720.5" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="181" x="727.5" y="22.9951">Service cellular notification</text><rect fill="#FEFECE" filter="url(#fc243va7b01go)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="199" x="720.5" y="1128.2813"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="181" x="727.5" y="1148.2764">Service cellular notification</text><rect fill="#FFFFFF" filter="url(#fc243va7b01go)" height="320.1953" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="73.5" y="48.2969"/><rect fill="#FFFFFF" filter="url(#fc243va7b01go)" height="341.1953" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="73.5" y="569.2891"/><rect fill="#FFFFFF" filter="url(#fc243va7b01go)" height="100.3984" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="204" y="468.8906"/><rect fill="#FFFFFF" filter="url(#fc243va7b01go)" height="100.3984" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="204" y="1010.8828"/><rect fill="#FFFFFF" filter="url(#fc243va7b01go)" height="100.3984" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="321" y="368.4922"/><rect fill="#FFFFFF" filter="url(#fc243va7b01go)" height="100.3984" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="321" y="910.4844"/><rect fill="#FFFFFF" filter="url(#fc243va7b01go)" height="1062.9844" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="448" y="48.2969"/><rect fill="#EEEEEE" filter="url(#fc243va7b01go)" height="3" style="stroke: #EEEEEE; stroke-width: 1.0;" width="925.5" x="3" y="68.8633"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="928.5" y1="68.8633" y2="68.8633"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="928.5" y1="71.8633" y2="71.8633"/><rect fill="#EEEEEE" filter="url(#fc243va7b01go)" height="23.1328" style="stroke: #000000; stroke-width: 2.0;" width="145" x="393.25" y="58.2969"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="126" x="399.25" y="74.3638">Connected mode</text><polygon fill="#A80036" points="436,108.5625,446,112.5625,436,116.5625,440,112.5625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="83.5" x2="442" y1="112.5625" y2="112.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="110" x="90.5" y="107.4966">Ring urc / Clip urc</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="458" x2="500" y1="141.6953" y2="141.6953"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="500" x2="500" y1="141.6953" y2="154.6953"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="459" x2="500" y1="154.6953" y2="154.6953"/><polygon fill="#A80036" points="469,150.6953,459,154.6953,469,158.6953,465,154.6953" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="118" x="465" y="136.6294">identifyNotification</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="458" x2="500" y1="183.8281" y2="183.8281"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="500" x2="500" y1="183.8281" y2="196.8281"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="459" x2="500" y1="196.8281" y2="196.8281"/><polygon fill="#A80036" points="469,192.8281,459,196.8281,469,200.8281,465,196.8281" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="324" x="465" y="178.7622">CellularRingNotification | CellularCallerIdNotification</text><polygon fill="#A80036" points="810,221.9609,820,225.9609,810,229.9609,814,225.9609" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="458" x2="816" y1="225.9609" y2="225.9609"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="340" x="465" y="220.895">CellularCallerIdMessage | CellularIncominCallMessage</text><polygon fill="#A80036" points="436,251.0938,446,255.0938,436,259.0938,440,255.0938" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="83.5" x2="442" y1="255.0938" y2="255.0938"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="54" x="90.5" y="250.0278">Cmti urc</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="458" x2="500" y1="284.2266" y2="284.2266"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="500" x2="500" y1="284.2266" y2="297.2266"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="459" x2="500" y1="297.2266" y2="297.2266"/><polygon fill="#A80036" points="469,293.2266,459,297.2266,469,301.2266,465,297.2266" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="118" x="465" y="279.1606">identifyNotification</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="458" x2="500" y1="326.3594" y2="326.3594"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="500" x2="500" y1="326.3594" y2="339.3594"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="459" x2="500" y1="339.3594" y2="339.3594"/><polygon fill="#A80036" points="469,335.3594,459,339.3594,469,343.3594,465,339.3594" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="75" x="465" y="321.2935">receiveSms</text><polygon fill="#A80036" points="342,364.4922,332,368.4922,342,372.4922,338,368.4922" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="336" x2="447" y1="368.4922" y2="368.4922"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="69" x="348" y="363.4263">add record</text><polygon fill="#A80036" points="436,393.625,446,397.625,436,401.625,440,397.625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="331" x2="442" y1="397.625" y2="397.625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="338" y="392.5591">new queeued</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="458" x2="500" y1="426.7578" y2="426.7578"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="500" x2="500" y1="426.7578" y2="439.7578"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="459" x2="500" y1="439.7578" y2="439.7578"/><polygon fill="#A80036" points="469,435.7578,459,439.7578,469,443.7578,465,439.7578" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="166" x="465" y="421.6919">CellularSendSMSMessage</text><polygon fill="#A80036" points="337,464.8906,327,468.8906,337,472.8906,333,468.8906" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="331" x2="447" y1="468.8906" y2="468.8906"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="90" x="343" y="463.8247">update record</text><polygon fill="#A80036" points="436,494.0234,446,498.0234,436,502.0234,440,498.0234" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="214" x2="442" y1="498.0234" y2="498.0234"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="179" x="221" y="492.9575">CellularCallRequestMessage</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="458" x2="500" y1="527.1563" y2="527.1563"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="500" x2="500" y1="527.1563" y2="540.1563"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="459" x2="500" y1="540.1563" y2="540.1563"/><polygon fill="#A80036" points="469,536.1563,459,540.1563,469,544.1563,465,540.1563" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="222" x="465" y="522.0903">handleCellularCallRequestMessage</text><polygon fill="#A80036" points="810,565.2891,820,569.2891,810,573.2891,814,569.2891" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="458" x2="816" y1="569.2891" y2="569.2891"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="150" x="465" y="564.2231">CellularRingingMessage</text><rect fill="#EEEEEE" filter="url(#fc243va7b01go)" height="3" style="stroke: #EEEEEE; stroke-width: 1.0;" width="925.5" x="3" y="597.8555"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="928.5" y1="597.8555" y2="597.8555"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="928.5" y1="600.8555" y2="600.8555"/><rect fill="#EEEEEE" filter="url(#fc243va7b01go)" height="23.1328" style="stroke: #000000; stroke-width: 2.0;" width="174" x="378.75" y="587.2891"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="155" x="384.75" y="603.356">Do not Disturb mode</text><polygon fill="#A80036" points="436,637.5547,446,641.5547,436,645.5547,440,641.5547" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="83.5" x2="442" y1="641.5547" y2="641.5547"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="110" x="90.5" y="636.4888">Ring urc / Clip urc</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="458" x2="500" y1="670.6875" y2="670.6875"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="500" x2="500" y1="670.6875" y2="683.6875"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="459" x2="500" y1="683.6875" y2="683.6875"/><polygon fill="#A80036" points="469,679.6875,459,683.6875,469,687.6875,465,683.6875" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="118" x="465" y="665.6216">identifyNotification</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="458" x2="500" y1="712.8203" y2="712.8203"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="500" x2="500" y1="712.8203" y2="725.8203"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="459" x2="500" y1="725.8203" y2="725.8203"/><polygon fill="#A80036" points="469,721.8203,459,725.8203,469,729.8203,465,725.8203" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="324" x="465" y="707.7544">CellularRingNotification | CellularCallerIdNotification</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="458" x2="500" y1="754.9531" y2="754.9531"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="500" x2="500" y1="754.9531" y2="767.9531"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="459" x2="500" y1="767.9531" y2="767.9531"/><polygon fill="#A80036" points="469,763.9531,459,767.9531,469,771.9531,465,767.9531" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="73" x="465" y="749.8872">hangUpCall</text><polygon fill="#A80036" points="436,793.0859,446,797.0859,436,801.0859,440,797.0859" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="83.5" x2="442" y1="797.0859" y2="797.0859"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="54" x="90.5" y="792.02">Cmti urc</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="458" x2="500" y1="826.2188" y2="826.2188"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="500" x2="500" y1="826.2188" y2="839.2188"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="459" x2="500" y1="839.2188" y2="839.2188"/><polygon fill="#A80036" points="469,835.2188,459,839.2188,469,843.2188,465,839.2188" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="118" x="465" y="821.1528">identifyNotification</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="458" x2="500" y1="868.3516" y2="868.3516"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="500" x2="500" y1="868.3516" y2="881.3516"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="459" x2="500" y1="881.3516" y2="881.3516"/><polygon fill="#A80036" points="469,877.3516,459,881.3516,469,885.3516,465,881.3516" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="75" x="465" y="863.2856">receiveSms</text><polygon fill="#A80036" points="342,906.4844,332,910.4844,342,914.4844,338,910.4844" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="336" x2="447" y1="910.4844" y2="910.4844"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="69" x="348" y="905.4185">add record</text><polygon fill="#A80036" points="436,935.6172,446,939.6172,436,943.6172,440,939.6172" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="331" x2="442" y1="939.6172" y2="939.6172"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="338" y="934.5513">new queeued</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="458" x2="500" y1="968.75" y2="968.75"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="500" x2="500" y1="968.75" y2="981.75"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="459" x2="500" y1="981.75" y2="981.75"/><polygon fill="#A80036" points="469,977.75,459,981.75,469,985.75,465,981.75" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="166" x="465" y="963.6841">CellularSendSMSMessage</text><polygon fill="#A80036" points="337,1006.8828,327,1010.8828,337,1014.8828,333,1010.8828" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="331" x2="447" y1="1010.8828" y2="1010.8828"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="90" x="343" y="1005.8169">update record</text><polygon fill="#A80036" points="436,1036.0156,446,1040.0156,436,1044.0156,440,1040.0156" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="214" x2="442" y1="1040.0156" y2="1040.0156"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="179" x="221" y="1034.9497">CellularCallRequestMessage</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="458" x2="500" y1="1069.1484" y2="1069.1484"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="500" x2="500" y1="1069.1484" y2="1082.1484"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="459" x2="500" y1="1082.1484" y2="1082.1484"/><polygon fill="#A80036" points="469,1078.1484,459,1082.1484,469,1086.1484,465,1082.1484" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="222" x="465" y="1064.0825">handleCellularCallRequestMessage</text><polygon fill="#A80036" points="810,1107.2813,820,1111.2813,810,1115.2813,814,1111.2813" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="453" x2="816" y1="1111.2813" y2="1111.2813"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="150" x="460" y="1106.2153">CellularRingingMessage</text><!--MD5=[2bc687368fd2911b31c444481f102e64]
@startuml
skinparam BackgroundColor F0F0F0

participant "Incoming call URC" as urc
participant "Call request" as call


@@ 65,11 66,13 @@ participant "Service cellular notification " as notification

@enduml

PlantUML version 1.2021.2(Sun Mar 07 12:10:27 CET 2021)
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: pl
Country: PL
Language: en
Country: US
--></g></svg>
\ No newline at end of file

M module-services/service-cellular/doc/urc_handling.puml => module-services/service-cellular/doc/urc_handling.puml +2 -1
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0
participant ServiceCellular as cellular
participant TS0710 as ts
participant WorkerThread as worker


@@ 29,4 30,4 @@ handler --> cellular - : <<response>>
?<--    cellular -- : ""multicast\nresponse""
cellular -> urc !! : delete
end
@enduml
\ No newline at end of file
@enduml

M module-services/service-cellular/doc/urc_handling.svg => module-services/service-cellular/doc/urc_handling.svg +5 -2
@@ 1,5 1,6 @@
<?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="717px" preserveAspectRatio="none" style="width:895px;height:717px;" version="1.1" viewBox="0 0 895 717" width="895px" zoomAndPan="magnify"><defs><filter height="300%" id="f9zn9nm1ckmmn" 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(#f9zn9nm1ckmmn)" height="593.9844" style="stroke:#A80036;stroke-width:1.0;" width="10" x="204" y="71.4297"/><rect fill="#FFFFFF" filter="url(#f9zn9nm1ckmmn)" height="74.4297" style="stroke:#A80036;stroke-width:1.0;" width="10" x="489.5" y="311.6563"/><rect fill="#FFFFFF" filter="url(#f9zn9nm1ckmmn)" height="234.1953" style="stroke:#A80036;stroke-width:1.0;" width="10" x="624" y="415.2188"/><rect fill="#FFFFFF" filter="url(#f9zn9nm1ckmmn)" height="73.3984" style="stroke:#A80036;stroke-width:1.0;" width="10" x="730" y="444.3516"/><rect fill="#FFFFFF" filter="url(#f9zn9nm1ckmmn)" height="29.1328" style="stroke:#A80036;stroke-width:1.0;" width="10" x="730" y="546.8828"/><rect fill="#FFFFFF" filter="url(#f9zn9nm1ckmmn)" height="442.2891" style="stroke:#000000;stroke-width:2.0;" width="871" x="10" y="215.125"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="100" x2="100" y1="40.2969" y2="674.4141"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="209" x2="209" y1="40.2969" y2="674.4141"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="381" x2="381" y1="141.2109" y2="674.4141"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="494" x2="494" y1="40.2969" y2="674.4141"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="628.5" x2="628.5" y1="352.3047" y2="674.4141"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="735" x2="735" y1="40.2969" y2="674.4141"/><rect fill="#FEFECE" filter="url(#f9zn9nm1ckmmn)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="114" x="41" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="100" x="48" y="24.9951">ServiceCellular</text><rect fill="#FEFECE" filter="url(#f9zn9nm1ckmmn)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="114" x="41" y="673.4141"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="100" x="48" y="693.4092">ServiceCellular</text><rect fill="#FEFECE" filter="url(#f9zn9nm1ckmmn)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="68" x="173" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="54" x="180" y="24.9951">TS0710</text><rect fill="#FEFECE" filter="url(#f9zn9nm1ckmmn)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="68" x="173" y="673.4141"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="54" x="180" y="693.4092">TS0710</text><rect fill="#FEFECE" filter="url(#f9zn9nm1ckmmn)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="112" x="323" y="673.4141"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="98" x="330" y="693.4092">WorkerThread</text><rect fill="#FEFECE" filter="url(#f9zn9nm1ckmmn)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="87" x="449" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="73" x="456" y="24.9951">UrcFactory</text><rect fill="#FEFECE" filter="url(#f9zn9nm1ckmmn)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="87" x="449" y="673.4141"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="73" x="456" y="693.4092">UrcFactory</text><rect fill="#FEFECE" filter="url(#f9zn9nm1ckmmn)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="37" x="608.5" y="673.4141"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="23" x="615.5" y="693.4092">Urc</text><rect fill="#FEFECE" filter="url(#f9zn9nm1ckmmn)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="140" x="663" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="126" x="670" y="24.9951">CellularUrcHandler</text><rect fill="#FEFECE" filter="url(#f9zn9nm1ckmmn)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="140" x="663" y="673.4141"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="126" x="670" y="693.4092">CellularUrcHandler</text><rect fill="#FFFFFF" filter="url(#f9zn9nm1ckmmn)" height="593.9844" style="stroke:#A80036;stroke-width:1.0;" width="10" x="204" y="71.4297"/><rect fill="#FFFFFF" filter="url(#f9zn9nm1ckmmn)" height="74.4297" style="stroke:#A80036;stroke-width:1.0;" width="10" x="489.5" y="311.6563"/><rect fill="#FFFFFF" filter="url(#f9zn9nm1ckmmn)" height="234.1953" style="stroke:#A80036;stroke-width:1.0;" width="10" x="624" y="415.2188"/><rect fill="#FFFFFF" filter="url(#f9zn9nm1ckmmn)" height="73.3984" style="stroke:#A80036;stroke-width:1.0;" width="10" x="730" y="444.3516"/><rect fill="#FFFFFF" filter="url(#f9zn9nm1ckmmn)" height="29.1328" style="stroke:#A80036;stroke-width:1.0;" width="10" x="730" y="546.8828"/><polygon fill="#A80036" points="192,67.4297,202,71.4297,192,75.4297,196,71.4297" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="100" x2="198" y1="71.4297" y2="71.4297"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="85" x="107" y="66.3638">&lt;&lt;create&gt;&gt;</text><polygon fill="#A80036" points="192,96.5625,202,100.5625,192,104.5625,196,100.5625" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="100" x2="198" y1="100.5625" y2="100.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="73" x="107" y="95.4966">setCallback</text><polygon fill="#A80036" points="311,125.6953,321,129.6953,311,133.6953,315,129.6953" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="214" x2="317" y1="129.6953" y2="129.6953"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="85" x="221" y="124.6294">&lt;&lt;create&gt;&gt;</text><rect fill="#FEFECE" filter="url(#f9zn9nm1ckmmn)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="112" x="323" y="108.5625"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="98" x="330" y="128.5576">WorkerThread</text><path d="M386,158.8594 L386,198.8594 L810,198.8594 L810,168.8594 L800,158.8594 L386,158.8594 " fill="#FBFB77" filter="url(#f9zn9nm1ckmmn)" style="stroke:#A80036;stroke-width:1.0;"/><path d="M800,158.8594 L800,168.8594 L810,168.8594 L800,158.8594 " fill="#FBFB77" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="403" x="392" y="175.9263">processing of the incoming data takes place is separate thread</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="324" x="392" y="191.0591">utilizing the callback function set by ServiceCellular</text><path d="M10,215.125 L87,215.125 L87,222.125 L77,232.125 L10,232.125 L10,215.125 " fill="#EEEEEE" style="stroke:#000000;stroke-width:1.0;"/><rect fill="none" height="442.2891" style="stroke:#000000;stroke-width:2.0;" width="871" x="10" y="215.125"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="32" x="25" y="228.1919">loop</text><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacing" textLength="36" x="102" y="227.3354">[true]</text><polygon fill="#A80036" points="369,249.3906,379,253.3906,369,257.3906,373,253.3906" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="299" x2="375" y1="253.3906" y2="253.3906"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="58" x="306" y="248.3247">new data</text><polygon fill="#A80036" points="111,278.5234,101,282.5234,111,286.5234,107,282.5234" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="105" x2="380" y1="282.5234" y2="282.5234"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="51" x="117" y="277.4575">callback</text><polygon fill="#A80036" points="477.5,307.6563,487.5,311.6563,477.5,315.6563,481.5,311.6563" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="100" x2="483.5" y1="311.6563" y2="311.6563"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="43" x="107" y="306.5903">Create</text><polygon fill="#A80036" points="596.5,336.7891,606.5,340.7891,596.5,344.7891,600.5,340.7891" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="499.5" x2="602.5" y1="340.7891" y2="340.7891"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="85" x="506.5" y="335.7231">&lt;&lt;create&gt;&gt;</text><rect fill="#FEFECE" filter="url(#f9zn9nm1ckmmn)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="37" x="608.5" y="319.6563"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="23" x="615.5" y="339.6514">Urc</text><polygon fill="#A80036" points="111,382.0859,101,386.0859,111,390.0859,107,386.0859" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="105" x2="493.5" y1="386.0859" y2="386.0859"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="83" x="117" y="381.02">&lt;&lt;return&gt;&gt;</text><polygon fill="#A80036" points="612,411.2188,622,415.2188,612,419.2188,616,415.2188" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="100" x2="618" y1="415.2188" y2="415.2188"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="174" x="107" y="410.1528">Handle(CellularUrcHandler)</text><polygon fill="#A80036" points="718,440.3516,728,444.3516,718,448.3516,722,444.3516" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="634" x2="724" y1="444.3516" y2="444.3516"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="77" x="641" y="439.2856">Handle(Urc)</text><polygon fill="#A80036" points="872,484.6172,882,488.6172,872,492.6172,876,488.6172" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="740" x2="878" y1="488.6172" y2="488.6172"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="120" x="747" y="468.4185">&lt;&lt;specific system</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="68" x="747" y="483.5513">actions&gt;&gt;</text><polygon fill="#A80036" points="746,513.75,736,517.75,746,521.75,742,517.75" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="740" x2="838" y1="517.75" y2="517.75"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="80" x="752" y="512.6841">&lt;&lt;result&gt;&gt;</text><polygon fill="#A80036" points="718,542.8828,728,546.8828,718,550.8828,722,546.8828" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="100" x2="724" y1="546.8828" y2="546.8828"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="83" x="107" y="541.8169">getResponse</text><polygon fill="#A80036" points="111,572.0156,101,576.0156,111,580.0156,107,576.0156" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="105" x2="734" y1="576.0156" y2="576.0156"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="103" x="117" y="570.9497">&lt;&lt;response&gt;&gt;</text><polygon fill="#A80036" points="18,616.2813,8,620.2813,18,624.2813,14,620.2813" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="12" x2="99" y1="620.2813" y2="620.2813"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="69" x="24" y="600.0825">""multicast</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="69" x="24" y="615.2153">response""</text><polygon fill="#A80036" points="617,645.4141,627,649.4141,617,653.4141,621,649.4141" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="100" x2="623" y1="649.4141" y2="649.4141"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="40" x="107" y="644.3481">delete</text><line style="stroke:#A80036;stroke-width:2.0;" x1="620" x2="638" y1="640.4141" y2="658.4141"/><line style="stroke:#A80036;stroke-width:2.0;" x1="620" x2="638" y1="658.4141" y2="640.4141"/><!--MD5=[38e3838875216213e2be62ff3a06c39b]
<?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="712px" preserveAspectRatio="none" style="width:895px;height:712px;background:#F0F0F0;" version="1.1" viewBox="0 0 895 712" width="895px" zoomAndPan="magnify"><defs><filter height="300%" id="f1wq6zckfxar51" 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(#f1wq6zckfxar51)" height="593.9844" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="207" y="69.4297"/><rect fill="#FFFFFF" filter="url(#f1wq6zckfxar51)" height="74.4297" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="492.5" y="309.6563"/><rect fill="#FFFFFF" filter="url(#f1wq6zckfxar51)" height="234.1953" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="627" y="413.2188"/><rect fill="#FFFFFF" filter="url(#f1wq6zckfxar51)" height="73.3984" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="733" y="442.3516"/><rect fill="#FFFFFF" filter="url(#f1wq6zckfxar51)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="733" y="544.8828"/><rect fill="#F0F0F0" filter="url(#f1wq6zckfxar51)" height="442.2891" style="stroke: #000000; stroke-width: 2.0;" width="871" x="13" y="213.125"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="103" x2="103" y1="38.2969" y2="672.4141"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="212" x2="212" y1="38.2969" y2="672.4141"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="384" x2="384" y1="139.2109" y2="672.4141"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="497" x2="497" y1="38.2969" y2="672.4141"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="631.5" x2="631.5" y1="350.3047" y2="672.4141"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="738" x2="738" y1="38.2969" y2="672.4141"/><rect fill="#FEFECE" filter="url(#f1wq6zckfxar51)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="114" x="44" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="100" x="51" y="22.9951">ServiceCellular</text><rect fill="#FEFECE" filter="url(#f1wq6zckfxar51)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="114" x="44" y="671.4141"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="100" x="51" y="691.4092">ServiceCellular</text><rect fill="#FEFECE" filter="url(#f1wq6zckfxar51)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="68" x="176" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="54" x="183" y="22.9951">TS0710</text><rect fill="#FEFECE" filter="url(#f1wq6zckfxar51)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="68" x="176" y="671.4141"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="54" x="183" y="691.4092">TS0710</text><rect fill="#FEFECE" filter="url(#f1wq6zckfxar51)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="112" x="326" y="671.4141"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="98" x="333" y="691.4092">WorkerThread</text><rect fill="#FEFECE" filter="url(#f1wq6zckfxar51)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="87" x="452" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="73" x="459" y="22.9951">UrcFactory</text><rect fill="#FEFECE" filter="url(#f1wq6zckfxar51)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="87" x="452" y="671.4141"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="73" x="459" y="691.4092">UrcFactory</text><rect fill="#FEFECE" filter="url(#f1wq6zckfxar51)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="37" x="611.5" y="671.4141"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="23" x="618.5" y="691.4092">Urc</text><rect fill="#FEFECE" filter="url(#f1wq6zckfxar51)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="140" x="666" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="126" x="673" y="22.9951">CellularUrcHandler</text><rect fill="#FEFECE" filter="url(#f1wq6zckfxar51)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="140" x="666" y="671.4141"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="126" x="673" y="691.4092">CellularUrcHandler</text><rect fill="#FFFFFF" filter="url(#f1wq6zckfxar51)" height="593.9844" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="207" y="69.4297"/><rect fill="#FFFFFF" filter="url(#f1wq6zckfxar51)" height="74.4297" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="492.5" y="309.6563"/><rect fill="#FFFFFF" filter="url(#f1wq6zckfxar51)" height="234.1953" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="627" y="413.2188"/><rect fill="#FFFFFF" filter="url(#f1wq6zckfxar51)" height="73.3984" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="733" y="442.3516"/><rect fill="#FFFFFF" filter="url(#f1wq6zckfxar51)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="733" y="544.8828"/><polygon fill="#A80036" points="195,65.4297,205,69.4297,195,73.4297,199,69.4297" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="103" x2="201" y1="69.4297" y2="69.4297"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="110" y="64.3638">&lt;&lt;create&gt;&gt;</text><polygon fill="#A80036" points="195,94.5625,205,98.5625,195,102.5625,199,98.5625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="103" x2="201" y1="98.5625" y2="98.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="73" x="110" y="93.4966">setCallback</text><polygon fill="#A80036" points="314,123.6953,324,127.6953,314,131.6953,318,127.6953" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="217" x2="320" y1="127.6953" y2="127.6953"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="224" y="122.6294">&lt;&lt;create&gt;&gt;</text><rect fill="#FEFECE" filter="url(#f1wq6zckfxar51)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="112" x="326" y="106.5625"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="98" x="333" y="126.5576">WorkerThread</text><path d="M389,156.8594 L389,196.8594 L813,196.8594 L813,166.8594 L803,156.8594 L389,156.8594 " fill="#FBFB77" filter="url(#f1wq6zckfxar51)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M803,156.8594 L803,166.8594 L813,166.8594 L803,156.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="403" x="395" y="173.9263">processing of the incoming data takes place is separate thread</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="324" x="395" y="189.0591">utilizing the callback function set by ServiceCellular</text><path d="M13,213.125 L90,213.125 L90,220.125 L80,230.125 L13,230.125 L13,213.125 " fill="#EEEEEE" style="stroke: #000000; stroke-width: 1.0;"/><rect fill="none" height="442.2891" style="stroke: #000000; stroke-width: 2.0;" width="871" x="13" y="213.125"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="32" x="28" y="226.1919">loop</text><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="36" x="105" y="225.3354">[true]</text><polygon fill="#A80036" points="372,247.3906,382,251.3906,372,255.3906,376,251.3906" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="302" x2="378" y1="251.3906" y2="251.3906"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="58" x="309" y="246.3247">new data</text><polygon fill="#A80036" points="114,276.5234,104,280.5234,114,284.5234,110,280.5234" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="108" x2="383" y1="280.5234" y2="280.5234"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="51" x="120" y="275.4575">callback</text><polygon fill="#A80036" points="480.5,305.6563,490.5,309.6563,480.5,313.6563,484.5,309.6563" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="103" x2="486.5" y1="309.6563" y2="309.6563"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="43" x="110" y="304.5903">Create</text><polygon fill="#A80036" points="599.5,334.7891,609.5,338.7891,599.5,342.7891,603.5,338.7891" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="502.5" x2="605.5" y1="338.7891" y2="338.7891"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="509.5" y="333.7231">&lt;&lt;create&gt;&gt;</text><rect fill="#FEFECE" filter="url(#f1wq6zckfxar51)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="37" x="611.5" y="317.6563"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="23" x="618.5" y="337.6514">Urc</text><polygon fill="#A80036" points="114,380.0859,104,384.0859,114,388.0859,110,384.0859" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="108" x2="496.5" y1="384.0859" y2="384.0859"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="83" x="120" y="379.02">&lt;&lt;return&gt;&gt;</text><polygon fill="#A80036" points="615,409.2188,625,413.2188,615,417.2188,619,413.2188" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="103" x2="621" y1="413.2188" y2="413.2188"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="174" x="110" y="408.1528">Handle(CellularUrcHandler)</text><polygon fill="#A80036" points="721,438.3516,731,442.3516,721,446.3516,725,442.3516" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="637" x2="727" y1="442.3516" y2="442.3516"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="77" x="644" y="437.2856">Handle(Urc)</text><polygon fill="#A80036" points="875,482.6172,885,486.6172,875,490.6172,879,486.6172" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="743" x2="881" y1="486.6172" y2="486.6172"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="120" x="750" y="466.4185">&lt;&lt;specific system</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="68" x="750" y="481.5513">actions&gt;&gt;</text><polygon fill="#A80036" points="749,511.75,739,515.75,749,519.75,745,515.75" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="743" x2="841" y1="515.75" y2="515.75"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="80" x="755" y="510.6841">&lt;&lt;result&gt;&gt;</text><polygon fill="#A80036" points="721,540.8828,731,544.8828,721,548.8828,725,544.8828" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="103" x2="727" y1="544.8828" y2="544.8828"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="83" x="110" y="539.8169">getResponse</text><polygon fill="#A80036" points="114,570.0156,104,574.0156,114,578.0156,110,574.0156" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="108" x2="737" y1="574.0156" y2="574.0156"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="103" x="120" y="568.9497">&lt;&lt;response&gt;&gt;</text><polygon fill="#A80036" points="21,614.2813,11,618.2813,21,622.2813,17,618.2813" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="15" x2="102" y1="618.2813" y2="618.2813"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="69" x="27" y="598.0825">""multicast</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="69" x="27" y="613.2153">response""</text><polygon fill="#A80036" points="620,643.4141,630,647.4141,620,651.4141,624,647.4141" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="103" x2="626" y1="647.4141" y2="647.4141"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="40" x="110" y="642.3481">delete</text><line style="stroke: #A80036; stroke-width: 2.0;" x1="623" x2="641" y1="638.4141" y2="656.4141"/><line style="stroke: #A80036; stroke-width: 2.0;" x1="623" x2="641" y1="656.4141" y2="638.4141"/><!--MD5=[e3b58ab2830bf70706c3b1d0e3a24cb5]
@startuml
skinparam BackgroundColor F0F0F0
participant ServiceCellular as cellular
participant TS0710 as ts
participant WorkerThread as worker


@@ 32,10 33,12 @@ cellular -> urc !! : delete
end
@enduml

PlantUML version 1.2021.00(Sun Jan 10 11:25:05 CET 2021)
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

M module-services/service-desktop/doc/how_machine_works.puml => module-services/service-desktop/doc/how_machine_works.puml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0
Worker -> Worker : get data
Worker --> ServiceDesktop : pass frame
ServiceDesktop -> ServiceDesktop :  parse payload{ data request }

M module-services/service-desktop/doc/how_machine_works.svg => module-services/service-desktop/doc/how_machine_works.svg +5 -2
@@ 1,5 1,6 @@
<?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="346px" preserveAspectRatio="none" style="width:411px;height:346px;" version="1.1" viewBox="0 0 411 346" width="411px" zoomAndPan="magnify"><defs><filter height="300%" id="f1jl8apq24479q" 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><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="38" x2="38" y1="40.2969" y2="303.2266"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="156" x2="156" y1="40.2969" y2="303.2266"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="366" x2="366" y1="40.2969" y2="303.2266"/><rect fill="#FEFECE" filter="url(#f1jl8apq24479q)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="63" x="5" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="49" x="12" y="24.9951">Worker</text><rect fill="#FEFECE" filter="url(#f1jl8apq24479q)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="63" x="5" y="302.2266"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="49" x="12" y="322.2217">Worker</text><rect fill="#FEFECE" filter="url(#f1jl8apq24479q)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="123" x="93" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="109" x="100" y="24.9951">ServiceDesktop</text><rect fill="#FEFECE" filter="url(#f1jl8apq24479q)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="123" x="93" y="302.2266"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="109" x="100" y="322.2217">ServiceDesktop</text><rect fill="#FEFECE" filter="url(#f1jl8apq24479q)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="65" x="332" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="51" x="339" y="24.9951">System</text><rect fill="#FEFECE" filter="url(#f1jl8apq24479q)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="65" x="332" y="302.2266"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="51" x="339" y="322.2217">System</text><line style="stroke:#A80036;stroke-width:1.0;" x1="38.5" x2="80.5" y1="71.4297" y2="71.4297"/><line style="stroke:#A80036;stroke-width:1.0;" x1="80.5" x2="80.5" y1="71.4297" y2="84.4297"/><line style="stroke:#A80036;stroke-width:1.0;" x1="39.5" x2="80.5" y1="84.4297" y2="84.4297"/><polygon fill="#A80036" points="49.5,80.4297,39.5,84.4297,49.5,88.4297,45.5,84.4297" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="54" x="45.5" y="66.3638">get data</text><polygon fill="#A80036" points="144.5,109.5625,154.5,113.5625,144.5,117.5625,148.5,113.5625" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="38.5" x2="150.5" y1="113.5625" y2="113.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="72" x="45.5" y="108.4966">pass frame</text><line style="stroke:#A80036;stroke-width:1.0;" x1="156.5" x2="198.5" y1="142.6953" y2="142.6953"/><line style="stroke:#A80036;stroke-width:1.0;" x1="198.5" x2="198.5" y1="142.6953" y2="155.6953"/><line style="stroke:#A80036;stroke-width:1.0;" x1="157.5" x2="198.5" y1="155.6953" y2="155.6953"/><polygon fill="#A80036" points="167.5,151.6953,157.5,155.6953,167.5,159.6953,163.5,155.6953" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="196" x="163.5" y="137.6294">parse payload{ data request }</text><polygon fill="#A80036" points="354.5,180.8281,364.5,184.8281,354.5,188.8281,358.5,184.8281" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="156.5" x2="360.5" y1="184.8281" y2="184.8281"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="70" x="163.5" y="179.7622">get {data}</text><polygon fill="#A80036" points="167.5,209.9609,157.5,213.9609,167.5,217.9609,163.5,213.9609" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="161.5" x2="365.5" y1="213.9609" y2="213.9609"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="108" x="173.5" y="208.895">responds {data}</text><line style="stroke:#A80036;stroke-width:1.0;" x1="156.5" x2="198.5" y1="243.0938" y2="243.0938"/><line style="stroke:#A80036;stroke-width:1.0;" x1="198.5" x2="198.5" y1="243.0938" y2="256.0938"/><line style="stroke:#A80036;stroke-width:1.0;" x1="157.5" x2="198.5" y1="256.0938" y2="256.0938"/><polygon fill="#A80036" points="167.5,252.0938,157.5,256.0938,167.5,260.0938,163.5,256.0938" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="129" x="163.5" y="238.0278">response final touch</text><polygon fill="#A80036" points="49.5,281.2266,39.5,285.2266,49.5,289.2266,45.5,285.2266" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="43.5" x2="155.5" y1="285.2266" y2="285.2266"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="94" x="55.5" y="280.1606">push response</text><!--MD5=[040fbad3755c3758adab0ffbcf4d4812]
<?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="341px" preserveAspectRatio="none" style="width:411px;height:341px;background:#F0F0F0;" version="1.1" viewBox="0 0 411 341" width="411px" zoomAndPan="magnify"><defs><filter height="300%" id="ftl4y6u13hpc8" 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><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="41" x2="41" y1="38.2969" y2="301.2266"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="159" x2="159" y1="38.2969" y2="301.2266"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="369" x2="369" y1="38.2969" y2="301.2266"/><rect fill="#FEFECE" filter="url(#ftl4y6u13hpc8)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="63" x="8" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="49" x="15" y="22.9951">Worker</text><rect fill="#FEFECE" filter="url(#ftl4y6u13hpc8)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="63" x="8" y="300.2266"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="49" x="15" y="320.2217">Worker</text><rect fill="#FEFECE" filter="url(#ftl4y6u13hpc8)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="123" x="96" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="109" x="103" y="22.9951">ServiceDesktop</text><rect fill="#FEFECE" filter="url(#ftl4y6u13hpc8)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="123" x="96" y="300.2266"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="109" x="103" y="320.2217">ServiceDesktop</text><rect fill="#FEFECE" filter="url(#ftl4y6u13hpc8)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="65" x="335" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="51" x="342" y="22.9951">System</text><rect fill="#FEFECE" filter="url(#ftl4y6u13hpc8)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="65" x="335" y="300.2266"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="51" x="342" y="320.2217">System</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="41.5" x2="83.5" y1="69.4297" y2="69.4297"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="83.5" x2="83.5" y1="69.4297" y2="82.4297"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="42.5" x2="83.5" y1="82.4297" y2="82.4297"/><polygon fill="#A80036" points="52.5,78.4297,42.5,82.4297,52.5,86.4297,48.5,82.4297" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="54" x="48.5" y="64.3638">get data</text><polygon fill="#A80036" points="147.5,107.5625,157.5,111.5625,147.5,115.5625,151.5,111.5625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="41.5" x2="153.5" y1="111.5625" y2="111.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="72" x="48.5" y="106.4966">pass frame</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="159.5" x2="201.5" y1="140.6953" y2="140.6953"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="201.5" x2="201.5" y1="140.6953" y2="153.6953"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="160.5" x2="201.5" y1="153.6953" y2="153.6953"/><polygon fill="#A80036" points="170.5,149.6953,160.5,153.6953,170.5,157.6953,166.5,153.6953" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="196" x="166.5" y="135.6294">parse payload{ data request }</text><polygon fill="#A80036" points="357.5,178.8281,367.5,182.8281,357.5,186.8281,361.5,182.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="159.5" x2="363.5" y1="182.8281" y2="182.8281"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="70" x="166.5" y="177.7622">get {data}</text><polygon fill="#A80036" points="170.5,207.9609,160.5,211.9609,170.5,215.9609,166.5,211.9609" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="164.5" x2="368.5" y1="211.9609" y2="211.9609"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="108" x="176.5" y="206.895">responds {data}</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="159.5" x2="201.5" y1="241.0938" y2="241.0938"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="201.5" x2="201.5" y1="241.0938" y2="254.0938"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="160.5" x2="201.5" y1="254.0938" y2="254.0938"/><polygon fill="#A80036" points="170.5,250.0938,160.5,254.0938,170.5,258.0938,166.5,254.0938" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="129" x="166.5" y="236.0278">response final touch</text><polygon fill="#A80036" points="52.5,279.2266,42.5,283.2266,52.5,287.2266,48.5,283.2266" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="46.5" x2="158.5" y1="283.2266" y2="283.2266"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="58.5" y="278.1606">push response</text><!--MD5=[f351d78d3e0da3e24511075d33c7ace3]
@startuml
skinparam BackgroundColor F0F0F0
Worker -> Worker : get data
Worker - -> ServiceDesktop : pass frame
ServiceDesktop -> ServiceDesktop :  parse payload{ data request }


@@ 9,10 10,12 @@ ServiceDesktop -> ServiceDesktop : response final touch
ServiceDesktop -> Worker : push response
@enduml

PlantUML version 1.2021.00(Sun Jan 10 11:25:05 CET 2021)
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

M module-services/service-desktop/endpoints/bluetooth/doc/bt-endpoints-general-structure.puml => module-services/service-desktop/endpoints/bluetooth/doc/bt-endpoints-general-structure.puml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0

participant "Harness" as harness
participant "Worker Desktop" as workdsktp

M module-services/service-desktop/endpoints/bluetooth/doc/bt-endpoints-general-structure.svg => module-services/service-desktop/endpoints/bluetooth/doc/bt-endpoints-general-structure.svg +4 -5
@@ 1,6 1,6 @@
<?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="636px" preserveAspectRatio="none" style="width:838px;height:636px;" version="1.1" viewBox="0 0 838 636" width="838px" zoomAndPan="magnify"><defs><filter height="300%" id="f1342boybziubm" 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(#f1342boybziubm)" height="71.2656" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="139" y="69.4297"/><rect fill="#FFFFFF" filter="url(#f1342boybziubm)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="139" y="548.9609"/><rect fill="#FFFFFF" filter="url(#f1342boybziubm)" height="53.2656" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="267" y="140.6953"/><rect fill="#FFFFFF" filter="url(#f1342boybziubm)" height="36.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="267" y="512.8281"/><rect fill="#FFFFFF" filter="url(#f1342boybziubm)" height="166.6641" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="418" y="193.9609"/><rect fill="#FFFFFF" filter="url(#f1342boybziubm)" height="152.2031" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="569.5" y="360.625"/><rect fill="#FFFFFF" filter="url(#f1342boybziubm)" height="108.2656" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="574.5" y="404.5625"/><rect fill="#FFFFFF" filter="url(#f1342boybziubm)" height="127.2031" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="732.5" y="307.3594"/><rect fill="#FFFFFF" filter="url(#f1342boybziubm)" height="365.1328" style="stroke: #000000; stroke-width: 2.0;" width="630.5" x="197" y="155.6953"/><rect fill="#FFFFFF" filter="url(#f1342boybziubm)" height="120.2031" style="stroke: #000000; stroke-width: 2.0;" width="480.5" x="337" y="322.3594"/><rect fill="#FFFFFF" height="73.9375" style="stroke: none; stroke-width: 1.0;" width="480.5" x="337" y="368.625"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="143.5" x2="143.5" y1="38.2969" y2="596.0938"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="272" x2="272" y1="38.2969" y2="596.0938"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="423" x2="423" y1="38.2969" y2="596.0938"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="574" x2="574" y1="38.2969" y2="596.0938"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="737.5" x2="737.5" y1="38.2969" y2="596.0938"/><rect fill="#FEFECE" filter="url(#f1342boybziubm)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="71" x="106.5" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="57" x="113.5" y="22.9951">Harness</text><rect fill="#FEFECE" filter="url(#f1342boybziubm)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="71" x="106.5" y="595.0938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="57" x="113.5" y="615.0889">Harness</text><rect fill="#FEFECE" filter="url(#f1342boybziubm)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="126" x="207" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="112" x="214" y="22.9951">Worker Desktop</text><rect fill="#FEFECE" filter="url(#f1342boybziubm)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="126" x="207" y="595.0938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="112" x="214" y="615.0889">Worker Desktop</text><rect fill="#FEFECE" filter="url(#f1342boybziubm)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="148" x="347" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="134" x="354" y="22.9951">Bluetooth Endpoint</text><rect fill="#FEFECE" filter="url(#f1342boybziubm)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="148" x="347" y="595.0938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="134" x="354" y="615.0889">Bluetooth Endpoint</text><rect fill="#FEFECE" filter="url(#f1342boybziubm)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="127" x="509" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="113" x="516" y="22.9951">Service Desktop</text><rect fill="#FEFECE" filter="url(#f1342boybziubm)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="127" x="509" y="595.0938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="113" x="516" y="615.0889">Service Desktop</text><rect fill="#FEFECE" filter="url(#f1342boybziubm)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="136" x="667.5" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="122" x="674.5" y="22.9951">Service Bluetooth</text><rect fill="#FEFECE" filter="url(#f1342boybziubm)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="136" x="667.5" y="595.0938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="122" x="674.5" y="615.0889">Service Bluetooth</text><rect fill="#FFFFFF" filter="url(#f1342boybziubm)" height="71.2656" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="139" y="69.4297"/><rect fill="#FFFFFF" filter="url(#f1342boybziubm)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="139" y="548.9609"/><rect fill="#FFFFFF" filter="url(#f1342boybziubm)" height="53.2656" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="267" y="140.6953"/><rect fill="#FFFFFF" filter="url(#f1342boybziubm)" height="36.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="267" y="512.8281"/><rect fill="#FFFFFF" filter="url(#f1342boybziubm)" height="166.6641" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="418" y="193.9609"/><rect fill="#FFFFFF" filter="url(#f1342boybziubm)" height="152.2031" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="569.5" y="360.625"/><rect fill="#FFFFFF" filter="url(#f1342boybziubm)" height="108.2656" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="574.5" y="404.5625"/><rect fill="#FFFFFF" filter="url(#f1342boybziubm)" height="127.2031" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="732.5" y="307.3594"/><ellipse cx="10.5" cy="68.6797" fill="none" rx="4" ry="4" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#A80036" points="127,65.4297,137,69.4297,127,73.4297,131,69.4297" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="15" x2="133" y1="69.4297" y2="69.4297"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="109" x="18" y="64.3638">endpoint request</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="149" x2="191" y1="98.5625" y2="98.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="191" x2="191" y1="98.5625" y2="111.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="150" x2="191" y1="111.5625" y2="111.5625"/><polygon fill="#A80036" points="160,107.5625,150,111.5625,160,115.5625,156,111.5625" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="156" y="93.4966">create message</text><polygon fill="#A80036" points="255,136.6953,265,140.6953,255,144.6953,259,140.6953" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="144" x2="261" y1="140.6953" y2="140.6953"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="84" x="151" y="135.6294">send request</text><path d="M197,155.6953 L261,155.6953 L261,162.6953 L251,172.6953 L197,172.6953 L197,155.6953 " fill="#EEEEEE" style="stroke: #000000; stroke-width: 1.0;"/><rect fill="none" height="365.1328" style="stroke: #000000; stroke-width: 2.0;" width="630.5" x="197" y="155.6953"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="19" x="212" y="168.7622">alt</text><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="141" x="276" y="167.9058">[BT endpoint request]</text><polygon fill="#A80036" points="406,189.9609,416,193.9609,406,197.9609,410,193.9609" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="272" x2="412" y1="193.9609" y2="193.9609"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="84" x="279" y="188.895">send request</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="428" x2="470" y1="223.0938" y2="223.0938"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="470" x2="470" y1="223.0938" y2="236.0938"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="429" x2="470" y1="236.0938" y2="236.0938"/><polygon fill="#A80036" points="439,232.0938,429,236.0938,439,240.0938,435,236.0938" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="89" x="435" y="218.0278">parse request</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="428" x2="470" y1="265.2266" y2="265.2266"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="470" x2="470" y1="265.2266" y2="278.2266"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="429" x2="470" y1="278.2266" y2="278.2266"/><polygon fill="#A80036" points="439,274.2266,429,278.2266,439,282.2266,435,278.2266" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="435" y="260.1606">create message</text><polygon fill="#A80036" points="720.5,303.3594,730.5,307.3594,720.5,311.3594,724.5,307.3594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="428" x2="726.5" y1="307.3594" y2="307.3594"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="435" y="302.2935">send message</text><path d="M337,322.3594 L401,322.3594 L401,329.3594 L391,339.3594 L337,339.3594 L337,322.3594 " fill="#EEEEEE" style="stroke: #000000; stroke-width: 1.0;"/><rect fill="none" height="120.2031" style="stroke: #000000; stroke-width: 2.0;" width="480.5" x="337" y="322.3594"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="19" x="352" y="335.4263">alt</text><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="120" x="416" y="334.5698">[is simple request]</text><polygon fill="#A80036" points="557.5,356.625,567.5,360.625,557.5,364.625,561.5,360.625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="423" x2="563.5" y1="360.625" y2="360.625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="105" x="430" y="355.5591">simple response</text><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="337" x2="817.5" y1="369.625" y2="369.625"/><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="170" x="342" y="379.8354">[requires actual response]</text><polygon fill="#A80036" points="595.5,400.5625,585.5,404.5625,595.5,408.5625,591.5,404.5625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="589.5" x2="731.5" y1="404.5625" y2="404.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="52" x="601.5" y="399.4966">respond</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="584.5" x2="626.5" y1="470.6953" y2="470.6953"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="626.5" x2="626.5" y1="470.6953" y2="483.6953"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="585.5" x2="626.5" y1="483.6953" y2="483.6953"/><polygon fill="#A80036" points="595.5,479.6953,585.5,483.6953,595.5,487.6953,591.5,483.6953" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="134" x="591.5" y="465.6294">create http response</text><polygon fill="#A80036" points="288,508.8281,278,512.8281,288,516.8281,284,512.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="282" x2="573.5" y1="512.8281" y2="512.8281"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="59" x="294" y="507.7622">response</text><polygon fill="#A80036" points="160,544.9609,150,548.9609,160,552.9609,156,548.9609" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="154" x2="271" y1="548.9609" y2="548.9609"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="52" x="166" y="543.895">reponse</text><polygon fill="#A80036" points="14,574.0938,4,578.0938,14,582.0938,10,578.0938" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="8" x2="143" y1="578.0938" y2="578.0938"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="52" x="20" y="573.0278">reponse</text><!--
<?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="636px" preserveAspectRatio="none" style="width:838px;height:636px;background:#F0F0F0;" version="1.1" viewBox="0 0 838 636" width="838px" zoomAndPan="magnify"><defs><filter height="300%" id="fii2fhe2427dn" 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(#fii2fhe2427dn)" height="71.2656" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="139" y="69.4297"/><rect fill="#FFFFFF" filter="url(#fii2fhe2427dn)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="139" y="548.9609"/><rect fill="#FFFFFF" filter="url(#fii2fhe2427dn)" height="53.2656" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="267" y="140.6953"/><rect fill="#FFFFFF" filter="url(#fii2fhe2427dn)" height="36.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="267" y="512.8281"/><rect fill="#FFFFFF" filter="url(#fii2fhe2427dn)" height="166.6641" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="418" y="193.9609"/><rect fill="#FFFFFF" filter="url(#fii2fhe2427dn)" height="152.2031" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="569.5" y="360.625"/><rect fill="#FFFFFF" filter="url(#fii2fhe2427dn)" height="108.2656" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="574.5" y="404.5625"/><rect fill="#FFFFFF" filter="url(#fii2fhe2427dn)" height="127.2031" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="732.5" y="307.3594"/><rect fill="#F0F0F0" filter="url(#fii2fhe2427dn)" height="365.1328" style="stroke: #000000; stroke-width: 2.0;" width="630.5" x="197" y="155.6953"/><rect fill="#F0F0F0" filter="url(#fii2fhe2427dn)" height="120.2031" style="stroke: #000000; stroke-width: 2.0;" width="480.5" x="337" y="322.3594"/><rect fill="#F0F0F0" height="73.9375" style="stroke: none; stroke-width: 1.0;" width="480.5" x="337" y="368.625"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="143.5" x2="143.5" y1="38.2969" y2="596.0938"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="272" x2="272" y1="38.2969" y2="596.0938"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="423" x2="423" y1="38.2969" y2="596.0938"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="574" x2="574" y1="38.2969" y2="596.0938"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="737.5" x2="737.5" y1="38.2969" y2="596.0938"/><rect fill="#FEFECE" filter="url(#fii2fhe2427dn)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="71" x="106.5" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="57" x="113.5" y="22.9951">Harness</text><rect fill="#FEFECE" filter="url(#fii2fhe2427dn)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="71" x="106.5" y="595.0938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="57" x="113.5" y="615.0889">Harness</text><rect fill="#FEFECE" filter="url(#fii2fhe2427dn)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="126" x="207" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="112" x="214" y="22.9951">Worker Desktop</text><rect fill="#FEFECE" filter="url(#fii2fhe2427dn)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="126" x="207" y="595.0938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="112" x="214" y="615.0889">Worker Desktop</text><rect fill="#FEFECE" filter="url(#fii2fhe2427dn)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="148" x="347" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="134" x="354" y="22.9951">Bluetooth Endpoint</text><rect fill="#FEFECE" filter="url(#fii2fhe2427dn)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="148" x="347" y="595.0938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="134" x="354" y="615.0889">Bluetooth Endpoint</text><rect fill="#FEFECE" filter="url(#fii2fhe2427dn)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="127" x="509" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="113" x="516" y="22.9951">Service Desktop</text><rect fill="#FEFECE" filter="url(#fii2fhe2427dn)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="127" x="509" y="595.0938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="113" x="516" y="615.0889">Service Desktop</text><rect fill="#FEFECE" filter="url(#fii2fhe2427dn)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="136" x="667.5" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="122" x="674.5" y="22.9951">Service Bluetooth</text><rect fill="#FEFECE" filter="url(#fii2fhe2427dn)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="136" x="667.5" y="595.0938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="122" x="674.5" y="615.0889">Service Bluetooth</text><rect fill="#FFFFFF" filter="url(#fii2fhe2427dn)" height="71.2656" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="139" y="69.4297"/><rect fill="#FFFFFF" filter="url(#fii2fhe2427dn)" height="29.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="139" y="548.9609"/><rect fill="#FFFFFF" filter="url(#fii2fhe2427dn)" height="53.2656" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="267" y="140.6953"/><rect fill="#FFFFFF" filter="url(#fii2fhe2427dn)" height="36.1328" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="267" y="512.8281"/><rect fill="#FFFFFF" filter="url(#fii2fhe2427dn)" height="166.6641" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="418" y="193.9609"/><rect fill="#FFFFFF" filter="url(#fii2fhe2427dn)" height="152.2031" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="569.5" y="360.625"/><rect fill="#FFFFFF" filter="url(#fii2fhe2427dn)" height="108.2656" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="574.5" y="404.5625"/><rect fill="#FFFFFF" filter="url(#fii2fhe2427dn)" height="127.2031" style="stroke: #A80036; stroke-width: 1.0;" width="10" x="732.5" y="307.3594"/><ellipse cx="10.5" cy="68.6797" fill="none" rx="4" ry="4" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#A80036" points="127,65.4297,137,69.4297,127,73.4297,131,69.4297" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="15" x2="133" y1="69.4297" y2="69.4297"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="109" x="18" y="64.3638">endpoint request</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="149" x2="191" y1="98.5625" y2="98.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="191" x2="191" y1="98.5625" y2="111.5625"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="150" x2="191" y1="111.5625" y2="111.5625"/><polygon fill="#A80036" points="160,107.5625,150,111.5625,160,115.5625,156,111.5625" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="156" y="93.4966">create message</text><polygon fill="#A80036" points="255,136.6953,265,140.6953,255,144.6953,259,140.6953" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="144" x2="261" y1="140.6953" y2="140.6953"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="84" x="151" y="135.6294">send request</text><path d="M197,155.6953 L261,155.6953 L261,162.6953 L251,172.6953 L197,172.6953 L197,155.6953 " fill="#EEEEEE" style="stroke: #000000; stroke-width: 1.0;"/><rect fill="none" height="365.1328" style="stroke: #000000; stroke-width: 2.0;" width="630.5" x="197" y="155.6953"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="19" x="212" y="168.7622">alt</text><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="141" x="276" y="167.9058">[BT endpoint request]</text><polygon fill="#A80036" points="406,189.9609,416,193.9609,406,197.9609,410,193.9609" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="272" x2="412" y1="193.9609" y2="193.9609"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="84" x="279" y="188.895">send request</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="428" x2="470" y1="223.0938" y2="223.0938"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="470" x2="470" y1="223.0938" y2="236.0938"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="429" x2="470" y1="236.0938" y2="236.0938"/><polygon fill="#A80036" points="439,232.0938,429,236.0938,439,240.0938,435,236.0938" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="89" x="435" y="218.0278">parse request</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="428" x2="470" y1="265.2266" y2="265.2266"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="470" x2="470" y1="265.2266" y2="278.2266"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="429" x2="470" y1="278.2266" y2="278.2266"/><polygon fill="#A80036" points="439,274.2266,429,278.2266,439,282.2266,435,278.2266" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="435" y="260.1606">create message</text><polygon fill="#A80036" points="720.5,303.3594,730.5,307.3594,720.5,311.3594,724.5,307.3594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="428" x2="726.5" y1="307.3594" y2="307.3594"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="435" y="302.2935">send message</text><path d="M337,322.3594 L401,322.3594 L401,329.3594 L391,339.3594 L337,339.3594 L337,322.3594 " fill="#EEEEEE" style="stroke: #000000; stroke-width: 1.0;"/><rect fill="none" height="120.2031" style="stroke: #000000; stroke-width: 2.0;" width="480.5" x="337" y="322.3594"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="19" x="352" y="335.4263">alt</text><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="120" x="416" y="334.5698">[is simple request]</text><polygon fill="#A80036" points="557.5,356.625,567.5,360.625,557.5,364.625,561.5,360.625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="423" x2="563.5" y1="360.625" y2="360.625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="105" x="430" y="355.5591">simple response</text><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="337" x2="817.5" y1="369.625" y2="369.625"/><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="170" x="342" y="379.8354">[requires actual response]</text><polygon fill="#A80036" points="595.5,400.5625,585.5,404.5625,595.5,408.5625,591.5,404.5625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="589.5" x2="731.5" y1="404.5625" y2="404.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="52" x="601.5" y="399.4966">respond</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="584.5" x2="626.5" y1="470.6953" y2="470.6953"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="626.5" x2="626.5" y1="470.6953" y2="483.6953"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="585.5" x2="626.5" y1="483.6953" y2="483.6953"/><polygon fill="#A80036" points="595.5,479.6953,585.5,483.6953,595.5,487.6953,591.5,483.6953" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="134" x="591.5" y="465.6294">create http response</text><polygon fill="#A80036" points="288,508.8281,278,512.8281,288,516.8281,284,512.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="282" x2="573.5" y1="512.8281" y2="512.8281"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="59" x="294" y="507.7622">response</text><polygon fill="#A80036" points="160,544.9609,150,548.9609,160,552.9609,156,548.9609" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="154" x2="271" y1="548.9609" y2="548.9609"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="52" x="166" y="543.895">reponse</text><polygon fill="#A80036" points="14,574.0938,4,578.0938,14,582.0938,10,578.0938" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="8" x2="143" y1="578.0938" y2="578.0938"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="52" x="20" y="573.0278">reponse</text><!--MD5=[12cd9ec0e22e1ee7f13d5ccc22e48dc6]
@startuml

skinparam BackgroundColor F0F0F0

participant "Harness" as harness
participant "Worker Desktop" as workdsktp


@@ 46,13 46,12 @@ activate harness

@enduml

PlantUML version 1.2018.13(Mon Nov 26 18:11:51 CET 2018)
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.10+9-Ubuntu-0ubuntu1.20.04
Java Version: 11.0.12+7-post-Debian-2
Operating System: Linux
OS Version: 5.8.0-44-generic
Default Encoding: UTF-8
Language: en
Country: US

M module-services/service-evtmgr/doc/USB_current_selection.puml => module-services/service-evtmgr/doc/USB_current_selection.puml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0
(*) -> [initialization] "Limit 500mA"

"USB plugged" -> "USB type recognition"

M module-services/service-evtmgr/doc/USB_current_selection.svg => module-services/service-evtmgr/doc/USB_current_selection.svg +14 -11
@@ 1,12 1,13 @@
<?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="282px" preserveAspectRatio="none" style="width:455px;height:282px;" version="1.1" viewBox="0 0 455 282" width="455px" zoomAndPan="magnify"><defs><filter height="300%" id="f11qz7rz3vrzfa" 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><ellipse cx="124" cy="252" fill="#000000" filter="url(#f11qz7rz3vrzfa)" rx="10" ry="10" style="stroke:none;stroke-width:1.0;"/><rect fill="#FEFECE" filter="url(#f11qz7rz3vrzfa)" height="33.9688" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="95" x="221.5" y="235"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="75" x="231.5" y="256.1387">Limit 500mA</text><rect fill="#FEFECE" filter="url(#f11qz7rz3vrzfa)" height="33.9688" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="100" x="7" y="7"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="80" x="17" y="28.1387">USB plugged</text><rect fill="#FEFECE" filter="url(#f11qz7rz3vrzfa)" height="33.9688" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="151" x="127.5" y="7"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="131" x="137.5" y="28.1387">USB type recognition</text><polygon fill="#FEFECE" filter="url(#f11qz7rz3vrzfa)" points="203,82,215,94,203,106,191,94,203,82" style="stroke:#A80036;stroke-width:1.5;"/><rect fill="#FEFECE" filter="url(#f11qz7rz3vrzfa)" height="33.9688" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="103" x="201.5" y="160"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="83" x="211.5" y="181.1387">Limit 1000mA</text><rect fill="#FEFECE" filter="url(#f11qz7rz3vrzfa)" height="33.9688" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="116" x="325" y="160"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="96" x="335" y="181.1387">USB unplugged</text><!--MD5=[4efa0ceb8d869b0f02c9d84720c80e93]
link start to Limit 500mA--><path d="M134.43,252 C151.43,252 186.24,252 216.2,252 " fill="none" id="start-to-Limit 500mA" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="221.34,252,212.34,248,216.34,252,212.34,256,221.34,252" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacing" textLength="66" x="144.75" y="246.2104">initialization</text><!--MD5=[04d55dba39d9a0eb7d067c791539fcd8]
link USB plugged to USB type recognition--><path d="M107.19,24 C112.24,24 117.29,24 122.35,24 " fill="none" id="USB plugged-to-USB type recognition" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="127.4,24,118.4,20,122.4,24,118.4,28,127.4,24" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[36317cad5e94ba9bb427f52905fd2925]
link USB type recognition to #8--><path d="M203,41.12 C203,51.92 203,66.08 203,76.88 " fill="none" id="USB type recognition-to-#8" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="203,81.89,207,72.89,203,76.89,199,72.89,203,81.89" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacing" textLength="106" x="76.7938" y="73.3494">Detected USB type</text><!--MD5=[8b72c5e5407284ef9afe374b980984ef]
link #8 to Limit 500mA--><path d="M197.54,100.67 C183.16,116.32 146.62,161.12 166,194 C177.15,212.91 197.07,225.98 216.44,234.79 " fill="none" id="#8-to-Limit 500mA" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="221.35,236.94,214.6995,229.6756,216.7669,234.9412,211.5014,237.0085,221.35,236.94" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacing" textLength="23" x="167" y="181.2104">SDP</text><!--MD5=[89706890e51c0f4911fc05b88ff306cf]
link #8 to Limit 1000mA--><path d="M200.74,103.84 C198.8,113.34 197.16,128.6 203,140 C206.33,146.5 211.44,152.09 217.14,156.8 " fill="none" id="#8-to-Limit 1000mA" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="221.16,159.91,216.4833,151.2423,217.2033,156.8532,211.5924,157.5731,221.16,159.91" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacing" textLength="23" x="204" y="137.2104">CDP</text><!--MD5=[89706890e51c0f4911fc05b88ff306cf]
link #8 to Limit 1000mA--><path d="M208.66,100.82 C214.28,106.81 222.91,116.55 229,126 C234.87,135.1 240.21,145.84 244.35,155.04 " fill="none" id="#8-to-Limit 1000mA-1" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="246.41,159.69,246.4415,149.8412,244.3939,155.1145,239.1206,153.0669,246.41,159.69" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacing" textLength="23" x="238" y="137.2104">DCP</text><!--MD5=[96c530ca5284f63feb7182093e557ed9]
link USB unplugged to Limit 500mA--><path d="M357.98,194.02 C340.58,205.16 317.3,220.07 298.92,231.84 " fill="none" id="USB unplugged-to-Limit 500mA" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="294.35,234.76,304.0859,233.2729,298.5601,232.0627,299.7703,226.5368,294.35,234.76" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[46b2be1c205d9fe7ebe069df19495ff0]
<?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="280px" preserveAspectRatio="none" style="width:451px;height:280px;background:#F0F0F0;" version="1.1" viewBox="0 0 451 280" width="451px" zoomAndPan="magnify"><defs><filter height="300%" id="f1kxs7oz6ubkcg" 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><ellipse cx="123" cy="253" fill="#000000" filter="url(#f1kxs7oz6ubkcg)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#f1kxs7oz6ubkcg)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="95" x="220.5" y="236"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="75" x="230.5" y="257.1387">Limit 500mA</text><rect fill="#FEFECE" filter="url(#f1kxs7oz6ubkcg)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="100" x="6" y="8"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="80" x="16" y="29.1387">USB plugged</text><rect fill="#FEFECE" filter="url(#f1kxs7oz6ubkcg)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="151" x="126.5" y="8"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="131" x="136.5" y="29.1387">USB type recognition</text><polygon fill="#FEFECE" filter="url(#f1kxs7oz6ubkcg)" points="202,83,214,95,202,107,190,95,202,83" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#f1kxs7oz6ubkcg)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="103" x="200.5" y="161"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="83" x="210.5" y="182.1387">Limit 1000mA</text><rect fill="#FEFECE" filter="url(#f1kxs7oz6ubkcg)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="116" x="324" y="161"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="96" x="334" y="182.1387">USB unplugged</text><!--MD5=[4efa0ceb8d869b0f02c9d84720c80e93]
link start to Limit 500mA--><path d="M133.43,253 C150.43,253 185.24,253 215.2,253 " fill="none" id="start-&gt;Limit 500mA" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="220.34,253,211.34,249,215.34,253,211.34,257,220.34,253" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="66" x="143.75" y="247.2104">initialization</text><!--MD5=[04d55dba39d9a0eb7d067c791539fcd8]
link USB plugged to USB type recognition--><path d="M106.19,25 C111.24,25 116.29,25 121.35,25 " fill="none" id="USB plugged-&gt;USB type recognition" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="126.4,25,117.4,21,121.4,25,117.4,29,126.4,25" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[36317cad5e94ba9bb427f52905fd2925]
link USB type recognition to #8--><path d="M202,42.12 C202,52.92 202,67.08 202,77.88 " fill="none" id="USB type recognition-&gt;#8" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="202,82.89,206,73.89,202,77.89,198,73.89,202,82.89" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="104" x="78.175" y="74.3494">Detected USB type</text><!--MD5=[8b72c5e5407284ef9afe374b980984ef]
link #8 to Limit 500mA--><path d="M196.54,101.67 C182.16,117.32 145.62,162.12 165,195 C176.15,213.91 196.07,226.98 215.44,235.79 " fill="none" id="#8-&gt;Limit 500mA" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="220.35,237.94,213.6995,230.6756,215.7669,235.9412,210.5014,238.0085,220.35,237.94" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="23" x="166" y="182.2104">SDP</text><!--MD5=[89706890e51c0f4911fc05b88ff306cf]
link #8 to Limit 1000mA--><path d="M199.74,104.84 C197.8,114.34 196.16,129.6 202,141 C205.33,147.5 210.44,153.09 216.14,157.8 " fill="none" id="#8-&gt;Limit 1000mA" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="220.16,160.91,215.4833,152.2423,216.2033,157.8532,210.5924,158.5731,220.16,160.91" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="23" x="203" y="138.2104">CDP</text><!--MD5=[89706890e51c0f4911fc05b88ff306cf]
link #8 to Limit 1000mA--><path d="M207.66,101.82 C213.28,107.81 221.91,117.55 228,127 C233.87,136.1 239.21,146.84 243.35,156.04 " fill="none" id="#8-&gt;Limit 1000mA-1" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="245.41,160.69,245.4415,150.8412,243.3939,156.1145,238.1206,154.0669,245.41,160.69" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="23" x="237" y="138.2104">DCP</text><!--MD5=[96c530ca5284f63feb7182093e557ed9]
link USB unplugged to Limit 500mA--><path d="M356.98,195.02 C339.58,206.16 316.3,221.07 297.92,232.84 " fill="none" id="USB unplugged-&gt;Limit 500mA" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="293.35,235.76,303.0859,234.2729,297.5601,233.0627,298.7703,227.5368,293.35,235.76" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[5c5963d0db5bf50aa6995cb08d96bc1f]
@startuml
skinparam BackgroundColor F0F0F0
(*) -> [initialization] "Limit 500mA"

"USB plugged" -> "USB type recognition"


@@ 21,11 22,13 @@ Endif
"USB unplugged" - -> "Limit 500mA"
@enduml

PlantUML version 1.2021.00(Sun Jan 10 11:25:05 CET 2021)
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: pl
Country: PL
Language: en
Country: US
--></g></svg>
\ No newline at end of file

M module-services/service-evtmgr/doc/battery_level_check_state_machine.puml => module-services/service-evtmgr/doc/battery_level_check_state_machine.puml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0

[*] --> InitialCheck
InitialCheck --> LevelCriticalNotCharging : initialLevelCheck [isCriticalNotCharging && !isShutdown]

M module-services/service-evtmgr/doc/battery_level_check_state_machine.svg => module-services/service-evtmgr/doc/battery_level_check_state_machine.svg +21 -18
@@ 1,19 1,20 @@
<?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="704px" preserveAspectRatio="none" style="width:1935px;height:704px;" version="1.1" viewBox="0 0 1935 704" width="1935px" zoomAndPan="magnify"><defs><filter height="300%" id="fg98y5t5z8q6i" 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><ellipse cx="574" cy="16" fill="#000000" filter="url(#fg98y5t5z8q6i)" rx="10" ry="10" style="stroke:none;stroke-width:1.0;"/><g id="InitialCheck"><rect fill="#FEFECE" filter="url(#fg98y5t5z8q6i)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="98" x="525" y="87"/><line style="stroke:#A80036;stroke-width:1.5;" x1="525" x2="623" y1="113.2969" y2="113.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="78" x="535" y="104.9951">InitialCheck</text></g><g id="LevelCriticalNotCharging"><rect fill="#FEFECE" filter="url(#fg98y5t5z8q6i)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="186" x="661" y="214"/><line style="stroke:#A80036;stroke-width:1.5;" x1="661" x2="847" y1="240.2969" y2="240.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="166" x="671" y="231.9951">LevelCriticalNotCharging</text></g><g id="Shutdown"><rect fill="#FEFECE" filter="url(#fg98y5t5z8q6i)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="90" x="374" y="640"/><line style="stroke:#A80036;stroke-width:1.5;" x1="374" x2="464" y1="666.2969" y2="666.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="70" x="384" y="657.9951">Shutdown</text></g><g id="LevelCriticalCharging"><rect fill="#FEFECE" filter="url(#fg98y5t5z8q6i)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="162" x="599" y="356"/><line style="stroke:#A80036;stroke-width:1.5;" x1="599" x2="761" y1="382.2969" y2="382.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="142" x="609" y="373.9951">LevelCriticalCharging</text></g><g id="LevelNormal"><rect fill="#FEFECE" filter="url(#fg98y5t5z8q6i)" height="50" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="103" x="1124.5" y="498"/><line style="stroke:#A80036;stroke-width:1.5;" x1="1124.5" x2="1227.5" y1="524.2969" y2="524.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="83" x="1134.5" y="515.9951">LevelNormal</text></g><!--MD5=[d4999903ff2dd24919f2b1538b17fdaa]
link *start to InitialCheck--><path d="M574,26.01 C574,38.7 574,62.41 574,81.57 " fill="none" id="*start-to-InitialCheck" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="574,86.84,578,77.84,574,81.84,570,77.84,574,86.84" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[92dce6cefb7a02d934e3cfca3b958627]
link InitialCheck to LevelCriticalNotCharging--><path d="M608.71,137.1 C639.21,158.28 683.55,189.08 715.21,211.07 " fill="none" id="InitialCheck-to-LevelCriticalNotCharging" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="719.4,213.97,714.2695,205.563,715.2865,211.1277,709.7218,212.1446,719.4,213.97" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="360" x="675" y="180.0669">initialLevelCheck [isCriticalNotCharging &amp;&amp; !isShutdown]</text><!--MD5=[48d29b19653630c4b14787fb9e51dcbb]
link InitialCheck to Shutdown--><path d="M524.59,113.41 C386.4,115.86 6,132.23 6,238 C6,238 6,238 6,524 C6,599.74 258.26,642.6 368.48,657.72 " fill="none" id="InitialCheck-to-Shutdown" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="373.62,658.42,365.2383,653.2482,368.6652,657.7489,364.1646,661.1758,373.62,658.42" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="355" x="7" y="385.5669">initialLevelCheck [isCriticalNotCharging &amp;&amp; isShutdown]</text><!--MD5=[7cf26f7c5c06732917a715b46f14b13e]
link InitialCheck to LevelCriticalCharging--><path d="M524.83,128.94 C486.76,144.19 436.64,171.27 413,214 C402.24,233.45 406.72,242.68 413,264 C422.27,295.46 426.23,307.06 453,326 C493.92,354.95 548.31,368.53 593.59,374.83 " fill="none" id="InitialCheck-to-LevelCriticalCharging" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="598.79,375.53,590.4083,370.3582,593.8352,374.8589,589.3346,378.2858,598.79,375.53" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="229" x="414" y="243.5669">initialLevelCheck [isCriticalCharging]</text><!--MD5=[c538625450f55e3fab0d1c9574b1c463]
link InitialCheck to LevelNormal--><path d="M623.27,114.72 C831.9,123.13 1638.64,167.62 1785,356 C1798.63,373.55 1799.17,388.88 1785,406 C1715.05,490.53 1370.26,513.99 1232.76,520.04 " fill="none" id="InitialCheck-to-LevelNormal" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="1227.56,520.27,1236.723,523.881,1232.5554,520.0559,1236.3805,515.8883,1227.56,520.27" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="176" x="1751" y="314.5669">initialLevelCheck [isNormal]</text><!--MD5=[29a0cbaa3e7031085e7c32fba5460bf1]
link LevelNormal to LevelCriticalNotCharging--><path d="M1227.57,506.95 C1305.4,481.56 1438.68,426.08 1388,356 C1326.5,270.96 1014.71,248.26 852.45,242.2 " fill="none" id="LevelNormal-to-LevelCriticalNotCharging" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="847.22,242.01,856.0649,246.3422,852.2165,242.1961,856.3627,238.3478,847.22,242.01" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="376" x="1400" y="378.0669">criticalLevelCheck [isCriticalNotCharging &amp;&amp; !isShutdown] /</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="276" x="1452" y="393.1997">(setCriticalNotCharging, sendStateChange)</text><!--MD5=[f5c482fa1c56c0203ea304ee6ca6a7f3]
link LevelCriticalNotCharging to LevelNormal--><path d="M847.17,242.63 C944.66,247.21 1089.37,259.74 1132,294 C1173.44,327.3 1141.87,363.64 1174,406 C1187.65,423.99 1204.78,415.86 1215,436 C1224.57,454.87 1214.58,476.57 1202.32,493.45 " fill="none" id="LevelCriticalNotCharging-to-LevelNormal" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="1199.16,497.64,1207.7791,492.8745,1202.176,493.652,1201.3984,488.0489,1199.16,497.64" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="192" x="1181" y="378.0669">criticalLevelCheck [isNormal] /</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="200" x="1179" y="393.1997">(setNormal, sendStateChange)</text><!--MD5=[f0fd995ca85f74627a924678c0d1d6ba]
link LevelNormal to Shutdown--><path d="M1124.27,533.57 C985.52,559.23 606.4,629.34 469.31,654.7 " fill="none" id="LevelNormal-to-Shutdown" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="464.14,655.65,473.7198,657.9363,469.0557,654.7355,472.2565,650.0713,464.14,655.65" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="371" x="866" y="591.0669">criticalLevelCheck [isCriticalNotCharging &amp;&amp; isShutdown] /</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="216" x="945.5" y="606.1997">(setShutdown, sendStateChange)</text><!--MD5=[5660824d2304c2c05fa5f23238c324d7]
link LevelNormal to LevelCriticalCharging--><path d="M1124.34,512.57 C1067.91,501.74 981.6,483.47 952,468 C933.03,458.08 935.03,445.81 916,436 C869.5,412.04 812.43,398.61 766.06,391.14 " fill="none" id="LevelNormal-to-LevelCriticalCharging" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="761.03,390.35,769.3055,395.69,765.9702,391.121,770.5392,387.7857,761.03,390.35" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="245" x="959" y="449.0669">criticalLevelCheck [isCriticalCharging] /</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="253" x="957" y="464.1997">(setCriticalCharging, sendStateChange)</text><!--MD5=[38f0fa53fd35c1a33d34344416b0d935]
link LevelCriticalCharging to LevelNormal--><path d="M679.14,406.32 C679.87,426.07 684.39,453.02 702,468 C758.76,516.29 962.1,488.36 1036,498 C1063.51,501.59 1093.88,506.66 1119.28,511.21 " fill="none" id="LevelCriticalCharging-to-LevelNormal" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="1124.29,512.12,1116.1422,506.5871,1119.3693,511.2331,1114.7232,514.4602,1124.29,512.12" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="192" x="709" y="449.0669">criticalLevelCheck [isNormal] /</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="200" x="707" y="464.1997">(setNormal, sendStateChange)</text><!--MD5=[bb16dae49642355397c65a9ba7bb3e8f]
link LevelCriticalNotCharging to LevelCriticalCharging--><path d="M660.78,256.35 C579.52,270.83 474.12,290.22 471,294 C431.62,341.61 519.76,363.19 593.45,372.74 " fill="none" id="LevelCriticalNotCharging-to-LevelCriticalCharging" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="598.73,373.41,590.3047,368.3096,593.7697,372.781,589.2983,376.2461,598.73,373.41" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="245" x="478" y="307.0669">criticalLevelCheck [isCriticalCharging] /</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="253" x="476" y="322.1997">(setCriticalCharging, sendStateChange)</text><!--MD5=[b4c2a83ad0cf32e6fb8562f37b395c46]
link LevelCriticalCharging to LevelCriticalNotCharging--><path d="M709.95,355.86 C718.87,347.29 727.88,337.01 734,326 C743.64,308.63 748.65,286.81 751.24,269.49 " fill="none" id="LevelCriticalCharging-to-LevelCriticalNotCharging" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="751.97,264.27,746.7475,272.6202,751.2689,269.2206,754.6685,273.742,751.97,264.27" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="376" x="747" y="307.0669">criticalLevelCheck [isCriticalNotCharging &amp;&amp; !isShutdown] /</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="276" x="799" y="322.1997">(setCriticalNotCharging, sendStateChange)</text><!--MD5=[743e923f215b3613f3f57ec27ffb5d84]
link LevelCriticalNotCharging to Shutdown--><path d="M660.96,262.22 C657.94,262.84 654.95,263.43 652,264 C564.17,280.92 529.52,247.69 453,294 C400.22,325.94 423.68,373.9 371,406 C297.62,450.72 235.85,370.69 180,436 C108.23,519.92 279.64,606.59 369.01,644.39 " fill="none" id="LevelCriticalNotCharging-to-Shutdown" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="373.73,646.37,366.9875,639.1909,369.1218,644.4297,363.8831,646.564,373.73,646.37" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="439" x="181" y="456.5669">criticalLevelCheck [isShutdown] / (sendShutdown, sendStateChange)</text><!--MD5=[1f88bde0fbb3174b34231d4b5c203335]
link LevelCriticalCharging to Shutdown--><path d="M668.06,406.17 C658.65,424.09 644.56,448.66 629,468 C574.98,535.13 498.22,600.93 454.02,636.61 " fill="none" id="LevelCriticalCharging-to-Shutdown" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="450.11,639.76,459.6332,637.2485,454.0102,636.6313,454.6273,631.0082,450.11,639.76" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="371" x="601" y="520.0669">criticalLevelCheck [isCriticalNotCharging &amp;&amp; isShutdown] /</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="216" x="680.5" y="535.1997">(setShutdown, sendStateChange)</text><!--MD5=[f147cc7dc8dd5976e6f190e94b133957]
<?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="703px" preserveAspectRatio="none" style="width:1939px;height:703px;background:#F0F0F0;" version="1.1" viewBox="0 0 1939 703" width="1939px" zoomAndPan="magnify"><defs><filter height="300%" id="f2yk0xcx5csi4" 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><ellipse cx="574" cy="18" fill="#000000" filter="url(#f2yk0xcx5csi4)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#f2yk0xcx5csi4)" height="50" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="98" x="525" y="89"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="525" x2="623" y1="115.2969" y2="115.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="78" x="535" y="106.9951">InitialCheck</text><rect fill="#FEFECE" filter="url(#f2yk0xcx5csi4)" height="50" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="186" x="661" y="216"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="661" x2="847" y1="242.2969" y2="242.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="166" x="671" y="233.9951">LevelCriticalNotCharging</text><rect fill="#FEFECE" filter="url(#f2yk0xcx5csi4)" height="50" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="90" x="374" y="642"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="374" x2="464" y1="668.2969" y2="668.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="70" x="384" y="659.9951">Shutdown</text><rect fill="#FEFECE" filter="url(#f2yk0xcx5csi4)" height="50" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="162" x="599" y="358"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="599" x2="761" y1="384.2969" y2="384.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="142" x="609" y="375.9951">LevelCriticalCharging</text><rect fill="#FEFECE" filter="url(#f2yk0xcx5csi4)" height="50" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="103" x="1124.5" y="500"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1124.5" x2="1227.5" y1="526.2969" y2="526.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="83" x="1134.5" y="517.9951">LevelNormal</text><!--MD5=[d4999903ff2dd24919f2b1538b17fdaa]
link *start to InitialCheck--><path d="M574,28.01 C574,40.7 574,64.41 574,83.57 " fill="none" id="*start-&gt;InitialCheck" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="574,88.84,578,79.84,574,83.84,570,79.84,574,88.84" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[92dce6cefb7a02d934e3cfca3b958627]
link InitialCheck to LevelCriticalNotCharging--><path d="M608.71,139.1 C639.21,160.28 683.55,191.08 715.21,213.07 " fill="none" id="InitialCheck-&gt;LevelCriticalNotCharging" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="719.4,215.97,714.2695,207.563,715.2865,213.1277,709.7218,214.1446,719.4,215.97" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="360" x="675" y="182.0669">initialLevelCheck [isCriticalNotCharging &amp;&amp; !isShutdown]</text><!--MD5=[48d29b19653630c4b14787fb9e51dcbb]
link InitialCheck to Shutdown--><path d="M524.59,115.41 C386.4,117.86 6,134.23 6,240 C6,240 6,240 6,526 C6,601.74 258.26,644.6 368.48,659.72 " fill="none" id="InitialCheck-&gt;Shutdown" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="373.62,660.42,365.2383,655.2482,368.6652,659.7489,364.1646,663.1758,373.62,660.42" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="355" x="7" y="387.5669">initialLevelCheck [isCriticalNotCharging &amp;&amp; isShutdown]</text><!--MD5=[7cf26f7c5c06732917a715b46f14b13e]
link InitialCheck to LevelCriticalCharging--><path d="M524.83,130.94 C486.76,146.19 436.64,173.27 413,216 C402.24,235.45 406.72,244.68 413,266 C422.27,297.46 426.23,309.06 453,328 C493.92,356.95 548.31,370.53 593.59,376.83 " fill="none" id="InitialCheck-&gt;LevelCriticalCharging" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="598.79,377.53,590.4083,372.3582,593.8352,376.8589,589.3346,380.2858,598.79,377.53" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="229" x="414" y="245.5669">initialLevelCheck [isCriticalCharging]</text><!--MD5=[c538625450f55e3fab0d1c9574b1c463]
link InitialCheck to LevelNormal--><path d="M623.27,116.72 C831.9,125.13 1638.64,169.62 1785,358 C1798.63,375.55 1799.17,390.88 1785,408 C1715.05,492.53 1370.26,515.99 1232.76,522.04 " fill="none" id="InitialCheck-&gt;LevelNormal" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1227.56,522.27,1236.723,525.881,1232.5554,522.0559,1236.3805,517.8883,1227.56,522.27" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="176" x="1751" y="316.5669">initialLevelCheck [isNormal]</text><!--MD5=[29a0cbaa3e7031085e7c32fba5460bf1]
link LevelNormal to LevelCriticalNotCharging--><path d="M1227.57,508.95 C1305.4,483.56 1438.68,428.08 1388,358 C1326.5,272.96 1014.71,250.26 852.45,244.2 " fill="none" id="LevelNormal-&gt;LevelCriticalNotCharging" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="847.22,244.01,856.0649,248.3422,852.2165,244.1961,856.3627,240.3478,847.22,244.01" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="376" x="1400" y="380.0669">criticalLevelCheck [isCriticalNotCharging &amp;&amp; !isShutdown] /</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="276" x="1452" y="395.1997">(setCriticalNotCharging, sendStateChange)</text><!--MD5=[f5c482fa1c56c0203ea304ee6ca6a7f3]
link LevelCriticalNotCharging to LevelNormal--><path d="M847.17,244.63 C944.66,249.21 1089.37,261.74 1132,296 C1173.44,329.3 1141.87,365.64 1174,408 C1187.65,425.99 1204.78,417.86 1215,438 C1224.57,456.87 1214.58,478.57 1202.32,495.45 " fill="none" id="LevelCriticalNotCharging-&gt;LevelNormal" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1199.16,499.64,1207.7791,494.8745,1202.176,495.652,1201.3984,490.0489,1199.16,499.64" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="192" x="1181" y="380.0669">criticalLevelCheck [isNormal] /</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="200" x="1179" y="395.1997">(setNormal, sendStateChange)</text><!--MD5=[f0fd995ca85f74627a924678c0d1d6ba]
link LevelNormal to Shutdown--><path d="M1124.27,535.57 C985.52,561.23 606.4,631.34 469.31,656.7 " fill="none" id="LevelNormal-&gt;Shutdown" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="464.14,657.65,473.7198,659.9363,469.0557,656.7355,472.2565,652.0713,464.14,657.65" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="371" x="866" y="593.0669">criticalLevelCheck [isCriticalNotCharging &amp;&amp; isShutdown] /</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="216" x="945.5" y="608.1997">(setShutdown, sendStateChange)</text><!--MD5=[5660824d2304c2c05fa5f23238c324d7]
link LevelNormal to LevelCriticalCharging--><path d="M1124.34,514.57 C1067.91,503.74 981.6,485.47 952,470 C933.03,460.08 935.03,447.81 916,438 C869.5,414.04 812.43,400.61 766.06,393.14 " fill="none" id="LevelNormal-&gt;LevelCriticalCharging" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="761.03,392.35,769.3055,397.69,765.9702,393.121,770.5392,389.7857,761.03,392.35" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="245" x="959" y="451.0669">criticalLevelCheck [isCriticalCharging] /</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="253" x="957" y="466.1997">(setCriticalCharging, sendStateChange)</text><!--MD5=[38f0fa53fd35c1a33d34344416b0d935]
link LevelCriticalCharging to LevelNormal--><path d="M679.14,408.32 C679.87,428.07 684.39,455.02 702,470 C758.76,518.29 962.1,490.36 1036,500 C1063.51,503.59 1093.88,508.66 1119.28,513.21 " fill="none" id="LevelCriticalCharging-&gt;LevelNormal" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1124.29,514.12,1116.1422,508.5871,1119.3693,513.2331,1114.7232,516.4602,1124.29,514.12" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="192" x="709" y="451.0669">criticalLevelCheck [isNormal] /</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="200" x="707" y="466.1997">(setNormal, sendStateChange)</text><!--MD5=[bb16dae49642355397c65a9ba7bb3e8f]
link LevelCriticalNotCharging to LevelCriticalCharging--><path d="M660.78,258.35 C579.52,272.83 474.12,292.22 471,296 C431.62,343.61 519.76,365.19 593.45,374.74 " fill="none" id="LevelCriticalNotCharging-&gt;LevelCriticalCharging" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="598.73,375.41,590.3047,370.3096,593.7697,374.781,589.2983,378.2461,598.73,375.41" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="245" x="478" y="309.0669">criticalLevelCheck [isCriticalCharging] /</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="253" x="476" y="324.1997">(setCriticalCharging, sendStateChange)</text><!--MD5=[b4c2a83ad0cf32e6fb8562f37b395c46]
link LevelCriticalCharging to LevelCriticalNotCharging--><path d="M709.95,357.86 C718.87,349.29 727.88,339.01 734,328 C743.64,310.63 748.65,288.81 751.24,271.49 " fill="none" id="LevelCriticalCharging-&gt;LevelCriticalNotCharging" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="751.97,266.27,746.7475,274.6202,751.2689,271.2206,754.6685,275.742,751.97,266.27" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="376" x="747" y="309.0669">criticalLevelCheck [isCriticalNotCharging &amp;&amp; !isShutdown] /</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="276" x="799" y="324.1997">(setCriticalNotCharging, sendStateChange)</text><!--MD5=[743e923f215b3613f3f57ec27ffb5d84]
link LevelCriticalNotCharging to Shutdown--><path d="M660.96,264.22 C657.94,264.84 654.95,265.43 652,266 C564.17,282.92 529.52,249.69 453,296 C400.22,327.94 423.68,375.9 371,408 C297.62,452.72 235.85,372.69 180,438 C108.23,521.92 279.64,608.59 369.01,646.39 " fill="none" id="LevelCriticalNotCharging-&gt;Shutdown" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="373.73,648.37,366.9875,641.1909,369.1218,646.4297,363.8831,648.564,373.73,648.37" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="439" x="181" y="458.5669">criticalLevelCheck [isShutdown] / (sendShutdown, sendStateChange)</text><!--MD5=[1f88bde0fbb3174b34231d4b5c203335]
link LevelCriticalCharging to Shutdown--><path d="M668.06,408.17 C658.65,426.09 644.56,450.66 629,470 C574.98,537.13 498.22,602.93 454.02,638.61 " fill="none" id="LevelCriticalCharging-&gt;Shutdown" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="450.11,641.76,459.6332,639.2485,454.0102,638.6313,454.6273,633.0082,450.11,641.76" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="371" x="601" y="522.0669">criticalLevelCheck [isCriticalNotCharging &amp;&amp; isShutdown] /</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="216" x="680.5" y="537.1997">(setShutdown, sendStateChange)</text><!--MD5=[44b6d4465e454c30f94266c88164c86a]
@startuml
skinparam BackgroundColor F0F0F0

[*] - -> InitialCheck
InitialCheck - -> LevelCriticalNotCharging : initialLevelCheck [isCriticalNotCharging && !isShutdown]


@@ 32,11 33,13 @@ LevelCriticalCharging - -> Shutdown : criticalLevelCheck [isCriticalNotCharging 

@enduml

PlantUML version 1.2021.00(Sun Jan 10 11:25:05 CET 2021)
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: pl
Country: PL
Language: en
Country: US
--></g></svg>
\ No newline at end of file

M module-services/service-evtmgr/doc/battery_status_notification.puml => module-services/service-evtmgr/doc/battery_status_notification.puml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0
participant "Battery Charger" as bc
participant "Worker Event" as we
participant "Event Manager" as evm

M module-services/service-evtmgr/doc/battery_status_notification.svg => module-services/service-evtmgr/doc/battery_status_notification.svg +13 -10
@@ 1,11 1,12 @@
<?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="486px" preserveAspectRatio="none" style="width:1340px;height:486px;" version="1.1" viewBox="0 0 1340 486" width="1340px" zoomAndPan="magnify"><defs><filter height="300%" id="f1uj3fz6xy4wx1" 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(#f1uj3fz6xy4wx1)" height="103.5313" style="stroke:#000000;stroke-width:2.0;" width="468.5" x="411.5" y="190.125"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="68" x2="68" y1="56.5938" y2="427.1875"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="263" x2="263" y1="56.5938" y2="427.1875"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="481.5" x2="481.5" y1="56.5938" y2="427.1875"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="700.5" x2="700.5" y1="56.5938" y2="427.1875"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="875" x2="875" y1="56.5938" y2="427.1875"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="1001" x2="1001" y1="56.5938" y2="427.1875"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="1162.5" x2="1162.5" y1="56.5938" y2="427.1875"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="1281.5" x2="1281.5" y1="56.5938" y2="427.1875"/><rect fill="#FEFECE" filter="url(#f1uj3fz6xy4wx1)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="122" x="5" y="21.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="108" x="12" y="41.292">Battery Charger</text><rect fill="#FEFECE" filter="url(#f1uj3fz6xy4wx1)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="122" x="5" y="426.1875"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="108" x="12" y="446.1826">Battery Charger</text><rect fill="#FEFECE" filter="url(#f1uj3fz6xy4wx1)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="106" x="208" y="21.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="92" x="215" y="41.292">Worker Event</text><rect fill="#FEFECE" filter="url(#f1uj3fz6xy4wx1)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="106" x="208" y="426.1875"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="92" x="215" y="446.1826">Worker Event</text><rect fill="#FEFECE" filter="url(#f1uj3fz6xy4wx1)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="117" x="421.5" y="21.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="103" x="428.5" y="41.292">Event Manager</text><rect fill="#FEFECE" filter="url(#f1uj3fz6xy4wx1)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="117" x="421.5" y="426.1875"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="103" x="428.5" y="446.1826">Event Manager</text><rect fill="#FEFECE" filter="url(#f1uj3fz6xy4wx1)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="129" x="634.5" y="21.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="115" x="641.5" y="41.292">System Manager</text><rect fill="#FEFECE" filter="url(#f1uj3fz6xy4wx1)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="129" x="634.5" y="426.1875"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="115" x="641.5" y="446.1826">System Manager</text><rect fill="#FEFECE" filter="url(#f1uj3fz6xy4wx1)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="144" x="801" y="21.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="130" x="808" y="41.292">Current application</text><rect fill="#FEFECE" filter="url(#f1uj3fz6xy4wx1)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="144" x="801" y="426.1875"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="130" x="808" y="446.1826">Current application</text><rect fill="#FEFECE" filter="url(#f1uj3fz6xy4wx1)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="64" x="967" y="21.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="50" x="974" y="41.292">StatusBar</text><rect fill="#FEFECE" filter="url(#f1uj3fz6xy4wx1)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="64" x="967" y="426.1875"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="50" x="974" y="446.1826">StatusBar</text><rect fill="#FEFECE" filter="url(#f1uj3fz6xy4wx1)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="115" x="1103.5" y="21.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="101" x="1110.5" y="41.292">Battery Widget</text><rect fill="#FEFECE" filter="url(#f1uj3fz6xy4wx1)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="115" x="1103.5" y="426.1875"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="101" x="1110.5" y="446.1826">Battery Widget</text><rect fill="#FEFECE" filter="url(#f1uj3fz6xy4wx1)" height="46.5938" style="stroke:#A80036;stroke-width:1.5;" width="94" x="1232.5" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="80" x="1239.5" y="24.9951">Event Store</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="49" x="1255" y="41.292">Battery</text><rect fill="#FEFECE" filter="url(#f1uj3fz6xy4wx1)" height="46.5938" style="stroke:#A80036;stroke-width:1.5;" width="94" x="1232.5" y="426.1875"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="80" x="1239.5" y="446.1826">Event Store</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="49" x="1255" y="462.4795">Battery</text><polygon fill="#A80036" points="251,83.7266,261,87.7266,251,91.7266,255,87.7266" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="68" x2="257" y1="87.7266" y2="87.7266"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="55" x="75" y="82.6606">Interrupt</text><polygon fill="#A80036" points="79,112.8594,69,116.8594,79,120.8594,75,116.8594" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="73" x2="262" y1="116.8594" y2="116.8594"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="171" x="85" y="111.7935">Store status to EventStore</text><polygon fill="#A80036" points="1269.5,141.9922,1279.5,145.9922,1269.5,149.9922,1273.5,145.9922" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="68" x2="1275.5" y1="145.9922" y2="145.9922"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="53" x="75" y="140.9263">modify()</text><polygon fill="#A80036" points="470,171.125,480,175.125,470,179.125,474,175.125" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="263" x2="476" y1="175.125" y2="175.125"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="195" x="270" y="170.0591">BatteryStatusChangeMessage</text><path d="M411.5,190.125 L559.5,190.125 L559.5,197.125 L549.5,207.125 L411.5,207.125 L411.5,190.125 " fill="#EEEEEE" style="stroke:#000000;stroke-width:1.0;"/><rect fill="none" height="103.5313" style="stroke:#000000;stroke-width:2.0;" width="468.5" x="411.5" y="190.125"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="103" x="426.5" y="203.1919">If Discharging</text><polygon fill="#A80036" points="689,224.3906,699,228.3906,689,232.3906,693,228.3906" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="482" x2="695" y1="228.3906" y2="228.3906"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="195" x="489" y="223.3247">BatteryStatusChangeMessage</text><line style="stroke:#A80036;stroke-width:1.0;" x1="701" x2="743" y1="272.6563" y2="272.6563"/><line style="stroke:#A80036;stroke-width:1.0;" x1="743" x2="743" y1="272.6563" y2="285.6563"/><line style="stroke:#A80036;stroke-width:1.0;" x1="702" x2="743" y1="285.6563" y2="285.6563"/><polygon fill="#A80036" points="712,281.6563,702,285.6563,712,289.6563,708,285.6563" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="160" x="708" y="252.4575">If State::ShutdownReady:</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="154" x="712" y="267.5903">state = State:Shutdown</text><polygon fill="#A80036" points="863,317.7891,873,321.7891,863,325.7891,867,321.7891" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="482" x2="869" y1="321.7891" y2="321.7891"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="195" x="489" y="316.7231">BatteryStatusChangeMessage</text><polygon fill="#A80036" points="989,346.9219,999,350.9219,989,354.9219,993,350.9219" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="875" x2="995" y1="350.9219" y2="350.9219"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="102" x="882" y="345.856">updateBattery()</text><polygon fill="#A80036" points="1012,376.0547,1002,380.0547,1012,384.0547,1008,380.0547" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="1269.5,376.0547,1279.5,380.0547,1269.5,384.0547,1273.5,380.0547" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="1006" x2="1275.5" y1="380.0547" y2="380.0547"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="31" x="1018" y="374.9888">get()</text><polygon fill="#A80036" points="1151,405.1875,1161,409.1875,1151,413.1875,1155,409.1875" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="1001" x2="1157" y1="409.1875" y2="409.1875"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="138" x="1008" y="404.1216">show(batteryContext)</text><!--MD5=[c6c243b94a88456e8572e27fdc18c06d]
<?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="481px" preserveAspectRatio="none" style="width:1340px;height:481px;background:#F0F0F0;" version="1.1" viewBox="0 0 1340 481" width="1340px" zoomAndPan="magnify"><defs><filter height="300%" id="f1b9c2dncdp5dx" 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="#F0F0F0" filter="url(#f1b9c2dncdp5dx)" height="103.5313" style="stroke: #000000; stroke-width: 2.0;" width="468.5" x="414.5" y="188.125"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="71" x2="71" y1="54.5938" y2="425.1875"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="266" x2="266" y1="54.5938" y2="425.1875"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="484.5" x2="484.5" y1="54.5938" y2="425.1875"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="703.5" x2="703.5" y1="54.5938" y2="425.1875"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="878" x2="878" y1="54.5938" y2="425.1875"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="1004" x2="1004" y1="54.5938" y2="425.1875"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="1165.5" x2="1165.5" y1="54.5938" y2="425.1875"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="1284.5" x2="1284.5" y1="54.5938" y2="425.1875"/><rect fill="#FEFECE" filter="url(#f1b9c2dncdp5dx)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="122" x="8" y="19.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="108" x="15" y="39.292">Battery Charger</text><rect fill="#FEFECE" filter="url(#f1b9c2dncdp5dx)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="122" x="8" y="424.1875"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="108" x="15" y="444.1826">Battery Charger</text><rect fill="#FEFECE" filter="url(#f1b9c2dncdp5dx)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="106" x="211" y="19.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="92" x="218" y="39.292">Worker Event</text><rect fill="#FEFECE" filter="url(#f1b9c2dncdp5dx)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="106" x="211" y="424.1875"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="92" x="218" y="444.1826">Worker Event</text><rect fill="#FEFECE" filter="url(#f1b9c2dncdp5dx)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="117" x="424.5" y="19.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="103" x="431.5" y="39.292">Event Manager</text><rect fill="#FEFECE" filter="url(#f1b9c2dncdp5dx)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="117" x="424.5" y="424.1875"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="103" x="431.5" y="444.1826">Event Manager</text><rect fill="#FEFECE" filter="url(#f1b9c2dncdp5dx)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="129" x="637.5" y="19.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="115" x="644.5" y="39.292">System Manager</text><rect fill="#FEFECE" filter="url(#f1b9c2dncdp5dx)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="129" x="637.5" y="424.1875"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="115" x="644.5" y="444.1826">System Manager</text><rect fill="#FEFECE" filter="url(#f1b9c2dncdp5dx)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="144" x="804" y="19.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="130" x="811" y="39.292">Current application</text><rect fill="#FEFECE" filter="url(#f1b9c2dncdp5dx)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="144" x="804" y="424.1875"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="130" x="811" y="444.1826">Current application</text><rect fill="#FEFECE" filter="url(#f1b9c2dncdp5dx)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="64" x="970" y="19.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="50" x="977" y="39.292">TopBar</text><rect fill="#FEFECE" filter="url(#f1b9c2dncdp5dx)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="64" x="970" y="424.1875"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="50" x="977" y="444.1826">TopBar</text><rect fill="#FEFECE" filter="url(#f1b9c2dncdp5dx)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="115" x="1106.5" y="19.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="101" x="1113.5" y="39.292">Battery Widget</text><rect fill="#FEFECE" filter="url(#f1b9c2dncdp5dx)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="115" x="1106.5" y="424.1875"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="101" x="1113.5" y="444.1826">Battery Widget</text><rect fill="#FEFECE" filter="url(#f1b9c2dncdp5dx)" height="46.5938" style="stroke: #A80036; stroke-width: 1.5;" width="94" x="1235.5" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="80" x="1242.5" y="22.9951">Event Store</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="49" x="1258" y="39.292">Battery</text><rect fill="#FEFECE" filter="url(#f1b9c2dncdp5dx)" height="46.5938" style="stroke: #A80036; stroke-width: 1.5;" width="94" x="1235.5" y="424.1875"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="80" x="1242.5" y="444.1826">Event Store</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="49" x="1258" y="460.4795">Battery</text><polygon fill="#A80036" points="254,81.7266,264,85.7266,254,89.7266,258,85.7266" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="71" x2="260" y1="85.7266" y2="85.7266"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="55" x="78" y="80.6606">Interrupt</text><polygon fill="#A80036" points="82,110.8594,72,114.8594,82,118.8594,78,114.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="76" x2="265" y1="114.8594" y2="114.8594"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="171" x="88" y="109.7935">Store status to EventStore</text><polygon fill="#A80036" points="1272.5,139.9922,1282.5,143.9922,1272.5,147.9922,1276.5,143.9922" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="71" x2="1278.5" y1="143.9922" y2="143.9922"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="53" x="78" y="138.9263">modify()</text><polygon fill="#A80036" points="473,169.125,483,173.125,473,177.125,477,173.125" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="266" x2="479" y1="173.125" y2="173.125"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="195" x="273" y="168.0591">BatteryStatusChangeMessage</text><path d="M414.5,188.125 L562.5,188.125 L562.5,195.125 L552.5,205.125 L414.5,205.125 L414.5,188.125 " fill="#EEEEEE" style="stroke: #000000; stroke-width: 1.0;"/><rect fill="none" height="103.5313" style="stroke: #000000; stroke-width: 2.0;" width="468.5" x="414.5" y="188.125"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="103" x="429.5" y="201.1919">If Discharging</text><polygon fill="#A80036" points="692,222.3906,702,226.3906,692,230.3906,696,226.3906" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="485" x2="698" y1="226.3906" y2="226.3906"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="195" x="492" y="221.3247">BatteryStatusChangeMessage</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="704" x2="746" y1="270.6563" y2="270.6563"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="746" x2="746" y1="270.6563" y2="283.6563"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="705" x2="746" y1="283.6563" y2="283.6563"/><polygon fill="#A80036" points="715,279.6563,705,283.6563,715,287.6563,711,283.6563" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="160" x="711" y="250.4575">If State::ShutdownReady:</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="154" x="715" y="265.5903">state = State:Shutdown</text><polygon fill="#A80036" points="866,315.7891,876,319.7891,866,323.7891,870,319.7891" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="485" x2="872" y1="319.7891" y2="319.7891"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="195" x="492" y="314.7231">BatteryStatusChangeMessage</text><polygon fill="#A80036" points="992,344.9219,1002,348.9219,992,352.9219,996,348.9219" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="878" x2="998" y1="348.9219" y2="348.9219"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="102" x="885" y="343.856">updateBattery()</text><polygon fill="#A80036" points="1015,374.0547,1005,378.0547,1015,382.0547,1011,378.0547" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1272.5,374.0547,1282.5,378.0547,1272.5,382.0547,1276.5,378.0547" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="1009" x2="1278.5" y1="378.0547" y2="378.0547"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="31" x="1021" y="372.9888">get()</text><polygon fill="#A80036" points="1154,403.1875,1164,407.1875,1154,411.1875,1158,407.1875" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="1004" x2="1160" y1="407.1875" y2="407.1875"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="138" x="1011" y="402.1216">show(batteryContext)</text><!--MD5=[ca8e942ddae7e078a8959b4a48897e37]
@startuml
skinparam BackgroundColor F0F0F0
participant "Battery Charger" as bc
participant "Worker Event" as we
participant "Event Manager" as evm
participant "System Manager" as sm
participant "Current application" as ca
participant "StatusBar" as tb
participant "TopBar" as tb
participant "Battery Widget" as bw
participant "Event Store\nBattery" as es



@@ 23,12 24,14 @@ tb <-> es : get()
tb -> bw : show(batteryContext)

@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

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>
\ No newline at end of file

M module-services/service-evtmgr/doc/charger_temperature_algorithm.puml => module-services/service-evtmgr/doc/charger_temperature_algorithm.puml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0
(*) --> [initialization] "measurement" as meas
"teperature range\n violation interrupt" -> meas
If "Detected range" then

M module-services/service-evtmgr/doc/charger_temperature_algorithm.svg => module-services/service-evtmgr/doc/charger_temperature_algorithm.svg +20 -17
@@ 1,18 1,19 @@
<?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="514px" preserveAspectRatio="none" style="width:571px;height:514px;" version="1.1" viewBox="0 0 571 514" width="571px" zoomAndPan="magnify"><defs><filter height="300%" id="foarmiu62vpl5" 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><ellipse cx="287.5" cy="16" fill="#000000" filter="url(#foarmiu62vpl5)" rx="10" ry="10" style="stroke:none;stroke-width:1.0;"/><rect fill="#FEFECE" filter="url(#foarmiu62vpl5)" height="33.9688" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="107" x="234" y="87"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="87" x="244" y="108.1387">measurement</text><rect fill="#FEFECE" filter="url(#foarmiu62vpl5)" height="47.9375" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="135" x="79" y="80"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="109" x="92" y="101.1387">teperature range</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="111" x="93" y="115.1074">violation interrupt</text><polygon fill="#FEFECE" filter="url(#foarmiu62vpl5)" points="287.5,169,299.5,181,287.5,193,275.5,181,287.5,169" style="stroke:#A80036;stroke-width:1.5;"/><rect fill="#FEFECE" filter="url(#foarmiu62vpl5)" height="33.9688" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="89" x="379" y="303"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="69" x="389" y="324.1387">charger off</text><rect fill="#FEFECE" filter="url(#foarmiu62vpl5)" height="47.9375" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="164" x="254.5" y="453"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="79" x="297" y="474.1387">set interrupt</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="144" x="264.5" y="488.1074">bounds with hysteresis</text><rect fill="#FEFECE" filter="url(#foarmiu62vpl5)" height="61.9063" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="84" x="125.5" y="371"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="60" x="135.5" y="392.1387">Charging:</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="63" x="136" y="406.1074">CC 300mA</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="56" x="139.5" y="420.0762">CV 4.35V</text><rect fill="#FEFECE" filter="url(#foarmiu62vpl5)" height="33.9688" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="90" x="126.5" y="460"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="70" x="136.5" y="481.1387">charger On</text><rect fill="#FEFECE" filter="url(#foarmiu62vpl5)" height="61.9063" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="91" x="241" y="289"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="60" x="254.5" y="310.1387">Charging:</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="71" x="251" y="324.1074">CC 1600mA</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="56" x="258.5" y="338.0762">CV 4.35V</text><rect fill="#FEFECE" filter="url(#foarmiu62vpl5)" height="61.9063" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="91" x="7" y="371"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="60" x="20.5" y="392.1387">Charging:</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="71" x="17" y="406.1074">CC 1600mA</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacing" textLength="48" x="28.5" y="420.0762">CV 4.1V</text><!--MD5=[11b5d1c84b2a4e74ea342f7993200deb]
link start to meas--><path d="M287.5,26.2 C287.5,39.32 287.5,63.77 287.5,81.57 " fill="none" id="start-to-meas" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="287.5,86.86,291.5,77.86,287.5,81.86,283.5,77.86,287.5,86.86" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacing" textLength="66" x="288.5" y="57.2104">initialization</text><!--MD5=[4450667bc073f2b45b1fdac68f3e6f8a]
link teperature range\n violation interrupt to meas--><path d="M214.25,104 C219.08,104 223.91,104 228.75,104 " fill="none" id="teperature range\n violation interrupt-to-meas" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="233.99,104,224.99,100,228.99,104,224.99,108,233.99,104" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[077487f9f2e8a10fc24dfcbca2bf789f]
link meas to #7--><path d="M287.5,121.27 C287.5,133.79 287.5,151.01 287.5,163.56 " fill="none" id="meas-to-#7" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="287.5,168.63,291.5,159.63,287.5,163.63,283.5,159.63,287.5,168.63" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacing" textLength="87" x="180.3813" y="158.5304">Detected range</text><!--MD5=[129a0a37766bd6af2b3bfd9a065c831e]
link #7 to coff--><path d="M297.74,182.86 C336.15,186.31 470.7,200.66 493.5,234 C509.83,257.86 482.43,283.2 457.27,299.94 " fill="none" id="#7-to-coff" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="452.93,302.76,462.6563,301.2112,457.1229,300.0361,458.298,294.5026,452.93,302.76" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacing" textLength="65" x="498.5" y="245.2104">T&lt;=0 Cdeg</text><!--MD5=[129a0a37766bd6af2b3bfd9a065c831e]
link #7 to coff--><path d="M296.34,184.29 C315.65,189.71 361.95,205.1 388.5,234 C405.08,252.05 414.36,279.03 419.14,297.73 " fill="none" id="#7-to-coff-1" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="420.37,302.77,422.1215,293.0781,419.1842,297.9126,414.3497,294.9754,420.37,302.77" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacing" textLength="63" x="399.5" y="245.2104">T&gt;45 Cdeg</text><!--MD5=[c92698de465e82c79cce2754d2ab17d3]
link coff to sh--><path d="M414.52,337 C399.79,363.25 370.32,415.75 352.11,448.19 " fill="none" id="coff-to-sh" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="349.51,452.82,357.4151,446.9455,351.9661,448.4648,350.4467,443.0158,349.51,452.82" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[4d006b7ef9043e6b5a2232c14858730a]
link #7 to Charging: \nCC 300mA\nCV 4.35V--><path d="M278.47,184.14 C259.32,189.18 214.65,203.73 193.5,234 C166.26,272.97 163.09,329.51 164.43,365.77 " fill="none" id="#7-to-Charging: \nCC 300mA\nCV 4.35V" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="164.66,370.97,168.2448,361.7967,164.4317,365.9752,160.2532,362.1621,164.66,370.97" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacing" textLength="87" x="194.5" y="245.2104">T = 1~15 Cdeg</text><!--MD5=[439463d568db46a6e11f6b533f48af37]
link Charging: \nCC 300mA\nCV 4.35V to con--><path d="M169.15,433.11 C169.54,440.23 169.95,447.68 170.31,454.34 " fill="none" id="Charging: \nCC 300mA\nCV 4.35V-to-con" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="170.61,459.73,174.1148,450.5259,170.3382,454.7374,166.1267,450.9608,170.61,459.73" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[383e9b22b311da0a0a996560d8232493]
link #7 to Charging: \nCC 1600mA\nCV 4.35V--><path d="M287.42,193.21 C287.28,212.78 286.97,253.95 286.76,283.88 " fill="none" id="#7-to-Charging: \nCC 1600mA\nCV 4.35V" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="286.72,288.95,290.7714,279.973,286.7486,283.9501,282.7715,279.9273,286.72,288.95" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacing" textLength="94" x="288.5" y="245.2104">T = 15~35 Cdeg</text><!--MD5=[46f191a4e04ffd070c0f7e5546c45e6d]
link Charging: \nCC 1600mA\nCV 4.35V to con--><path d="M271.68,351.13 C259.38,374.64 240.55,407.48 219.5,433 C212.65,441.31 204.16,449.45 196.24,456.37 " fill="none" id="Charging: \nCC 1600mA\nCV 4.35V-to-con" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="192.41,459.67,201.8412,456.8323,196.2002,456.409,196.6236,450.768,192.41,459.67" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[61891354fe19934057955d8d6f0c581c]
link #7 to Charging: \nCC 1600mA\nCV 4.1V--><path d="M277.52,183.17 C240.61,187.69 112.67,205.24 85.5,234 C52.23,269.22 48.04,327.82 49.33,365.41 " fill="none" id="#7-to-Charging: \nCC 1600mA\nCV 4.1V" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="49.55,370.79,53.161,361.627,49.3359,365.7946,45.1683,361.9695,49.55,370.79" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacing" textLength="94" x="86.5" y="245.2104">T = 35~45 Cdeg</text><!--MD5=[ab18e15750f6c47341cd05412a31baf4]
link Charging: \nCC 1600mA\nCV 4.1V to con--><path d="M98.17,431.01 C112.54,439.83 128.04,449.34 141.08,457.34 " fill="none" id="Charging: \nCC 1600mA\nCV 4.1V-to-con" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="145.4,459.99,139.8117,451.88,141.1354,457.3799,135.6355,458.7035,145.4,459.99" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[35204544fa74a7de4684b90de9f0b6f0]
link con to sh--><path d="M216.62,477 C227.35,477 238.08,477 248.81,477 " fill="none" id="con-to-sh" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="254.08,477,245.08,473,249.08,477,245.08,481,254.08,477" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[d8f61ef04fae53f9eb7402cb27a4484c]
<?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="513px" preserveAspectRatio="none" style="width:564px;height:513px;background:#F0F0F0;" version="1.1" viewBox="0 0 564 513" width="564px" zoomAndPan="magnify"><defs><filter height="300%" id="f53oau1ey6an5" 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><ellipse cx="281.5" cy="18" fill="#000000" filter="url(#f53oau1ey6an5)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#f53oau1ey6an5)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="107" x="228" y="89"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="87" x="238" y="110.1387">measurement</text><rect fill="#FEFECE" filter="url(#f53oau1ey6an5)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="135" x="73" y="82"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="109" x="86" y="103.1387">teperature range</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="111" x="87" y="117.1074">violation interrupt</text><polygon fill="#FEFECE" filter="url(#f53oau1ey6an5)" points="281.5,171,293.5,183,281.5,195,269.5,183,281.5,171" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#f53oau1ey6an5)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="89" x="370" y="305"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="69" x="380" y="326.1387">charger off</text><rect fill="#FEFECE" filter="url(#f53oau1ey6an5)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="164" x="249.5" y="455"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="79" x="292" y="476.1387">set interrupt</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="144" x="259.5" y="490.1074">bounds with hysteresis</text><rect fill="#FEFECE" filter="url(#f53oau1ey6an5)" height="61.9063" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="84" x="122.5" y="373"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="60" x="132.5" y="394.1387">Charging:</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="63" x="133" y="408.1074">CC 300mA</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="56" x="136.5" y="422.0762">CV 4.35V</text><rect fill="#FEFECE" filter="url(#f53oau1ey6an5)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="90" x="122.5" y="462"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="70" x="132.5" y="483.1387">charger On</text><rect fill="#FEFECE" filter="url(#f53oau1ey6an5)" height="61.9063" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="91" x="235" y="291"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="60" x="248.5" y="312.1387">Charging:</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="71" x="245" y="326.1074">CC 1600mA</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="56" x="252.5" y="340.0762">CV 4.35V</text><rect fill="#FEFECE" filter="url(#f53oau1ey6an5)" height="61.9063" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="91" x="6" y="373"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="60" x="19.5" y="394.1387">Charging:</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="71" x="16" y="408.1074">CC 1600mA</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="48" x="27.5" y="422.0762">CV 4.1V</text><!--MD5=[11b5d1c84b2a4e74ea342f7993200deb]
link start to meas--><path d="M281.5,28.2 C281.5,41.32 281.5,65.77 281.5,83.57 " fill="none" id="start-&gt;meas" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="281.5,88.86,285.5,79.86,281.5,83.86,277.5,79.86,281.5,88.86" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="66" x="282.5" y="59.2104">initialization</text><!--MD5=[4450667bc073f2b45b1fdac68f3e6f8a]
link teperature range\n violation interrupt to meas--><path d="M208.25,106 C213.08,106 217.91,106 222.75,106 " fill="none" id="teperature range\n violation interrupt-&gt;meas" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="227.99,106,218.99,102,222.99,106,218.99,110,227.99,106" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[077487f9f2e8a10fc24dfcbca2bf789f]
link meas to #7--><path d="M281.5,123.27 C281.5,135.79 281.5,153.01 281.5,165.56 " fill="none" id="meas-&gt;#7" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="281.5,170.63,285.5,161.63,281.5,165.63,277.5,161.63,281.5,170.63" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="86" x="175.6125" y="160.5304">Detected range</text><!--MD5=[129a0a37766bd6af2b3bfd9a065c831e]
link #7 to coff--><path d="M291.8,184.91 C329.83,188.53 461.27,203.28 483.5,236 C499.66,259.78 472.64,285.13 447.82,301.9 " fill="none" id="#7-&gt;coff" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="443.54,304.72,453.2538,303.0944,447.7112,301.963,448.8426,296.4204,443.54,304.72" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="64" x="488.5" y="247.2104">T&lt;=0 Cdeg</text><!--MD5=[129a0a37766bd6af2b3bfd9a065c831e]
link #7 to coff--><path d="M290.37,186.45 C309.26,192.09 353.88,207.76 379.5,236 C395.97,254.15 405.27,281.11 410.08,299.78 " fill="none" id="#7-&gt;coff-1" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="411.32,304.81,413.0446,295.1133,410.1208,299.9559,405.2781,297.0321,411.32,304.81" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="62" x="389.5" y="247.2104">T&gt;45 Cdeg</text><!--MD5=[c92698de465e82c79cce2754d2ab17d3]
link coff to sh--><path d="M405.93,339 C391.88,365.25 363.76,417.75 346.39,450.19 " fill="none" id="coff-&gt;sh" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="343.91,454.82,351.6778,448.7651,346.2652,450.4094,344.6208,444.9968,343.91,454.82" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[4d006b7ef9043e6b5a2232c14858730a]
link #7 to Charging: \nCC 300mA\nCV 4.35V--><path d="M272.47,186.31 C253.76,191.6 210.83,206.48 190.5,236 C163.61,275.04 160.31,331.32 161.53,367.52 " fill="none" id="#7-&gt;Charging: \nCC 300mA\nCV 4.35V" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="161.74,372.72,165.376,363.5669,161.5396,367.724,157.3825,363.8876,161.74,372.72" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="84" x="191.5" y="247.2104">T = 1~15 Cdeg</text><!--MD5=[439463d568db46a6e11f6b533f48af37]
link Charging: \nCC 300mA\nCV 4.35V to con--><path d="M165.74,435.11 C166.03,442.23 166.34,449.68 166.61,456.34 " fill="none" id="Charging: \nCC 300mA\nCV 4.35V-&gt;con" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="166.83,461.73,170.466,452.5769,166.6296,456.734,162.4725,452.8976,166.83,461.73" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[383e9b22b311da0a0a996560d8232493]
link #7 to Charging: \nCC 1600mA\nCV 4.35V--><path d="M281.42,195.21 C281.28,214.78 280.97,255.95 280.76,285.88 " fill="none" id="#7-&gt;Charging: \nCC 1600mA\nCV 4.35V" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="280.72,290.95,284.7714,281.973,280.7486,285.9501,276.7715,281.9273,280.72,290.95" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="91" x="282.5" y="247.2104">T = 15~35 Cdeg</text><!--MD5=[46f191a4e04ffd070c0f7e5546c45e6d]
link Charging: \nCC 1600mA\nCV 4.35V to con--><path d="M266.66,353.24 C255.09,376.81 237.18,409.68 216.5,435 C209.61,443.44 200.97,451.61 192.88,458.52 " fill="none" id="Charging: \nCC 1600mA\nCV 4.35V-&gt;con" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="188.96,461.81,198.4308,459.1073,192.7964,458.6034,193.3003,452.9691,188.96,461.81" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[61891354fe19934057955d8d6f0c581c]
link #7 to Charging: \nCC 1600mA\nCV 4.1V--><path d="M271.57,185.25 C235.45,190 111.83,208.08 85.5,236 C52.22,271.29 47.62,329.86 48.62,367.43 " fill="none" id="#7-&gt;Charging: \nCC 1600mA\nCV 4.1V" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="48.8,372.82,52.4893,363.6882,48.6287,367.8229,44.494,363.9623,48.8,372.82" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="91" x="86.5" y="247.2104">T = 35~45 Cdeg</text><!--MD5=[ab18e15750f6c47341cd05412a31baf4]
link Charging: \nCC 1600mA\nCV 4.1V to con--><path d="M97.01,433.64 C110.58,442.18 125.1,451.32 137.42,459.07 " fill="none" id="Charging: \nCC 1600mA\nCV 4.1V-&gt;con" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="141.85,461.86,136.3776,453.6714,137.6229,459.1895,132.1048,460.4348,141.85,461.86" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[35204544fa74a7de4684b90de9f0b6f0]
link con to sh--><path d="M212.66,479 C223.17,479 233.67,479 244.18,479 " fill="none" id="con-&gt;sh" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="249.34,479,240.34,475,244.34,479,240.34,483,249.34,479" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[165a4799ba50e9afd45eac3a3a8dcd87]
@startuml
skinparam BackgroundColor F0F0F0
(*) - -> [initialization] "measurement" as meas
"teperature range\n violation interrupt" -> meas
If "Detected range" then


@@ 33,11 34,13 @@ Endif
con -> sh
@enduml

PlantUML version 1.2021.00(Sun Jan 10 11:25:05 CET 2021)
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: pl
Country: PL
Language: en
Country: US
--></g></svg>
\ No newline at end of file

M module-services/service-evtmgr/doc/light_control_algorithm.puml => module-services/service-evtmgr/doc/light_control_algorithm.puml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0

hide footbox


M module-services/service-evtmgr/doc/light_control_algorithm.svg => module-services/service-evtmgr/doc/light_control_algorithm.svg +4 -4
@@ 1,5 1,6 @@
<?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="385px" preserveAspectRatio="none" style="width:1097px;height:385px;" version="1.1" viewBox="0 0 1097 385" width="1097px" zoomAndPan="magnify"><defs><filter height="300%" id="f1he2whahaiyz0" 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="#ADD8E6" height="363.0547" style="stroke: #A80036; stroke-width: 1.0;" width="443" x="193.5" y="4"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="49" x="390.5" y="16.0669">500ms</text><rect fill="#90EE90" height="363.0547" style="stroke: #A80036; stroke-width: 1.0;" width="448" x="638.5" y="4"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="40" x="842.5" y="16.0669">25ms</text><rect fill="#FFFFFF" filter="url(#f1he2whahaiyz0)" height="59.2656" style="stroke: #000000; stroke-width: 2.0;" width="164.5" x="113.5" y="296.7891"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="60" x2="60" y1="74.7266" y2="373.0547"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="151.5" x2="151.5" y1="74.7266" y2="373.0547"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="272.5" x2="272.5" y1="74.7266" y2="373.0547"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="436.5" x2="436.5" y1="74.7266" y2="373.0547"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="578.5" x2="578.5" y1="74.7266" y2="373.0547"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="741.5" x2="741.5" y1="74.7266" y2="373.0547"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="966.5" x2="966.5" y1="74.7266" y2="373.0547"/><rect fill="#FEFECE" filter="url(#f1he2whahaiyz0)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="100" x="8" y="39.4297"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="86" x="15" y="59.4248">Key pressed</text><rect fill="#FEFECE" filter="url(#f1he2whahaiyz0)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="53" x="123.5" y="39.4297"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="39" x="130.5" y="59.4248">Timer</text><rect fill="#FEFECE" filter="url(#f1he2whahaiyz0)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="147" x="197.5" y="39.4297"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="133" x="204.5" y="59.4248">Light Measurement</text><rect fill="#FEFECE" filter="url(#f1he2whahaiyz0)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="153" x="358.5" y="39.4297"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="139" x="365.5" y="59.4248">Brightness Function</text><rect fill="#FEFECE" filter="url(#f1he2whahaiyz0)" height="46.5938" style="stroke: #A80036; stroke-width: 1.5;" width="103" x="525.5" y="23.1328"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="85" x="532.5" y="43.1279">Ramp target</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="89" x="532.5" y="59.4248">value update</text><rect fill="#FEFECE" filter="url(#f1he2whahaiyz0)" height="46.5938" style="stroke: #A80036; stroke-width: 1.5;" width="194" x="642.5" y="23.1328"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="131" x="672" y="43.1279">Current ramp value</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="180" x="649.5" y="59.4248">calculation with hysteresis</text><rect fill="#FEFECE" filter="url(#f1he2whahaiyz0)" height="46.5938" style="stroke: #A80036; stroke-width: 1.5;" width="228" x="850.5" y="23.1328"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="148" x="888.5" y="43.1279">Light driver duty cycle</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="214" x="857.5" y="59.4248">update with Gamma Correction</text><polygon fill="#A80036" points="261,101.8594,271,105.8594,261,109.8594,265,105.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="60" x2="267" y1="105.8594" y2="105.8594"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="107" x="67" y="100.7935">turn on backlight</text><polygon fill="#A80036" points="425,130.9922,435,134.9922,425,138.9922,429,134.9922" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="273" x2="431" y1="134.9922" y2="134.9922"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="91" x="280" y="129.9263">measurement</text><polygon fill="#A80036" points="567,175.2578,577,179.2578,567,183.2578,571,179.2578" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="437" x2="573" y1="179.2578" y2="179.2578"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="67" x="444" y="159.0591">brightness</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="34" x="444" y="174.1919">value</text><polygon fill="#A80036" points="729.5,204.3906,739.5,208.3906,729.5,212.3906,733.5,208.3906" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="579" x2="735.5" y1="208.3906" y2="208.3906"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="77" x="586" y="203.3247">ramp target</text><polygon fill="#A80036" points="954.5,248.6563,964.5,252.6563,954.5,256.6563,958.5,252.6563" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="741.5" x2="960.5" y1="252.6563" y2="252.6563"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="84" x="748.5" y="232.4575">current ramp</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="34" x="748.5" y="247.5903">value</text><polygon fill="#A80036" points="140,277.7891,150,281.7891,140,285.7891,144,281.7891" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="60" x2="146" y1="281.7891" y2="281.7891"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="68" x="67" y="276.7231">start timer</text><path d="M113.5,296.7891 L177.5,296.7891 L177.5,303.7891 L167.5,313.7891 L113.5,313.7891 L113.5,296.7891 " fill="#EEEEEE" style="stroke: #000000; stroke-width: 1.0;"/><rect fill="none" height="59.2656" style="stroke: #000000; stroke-width: 2.0;" width="164.5" x="113.5" y="296.7891"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="19" x="128.5" y="309.856">alt</text><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="59" x="192.5" y="308.9995">[timeout]</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="152" x2="194" y1="335.0547" y2="335.0547"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="194" x2="194" y1="335.0547" y2="348.0547"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="153" x2="194" y1="348.0547" y2="348.0547"/><polygon fill="#A80036" points="163,344.0547,153,348.0547,163,352.0547,159,348.0547" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="107" x="159" y="329.9888">turn off backlight</text><!--
<?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="385px" preserveAspectRatio="none" style="width:1097px;height:385px;background:#F0F0F0;" version="1.1" viewBox="0 0 1097 385" width="1097px" zoomAndPan="magnify"><defs><filter height="300%" id="f1um7bl6j87xa" 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="#ADD8E6" height="363.0547" style="stroke: #A80036; stroke-width: 1.0;" width="443" x="193.5" y="4"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="49" x="390.5" y="16.0669">500ms</text><rect fill="#90EE90" height="363.0547" style="stroke: #A80036; stroke-width: 1.0;" width="448" x="638.5" y="4"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="40" x="842.5" y="16.0669">25ms</text><rect fill="#F0F0F0" filter="url(#f1um7bl6j87xa)" height="59.2656" style="stroke: #000000; stroke-width: 2.0;" width="164.5" x="113.5" y="296.7891"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="60" x2="60" y1="74.7266" y2="373.0547"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="151.5" x2="151.5" y1="74.7266" y2="373.0547"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="272.5" x2="272.5" y1="74.7266" y2="373.0547"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="436.5" x2="436.5" y1="74.7266" y2="373.0547"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="578.5" x2="578.5" y1="74.7266" y2="373.0547"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="741.5" x2="741.5" y1="74.7266" y2="373.0547"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="966.5" x2="966.5" y1="74.7266" y2="373.0547"/><rect fill="#FEFECE" filter="url(#f1um7bl6j87xa)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="100" x="8" y="39.4297"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="86" x="15" y="59.4248">Key pressed</text><rect fill="#FEFECE" filter="url(#f1um7bl6j87xa)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="53" x="123.5" y="39.4297"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="39" x="130.5" y="59.4248">Timer</text><rect fill="#FEFECE" filter="url(#f1um7bl6j87xa)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="147" x="197.5" y="39.4297"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="133" x="204.5" y="59.4248">Light Measurement</text><rect fill="#FEFECE" filter="url(#f1um7bl6j87xa)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="153" x="358.5" y="39.4297"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="139" x="365.5" y="59.4248">Brightness Function</text><rect fill="#FEFECE" filter="url(#f1um7bl6j87xa)" height="46.5938" style="stroke: #A80036; stroke-width: 1.5;" width="103" x="525.5" y="23.1328"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="85" x="532.5" y="43.1279">Ramp target</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="89" x="532.5" y="59.4248">value update</text><rect fill="#FEFECE" filter="url(#f1um7bl6j87xa)" height="46.5938" style="stroke: #A80036; stroke-width: 1.5;" width="194" x="642.5" y="23.1328"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="131" x="672" y="43.1279">Current ramp value</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="180" x="649.5" y="59.4248">calculation with hysteresis</text><rect fill="#FEFECE" filter="url(#f1um7bl6j87xa)" height="46.5938" style="stroke: #A80036; stroke-width: 1.5;" width="228" x="850.5" y="23.1328"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="148" x="888.5" y="43.1279">Light driver duty cycle</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="214" x="857.5" y="59.4248">update with Gamma Correction</text><polygon fill="#A80036" points="261,101.8594,271,105.8594,261,109.8594,265,105.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="60" x2="267" y1="105.8594" y2="105.8594"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="107" x="67" y="100.7935">turn on backlight</text><polygon fill="#A80036" points="425,130.9922,435,134.9922,425,138.9922,429,134.9922" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="273" x2="431" y1="134.9922" y2="134.9922"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="91" x="280" y="129.9263">measurement</text><polygon fill="#A80036" points="567,175.2578,577,179.2578,567,183.2578,571,179.2578" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="437" x2="573" y1="179.2578" y2="179.2578"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="67" x="444" y="159.0591">brightness</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="34" x="444" y="174.1919">value</text><polygon fill="#A80036" points="729.5,204.3906,739.5,208.3906,729.5,212.3906,733.5,208.3906" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="579" x2="735.5" y1="208.3906" y2="208.3906"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="77" x="586" y="203.3247">ramp target</text><polygon fill="#A80036" points="954.5,248.6563,964.5,252.6563,954.5,256.6563,958.5,252.6563" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="741.5" x2="960.5" y1="252.6563" y2="252.6563"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="84" x="748.5" y="232.4575">current ramp</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="34" x="748.5" y="247.5903">value</text><polygon fill="#A80036" points="140,277.7891,150,281.7891,140,285.7891,144,281.7891" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="60" x2="146" y1="281.7891" y2="281.7891"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="68" x="67" y="276.7231">start timer</text><path d="M113.5,296.7891 L177.5,296.7891 L177.5,303.7891 L167.5,313.7891 L113.5,313.7891 L113.5,296.7891 " fill="#EEEEEE" style="stroke: #000000; stroke-width: 1.0;"/><rect fill="none" height="59.2656" style="stroke: #000000; stroke-width: 2.0;" width="164.5" x="113.5" y="296.7891"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="19" x="128.5" y="309.856">alt</text><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="59" x="192.5" y="308.9995">[timeout]</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="152" x2="194" y1="335.0547" y2="335.0547"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="194" x2="194" y1="335.0547" y2="348.0547"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="153" x2="194" y1="348.0547" y2="348.0547"/><polygon fill="#A80036" points="163,344.0547,153,348.0547,163,352.0547,159,348.0547" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="107" x="159" y="329.9888">turn off backlight</text><!--MD5=[9cfc277bd45cb258eabdfe3eced7503c]
@startuml
skinparam BackgroundColor F0F0F0

hide footbox



@@ 30,13 31,12 @@ end

@enduml

PlantUML version 1.2018.13(Mon Nov 26 18:11:51 CET 2018)
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.11+9-Ubuntu-0ubuntu2.20.04
Java Version: 11.0.12+7-post-Debian-2
Operating System: Linux
OS Version: 5.8.0-50-generic
Default Encoding: UTF-8
Language: en
Country: US

M module-services/service-evtmgr/doc/light_control_hysteresis.puml => module-services/service-evtmgr/doc/light_control_hysteresis.puml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0
(*) --> If "Ramp target reached?" then
    If "New target differs by \nhysteresis value from \nthe old one?" then
    -> [Yes] "update ramp" as ur

M module-services/service-evtmgr/doc/light_control_hysteresis.svg => module-services/service-evtmgr/doc/light_control_hysteresis.svg +12 -9
@@ 1,10 1,11 @@
<?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="336px" preserveAspectRatio="none" style="width:324px;height:336px;" version="1.1" viewBox="0 0 324 336" width="324px" zoomAndPan="magnify"><defs><filter height="300%" id="f1t5fss58cooth" 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><ellipse cx="207.363" cy="16" fill="#000000" filter="url(#f1t5fss58cooth)" rx="10" ry="10" style="stroke:none;stroke-width:1.0;"/><polygon fill="#FEFECE" filter="url(#f1t5fss58cooth)" points="207.363,67,219.363,79,207.363,91,195.363,79,207.363,67" style="stroke:#A80036;stroke-width:1.5;"/><polygon fill="#FEFECE" filter="url(#f1t5fss58cooth)" points="155.363,150,167.363,162,155.363,174,143.363,162,155.363,150" style="stroke:#A80036;stroke-width:1.5;"/><rect fill="#FEFECE" filter="url(#f1t5fss58cooth)" height="33.9688" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="101" x="209.863" y="145"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="81" x="219.863" y="166.1387">update ramp</text><rect fill="#FEFECE" filter="url(#f1t5fss58cooth)" height="47.9375" rx="12.5" ry="12.5" style="stroke:#A80036;stroke-width:1.5;" width="108" x="101.363" y="275"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="84" x="111.363" y="296.1387">RampValue =</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="117.363" y="310.1074">RampTarget</text><!--MD5=[9e7bccaab94f33706b7c2613f3cc0026]
link start to #3--><path d="M207.363,26 C207.363,35.34 207.363,50.16 207.363,61.59 " fill="none" id="start-to-#3" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="207.363,66.89,211.363,57.89,207.363,61.89,203.363,57.89,207.363,66.89" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="126" x="61.2817" y="59.4561">Ramp target reached?</text><!--MD5=[2773403863a502716c38047ac44135d7]
link #3 to #6--><path d="M202.923,86.91 C193.943,100.89 173.533,132.69 162.603,149.72 " fill="none" id="#3-to-#6" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="159.783,154.11,168.0145,148.7024,162.4868,149.9041,161.2851,144.3764,159.783,154.11" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="120" x="8.5" y="115.3137">New target differs by</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="125" x="6" y="128.1184">hysteresis value from</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="70" x="35.5" y="140.9231">the old one?</text><!--MD5=[7cfa565d5a7a904cbabcd798f1ced685]
link #6 to ur--><path d="M167.403,162 C176.713,162 190.323,162 204.273,162 " fill="none" id="#6-to-ur" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="209.423,162,200.423,158,204.423,162,200.423,166,209.423,162" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="21" x="178.113" y="156.2104">Yes</text><!--MD5=[52e4b7cb87ab58fb7e68b8a1b8520dc5]
link #6 to RampValue = \nRampTarget--><path d="M155.363,174.05 C155.363,194.74 155.363,239.91 155.363,269.63 " fill="none" id="#6-to-RampValue = \nRampTarget" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="155.363,274.99,159.363,265.99,155.363,269.99,151.363,265.99,155.363,274.99" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="15" x="156.363" y="231.2104">No</text><!--MD5=[1fc0cef09484a68efdf13ae0dd1e584d]
link #3 to ur--><path d="M211.883,86.91 C219.583,98.69 235.563,123.09 247.063,140.68 " fill="none" id="#3-to-ur" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="249.883,144.99,248.2958,135.2699,247.1425,140.8079,241.6045,139.6546,249.883,144.99" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="15" x="237.363" y="122.2104">No</text><!--MD5=[eb3de5f3e5b05e23159ab560e1b3b1b4]
<?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="335px" preserveAspectRatio="none" style="width:309px;height:335px;background:#F0F0F0;" version="1.1" viewBox="0 0 309 335" width="309px" zoomAndPan="magnify"><defs><filter height="300%" id="f1k1axwkvu47sh" 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><ellipse cx="194.58" cy="18" fill="#000000" filter="url(#f1k1axwkvu47sh)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f1k1axwkvu47sh)" points="194.58,69,206.58,81,194.58,93,182.58,81,194.58,69" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#f1k1axwkvu47sh)" points="142.58,152,154.58,164,142.58,176,130.58,164,142.58,152" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#f1k1axwkvu47sh)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="101" x="197.08" y="147"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="81" x="207.08" y="168.1387">update ramp</text><rect fill="#FEFECE" filter="url(#f1k1axwkvu47sh)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="108" x="88.58" y="277"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="84" x="98.58" y="298.1387">RampValue =</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="104.58" y="312.1074">RampTarget</text><!--MD5=[9e7bccaab94f33706b7c2613f3cc0026]
link start to #3--><path d="M194.58,28 C194.58,37.34 194.58,52.16 194.58,63.59 " fill="none" id="start-&gt;#3" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="194.58,68.89,198.58,59.89,194.58,63.89,190.58,59.89,194.58,68.89" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="124" x="50.8175" y="61.4561">Ramp target reached?</text><!--MD5=[2773403863a502716c38047ac44135d7]
link #3 to #6--><path d="M190.14,88.91 C181.16,102.89 160.75,134.69 149.82,151.72 " fill="none" id="#3-&gt;#6" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="147,156.11,155.2315,150.7024,149.7038,151.9041,148.5021,146.3764,147,156.11" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="117" x="-0.1643" y="117.3137">New target differs by</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="123" x="-3.1643" y="130.1184">hysteresis value from</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="68" x="25.8357" y="142.9231">the old one?</text><!--MD5=[7cfa565d5a7a904cbabcd798f1ced685]
link #6 to ur--><path d="M154.62,164 C163.93,164 177.54,164 191.49,164 " fill="none" id="#6-&gt;ur" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="196.64,164,187.64,160,191.64,164,187.64,168,196.64,164" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="21" x="165.33" y="158.2104">Yes</text><!--MD5=[52e4b7cb87ab58fb7e68b8a1b8520dc5]
link #6 to RampValue = \nRampTarget--><path d="M142.58,176.05 C142.58,196.74 142.58,241.91 142.58,271.63 " fill="none" id="#6-&gt;RampValue = \nRampTarget" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="142.58,276.99,146.58,267.99,142.58,271.99,138.58,267.99,142.58,276.99" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="15" x="143.58" y="233.2104">No</text><!--MD5=[1fc0cef09484a68efdf13ae0dd1e584d]
link #3 to ur--><path d="M199.1,88.91 C206.8,100.69 222.78,125.09 234.28,142.68 " fill="none" id="#3-&gt;ur" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="237.1,146.99,235.5128,137.2699,234.3595,142.8079,228.8215,141.6546,237.1,146.99" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="15" x="224.58" y="124.2104">No</text><!--MD5=[d6f8db9ee3905d285f6e7e4eb45e55b5]
@startuml
skinparam BackgroundColor F0F0F0
(*) - -> If "Ramp target reached?" then
    If "New target differs by \nhysteresis value from \nthe old one?" then
    -> [Yes] "update ramp" as ur


@@ 16,11 17,13 @@ else
Endif
@enduml

PlantUML version 1.2020.22(Sun Dec 06 10:36:27 CET 2020)
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: pl
Country: PL
Language: en
Country: US
--></g></svg>
\ No newline at end of file

M module-services/service-evtmgr/doc/light_control_message_flow.puml => module-services/service-evtmgr/doc/light_control_message_flow.puml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0
alt control message without any parameters
Application -> "Event Manager" as evm : ScreenLightControlMessage
else contol message with parameters

M module-services/service-evtmgr/doc/light_control_message_flow.svg => module-services/service-evtmgr/doc/light_control_message_flow.svg +4 -4
@@ 1,5 1,6 @@
<?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="290px" preserveAspectRatio="none" style="width:740px;height:290px;" version="1.1" viewBox="0 0 740 290" width="740px" zoomAndPan="magnify"><defs><filter height="300%" id="fa37k5x5er5rs" 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(#fa37k5x5er5rs)" height="90.2031" style="stroke: #000000; stroke-width: 2.0;" width="357" x="13" y="55.2969"/><rect fill="#FFFFFF" height="43.9375" style="stroke: none; stroke-width: 1.0;" width="357" x="13" y="101.5625"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="69" x2="69" y1="38.2969" y2="249.8984"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="272" x2="272" y1="38.2969" y2="249.8984"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="418" x2="418" y1="38.2969" y2="249.8984"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="561" x2="561" y1="38.2969" y2="249.8984"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="681" x2="681" y1="38.2969" y2="249.8984"/><rect fill="#FEFECE" filter="url(#fa37k5x5er5rs)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="89" x="23" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="75" x="30" y="22.9951">Application</text><rect fill="#FEFECE" filter="url(#fa37k5x5er5rs)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="89" x="23" y="248.8984"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="75" x="30" y="268.8936">Application</text><rect fill="#FEFECE" filter="url(#fa37k5x5er5rs)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="117" x="212" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="103" x="219" y="22.9951">Event Manager</text><rect fill="#FEFECE" filter="url(#fa37k5x5er5rs)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="117" x="212" y="248.8984"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="103" x="219" y="268.8936">Event Manager</text><rect fill="#FEFECE" filter="url(#fa37k5x5er5rs)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="146" x="343" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="132" x="350" y="22.9951">ScreenLightControl</text><rect fill="#FEFECE" filter="url(#fa37k5x5er5rs)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="146" x="343" y="248.8984"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="132" x="350" y="268.8936">ScreenLightControl</text><rect fill="#FEFECE" filter="url(#fa37k5x5er5rs)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="112" x="503" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="98" x="510" y="22.9951">Eink Frontlight</text><rect fill="#FEFECE" filter="url(#fa37k5x5er5rs)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="112" x="503" y="248.8984"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="98" x="510" y="268.8936">Eink Frontlight</text><rect fill="#FEFECE" filter="url(#fa37k5x5er5rs)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="100" x="629" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="86" x="636" y="22.9951">Light Sensor</text><rect fill="#FEFECE" filter="url(#fa37k5x5er5rs)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="100" x="629" y="248.8984"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="86" x="636" y="268.8936">Light Sensor</text><path d="M13,55.2969 L77,55.2969 L77,62.2969 L67,72.2969 L13,72.2969 L13,55.2969 " fill="#EEEEEE" style="stroke: #000000; stroke-width: 1.0;"/><rect fill="none" height="90.2031" style="stroke: #000000; stroke-width: 2.0;" width="357" x="13" y="55.2969"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="19" x="28" y="68.3638">alt</text><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="273" x="92" y="67.5073">[control message without any parameters]</text><polygon fill="#A80036" points="260.5,89.5625,270.5,93.5625,260.5,97.5625,264.5,93.5625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="69.5" x2="266.5" y1="93.5625" y2="93.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="179" x="76.5" y="88.4966">ScreenLightControlMessage</text><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="13" x2="370" y1="102.5625" y2="102.5625"/><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="220" x="18" y="112.7729">[contol message with parameters]</text><polygon fill="#A80036" points="260.5,133.5,270.5,137.5,260.5,141.5,264.5,137.5" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="69.5" x2="266.5" y1="137.5" y2="137.5"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="173" x="76.5" y="132.4341">ScreenLightSetParameters</text><polygon fill="#A80036" points="406,169.6328,416,173.6328,406,177.6328,410,173.6328" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="272.5" x2="412" y1="173.6328" y2="173.6328"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="112" x="279.5" y="168.5669">processRequest()</text><polygon fill="#A80036" points="549,198.7656,559,202.7656,549,206.7656,553,202.7656" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="418" x2="555" y1="202.7656" y2="202.7656"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="425" y="197.6997">request</text><polygon fill="#A80036" points="669,227.8984,679,231.8984,669,235.8984,673,231.8984" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="418" x2="675" y1="231.8984" y2="231.8984"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="425" y="226.8325">request</text><!--
<?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="290px" preserveAspectRatio="none" style="width:740px;height:290px;background:#F0F0F0;" version="1.1" viewBox="0 0 740 290" width="740px" zoomAndPan="magnify"><defs><filter height="300%" id="f1calxvr0t9xi6" 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="#F0F0F0" filter="url(#f1calxvr0t9xi6)" height="90.2031" style="stroke: #000000; stroke-width: 2.0;" width="357" x="13" y="55.2969"/><rect fill="#F0F0F0" height="43.9375" style="stroke: none; stroke-width: 1.0;" width="357" x="13" y="101.5625"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="69" x2="69" y1="38.2969" y2="249.8984"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="272" x2="272" y1="38.2969" y2="249.8984"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="418" x2="418" y1="38.2969" y2="249.8984"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="561" x2="561" y1="38.2969" y2="249.8984"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="681" x2="681" y1="38.2969" y2="249.8984"/><rect fill="#FEFECE" filter="url(#f1calxvr0t9xi6)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="89" x="23" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="75" x="30" y="22.9951">Application</text><rect fill="#FEFECE" filter="url(#f1calxvr0t9xi6)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="89" x="23" y="248.8984"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="75" x="30" y="268.8936">Application</text><rect fill="#FEFECE" filter="url(#f1calxvr0t9xi6)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="117" x="212" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="103" x="219" y="22.9951">Event Manager</text><rect fill="#FEFECE" filter="url(#f1calxvr0t9xi6)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="117" x="212" y="248.8984"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="103" x="219" y="268.8936">Event Manager</text><rect fill="#FEFECE" filter="url(#f1calxvr0t9xi6)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="146" x="343" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="132" x="350" y="22.9951">ScreenLightControl</text><rect fill="#FEFECE" filter="url(#f1calxvr0t9xi6)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="146" x="343" y="248.8984"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="132" x="350" y="268.8936">ScreenLightControl</text><rect fill="#FEFECE" filter="url(#f1calxvr0t9xi6)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="112" x="503" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="98" x="510" y="22.9951">Eink Frontlight</text><rect fill="#FEFECE" filter="url(#f1calxvr0t9xi6)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="112" x="503" y="248.8984"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="98" x="510" y="268.8936">Eink Frontlight</text><rect fill="#FEFECE" filter="url(#f1calxvr0t9xi6)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="100" x="629" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="86" x="636" y="22.9951">Light Sensor</text><rect fill="#FEFECE" filter="url(#f1calxvr0t9xi6)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="100" x="629" y="248.8984"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="86" x="636" y="268.8936">Light Sensor</text><path d="M13,55.2969 L77,55.2969 L77,62.2969 L67,72.2969 L13,72.2969 L13,55.2969 " fill="#EEEEEE" style="stroke: #000000; stroke-width: 1.0;"/><rect fill="none" height="90.2031" style="stroke: #000000; stroke-width: 2.0;" width="357" x="13" y="55.2969"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="19" x="28" y="68.3638">alt</text><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="273" x="92" y="67.5073">[control message without any parameters]</text><polygon fill="#A80036" points="260.5,89.5625,270.5,93.5625,260.5,97.5625,264.5,93.5625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="69.5" x2="266.5" y1="93.5625" y2="93.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="179" x="76.5" y="88.4966">ScreenLightControlMessage</text><line style="stroke: #000000; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="13" x2="370" y1="102.5625" y2="102.5625"/><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="220" x="18" y="112.7729">[contol message with parameters]</text><polygon fill="#A80036" points="260.5,133.5,270.5,137.5,260.5,141.5,264.5,137.5" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="69.5" x2="266.5" y1="137.5" y2="137.5"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="173" x="76.5" y="132.4341">ScreenLightSetParameters</text><polygon fill="#A80036" points="406,169.6328,416,173.6328,406,177.6328,410,173.6328" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="272.5" x2="412" y1="173.6328" y2="173.6328"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="112" x="279.5" y="168.5669">processRequest()</text><polygon fill="#A80036" points="549,198.7656,559,202.7656,549,206.7656,553,202.7656" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="418" x2="555" y1="202.7656" y2="202.7656"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="425" y="197.6997">request</text><polygon fill="#A80036" points="669,227.8984,679,231.8984,669,235.8984,673,231.8984" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="418" x2="675" y1="231.8984" y2="231.8984"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="425" y="226.8325">request</text><!--MD5=[b6578d7be777d2d6af148ac0469541ed]
@startuml
skinparam BackgroundColor F0F0F0
alt control message without any parameters
Application -> "Event Manager" as evm : ScreenLightControlMessage
else contol message with parameters


@@ 10,13 11,12 @@ slc -> "Eink Frontlight" : request
slc -> "Light Sensor" : request
@enduml

PlantUML version 1.2018.13(Mon Nov 26 18:11:51 CET 2018)
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.11+9-Ubuntu-0ubuntu2.20.04
Java Version: 11.0.12+7-post-Debian-2
Operating System: Linux
OS Version: 5.8.0-50-generic
Default Encoding: UTF-8
Language: en
Country: US

M module-services/service-gui/doc/display_environment_init.png => module-services/service-gui/doc/display_environment_init.png +0 -0
M module-services/service-gui/doc/display_environment_init.pu => module-services/service-gui/doc/display_environment_init.pu +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0
participant "Service E Ink" as eink
participant "Service GUI" as gui
participant "Context Pool" as pool

M module-services/service-gui/doc/handle_draw_request.png => module-services/service-gui/doc/handle_draw_request.png +0 -0
M module-services/service-gui/doc/handle_draw_request.pu => module-services/service-gui/doc/handle_draw_request.pu +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0
participant "Application" as app
participant "Service GUI" as gui
participant "Context Pool" as pool

M module-services/service-gui/doc/update_eink_if_busy.png => module-services/service-gui/doc/update_eink_if_busy.png +0 -0
M module-services/service-gui/doc/update_eink_if_busy.pu => module-services/service-gui/doc/update_eink_if_busy.pu +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0
participant "Service GUI" as gui
participant "Context Pool" as pool


M module-services/service-gui/doc/update_eink_if_idle.png => module-services/service-gui/doc/update_eink_if_idle.png +0 -0
M module-services/service-gui/doc/update_eink_if_idle.pu => module-services/service-gui/doc/update_eink_if_idle.pu +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0
participant "Service GUI" as gui
participant "Context Pool" as pool
participant "Service E Ink" as eink

M module-services/service-time/doc/time_date_flow.puml => module-services/service-time/doc/time_date_flow.puml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0
participant ServiceCellular as cellular
participant ServiceTime as time
participant TimeManager as manager

M module-services/service-time/doc/time_date_flow.svg => module-services/service-time/doc/time_date_flow.svg +13 -10
@@ 1,11 1,12 @@
<?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="712px" preserveAspectRatio="none" style="width:1270px;height:712px;" version="1.1" viewBox="0 0 1270 712" width="1270px" zoomAndPan="magnify"><defs><filter height="300%" id="fdmmks63ug5yv" 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><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="68" x2="68" y1="40.2969" y2="668.8203"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="531.5" x2="531.5" y1="40.2969" y2="668.8203"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="653.5" x2="653.5" y1="40.2969" y2="668.8203"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="818.5" x2="818.5" y1="40.2969" y2="668.8203"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="928.5" x2="928.5" y1="40.2969" y2="668.8203"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="1046.5" x2="1046.5" y1="40.2969" y2="668.8203"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="1170" x2="1170" y1="40.2969" y2="668.8203"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="1239" x2="1239" y1="40.2969" y2="668.8203"/><rect fill="#FEFECE" filter="url(#fdmmks63ug5yv)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="122" x="5" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="108" x="12" y="24.9951">ServiceCellular</text><rect fill="#FEFECE" filter="url(#fdmmks63ug5yv)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="122" x="5" y="667.8203"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="108" x="12" y="687.8154">ServiceCellular</text><rect fill="#FEFECE" filter="url(#fdmmks63ug5yv)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="103" x="478.5" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="89" x="485.5" y="24.9951">ServiceTime</text><rect fill="#FEFECE" filter="url(#fdmmks63ug5yv)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="103" x="478.5" y="667.8203"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="89" x="485.5" y="687.8154">ServiceTime</text><rect fill="#FEFECE" filter="url(#fdmmks63ug5yv)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="113" x="595.5" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="99" x="602.5" y="24.9951">TimeManager</text><rect fill="#FEFECE" filter="url(#fdmmks63ug5yv)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="113" x="595.5" y="667.8203"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="99" x="602.5" y="687.8154">TimeManager</text><rect fill="#FEFECE" filter="url(#fdmmks63ug5yv)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="99" x="767.5" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="85" x="774.5" y="24.9951">SettingsApp</text><rect fill="#FEFECE" filter="url(#fdmmks63ug5yv)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="99" x="767.5" y="667.8203"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="85" x="774.5" y="687.8154">SettingsApp</text><rect fill="#FEFECE" filter="url(#fdmmks63ug5yv)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="92" x="880.5" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="78" x="887.5" y="24.9951">SettingsDB</text><rect fill="#FEFECE" filter="url(#fdmmks63ug5yv)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="92" x="880.5" y="667.8203"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="78" x="887.5" y="687.8154">SettingsDB</text><rect fill="#FEFECE" filter="url(#fdmmks63ug5yv)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="117" x="986.5" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="103" x="993.5" y="24.9951">EventManagerCommon</text><rect fill="#FEFECE" filter="url(#fdmmks63ug5yv)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="117" x="986.5" y="667.8203"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="103" x="993.5" y="687.8154">EventManagerCommon</text><rect fill="#FEFECE" filter="url(#fdmmks63ug5yv)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="68" x="1134" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="54" x="1141" y="24.9951">bspRTC</text><rect fill="#FEFECE" filter="url(#fdmmks63ug5yv)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="68" x="1134" y="667.8203"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="54" x="1141" y="687.8154">bspRTC</text><rect fill="#FEFECE" filter="url(#fdmmks63ug5yv)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="34" x="1220" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="20" x="1227" y="24.9951">OS</text><rect fill="#FEFECE" filter="url(#fdmmks63ug5yv)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="34" x="1220" y="667.8203"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="20" x="1227" y="687.8154">OS</text><rect fill="#EEEEEE" filter="url(#fdmmks63ug5yv)" height="3" style="stroke:#EEEEEE;stroke-width:1.0;" width="1263" x="0" y="70.8633"/><line style="stroke:#000000;stroke-width:1.0;" x1="0" x2="1263" y1="70.8633" y2="70.8633"/><line style="stroke:#000000;stroke-width:1.0;" x1="0" x2="1263" y1="73.8633" y2="73.8633"/><rect fill="#EEEEEE" filter="url(#fdmmks63ug5yv)" height="23.1328" style="stroke:#000000;stroke-width:2.0;" width="220" x="521.5" y="60.2969"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="201" x="527.5" y="76.3638">Network time sync enabled</text><polygon fill="#A80036" points="79,110.5625,69,114.5625,79,118.5625,75,114.5625" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="73" x2="531" y1="114.5625" y2="114.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="440" x="85" y="109.4966">Settings: Network time synchronisation Network time sync enabled</text><polygon fill="#A80036" points="520,139.6953,530,143.6953,520,147.6953,524,143.6953" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="68" x2="526" y1="143.6953" y2="143.6953"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="199" x="75" y="138.6294">CTZE notification: time update</text><polygon fill="#A80036" points="642,168.8281,652,172.8281,642,176.8281,646,172.8281" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="532" x2="648" y1="172.8281" y2="172.8281"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="81" x="539" y="167.7622">Update time</text><polygon fill="#A80036" points="1035,197.9609,1045,201.9609,1035,205.9609,1039,201.9609" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="654" x2="1041" y1="201.9609" y2="201.9609"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="99" x="661" y="196.895">Store new time</text><polygon fill="#A80036" points="1158,227.0938,1168,231.0938,1158,235.0938,1162,231.0938" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="1047" x2="1164" y1="231.0938" y2="231.0938"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="99" x="1054" y="226.0278">Store new time</text><polygon fill="#A80036" points="1227,256.2266,1237,260.2266,1227,264.2266,1231,260.2266" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="1047" x2="1233" y1="260.2266" y2="260.2266"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="168" x="1054" y="255.1606">Time updated notification</text><rect fill="#EEEEEE" filter="url(#fdmmks63ug5yv)" height="3" style="stroke:#EEEEEE;stroke-width:1.0;" width="1263" x="0" y="288.793"/><line style="stroke:#000000;stroke-width:1.0;" x1="0" x2="1263" y1="288.793" y2="288.793"/><line style="stroke:#000000;stroke-width:1.0;" x1="0" x2="1263" y1="291.793" y2="291.793"/><rect fill="#EEEEEE" filter="url(#fdmmks63ug5yv)" height="23.1328" style="stroke:#000000;stroke-width:2.0;" width="382" x="440.5" y="278.2266"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="363" x="446.5" y="294.2935">Disabling / Enabling Network time synchonisation</text><polygon fill="#A80036" points="543,328.4922,533,332.4922,543,336.4922,539,332.4922" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="537" x2="818" y1="332.4922" y2="332.4922"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="263" x="549" y="327.4263">Time synchronisation disabled / enabled</text><polygon fill="#A80036" points="916.5,357.625,926.5,361.625,916.5,365.625,920.5,361.625" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="532" x2="922.5" y1="361.625" y2="361.625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="121" x="539" y="356.5591">Store new settings</text><polygon fill="#A80036" points="543,386.7578,533,390.7578,543,394.7578,539,390.7578" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="537" x2="927.5" y1="390.7578" y2="390.7578"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="91" x="549" y="385.6919">Setting stored</text><polygon fill="#A80036" points="79,415.8906,69,419.8906,79,423.8906,75,419.8906" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="73" x2="531" y1="419.8906" y2="419.8906"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="105" x="85" y="414.8247">Setting changed</text><line style="stroke:#A80036;stroke-width:1.0;" x1="68" x2="110" y1="449.0234" y2="449.0234"/><line style="stroke:#A80036;stroke-width:1.0;" x1="110" x2="110" y1="449.0234" y2="462.0234"/><line style="stroke:#A80036;stroke-width:1.0;" x1="69" x2="110" y1="462.0234" y2="462.0234"/><polygon fill="#A80036" points="79,458.0234,69,462.0234,79,466.0234,75,462.0234" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="438" x="75" y="443.9575">handle settings changed ( Enable / Disable Network time reporting)</text><rect fill="#EEEEEE" filter="url(#fdmmks63ug5yv)" height="3" style="stroke:#EEEEEE;stroke-width:1.0;" width="1263" x="0" y="490.5898"/><line style="stroke:#000000;stroke-width:1.0;" x1="0" x2="1263" y1="490.5898" y2="490.5898"/><line style="stroke:#000000;stroke-width:1.0;" x1="0" x2="1263" y1="493.5898" y2="493.5898"/><rect fill="#EEEEEE" filter="url(#fdmmks63ug5yv)" height="23.1328" style="stroke:#000000;stroke-width:2.0;" width="518" x="372.5" y="480.0234"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="504" x="378.5" y="496.0903">Network time synchronisation disabled, manually setting date / time</text><polygon fill="#A80036" points="543,530.2891,533,534.2891,543,538.2891,539,534.2891" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="537" x2="818" y1="534.2891" y2="534.2891"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="143" x="549" y="529.2231">New date / time is set</text><polygon fill="#A80036" points="642,559.4219,652,563.4219,642,567.4219,646,563.4219" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="532" x2="648" y1="563.4219" y2="563.4219"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="81" x="539" y="558.356">Update time</text><polygon fill="#A80036" points="1035,588.5547,1045,592.5547,1035,596.5547,1039,592.5547" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="654" x2="1041" y1="592.5547" y2="592.5547"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="99" x="661" y="587.4888">Store new time</text><polygon fill="#A80036" points="1158,617.6875,1168,621.6875,1158,625.6875,1162,621.6875" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="1047" x2="1164" y1="621.6875" y2="621.6875"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="99" x="1054" y="616.6216">Store new time</text><polygon fill="#A80036" points="1227,646.8203,1237,650.8203,1227,654.8203,1231,650.8203" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="1047" x2="1233" y1="650.8203" y2="650.8203"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="168" x="1054" y="645.7544">Time updated notification</text><!--MD5=[cc510ad7b2eefb15d12f2c7123c69107]
<?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="707px" preserveAspectRatio="none" style="width:1292px;height:707px;background:#F0F0F0;" version="1.1" viewBox="0 0 1292 707" width="1292px" zoomAndPan="magnify"><defs><filter height="300%" id="fwfcaf6eu4ljo" 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><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="67" x2="67" y1="38.2969" y2="666.8203"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="518" x2="518" y1="38.2969" y2="666.8203"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="635" x2="635" y1="38.2969" y2="666.8203"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="797" x2="797" y1="38.2969" y2="666.8203"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="906" x2="906" y1="38.2969" y2="666.8203"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="1054" x2="1054" y1="38.2969" y2="666.8203"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="1190" x2="1190" y1="38.2969" y2="666.8203"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="1256" x2="1256" y1="38.2969" y2="666.8203"/><rect fill="#FEFECE" filter="url(#fwfcaf6eu4ljo)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="114" x="8" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="100" x="15" y="22.9951">ServiceCellular</text><rect fill="#FEFECE" filter="url(#fwfcaf6eu4ljo)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="114" x="8" y="665.8203"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="100" x="15" y="685.8154">ServiceCellular</text><rect fill="#FEFECE" filter="url(#fwfcaf6eu4ljo)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="98" x="467" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="84" x="474" y="22.9951">ServiceTime</text><rect fill="#FEFECE" filter="url(#fwfcaf6eu4ljo)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="98" x="467" y="665.8203"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="84" x="474" y="685.8154">ServiceTime</text><rect fill="#FEFECE" filter="url(#fwfcaf6eu4ljo)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="108" x="579" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="94" x="586" y="22.9951">TimeManager</text><rect fill="#FEFECE" filter="url(#fwfcaf6eu4ljo)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="108" x="579" y="665.8203"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="94" x="586" y="685.8154">TimeManager</text><rect fill="#FEFECE" filter="url(#fwfcaf6eu4ljo)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="98" x="746" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="84" x="753" y="22.9951">SettingsApp</text><rect fill="#FEFECE" filter="url(#fwfcaf6eu4ljo)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="98" x="746" y="665.8203"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="84" x="753" y="685.8154">SettingsApp</text><rect fill="#FEFECE" filter="url(#fwfcaf6eu4ljo)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="92" x="858" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="78" x="865" y="22.9951">SettingsDB</text><rect fill="#FEFECE" filter="url(#fwfcaf6eu4ljo)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="92" x="858" y="665.8203"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="78" x="865" y="685.8154">SettingsDB</text><rect fill="#FEFECE" filter="url(#fwfcaf6eu4ljo)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="176" x="964" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="162" x="971" y="22.9951">EventManagerCommon</text><rect fill="#FEFECE" filter="url(#fwfcaf6eu4ljo)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="176" x="964" y="665.8203"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="162" x="971" y="685.8154">EventManagerCommon</text><rect fill="#FEFECE" filter="url(#fwfcaf6eu4ljo)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="69" x="1154" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="55" x="1161" y="22.9951">bspRTC</text><rect fill="#FEFECE" filter="url(#fwfcaf6eu4ljo)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="69" x="1154" y="665.8203"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="55" x="1161" y="685.8154">bspRTC</text><rect fill="#FEFECE" filter="url(#fwfcaf6eu4ljo)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="34" x="1237" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="20" x="1244" y="22.9951">OS</text><rect fill="#FEFECE" filter="url(#fwfcaf6eu4ljo)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="34" x="1237" y="665.8203"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="20" x="1244" y="685.8154">OS</text><rect fill="#EEEEEE" filter="url(#fwfcaf6eu4ljo)" height="3" style="stroke: #EEEEEE; stroke-width: 1.0;" width="1277" x="3" y="68.8633"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="1280" y1="68.8633" y2="68.8633"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="1280" y1="71.8633" y2="71.8633"/><rect fill="#EEEEEE" filter="url(#fwfcaf6eu4ljo)" height="23.1328" style="stroke: #000000; stroke-width: 2.0;" width="222" x="530.5" y="58.2969"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="203" x="536.5" y="74.3638">Network time sync enabled</text><polygon fill="#A80036" points="78,108.5625,68,112.5625,78,116.5625,74,112.5625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="72" x2="517" y1="112.5625" y2="112.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="427" x="84" y="107.4966">Settings: Network time synchronisation Network time sync enabled</text><polygon fill="#A80036" points="506,137.6953,516,141.6953,506,145.6953,510,141.6953" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="67" x2="512" y1="141.6953" y2="141.6953"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="194" x="74" y="136.6294">CTZE notification: time update</text><polygon fill="#A80036" points="623,166.8281,633,170.8281,623,174.8281,627,170.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="518" x2="629" y1="170.8281" y2="170.8281"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="80" x="525" y="165.7622">Update time</text><polygon fill="#A80036" points="1042,195.9609,1052,199.9609,1042,203.9609,1046,199.9609" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="635" x2="1048" y1="199.9609" y2="199.9609"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="97" x="642" y="194.895">Store new time</text><polygon fill="#A80036" points="1178.5,225.0938,1188.5,229.0938,1178.5,233.0938,1182.5,229.0938" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="1054" x2="1184.5" y1="229.0938" y2="229.0938"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="97" x="1061" y="224.0278">Store new time</text><polygon fill="#A80036" points="1244,254.2266,1254,258.2266,1244,262.2266,1248,258.2266" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="1054" x2="1250" y1="258.2266" y2="258.2266"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="162" x="1061" y="253.1606">Time updated notification</text><rect fill="#EEEEEE" filter="url(#fwfcaf6eu4ljo)" height="3" style="stroke: #EEEEEE; stroke-width: 1.0;" width="1277" x="3" y="286.793"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="1280" y1="286.793" y2="286.793"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="1280" y1="289.793" y2="289.793"/><rect fill="#EEEEEE" filter="url(#fwfcaf6eu4ljo)" height="23.1328" style="stroke: #000000; stroke-width: 2.0;" width="386" x="448.5" y="276.2266"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="367" x="454.5" y="292.2935">Disabling / Enabling Network time synchonisation</text><polygon fill="#A80036" points="529,326.4922,519,330.4922,529,334.4922,525,330.4922" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="523" x2="796" y1="330.4922" y2="330.4922"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="255" x="535" y="325.4263">Time synchronisation disabled / enabled</text><polygon fill="#A80036" points="894,355.625,904,359.625,894,363.625,898,359.625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="518" x2="900" y1="359.625" y2="359.625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="119" x="525" y="354.5591">Store new settings</text><polygon fill="#A80036" points="529,384.7578,519,388.7578,529,392.7578,525,388.7578" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="523" x2="905" y1="388.7578" y2="388.7578"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="91" x="535" y="383.6919">Setting stored</text><polygon fill="#A80036" points="78,413.8906,68,417.8906,78,421.8906,74,417.8906" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="72" x2="517" y1="417.8906" y2="417.8906"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="105" x="84" y="412.8247">Setting changed</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="67" x2="109" y1="447.0234" y2="447.0234"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="109" x2="109" y1="447.0234" y2="460.0234"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="68" x2="109" y1="460.0234" y2="460.0234"/><polygon fill="#A80036" points="78,456.0234,68,460.0234,78,464.0234,74,460.0234" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="428" x="74" y="441.9575">handle settings changed ( Enable / Disable Network time reporting)</text><rect fill="#EEEEEE" filter="url(#fwfcaf6eu4ljo)" height="3" style="stroke: #EEEEEE; stroke-width: 1.0;" width="1277" x="3" y="488.5898"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="1280" y1="488.5898" y2="488.5898"/><line style="stroke: #000000; stroke-width: 1.0;" x1="3" x2="1280" y1="491.5898" y2="491.5898"/><rect fill="#EEEEEE" filter="url(#fwfcaf6eu4ljo)" height="23.1328" style="stroke: #000000; stroke-width: 2.0;" width="523" x="380" y="478.0234"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="509" x="386" y="494.0903">Network time synchronisation disabled, manually setting date / time</text><polygon fill="#A80036" points="529,528.2891,519,532.2891,529,536.2891,525,532.2891" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="523" x2="796" y1="532.2891" y2="532.2891"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="139" x="535" y="527.2231">New date / time is set</text><polygon fill="#A80036" points="623,557.4219,633,561.4219,623,565.4219,627,561.4219" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="518" x2="629" y1="561.4219" y2="561.4219"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="80" x="525" y="556.356">Update time</text><polygon fill="#A80036" points="1042,586.5547,1052,590.5547,1042,594.5547,1046,590.5547" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="635" x2="1048" y1="590.5547" y2="590.5547"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="97" x="642" y="585.4888">Store new time</text><polygon fill="#A80036" points="1178.5,615.6875,1188.5,619.6875,1178.5,623.6875,1182.5,619.6875" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="1054" x2="1184.5" y1="619.6875" y2="619.6875"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="97" x="1061" y="614.6216">Store new time</text><polygon fill="#A80036" points="1244,644.8203,1254,648.8203,1244,652.8203,1248,648.8203" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="1054" x2="1250" y1="648.8203" y2="648.8203"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="162" x="1061" y="643.7544">Time updated notification</text><!--MD5=[7985ec195438657ab028db65b70a084e]
@startuml
skinparam BackgroundColor F0F0F0
participant ServiceCellular as cellular
participant ServiceTime as time
participant TimeManager as manager
participant SettingsApp as settings
participant SettingsDB as db
participant EventManager as event
participant EventManagerCommon as event
participant bspRTC as rtc
participant OS as os



@@ 35,12 36,14 @@ event -> os : Time updated notification


@enduml

PlantUML version 1.2021.5(Sun Apr 25 13:20:28 CEST 2021)
(GPL source distribution)
Java Runtime: OpenJDK Runtime Environment
JVM: Dynamic Code Evolution 64-Bit Server VM
Default Encoding: UTF-8
Language: pl
Country: PL

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>
\ No newline at end of file

M module-sys/SystemManager/doc/data/CpuFreqChangeAlgorithm.puml => module-sys/SystemManager/doc/data/CpuFreqChangeAlgorithm.puml +2 -1
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0
start

if (cpuLoad > frequencyShiftUpperThreshold) then (yes) 


@@ 37,4 38,4 @@ else (no)
endif

stop
@enduml
\ No newline at end of file
@enduml

M module-sys/SystemManager/doc/data/CpuFreqChangeAlgorithm.svg => module-sys/SystemManager/doc/data/CpuFreqChangeAlgorithm.svg +36 -35
@@ 1,52 1,53 @@
<?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="611px" preserveAspectRatio="none" style="width:723px;height:611px;" version="1.1" viewBox="0 0 723 611" width="723px" zoomAndPan="magnify"><defs><filter height="300%" id="f4w1gyh31egl9" 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><ellipse cx="289.75" cy="20" fill="#000000" filter="url(#f4w1gyh31egl9)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f4w1gyh31egl9)" points="171.25,50,408.25,50,420.25,62,408.25,74,171.25,74,159.25,62,171.25,50" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="237" x="171.25" y="65.8081">cpuLoad &gt; frequencyShiftUpperThreshold</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="139.25" y="59.4058">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="420.25" y="59.4058">no</text><rect fill="#FEFECE" filter="url(#f4w1gyh31egl9)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="194" x="10" y="84"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="170" x="24" y="105.1387">aboveThresholdCounter++</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="174" x="20" y="119.1074">belowThresholdCounter = 0</text><polygon fill="#FEFECE" filter="url(#f4w1gyh31egl9)" points="354,84,591,84,603,96,591,108,354,108,342,96,354,84" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="237" x="354" y="99.8081">cpuLoad &lt; frequencyShiftLowerThreshold</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="322" y="93.4058">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="603" y="93.4058">no</text><rect fill="#FEFECE" filter="url(#f4w1gyh31egl9)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="196" x="234" y="118"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="168" x="248" y="139.1387">belowThresholdCounter++</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="176" x="244" y="153.1074">aboveThresholdCounter = 0</text><rect fill="#FEFECE" filter="url(#f4w1gyh31egl9)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="198" x="514" y="118"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="174" x="528" y="139.1387">belowThresholdCounter = 0</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="176" x="524" y="153.1074">aboveThresholdCounter = 0</text><polygon fill="#FEFECE" filter="url(#f4w1gyh31egl9)" points="472.5,171.9375,484.5,183.9375,472.5,195.9375,460.5,183.9375,472.5,171.9375" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#f4w1gyh31egl9)" points="289.75,201.9375,301.75,213.9375,289.75,225.9375,277.75,213.9375,289.75,201.9375" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#f4w1gyh31egl9)" points="134.75,245.9375,444.75,245.9375,456.75,277.9492,444.75,309.9609,134.75,309.9609,122.75,277.9492,134.75,245.9375" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="0" x="138.75" y="256.1479"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="310" x="134.75" y="268.9526">aboveThresholdCounter &gt;= maxAboveThresholdCount</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="12" x="134.75" y="281.7573">or</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="277" x="134.75" y="294.562">minFrequencyRequested &gt; currentCpuFrequency</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="0" x="138.75" y="307.3667"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="102.75" y="275.355">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="456.75" y="275.355">no</text><rect fill="#FEFECE" filter="url(#f4w1gyh31egl9)" height="75.875" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="196" x="14.75" y="319.9609"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="153" x="28.75" y="341.0996">IncreaseCpuFrequency()</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="0" x="28.75" y="355.0684"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="174" x="24.75" y="369.0371">belowThresholdCounter = 0</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="176" x="24.75" y="383.0059">aboveThresholdCounter = 0</text><rect fill="#FEFECE" filter="url(#f4w1gyh31egl9)" height="75.875" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="196" x="368.75" y="408.3867"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="159" x="382.75" y="429.5254">DecreaseCpuFrequency()</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="0" x="382.75" y="443.4941"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="174" x="378.75" y="457.4629">belowThresholdCounter = 0</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="176" x="378.75" y="471.4316">aboveThresholdCounter = 0</text><polygon fill="#FEFECE" filter="url(#f4w1gyh31egl9)" points="312.25,319.9609,621.25,319.9609,633.25,351.9727,621.25,383.9844,312.25,383.9844,300.25,351.9727,312.25,319.9609" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="470.75" y="394.1948">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="0" x="316.25" y="330.1714"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="309" x="312.25" y="342.9761">belowThresholdCounter &gt;= maxBelowThresholdCount</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="21" x="312.25" y="355.7808">and</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="244" x="312.25" y="368.5854">currentCpuFreq &gt; minFrequencyRequested</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="0" x="316.25" y="381.3901"/><polygon fill="#FEFECE" filter="url(#f4w1gyh31egl9)" points="466.75,504.2617,478.75,516.2617,466.75,528.2617,454.75,516.2617,466.75,504.2617" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#f4w1gyh31egl9)" points="289.75,534.2617,301.75,546.2617,289.75,558.2617,277.75,546.2617,289.75,534.2617" style="stroke: #A80036; stroke-width: 1.5;"/><ellipse cx="289.75" cy="589.2617" fill="#FFFFFF" filter="url(#f4w1gyh31egl9)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="289.75" cy="589.2617" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="342" x2="332" y1="96" y2="96"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="332" x2="332" y1="96" y2="118"/><polygon fill="#A80036" points="328,108,332,118,336,108,332,112" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="603" x2="613" y1="96" y2="96"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="613" x2="613" y1="96" y2="118"/><polygon fill="#A80036" points="609,108,613,118,617,108,613,112" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="332" x2="332" y1="165.9375" y2="183.9375"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="332" x2="460.5" y1="183.9375" y2="183.9375"/><polygon fill="#A80036" points="450.5,179.9375,460.5,183.9375,450.5,187.9375,454.5,183.9375" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="613" x2="613" y1="165.9375" y2="183.9375"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="613" x2="484.5" y1="183.9375" y2="183.9375"/><polygon fill="#A80036" points="494.5,179.9375,484.5,183.9375,494.5,187.9375,490.5,183.9375" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="159.25" x2="107" y1="62" y2="62"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="107" x2="107" y1="62" y2="84"/><polygon fill="#A80036" points="103,74,107,84,111,74,107,78" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="420.25" x2="472.5" y1="62" y2="62"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="472.5" x2="472.5" y1="62" y2="84"/><polygon fill="#A80036" points="468.5,74,472.5,84,476.5,74,472.5,78" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="107" x2="107" y1="131.9375" y2="213.9375"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="107" x2="277.75" y1="213.9375" y2="213.9375"/><polygon fill="#A80036" points="267.75,209.9375,277.75,213.9375,267.75,217.9375,271.75,213.9375" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="472.5" x2="472.5" y1="195.9375" y2="213.9375"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="472.5" x2="301.75" y1="213.9375" y2="213.9375"/><polygon fill="#A80036" points="311.75,209.9375,301.75,213.9375,311.75,217.9375,307.75,213.9375" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="289.75" x2="289.75" y1="30" y2="50"/><polygon fill="#A80036" points="285.75,40,289.75,50,293.75,40,289.75,44" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="466.75" x2="466.75" y1="383.9844" y2="408.3867"/><polygon fill="#A80036" points="462.75,398.3867,466.75,408.3867,470.75,398.3867,466.75,402.3867" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="633.25" x2="645.25" y1="351.9727" y2="351.9727"/><polygon fill="#A80036" points="641.25,426.3184,645.25,436.3184,649.25,426.3184,645.25,430.3184" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="645.25" x2="645.25" y1="351.9727" y2="516.2617"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="645.25" x2="478.75" y1="516.2617" y2="516.2617"/><polygon fill="#A80036" points="488.75,512.2617,478.75,516.2617,488.75,520.2617,484.75,516.2617" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="466.75" x2="466.75" y1="484.2617" y2="504.2617"/><polygon fill="#A80036" points="462.75,494.2617,466.75,504.2617,470.75,494.2617,466.75,498.2617" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="122.75" x2="112.75" y1="277.9492" y2="277.9492"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="112.75" x2="112.75" y1="277.9492" y2="319.9609"/><polygon fill="#A80036" points="108.75,309.9609,112.75,319.9609,116.75,309.9609,112.75,313.9609" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="456.75" x2="466.75" y1="277.9492" y2="277.9492"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="466.75" x2="466.75" y1="277.9492" y2="319.9609"/><polygon fill="#A80036" points="462.75,309.9609,466.75,319.9609,470.75,309.9609,466.75,313.9609" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="112.75" x2="112.75" y1="395.8359" y2="546.2617"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="112.75" x2="277.75" y1="546.2617" y2="546.2617"/><polygon fill="#A80036" points="267.75,542.2617,277.75,546.2617,267.75,550.2617,271.75,546.2617" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="466.75" x2="466.75" y1="528.2617" y2="546.2617"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="466.75" x2="301.75" y1="546.2617" y2="546.2617"/><polygon fill="#A80036" points="311.75,542.2617,301.75,546.2617,311.75,550.2617,307.75,546.2617" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="289.75" x2="289.75" y1="225.9375" y2="245.9375"/><polygon fill="#A80036" points="285.75,235.9375,289.75,245.9375,293.75,235.9375,289.75,239.9375" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="289.75" x2="289.75" y1="558.2617" y2="578.2617"/><polygon fill="#A80036" points="285.75,568.2617,289.75,578.2617,293.75,568.2617,289.75,572.2617" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[ee2983799085d65f96fa6af7dcfc3842]
<?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="611px" preserveAspectRatio="none" style="width:726px;height:611px;background:#F0F0F0;" version="1.1" viewBox="0 0 726 611" width="726px" zoomAndPan="magnify"><defs><filter height="300%" id="f8fbiokax246m" 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><ellipse cx="289.25" cy="20" fill="#000000" filter="url(#f8fbiokax246m)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f8fbiokax246m)" points="171.75,50,406.75,50,418.75,62,406.75,74,171.75,74,159.75,62,171.75,50" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="235" x="171.75" y="65.8081">cpuLoad &gt; frequencyShiftUpperThreshold</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="139.75" y="59.4058">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="418.75" y="59.4058">no</text><rect fill="#FEFECE" filter="url(#f8fbiokax246m)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="194" x="10" y="84"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="170" x="24" y="105.1387">aboveThresholdCounter++</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="174" x="20" y="119.1074">belowThresholdCounter = 0</text><polygon fill="#FEFECE" filter="url(#f8fbiokax246m)" points="354,84,589,84,601,96,589,108,354,108,342,96,354,84" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="235" x="354" y="99.8081">cpuLoad &lt; frequencyShiftLowerThreshold</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="322" y="93.4058">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="601" y="93.4058">no</text><rect fill="#FEFECE" filter="url(#f8fbiokax246m)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="196" x="234" y="118"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="168" x="248" y="139.1387">belowThresholdCounter++</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="176" x="244" y="153.1074">aboveThresholdCounter = 0</text><rect fill="#FEFECE" filter="url(#f8fbiokax246m)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="208" x="507" y="118"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="174" x="521" y="139.1387">belowThresholdCounter = 0</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="180" x="521" y="153.1074">aboveThresholdCounter = 0;</text><polygon fill="#FEFECE" filter="url(#f8fbiokax246m)" points="471.5,171.9375,483.5,183.9375,471.5,195.9375,459.5,183.9375,471.5,171.9375" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#f8fbiokax246m)" points="289.25,201.9375,301.25,213.9375,289.25,225.9375,277.25,213.9375,289.25,201.9375" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#f8fbiokax246m)" points="130.75,245.9375,447.75,245.9375,459.75,277.9492,447.75,309.9609,130.75,309.9609,118.75,277.9492,130.75,245.9375" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="0" x="133.75" y="256.1479"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="308" x="139.75" y="268.9526">aboveThresholdCounter &gt;= maxAboveThresholdCount</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="12" x="139.75" y="281.7573">or</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="275" x="139.75" y="294.562">minFrequencyRequested &gt; currentCpuFrequency</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="0" x="139.75" y="307.3667"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="98.75" y="275.355">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="459.75" y="275.355">no</text><rect fill="#FEFECE" filter="url(#f8fbiokax246m)" height="75.875" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="196" x="10.75" y="319.9609"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="153" x="24.75" y="341.0996">IncreaseCpuFrequency()</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="0" x="24.75" y="355.0684"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="174" x="20.75" y="369.0371">belowThresholdCounter = 0</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="176" x="20.75" y="383.0059">aboveThresholdCounter = 0</text><rect fill="#FEFECE" filter="url(#f8fbiokax246m)" height="75.875" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="196" x="371.75" y="408.3867"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="159" x="385.75" y="429.5254">DecreaseCpuFrequency()</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="0" x="385.75" y="443.4941"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="174" x="381.75" y="457.4629">belowThresholdCounter = 0</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="176" x="381.75" y="471.4316">aboveThresholdCounter = 0</text><polygon fill="#FEFECE" filter="url(#f8fbiokax246m)" points="311.75,319.9609,627.75,319.9609,639.75,351.9727,627.75,383.9844,311.75,383.9844,299.75,351.9727,311.75,319.9609" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="473.75" y="394.1948">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="0" x="314.75" y="330.1714"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="307" x="320.75" y="342.9761">belowThresholdCounter &gt;= maxBelowThresholdCount</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="21" x="320.75" y="355.7808">and</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="242" x="320.75" y="368.5854">currentCpuFreq &gt; minFrequencyRequested</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="0" x="320.75" y="381.3901"/><polygon fill="#FEFECE" filter="url(#f8fbiokax246m)" points="469.75,504.2617,481.75,516.2617,469.75,528.2617,457.75,516.2617,469.75,504.2617" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#f8fbiokax246m)" points="289.25,534.2617,301.25,546.2617,289.25,558.2617,277.25,546.2617,289.25,534.2617" style="stroke: #A80036; stroke-width: 1.5;"/><ellipse cx="289.25" cy="589.2617" fill="#FFFFFF" filter="url(#f8fbiokax246m)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="289.25" cy="589.2617" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="342" x2="332" y1="96" y2="96"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="332" x2="332" y1="96" y2="118"/><polygon fill="#A80036" points="328,108,332,118,336,108,332,112" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="601" x2="611" y1="96" y2="96"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="611" x2="611" y1="96" y2="118"/><polygon fill="#A80036" points="607,108,611,118,615,108,611,112" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="332" x2="332" y1="165.9375" y2="183.9375"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="332" x2="459.5" y1="183.9375" y2="183.9375"/><polygon fill="#A80036" points="449.5,179.9375,459.5,183.9375,449.5,187.9375,453.5,183.9375" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="611" x2="611" y1="165.9375" y2="183.9375"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="611" x2="483.5" y1="183.9375" y2="183.9375"/><polygon fill="#A80036" points="493.5,179.9375,483.5,183.9375,493.5,187.9375,489.5,183.9375" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="159.75" x2="107" y1="62" y2="62"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="107" x2="107" y1="62" y2="84"/><polygon fill="#A80036" points="103,74,107,84,111,74,107,78" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="418.75" x2="471.5" y1="62" y2="62"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="471.5" x2="471.5" y1="62" y2="84"/><polygon fill="#A80036" points="467.5,74,471.5,84,475.5,74,471.5,78" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="107" x2="107" y1="131.9375" y2="213.9375"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="107" x2="277.25" y1="213.9375" y2="213.9375"/><polygon fill="#A80036" points="267.25,209.9375,277.25,213.9375,267.25,217.9375,271.25,213.9375" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="471.5" x2="471.5" y1="195.9375" y2="213.9375"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="471.5" x2="301.25" y1="213.9375" y2="213.9375"/><polygon fill="#A80036" points="311.25,209.9375,301.25,213.9375,311.25,217.9375,307.25,213.9375" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="289.25" x2="289.25" y1="30" y2="50"/><polygon fill="#A80036" points="285.25,40,289.25,50,293.25,40,289.25,44" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="469.75" x2="469.75" y1="383.9844" y2="408.3867"/><polygon fill="#A80036" points="465.75,398.3867,469.75,408.3867,473.75,398.3867,469.75,402.3867" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="639.75" x2="651.75" y1="351.9727" y2="351.9727"/><polygon fill="#A80036" points="647.75,426.3184,651.75,436.3184,655.75,426.3184,651.75,430.3184" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="651.75" x2="651.75" y1="351.9727" y2="516.2617"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="651.75" x2="481.75" y1="516.2617" y2="516.2617"/><polygon fill="#A80036" points="491.75,512.2617,481.75,516.2617,491.75,520.2617,487.75,516.2617" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="469.75" x2="469.75" y1="484.2617" y2="504.2617"/><polygon fill="#A80036" points="465.75,494.2617,469.75,504.2617,473.75,494.2617,469.75,498.2617" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="118.75" x2="108.75" y1="277.9492" y2="277.9492"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="108.75" x2="108.75" y1="277.9492" y2="319.9609"/><polygon fill="#A80036" points="104.75,309.9609,108.75,319.9609,112.75,309.9609,108.75,313.9609" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="459.75" x2="469.75" y1="277.9492" y2="277.9492"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="469.75" x2="469.75" y1="277.9492" y2="319.9609"/><polygon fill="#A80036" points="465.75,309.9609,469.75,319.9609,473.75,309.9609,469.75,313.9609" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="108.75" x2="108.75" y1="395.8359" y2="546.2617"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="108.75" x2="277.25" y1="546.2617" y2="546.2617"/><polygon fill="#A80036" points="267.25,542.2617,277.25,546.2617,267.25,550.2617,271.25,546.2617" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="469.75" x2="469.75" y1="528.2617" y2="546.2617"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="469.75" x2="301.25" y1="546.2617" y2="546.2617"/><polygon fill="#A80036" points="311.25,542.2617,301.25,546.2617,311.25,550.2617,307.25,546.2617" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="289.25" x2="289.25" y1="225.9375" y2="245.9375"/><polygon fill="#A80036" points="285.25,235.9375,289.25,245.9375,293.25,235.9375,289.25,239.9375" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="289.25" x2="289.25" y1="558.2617" y2="578.2617"/><polygon fill="#A80036" points="285.25,568.2617,289.25,578.2617,293.25,568.2617,289.25,572.2617" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[f5e1e7fdded37c9369d3b73909c0243c]
@startuml
skinparam BackgroundColor F0F0F0
start

if (cpuLoad > frequencyShiftUpperThreshold) then (yes)
: aboveThresholdCounter++
belowThresholdCounter = 0;
if (cpuLoad > frequencyShiftUpperThreshold) then (yes) 
  : aboveThresholdCounter++
  belowThresholdCounter = 0;
else (no)
if (cpuLoad < frequencyShiftLowerThreshold) then (yes)
: belowThresholdCounter++
aboveThresholdCounter = 0;
else (no)
: belowThresholdCounter = 0
aboveThresholdCounter = 0;
endif
  if (cpuLoad < frequencyShiftLowerThreshold) then (yes)
    : belowThresholdCounter++
    aboveThresholdCounter = 0;
  else (no)
  	: belowThresholdCounter = 0
    aboveThresholdCounter = 0;  
  endif
endif

if (
aboveThresholdCounter >= maxAboveThresholdCount
or
minFrequencyRequested > currentCpuFrequency
) then (yes)
: IncreaseCpuFrequency()

belowThresholdCounter = 0
aboveThresholdCounter = 0;
else (no)
if (
belowThresholdCounter >= maxBelowThresholdCount
and
currentCpuFreq > minFrequencyRequested
) then (yes)
: DecreaseCpuFrequency()

belowThresholdCounter = 0
aboveThresholdCounter = 0;
endif
   aboveThresholdCounter >= maxAboveThresholdCount
   or
   minFrequencyRequested > currentCpuFrequency
   ) then (yes)
  : IncreaseCpuFrequency()
  
  belowThresholdCounter = 0
  aboveThresholdCounter = 0;
else (no) 
   if (
   belowThresholdCounter >= maxBelowThresholdCount
   and
   currentCpuFreq > minFrequencyRequested
   ) then (yes)
  : DecreaseCpuFrequency()
  
  belowThresholdCounter = 0
  aboveThresholdCounter = 0;
  endif
endif

stop
@enduml

PlantUML version 1.2019.11(Sun Sep 22 12:02:15 CEST 2019)
(EPL source distribution)
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: 14.0.2+12-46
Java Version: 11.0.12+7-post-Debian-2
Operating System: Linux
Default Encoding: UTF-8
Language: pl
Country: PL
Language: en
Country: US
--></g></svg>
\ No newline at end of file

M module-sys/SystemManager/doc/data/CpuFrequencyUpdate.puml => module-sys/SystemManager/doc/data/CpuFrequencyUpdate.puml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0

PowerManager -> CpuGovernor : GetMinimumFrequencyRequested
CpuGovernor --> PowerManager : minimumFrequency

M module-sys/SystemManager/doc/data/CpuFrequencyUpdate.svg => module-sys/SystemManager/doc/data/CpuFrequencyUpdate.svg +7 -6
@@ 1,5 1,6 @@
<?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="339px" preserveAspectRatio="none" style="width:883px;height:339px;" version="1.1" viewBox="0 0 883 339" width="883px" zoomAndPan="magnify"><defs><filter height="300%" id="f4w29l22zrjdz" 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><line style="stroke: #A80036; stroke-width: 1.0;" x1="68" x2="68" y1="38.2969" y2="106.5625"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="68" x2="68" y1="106.5625" y2="147.3672"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="68" x2="68" y1="147.3672" y2="299.0313"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="308.5" x2="308.5" y1="38.2969" y2="106.5625"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="308.5" x2="308.5" y1="106.5625" y2="147.3672"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="308.5" x2="308.5" y1="147.3672" y2="299.0313"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="505.5" x2="505.5" y1="38.2969" y2="106.5625"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="505.5" x2="505.5" y1="106.5625" y2="147.3672"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="505.5" x2="505.5" y1="147.3672" y2="299.0313"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="627.5" x2="627.5" y1="38.2969" y2="106.5625"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="627.5" x2="627.5" y1="106.5625" y2="147.3672"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="627.5" x2="627.5" y1="147.3672" y2="299.0313"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="735.5" x2="735.5" y1="38.2969" y2="106.5625"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="735.5" x2="735.5" y1="106.5625" y2="147.3672"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="735.5" x2="735.5" y1="147.3672" y2="299.0313"/><rect fill="#FEFECE" filter="url(#f4w29l22zrjdz)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="117" x="8" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="103" x="15" y="22.9951">PowerManager</text><rect fill="#FEFECE" filter="url(#f4w29l22zrjdz)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="117" x="8" y="298.0313"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="103" x="15" y="318.0264">PowerManager</text><rect fill="#FEFECE" filter="url(#f4w29l22zrjdz)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="106" x="253.5" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="92" x="260.5" y="22.9951">CpuGovernor</text><rect fill="#FEFECE" filter="url(#f4w29l22zrjdz)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="106" x="253.5" y="298.0313"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="92" x="260.5" y="318.0264">CpuGovernor</text><rect fill="#FEFECE" filter="url(#f4w29l22zrjdz)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="118" x="444.5" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="104" x="451.5" y="22.9951">cellularSentinel</text><rect fill="#FEFECE" filter="url(#f4w29l22zrjdz)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="118" x="444.5" y="298.0313"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="104" x="451.5" y="318.0264">cellularSentinel</text><rect fill="#FEFECE" filter="url(#f4w29l22zrjdz)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="99" x="576.5" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="85" x="583.5" y="22.9951">eInkSentinel</text><rect fill="#FEFECE" filter="url(#f4w29l22zrjdz)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="99" x="576.5" y="298.0313"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="85" x="583.5" y="318.0264">eInkSentinel</text><rect fill="#FEFECE" filter="url(#f4w29l22zrjdz)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="88" x="689.5" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="74" x="696.5" y="22.9951">DriverPWM</text><rect fill="#FEFECE" filter="url(#f4w29l22zrjdz)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="88" x="689.5" y="298.0313"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="74" x="696.5" y="318.0264">DriverPWM</text><polygon fill="#A80036" points="296.5,65.4297,306.5,69.4297,296.5,73.4297,300.5,69.4297" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="68.5" x2="302.5" y1="69.4297" y2="69.4297"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="216" x="75.5" y="64.3638">GetMinimumFrequencyRequested</text><polygon fill="#A80036" points="79.5,94.5625,69.5,98.5625,79.5,102.5625,75.5,98.5625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="73.5" x2="307.5" y1="98.5625" y2="98.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="127" x="85.5" y="93.4966">minimumFrequency</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="128" x="338" y="130.7729">CPU frequency change</text><polygon fill="#A80036" points="296.5,164.5,306.5,168.5,296.5,172.5,300.5,168.5" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="68.5" x2="302.5" y1="168.5" y2="168.5"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="173" x="75.5" y="163.4341">CpuFrequencyHasChanged</text><polygon fill="#A80036" points="493.5,193.6328,503.5,197.6328,493.5,201.6328,497.5,197.6328" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="308.5" x2="499.5" y1="197.6328" y2="197.6328"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="173" x="315.5" y="192.5669">CpuFrequencyHasChanged</text><polygon fill="#A80036" points="616,222.7656,626,226.7656,616,230.7656,620,226.7656" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="308.5" x2="622" y1="226.7656" y2="226.7656"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="173" x="315.5" y="221.6997">CpuFrequencyHasChanged</text><polygon fill="#A80036" points="723.5,264.4648,733.5,268.4648,723.5,272.4648,727.5,268.4648" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="628" x2="729.5" y1="268.4648" y2="268.4648"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="75" x="635" y="263.3989">updatePWM</text><path d="M740,239.7656 L740,279.7656 L871,279.7656 L871,249.7656 L861,239.7656 L740,239.7656 " fill="#FBFB77" filter="url(#f4w29l22zrjdz)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M861,239.7656 L861,249.7656 L871,249.7656 L861,239.7656 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="98" x="746" y="256.8325">Critical section!</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="110" x="746" y="271.9653">mutex necessary</text><!--MD5=[6c4788b841e800cf870b69c0ce829c52]
<?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="339px" preserveAspectRatio="none" style="width:883px;height:339px;background:#F0F0F0;" version="1.1" viewBox="0 0 883 339" width="883px" zoomAndPan="magnify"><defs><filter height="300%" id="fk8nmres0uutt" 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><line style="stroke: #A80036; stroke-width: 1.0;" x1="68" x2="68" y1="38.2969" y2="106.5625"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="68" x2="68" y1="106.5625" y2="147.3672"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="68" x2="68" y1="147.3672" y2="299.0313"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="308.5" x2="308.5" y1="38.2969" y2="106.5625"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="308.5" x2="308.5" y1="106.5625" y2="147.3672"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="308.5" x2="308.5" y1="147.3672" y2="299.0313"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="505.5" x2="505.5" y1="38.2969" y2="106.5625"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="505.5" x2="505.5" y1="106.5625" y2="147.3672"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="505.5" x2="505.5" y1="147.3672" y2="299.0313"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="627.5" x2="627.5" y1="38.2969" y2="106.5625"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="627.5" x2="627.5" y1="106.5625" y2="147.3672"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="627.5" x2="627.5" y1="147.3672" y2="299.0313"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="735.5" x2="735.5" y1="38.2969" y2="106.5625"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,4.0;" x1="735.5" x2="735.5" y1="106.5625" y2="147.3672"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="735.5" x2="735.5" y1="147.3672" y2="299.0313"/><rect fill="#FEFECE" filter="url(#fk8nmres0uutt)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="117" x="8" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="103" x="15" y="22.9951">PowerManager</text><rect fill="#FEFECE" filter="url(#fk8nmres0uutt)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="117" x="8" y="298.0313"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="103" x="15" y="318.0264">PowerManager</text><rect fill="#FEFECE" filter="url(#fk8nmres0uutt)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="106" x="253.5" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="92" x="260.5" y="22.9951">CpuGovernor</text><rect fill="#FEFECE" filter="url(#fk8nmres0uutt)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="106" x="253.5" y="298.0313"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="92" x="260.5" y="318.0264">CpuGovernor</text><rect fill="#FEFECE" filter="url(#fk8nmres0uutt)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="118" x="444.5" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="104" x="451.5" y="22.9951">cellularSentinel</text><rect fill="#FEFECE" filter="url(#fk8nmres0uutt)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="118" x="444.5" y="298.0313"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="104" x="451.5" y="318.0264">cellularSentinel</text><rect fill="#FEFECE" filter="url(#fk8nmres0uutt)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="99" x="576.5" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="85" x="583.5" y="22.9951">eInkSentinel</text><rect fill="#FEFECE" filter="url(#fk8nmres0uutt)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="99" x="576.5" y="298.0313"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="85" x="583.5" y="318.0264">eInkSentinel</text><rect fill="#FEFECE" filter="url(#fk8nmres0uutt)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="88" x="689.5" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="74" x="696.5" y="22.9951">DriverPWM</text><rect fill="#FEFECE" filter="url(#fk8nmres0uutt)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="88" x="689.5" y="298.0313"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="74" x="696.5" y="318.0264">DriverPWM</text><polygon fill="#A80036" points="296.5,65.4297,306.5,69.4297,296.5,73.4297,300.5,69.4297" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="68.5" x2="302.5" y1="69.4297" y2="69.4297"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="216" x="75.5" y="64.3638">GetMinimumFrequencyRequested</text><polygon fill="#A80036" points="79.5,94.5625,69.5,98.5625,79.5,102.5625,75.5,98.5625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 2.0,2.0;" x1="73.5" x2="307.5" y1="98.5625" y2="98.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="127" x="85.5" y="93.4966">minimumFrequency</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="126" x="339" y="130.7729">CPU frequency change</text><polygon fill="#A80036" points="296.5,164.5,306.5,168.5,296.5,172.5,300.5,168.5" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="68.5" x2="302.5" y1="168.5" y2="168.5"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="173" x="75.5" y="163.4341">CpuFrequencyHasChanged</text><polygon fill="#A80036" points="493.5,193.6328,503.5,197.6328,493.5,201.6328,497.5,197.6328" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="308.5" x2="499.5" y1="197.6328" y2="197.6328"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="173" x="315.5" y="192.5669">CpuFrequencyHasChanged</text><polygon fill="#A80036" points="616,222.7656,626,226.7656,616,230.7656,620,226.7656" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="308.5" x2="622" y1="226.7656" y2="226.7656"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="173" x="315.5" y="221.6997">CpuFrequencyHasChanged</text><polygon fill="#A80036" points="723.5,264.4648,733.5,268.4648,723.5,272.4648,727.5,268.4648" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="628" x2="729.5" y1="268.4648" y2="268.4648"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="75" x="635" y="263.3989">updatePWM</text><path d="M740,239.7656 L740,279.7656 L871,279.7656 L871,249.7656 L861,239.7656 L740,239.7656 " fill="#FBFB77" filter="url(#fk8nmres0uutt)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M861,239.7656 L861,249.7656 L871,249.7656 L861,239.7656 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="98" x="746" y="256.8325">Critical section!</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="110" x="746" y="271.9653">mutex necessary</text><!--MD5=[88f376649c6a442b9f5bdaf3c889a824]
@startuml
skinparam BackgroundColor F0F0F0

PowerManager -> CpuGovernor : GetMinimumFrequencyRequested
CpuGovernor - -> PowerManager : minimumFrequency


@@ 19,13 20,13 @@ end note

@enduml

PlantUML version 1.2019.11(Sun Sep 22 12:02:15 CEST 2019)
(EPL source distribution)
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: 14.0.2+12-46
Java Version: 11.0.12+7-post-Debian-2
Operating System: Linux
Default Encoding: UTF-8
Language: pl
Country: PL
Language: en
Country: US
--></g></svg>
\ No newline at end of file

M module-sys/SystemManager/doc/data/ResourceRequest.puml => module-sys/SystemManager/doc/data/ResourceRequest.puml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0

service_eInk -> eInkSentinel : SetFrequencyValueRequest
eInkSentinel -> PowerManager : RequestCpuFrequencyMessage

M module-sys/SystemManager/doc/services_synchronization.png => module-sys/SystemManager/doc/services_synchronization.png +0 -0
M module-sys/SystemManager/doc/services_synchronization.puml => module-sys/SystemManager/doc/services_synchronization.puml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0

actor Driver
participant "System Manager" as sysmgr

M module-sys/SystemManager/doc/system_close_procedure_brownout.puml => module-sys/SystemManager/doc/system_close_procedure_brownout.puml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0

participant "System Manager" as sysmgr
participant "All services" as srv

M module-sys/SystemManager/doc/system_close_procedure_brownout.svg => module-sys/SystemManager/doc/system_close_procedure_brownout.svg +7 -4
@@ 1,5 1,6 @@
<?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="525px" preserveAspectRatio="none" style="width:959px;height:525px;" version="1.1" viewBox="0 0 959 525" width="959px" zoomAndPan="magnify"><defs><filter height="300%" id="f14d4etav8v0b3" 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(#f14d4etav8v0b3)" height="59.2656" style="stroke:#000000;stroke-width:2.0;" width="182.5" x="56.5" y="274.2266"/><rect fill="#FFFFFF" filter="url(#f14d4etav8v0b3)" height="59.2656" style="stroke:#000000;stroke-width:2.0;" width="160.5" x="56.5" y="405.7578"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="132.5" x2="132.5" y1="40.2969" y2="482.0234"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="324" x2="324" y1="40.2969" y2="482.0234"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="479.5" x2="479.5" y1="40.2969" y2="482.0234"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="775" x2="775" y1="40.2969" y2="482.0234"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="898" x2="898" y1="40.2969" y2="482.0234"/><rect fill="#FEFECE" filter="url(#f14d4etav8v0b3)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="129" x="66.5" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="115" x="73.5" y="24.9951">System Manager</text><rect fill="#FEFECE" filter="url(#f14d4etav8v0b3)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="129" x="66.5" y="481.0234"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="115" x="73.5" y="501.0186">System Manager</text><rect fill="#FEFECE" filter="url(#f14d4etav8v0b3)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="90" x="277" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="76" x="284" y="24.9951">All services</text><rect fill="#FEFECE" filter="url(#f14d4etav8v0b3)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="90" x="277" y="481.0234"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="76" x="284" y="501.0186">All services</text><rect fill="#FEFECE" filter="url(#f14d4etav8v0b3)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="153" x="401.5" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="139" x="408.5" y="24.9951">Application Manager</text><rect fill="#FEFECE" filter="url(#f14d4etav8v0b3)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="153" x="401.5" y="481.0234"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="139" x="408.5" y="501.0186">Application Manager</text><rect fill="#FEFECE" filter="url(#f14d4etav8v0b3)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="92" x="727" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="78" x="734" y="24.9951">Service GUI</text><rect fill="#FEFECE" filter="url(#f14d4etav8v0b3)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="92" x="727" y="481.0234"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="78" x="734" y="501.0186">Service GUI</text><rect fill="#FEFECE" filter="url(#f14d4etav8v0b3)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="98" x="847" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="84" x="854" y="24.9951">service EINK</text><rect fill="#FEFECE" filter="url(#f14d4etav8v0b3)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="98" x="847" y="481.0234"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="84" x="854" y="501.0186">service EINK</text><polygon fill="#A80036" points="121,67.4297,131,71.4297,121,75.4297,125,71.4297" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="0" x2="127" y1="71.4297" y2="71.4297"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="109" x="7" y="66.3638">battery brownout</text><polygon fill="#A80036" points="312,96.5625,322,100.5625,312,104.5625,316,100.5625" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="133" x2="318" y1="100.5625" y2="100.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="104" x="140" y="95.4966">preCloseRoutine</text><polygon fill="#A80036" points="468,125.6953,478,129.6953,468,133.6953,472,129.6953" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="324" x2="474" y1="129.6953" y2="129.6953"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="132" x="331" y="124.6294">processCloseReason</text><line style="stroke:#A80036;stroke-width:1.0;" x1="480" x2="522" y1="158.8281" y2="158.8281"/><line style="stroke:#A80036;stroke-width:1.0;" x1="522" x2="522" y1="158.8281" y2="171.8281"/><line style="stroke:#A80036;stroke-width:1.0;" x1="481" x2="522" y1="171.8281" y2="171.8281"/><polygon fill="#A80036" points="491,167.8281,481,171.8281,491,175.8281,487,171.8281" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="281" x="487" y="153.7622">switchWindowAtClose(Dead Battery Window)</text><polygon fill="#A80036" points="786,196.9609,776,200.9609,786,204.9609,782,200.9609" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="780" x2="897" y1="200.9609" y2="200.9609"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="99" x="792" y="195.895">last sreen show</text><polygon fill="#A80036" points="335,226.0938,325,230.0938,335,234.0938,331,230.0938" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="329" x2="774" y1="230.0938" y2="230.0938"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="90" x="341" y="225.0278">ready to close</text><polygon fill="#A80036" points="144,255.2266,134,259.2266,144,263.2266,140,259.2266" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="138" x2="323" y1="259.2266" y2="259.2266"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="86" x="150" y="254.1606">readyToClose</text><path d="M56.5,274.2266 L120.5,274.2266 L120.5,281.2266 L110.5,291.2266 L56.5,291.2266 L56.5,274.2266 " fill="#EEEEEE" style="stroke:#000000;stroke-width:1.0;"/><rect fill="none" height="59.2656" style="stroke:#000000;stroke-width:2.0;" width="182.5" x="56.5" y="274.2266"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="19" x="71.5" y="287.2935">alt</text><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacing" textLength="59" x="135.5" y="286.437">[timeout]</text><line style="stroke:#A80036;stroke-width:1.0;" x1="133" x2="175" y1="312.4922" y2="312.4922"/><line style="stroke:#A80036;stroke-width:1.0;" x1="175" x2="175" y1="312.4922" y2="325.4922"/><line style="stroke:#A80036;stroke-width:1.0;" x1="134" x2="175" y1="325.4922" y2="325.4922"/><polygon fill="#A80036" points="144,321.4922,134,325.4922,144,329.4922,140,325.4922" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="87" x="140" y="307.4263">closeServices</text><polygon fill="#A80036" points="312,357.625,322,361.625,312,365.625,316,361.625" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="133" x2="318" y1="361.625" y2="361.625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="167" x="140" y="356.5591">SystemMessageType::Exit</text><polygon fill="#A80036" points="144,386.7578,134,390.7578,144,394.7578,140,390.7578" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="138" x2="323" y1="390.7578" y2="390.7578"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="79" x="150" y="385.6919">MsgHandled</text><path d="M56.5,405.7578 L120.5,405.7578 L120.5,412.7578 L110.5,422.7578 L56.5,422.7578 L56.5,405.7578 " fill="#EEEEEE" style="stroke:#000000;stroke-width:1.0;"/><rect fill="none" height="59.2656" style="stroke:#000000;stroke-width:2.0;" width="160.5" x="56.5" y="405.7578"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="19" x="71.5" y="418.8247">alt</text><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacing" textLength="59" x="135.5" y="417.9683">[timeout]</text><line style="stroke:#A80036;stroke-width:1.0;" x1="133" x2="175" y1="444.0234" y2="444.0234"/><line style="stroke:#A80036;stroke-width:1.0;" x1="175" x2="175" y1="444.0234" y2="457.0234"/><line style="stroke:#A80036;stroke-width:1.0;" x1="134" x2="175" y1="457.0234" y2="457.0234"/><polygon fill="#A80036" points="144,453.0234,134,457.0234,144,461.0234,140,457.0234" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="65" x="140" y="438.9575">kill service</text><!--MD5=[d772a965bf366a1a13d1083fbf2ffa88]
<?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="520px" preserveAspectRatio="none" style="width:959px;height:520px;background:#F0F0F0;" version="1.1" viewBox="0 0 959 520" width="959px" zoomAndPan="magnify"><defs><filter height="300%" id="fhknj5rncvr09" 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="#F0F0F0" filter="url(#fhknj5rncvr09)" height="59.2656" style="stroke: #000000; stroke-width: 2.0;" width="182.5" x="59.5" y="272.2266"/><rect fill="#F0F0F0" filter="url(#fhknj5rncvr09)" height="59.2656" style="stroke: #000000; stroke-width: 2.0;" width="160.5" x="59.5" y="403.7578"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="135.5" x2="135.5" y1="38.2969" y2="480.0234"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="327" x2="327" y1="38.2969" y2="480.0234"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="482.5" x2="482.5" y1="38.2969" y2="480.0234"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="778" x2="778" y1="38.2969" y2="480.0234"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="901" x2="901" y1="38.2969" y2="480.0234"/><rect fill="#FEFECE" filter="url(#fhknj5rncvr09)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="129" x="69.5" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="115" x="76.5" y="22.9951">System Manager</text><rect fill="#FEFECE" filter="url(#fhknj5rncvr09)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="129" x="69.5" y="479.0234"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="115" x="76.5" y="499.0186">System Manager</text><rect fill="#FEFECE" filter="url(#fhknj5rncvr09)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="90" x="280" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="76" x="287" y="22.9951">All services</text><rect fill="#FEFECE" filter="url(#fhknj5rncvr09)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="90" x="280" y="479.0234"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="76" x="287" y="499.0186">All services</text><rect fill="#FEFECE" filter="url(#fhknj5rncvr09)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="153" x="404.5" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="139" x="411.5" y="22.9951">Application Manager</text><rect fill="#FEFECE" filter="url(#fhknj5rncvr09)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="153" x="404.5" y="479.0234"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="139" x="411.5" y="499.0186">Application Manager</text><rect fill="#FEFECE" filter="url(#fhknj5rncvr09)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="92" x="730" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="78" x="737" y="22.9951">Service GUI</text><rect fill="#FEFECE" filter="url(#fhknj5rncvr09)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="92" x="730" y="479.0234"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="78" x="737" y="499.0186">Service GUI</text><rect fill="#FEFECE" filter="url(#fhknj5rncvr09)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="98" x="850" y="3"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="84" x="857" y="22.9951">service EINK</text><rect fill="#FEFECE" filter="url(#fhknj5rncvr09)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="98" x="850" y="479.0234"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="84" x="857" y="499.0186">service EINK</text><polygon fill="#A80036" points="124,65.4297,134,69.4297,124,73.4297,128,69.4297" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="3" x2="130" y1="69.4297" y2="69.4297"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="109" x="10" y="64.3638">battery brownout</text><polygon fill="#A80036" points="315,94.5625,325,98.5625,315,102.5625,319,98.5625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="136" x2="321" y1="98.5625" y2="98.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="143" y="93.4966">preCloseRoutine</text><polygon fill="#A80036" points="471,123.6953,481,127.6953,471,131.6953,475,127.6953" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="327" x2="477" y1="127.6953" y2="127.6953"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="132" x="334" y="122.6294">processCloseReason</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="483" x2="525" y1="156.8281" y2="156.8281"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="525" x2="525" y1="156.8281" y2="169.8281"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="484" x2="525" y1="169.8281" y2="169.8281"/><polygon fill="#A80036" points="494,165.8281,484,169.8281,494,173.8281,490,169.8281" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="281" x="490" y="151.7622">switchWindowAtClose(Dead Battery Window)</text><polygon fill="#A80036" points="789,194.9609,779,198.9609,789,202.9609,785,198.9609" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="783" x2="900" y1="198.9609" y2="198.9609"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="99" x="795" y="193.895">last sreen show</text><polygon fill="#A80036" points="338,224.0938,328,228.0938,338,232.0938,334,228.0938" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="332" x2="777" y1="228.0938" y2="228.0938"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="90" x="344" y="223.0278">ready to close</text><polygon fill="#A80036" points="147,253.2266,137,257.2266,147,261.2266,143,257.2266" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="141" x2="326" y1="257.2266" y2="257.2266"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="153" y="252.1606">readyToClose</text><path d="M59.5,272.2266 L123.5,272.2266 L123.5,279.2266 L113.5,289.2266 L59.5,289.2266 L59.5,272.2266 " fill="#EEEEEE" style="stroke: #000000; stroke-width: 1.0;"/><rect fill="none" height="59.2656" style="stroke: #000000; stroke-width: 2.0;" width="182.5" x="59.5" y="272.2266"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="19" x="74.5" y="285.2935">alt</text><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="59" x="138.5" y="284.437">[timeout]</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="136" x2="178" y1="310.4922" y2="310.4922"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="178" x2="178" y1="310.4922" y2="323.4922"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="137" x2="178" y1="323.4922" y2="323.4922"/><polygon fill="#A80036" points="147,319.4922,137,323.4922,147,327.4922,143,323.4922" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="87" x="143" y="305.4263">closeServices</text><polygon fill="#A80036" points="315,355.625,325,359.625,315,363.625,319,359.625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="136" x2="321" y1="359.625" y2="359.625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="167" x="143" y="354.5591">SystemMessageType::Exit</text><polygon fill="#A80036" points="147,384.7578,137,388.7578,147,392.7578,143,388.7578" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="141" x2="326" y1="388.7578" y2="388.7578"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="79" x="153" y="383.6919">MsgHandled</text><path d="M59.5,403.7578 L123.5,403.7578 L123.5,410.7578 L113.5,420.7578 L59.5,420.7578 L59.5,403.7578 " fill="#EEEEEE" style="stroke: #000000; stroke-width: 1.0;"/><rect fill="none" height="59.2656" style="stroke: #000000; stroke-width: 2.0;" width="160.5" x="59.5" y="403.7578"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="19" x="74.5" y="416.8247">alt</text><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="59" x="138.5" y="415.9683">[timeout]</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="136" x2="178" y1="442.0234" y2="442.0234"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="178" x2="178" y1="442.0234" y2="455.0234"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="137" x2="178" y1="455.0234" y2="455.0234"/><polygon fill="#A80036" points="147,451.0234,137,455.0234,147,459.0234,143,455.0234" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="65" x="143" y="436.9575">kill service</text><!--MD5=[210197d7022123c369a910652d598c70]
@startuml
skinparam BackgroundColor F0F0F0

participant "System Manager" as sysmgr
participant "All services" as srv


@@ 27,11 28,13 @@ end

@enduml

PlantUML version 1.2021.00(Sun Jan 10 11:25:05 CET 2021)
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: pl
Country: PL
Language: en
Country: US
--></g></svg>
\ No newline at end of file

M module-sys/SystemManager/doc/system_close_procedure_user.puml => module-sys/SystemManager/doc/system_close_procedure_user.puml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0

actor User
participant "PowerOffWindow" as poff

M module-sys/SystemManager/doc/system_close_procedure_user.svg => module-sys/SystemManager/doc/system_close_procedure_user.svg +7 -4
@@ 1,5 1,6 @@
<?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="672px" preserveAspectRatio="none" style="width:1152px;height:672px;" version="1.1" viewBox="0 0 1152 672" width="1152px" zoomAndPan="magnify"><defs><filter height="300%" id="f13kgozwf63std" 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(#f13kgozwf63std)" height="59.2656" style="stroke:#000000;stroke-width:2.0;" width="182.5" x="359" y="380.4922"/><rect fill="#FFFFFF" filter="url(#f13kgozwf63std)" height="59.2656" style="stroke:#000000;stroke-width:2.0;" width="160.5" x="359" y="512.0234"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="24" x2="24" y1="88.2969" y2="588.2891"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="133" x2="133" y1="88.2969" y2="588.2891"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="256" x2="256" y1="88.2969" y2="588.2891"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="435" x2="435" y1="88.2969" y2="588.2891"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="626.5" x2="626.5" y1="88.2969" y2="588.2891"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="782" x2="782" y1="88.2969" y2="588.2891"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="968.5" x2="968.5" y1="88.2969" y2="588.2891"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="1091.5" x2="1091.5" y1="88.2969" y2="588.2891"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="32" x="5" y="84.9951">User</text><ellipse cx="24" cy="15" fill="#FEFECE" filter="url(#f13kgozwf63std)" rx="8" ry="8" style="stroke:#A80036;stroke-width:2.0;"/><path d="M24,23 L24,50 M11,31 L37,31 M24,50 L11,65 M24,50 L37,65 " fill="none" filter="url(#f13kgozwf63std)" style="stroke:#A80036;stroke-width:2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="32" x="5" y="600.2842">User</text><ellipse cx="24" cy="613.5859" fill="#FEFECE" filter="url(#f13kgozwf63std)" rx="8" ry="8" style="stroke:#A80036;stroke-width:2.0;"/><path d="M24,621.5859 L24,648.5859 M11,629.5859 L37,629.5859 M24,648.5859 L11,663.5859 M24,648.5859 L37,663.5859 " fill="none" filter="url(#f13kgozwf63std)" style="stroke:#A80036;stroke-width:2.0;"/><rect fill="#FEFECE" filter="url(#f13kgozwf63std)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="130" x="66" y="53"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="116" x="73" y="72.9951">PowerOffWindow</text><rect fill="#FEFECE" filter="url(#f13kgozwf63std)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="130" x="66" y="587.2891"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="116" x="73" y="607.2842">PowerOffWindow</text><rect fill="#FEFECE" filter="url(#f13kgozwf63std)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="89" x="210" y="53"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="75" x="217" y="72.9951">Application</text><rect fill="#FEFECE" filter="url(#f13kgozwf63std)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="89" x="210" y="587.2891"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="75" x="217" y="607.2842">Application</text><rect fill="#FEFECE" filter="url(#f13kgozwf63std)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="129" x="369" y="53"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="115" x="376" y="72.9951">System Manager</text><rect fill="#FEFECE" filter="url(#f13kgozwf63std)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="129" x="369" y="587.2891"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="115" x="376" y="607.2842">System Manager</text><rect fill="#FEFECE" filter="url(#f13kgozwf63std)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="90" x="579.5" y="53"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="76" x="586.5" y="72.9951">All services</text><rect fill="#FEFECE" filter="url(#f13kgozwf63std)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="90" x="579.5" y="587.2891"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="76" x="586.5" y="607.2842">All services</text><rect fill="#FEFECE" filter="url(#f13kgozwf63std)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="153" x="704" y="53"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="139" x="711" y="72.9951">Application Manager</text><rect fill="#FEFECE" filter="url(#f13kgozwf63std)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="153" x="704" y="587.2891"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="139" x="711" y="607.2842">Application Manager</text><rect fill="#FEFECE" filter="url(#f13kgozwf63std)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="92" x="920.5" y="53"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="78" x="927.5" y="72.9951">Service GUI</text><rect fill="#FEFECE" filter="url(#f13kgozwf63std)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="92" x="920.5" y="587.2891"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="78" x="927.5" y="607.2842">Service GUI</text><rect fill="#FEFECE" filter="url(#f13kgozwf63std)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="98" x="1040.5" y="53"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="84" x="1047.5" y="72.9951">service EINK</text><rect fill="#FEFECE" filter="url(#f13kgozwf63std)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="98" x="1040.5" y="587.2891"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="84" x="1047.5" y="607.2842">service EINK</text><polygon fill="#A80036" points="121,115.4297,131,119.4297,121,123.4297,125,119.4297" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="24" x2="127" y1="119.4297" y2="119.4297"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="85" x="31" y="114.3638">confirm close</text><polygon fill="#A80036" points="244.5,144.5625,254.5,148.5625,244.5,152.5625,248.5,148.5625" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="133" x2="250.5" y1="148.5625" y2="148.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="86" x="140" y="143.4966">GUI off switch</text><polygon fill="#A80036" points="423.5,173.6953,433.5,177.6953,423.5,181.6953,427.5,177.6953" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="256.5" x2="429.5" y1="177.6953" y2="177.6953"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="155" x="263.5" y="172.6294">UserPowerDownRequest</text><polygon fill="#A80036" points="614.5,202.8281,624.5,206.8281,614.5,210.8281,618.5,206.8281" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="435.5" x2="620.5" y1="206.8281" y2="206.8281"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="104" x="442.5" y="201.7622">preCloseRoutine</text><polygon fill="#A80036" points="770.5,231.9609,780.5,235.9609,770.5,239.9609,774.5,235.9609" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="626.5" x2="776.5" y1="235.9609" y2="235.9609"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="132" x="633.5" y="230.895">processCloseReason</text><line style="stroke:#A80036;stroke-width:1.0;" x1="782.5" x2="824.5" y1="265.0938" y2="265.0938"/><line style="stroke:#A80036;stroke-width:1.0;" x1="824.5" x2="824.5" y1="265.0938" y2="278.0938"/><line style="stroke:#A80036;stroke-width:1.0;" x1="783.5" x2="824.5" y1="278.0938" y2="278.0938"/><polygon fill="#A80036" points="793.5,274.0938,783.5,278.0938,793.5,282.0938,789.5,278.0938" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="172" x="789.5" y="260.0278">switchWindowAtClose(logo)</text><polygon fill="#A80036" points="979.5,303.2266,969.5,307.2266,979.5,311.2266,975.5,307.2266" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="973.5" x2="1090.5" y1="307.2266" y2="307.2266"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="99" x="985.5" y="302.1606">last sreen show</text><polygon fill="#A80036" points="637.5,332.3594,627.5,336.3594,637.5,340.3594,633.5,336.3594" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="631.5" x2="967.5" y1="336.3594" y2="336.3594"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="90" x="643.5" y="331.2935">ready to close</text><polygon fill="#A80036" points="446.5,361.4922,436.5,365.4922,446.5,369.4922,442.5,365.4922" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="440.5" x2="625.5" y1="365.4922" y2="365.4922"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="86" x="452.5" y="360.4263">readyToClose</text><path d="M359,380.4922 L423,380.4922 L423,387.4922 L413,397.4922 L359,397.4922 L359,380.4922 " fill="#EEEEEE" style="stroke:#000000;stroke-width:1.0;"/><rect fill="none" height="59.2656" style="stroke:#000000;stroke-width:2.0;" width="182.5" x="359" y="380.4922"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="19" x="374" y="393.5591">alt</text><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacing" textLength="59" x="438" y="392.7026">[timeout]</text><line style="stroke:#A80036;stroke-width:1.0;" x1="435.5" x2="477.5" y1="418.7578" y2="418.7578"/><line style="stroke:#A80036;stroke-width:1.0;" x1="477.5" x2="477.5" y1="418.7578" y2="431.7578"/><line style="stroke:#A80036;stroke-width:1.0;" x1="436.5" x2="477.5" y1="431.7578" y2="431.7578"/><polygon fill="#A80036" points="446.5,427.7578,436.5,431.7578,446.5,435.7578,442.5,431.7578" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="87" x="442.5" y="413.6919">closeServices</text><polygon fill="#A80036" points="614.5,463.8906,624.5,467.8906,614.5,471.8906,618.5,467.8906" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="435.5" x2="620.5" y1="467.8906" y2="467.8906"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="167" x="442.5" y="462.8247">SystemMessageType::Exit</text><polygon fill="#A80036" points="446.5,493.0234,436.5,497.0234,446.5,501.0234,442.5,497.0234" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="440.5" x2="625.5" y1="497.0234" y2="497.0234"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="79" x="452.5" y="491.9575">MsgHandled</text><path d="M359,512.0234 L423,512.0234 L423,519.0234 L413,529.0234 L359,529.0234 L359,512.0234 " fill="#EEEEEE" style="stroke:#000000;stroke-width:1.0;"/><rect fill="none" height="59.2656" style="stroke:#000000;stroke-width:2.0;" width="160.5" x="359" y="512.0234"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="19" x="374" y="525.0903">alt</text><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacing" textLength="59" x="438" y="524.2339">[timeout]</text><line style="stroke:#A80036;stroke-width:1.0;" x1="435.5" x2="477.5" y1="550.2891" y2="550.2891"/><line style="stroke:#A80036;stroke-width:1.0;" x1="477.5" x2="477.5" y1="550.2891" y2="563.2891"/><line style="stroke:#A80036;stroke-width:1.0;" x1="436.5" x2="477.5" y1="563.2891" y2="563.2891"/><polygon fill="#A80036" points="446.5,559.2891,436.5,563.2891,446.5,567.2891,442.5,563.2891" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="65" x="442.5" y="545.2231">kill service</text><!--MD5=[13bd41519717474e9d0f145e7a7409c3]
<?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="673px" preserveAspectRatio="none" style="width:1152px;height:673px;background:#F0F0F0;" version="1.1" viewBox="0 0 1152 673" width="1152px" zoomAndPan="magnify"><defs><filter height="300%" id="fdnpftd7rchiv" 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="#F0F0F0" filter="url(#fdnpftd7rchiv)" height="59.2656" style="stroke: #000000; stroke-width: 2.0;" width="182.5" x="362" y="378.4922"/><rect fill="#F0F0F0" filter="url(#fdnpftd7rchiv)" height="59.2656" style="stroke: #000000; stroke-width: 2.0;" width="160.5" x="362" y="510.0234"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="27" x2="27" y1="86.2969" y2="586.2891"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="136" x2="136" y1="86.2969" y2="586.2891"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="259" x2="259" y1="86.2969" y2="586.2891"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="438" x2="438" y1="86.2969" y2="586.2891"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="629.5" x2="629.5" y1="86.2969" y2="586.2891"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="785" x2="785" y1="86.2969" y2="586.2891"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="971.5" x2="971.5" y1="86.2969" y2="586.2891"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="1094.5" x2="1094.5" y1="86.2969" y2="586.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(#fdnpftd7rchiv)" 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(#fdnpftd7rchiv)" style="stroke: #A80036; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="32" x="8" y="598.2842">User</text><ellipse cx="27" cy="611.5859" fill="#FEFECE" filter="url(#fdnpftd7rchiv)" rx="8" ry="8" style="stroke: #A80036; stroke-width: 2.0;"/><path d="M27,619.5859 L27,646.5859 M14,627.5859 L40,627.5859 M27,646.5859 L14,661.5859 M27,646.5859 L40,661.5859 " fill="none" filter="url(#fdnpftd7rchiv)" style="stroke: #A80036; stroke-width: 2.0;"/><rect fill="#FEFECE" filter="url(#fdnpftd7rchiv)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="130" x="69" y="51"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="116" x="76" y="70.9951">PowerOffWindow</text><rect fill="#FEFECE" filter="url(#fdnpftd7rchiv)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="130" x="69" y="585.2891"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="116" x="76" y="605.2842">PowerOffWindow</text><rect fill="#FEFECE" filter="url(#fdnpftd7rchiv)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="89" x="213" y="51"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="75" x="220" y="70.9951">Application</text><rect fill="#FEFECE" filter="url(#fdnpftd7rchiv)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="89" x="213" y="585.2891"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="75" x="220" y="605.2842">Application</text><rect fill="#FEFECE" filter="url(#fdnpftd7rchiv)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="129" x="372" y="51"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="115" x="379" y="70.9951">System Manager</text><rect fill="#FEFECE" filter="url(#fdnpftd7rchiv)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="129" x="372" y="585.2891"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="115" x="379" y="605.2842">System Manager</text><rect fill="#FEFECE" filter="url(#fdnpftd7rchiv)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="90" x="582.5" y="51"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="76" x="589.5" y="70.9951">All services</text><rect fill="#FEFECE" filter="url(#fdnpftd7rchiv)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="90" x="582.5" y="585.2891"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="76" x="589.5" y="605.2842">All services</text><rect fill="#FEFECE" filter="url(#fdnpftd7rchiv)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="153" x="707" y="51"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="139" x="714" y="70.9951">Application Manager</text><rect fill="#FEFECE" filter="url(#fdnpftd7rchiv)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="153" x="707" y="585.2891"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="139" x="714" y="605.2842">Application Manager</text><rect fill="#FEFECE" filter="url(#fdnpftd7rchiv)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="92" x="923.5" y="51"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="78" x="930.5" y="70.9951">Service GUI</text><rect fill="#FEFECE" filter="url(#fdnpftd7rchiv)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="92" x="923.5" y="585.2891"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="78" x="930.5" y="605.2842">Service GUI</text><rect fill="#FEFECE" filter="url(#fdnpftd7rchiv)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="98" x="1043.5" y="51"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="84" x="1050.5" y="70.9951">service EINK</text><rect fill="#FEFECE" filter="url(#fdnpftd7rchiv)" height="30.2969" style="stroke: #A80036; stroke-width: 1.5;" width="98" x="1043.5" y="585.2891"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="84" x="1050.5" y="605.2842">service EINK</text><polygon fill="#A80036" points="124,113.4297,134,117.4297,124,121.4297,128,117.4297" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="27" x2="130" y1="117.4297" y2="117.4297"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="34" y="112.3638">confirm close</text><polygon fill="#A80036" points="247.5,142.5625,257.5,146.5625,247.5,150.5625,251.5,146.5625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="136" x2="253.5" y1="146.5625" y2="146.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="143" y="141.4966">GUI off switch</text><polygon fill="#A80036" points="426.5,171.6953,436.5,175.6953,426.5,179.6953,430.5,175.6953" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="259.5" x2="432.5" y1="175.6953" y2="175.6953"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="155" x="266.5" y="170.6294">UserPowerDownRequest</text><polygon fill="#A80036" points="617.5,200.8281,627.5,204.8281,617.5,208.8281,621.5,204.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="438.5" x2="623.5" y1="204.8281" y2="204.8281"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="445.5" y="199.7622">preCloseRoutine</text><polygon fill="#A80036" points="773.5,229.9609,783.5,233.9609,773.5,237.9609,777.5,233.9609" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="629.5" x2="779.5" y1="233.9609" y2="233.9609"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="132" x="636.5" y="228.895">processCloseReason</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="785.5" x2="827.5" y1="263.0938" y2="263.0938"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="827.5" x2="827.5" y1="263.0938" y2="276.0938"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="786.5" x2="827.5" y1="276.0938" y2="276.0938"/><polygon fill="#A80036" points="796.5,272.0938,786.5,276.0938,796.5,280.0938,792.5,276.0938" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="172" x="792.5" y="258.0278">switchWindowAtClose(logo)</text><polygon fill="#A80036" points="982.5,301.2266,972.5,305.2266,982.5,309.2266,978.5,305.2266" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="976.5" x2="1093.5" y1="305.2266" y2="305.2266"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="99" x="988.5" y="300.1606">last sreen show</text><polygon fill="#A80036" points="640.5,330.3594,630.5,334.3594,640.5,338.3594,636.5,334.3594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="634.5" x2="970.5" y1="334.3594" y2="334.3594"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="90" x="646.5" y="329.2935">ready to close</text><polygon fill="#A80036" points="449.5,359.4922,439.5,363.4922,449.5,367.4922,445.5,363.4922" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="443.5" x2="628.5" y1="363.4922" y2="363.4922"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="455.5" y="358.4263">readyToClose</text><path d="M362,378.4922 L426,378.4922 L426,385.4922 L416,395.4922 L362,395.4922 L362,378.4922 " fill="#EEEEEE" style="stroke: #000000; stroke-width: 1.0;"/><rect fill="none" height="59.2656" style="stroke: #000000; stroke-width: 2.0;" width="182.5" x="362" y="378.4922"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="19" x="377" y="391.5591">alt</text><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="59" x="441" y="390.7026">[timeout]</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="438.5" x2="480.5" y1="416.7578" y2="416.7578"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="480.5" x2="480.5" y1="416.7578" y2="429.7578"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="439.5" x2="480.5" y1="429.7578" y2="429.7578"/><polygon fill="#A80036" points="449.5,425.7578,439.5,429.7578,449.5,433.7578,445.5,429.7578" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="87" x="445.5" y="411.6919">closeServices</text><polygon fill="#A80036" points="617.5,461.8906,627.5,465.8906,617.5,469.8906,621.5,465.8906" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="438.5" x2="623.5" y1="465.8906" y2="465.8906"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="167" x="445.5" y="460.8247">SystemMessageType::Exit</text><polygon fill="#A80036" points="449.5,491.0234,439.5,495.0234,449.5,499.0234,445.5,495.0234" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="443.5" x2="628.5" y1="495.0234" y2="495.0234"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="79" x="455.5" y="489.9575">MsgHandled</text><path d="M362,510.0234 L426,510.0234 L426,517.0234 L416,527.0234 L362,527.0234 L362,510.0234 " fill="#EEEEEE" style="stroke: #000000; stroke-width: 1.0;"/><rect fill="none" height="59.2656" style="stroke: #000000; stroke-width: 2.0;" width="160.5" x="362" y="510.0234"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="19" x="377" y="523.0903">alt</text><text fill="#000000" font-family="sans-serif" font-size="11" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="59" x="441" y="522.2339">[timeout]</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="438.5" x2="480.5" y1="548.2891" y2="548.2891"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="480.5" x2="480.5" y1="548.2891" y2="561.2891"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="439.5" x2="480.5" y1="561.2891" y2="561.2891"/><polygon fill="#A80036" points="449.5,557.2891,439.5,561.2891,449.5,565.2891,445.5,561.2891" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="65" x="445.5" y="543.2231">kill service</text><!--MD5=[c7d7d97be0d6be1e0cc194251024e491]
@startuml
skinparam BackgroundColor F0F0F0

actor User
participant "PowerOffWindow" as poff


@@ 32,11 33,13 @@ end

@enduml

PlantUML version 1.2021.00(Sun Jan 10 11:25:05 CET 2021)
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: pl
Country: PL
Language: en
Country: US
--></g></svg>
\ No newline at end of file

M test/pytest/service-bluetooth/doc/bluetooth-dev-test-connectivity.puml => test/pytest/service-bluetooth/doc/bluetooth-dev-test-connectivity.puml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0

start
partition Initialization {

M test/pytest/service-bluetooth/doc/bluetooth-dev-test-connectivity.svg => test/pytest/service-bluetooth/doc/bluetooth-dev-test-connectivity.svg +4 -4
@@ 1,5 1,6 @@
<?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="1132px" preserveAspectRatio="none" style="width:464px;height:1132px;" version="1.1" viewBox="0 0 464 1132" width="464px" zoomAndPan="magnify"><defs><filter height="300%" id="f77eb6kq00gbh" 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><ellipse cx="207" cy="20" fill="#000000" filter="url(#f77eb6kq00gbh)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FFFFFF" filter="url(#f77eb6kq00gbh)" height="138.1406" style="stroke: #000000; stroke-width: 2.0;" width="216" x="99" y="40.8018"/><path d="M188,41.8018 L188,50.0986 L178,60.0986 L99,60.0986 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="79" x="102" y="54.7969">Initialization</text><rect fill="#FEFECE" filter="url(#f77eb6kq00gbh)" height="89.8438" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="196" x="109" y="77.0986"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="171" x="119" y="98.2373">enforce pretest conditions:</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="135" x="119" y="112.2061">-read test input data:</text><rect fill="#000000" height="3.5" style="stroke: #000000; stroke-width: 0.0;" width="3.5" x="136" y="121.0049"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="154" x="141" y="126.1748">requires BT device name</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="148" x="119" y="140.1436">-pretest machine state:</text><rect fill="#000000" height="3.5" style="stroke: #000000; stroke-width: 0.0;" width="3.5" x="136" y="148.9424"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="127" x="141" y="154.1123">bluetooth turned on</text><rect fill="#FFFFFF" filter="url(#f77eb6kq00gbh)" height="931.6563" style="stroke: #000000; stroke-width: 2.0;" width="443.5" x="10" y="189.7441"/><path d="M75,190.7441 L75,199.041 L65,209.041 L10,209.041 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="55" x="13" y="203.7393">test-run</text><rect fill="#FEFECE" filter="url(#f77eb6kq00gbh)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="67" x="173.5" y="226.041"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="47" x="183.5" y="247.1797">scanOn</text><rect fill="#FEFECE" filter="url(#f77eb6kq00gbh)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="183" x="115.5" y="368.0098"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="159" x="129.5" y="389.1484">request available devices</text><polygon fill="#FEFECE" filter="url(#f77eb6kq00gbh)" points="152.5,324.0098,261.5,324.0098,273.5,336.0098,261.5,348.0098,152.5,348.0098,140.5,336.0098,152.5,324.0098" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="101" x="156.5" y="339.8179">timeout exceeded</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="76" x="273.5" y="333.4155">true = failure</text><ellipse cx="369.5" cy="336.0098" fill="none" filter="url(#f77eb6kq00gbh)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="370" cy="336.5098" fill="#000000" filter="url(#f77eb6kq00gbh)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f77eb6kq00gbh)" points="207,280.0098,219,292.0098,207,304.0098,195,292.0098,207,280.0098" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#f77eb6kq00gbh)" points="93,421.9785,321,421.9785,333,433.9785,321,445.9785,93,445.9785,81,433.9785,93,421.9785" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="228" x="93" y="437.7866">the BT device name in available devices</text><rect fill="#FEFECE" filter="url(#f77eb6kq00gbh)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="244" x="85" y="465.9785"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="220" x="99" y="487.1172">pair with the device &amp; turn scan off</text><rect fill="#FEFECE" filter="url(#f77eb6kq00gbh)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="176" x="119" y="607.9473"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="152" x="133" y="629.0859">request bonded devices</text><polygon fill="#FEFECE" filter="url(#f77eb6kq00gbh)" points="152.5,563.9473,261.5,563.9473,273.5,575.9473,261.5,587.9473,152.5,587.9473,140.5,575.9473,152.5,563.9473" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="101" x="156.5" y="579.7554">timeout exceeded</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="76" x="273.5" y="573.353">true = failure</text><ellipse cx="369.5" cy="575.9473" fill="none" filter="url(#f77eb6kq00gbh)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="370" cy="576.4473" fill="#000000" filter="url(#f77eb6kq00gbh)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f77eb6kq00gbh)" points="207,519.9473,219,531.9473,207,543.9473,195,531.9473,207,519.9473" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#f77eb6kq00gbh)" points="97,661.916,317,661.916,329,673.916,317,685.916,97,685.916,85,673.916,97,661.916" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="220" x="97" y="677.7241">the BT device name in bonded devices</text><rect fill="#FEFECE" filter="url(#f77eb6kq00gbh)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="173" x="120.5" y="705.916"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="149" x="134.5" y="727.0547">connect with the device</text><rect fill="#FEFECE" filter="url(#f77eb6kq00gbh)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="176" x="119" y="847.8848"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="152" x="133" y="869.0234">request bonded devices</text><polygon fill="#FEFECE" filter="url(#f77eb6kq00gbh)" points="152.5,803.8848,261.5,803.8848,273.5,815.8848,261.5,827.8848,152.5,827.8848,140.5,815.8848,152.5,803.8848" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="101" x="156.5" y="819.6929">timeout exceeded</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="76" x="273.5" y="813.2905">true = failure</text><ellipse cx="369.5" cy="815.8848" fill="none" filter="url(#f77eb6kq00gbh)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="370" cy="816.3848" fill="#000000" filter="url(#f77eb6kq00gbh)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f77eb6kq00gbh)" points="207,759.8848,219,771.8848,207,783.8848,195,771.8848,207,759.8848" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#f77eb6kq00gbh)" points="105,901.8535,309,901.8535,321,913.8535,309,925.8535,105,925.8535,93,913.8535,105,901.8535" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="204" x="105" y="917.6616">the BT device address is connected</text><rect fill="#FEFECE" filter="url(#f77eb6kq00gbh)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="191" x="111.5" y="945.8535"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="167" x="125.5" y="966.9922">disconnect with the device</text><rect fill="#FEFECE" filter="url(#f77eb6kq00gbh)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="133" x="140.5" y="999.8223"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="109" x="154.5" y="1020.9609">unpair the device</text><polygon fill="#FEFECE" filter="url(#f77eb6kq00gbh)" points="79,1053.791,335,1053.791,347,1066.5957,335,1079.4004,79,1079.4004,67,1066.5957,79,1053.791" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="226" x="79" y="1064.0015">the BT device address is not connected</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="256" x="79" y="1076.8062">the BT device name is not in bonded devices</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="47" x="20" y="1064.0015">success</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="73" x="347" y="1064.0015">false=failure</text><ellipse cx="57" cy="1099.4004" fill="none" filter="url(#f77eb6kq00gbh)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="57.5" cy="1099.9004" fill="#000000" filter="url(#f77eb6kq00gbh)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><ellipse cx="357" cy="1099.4004" fill="none" filter="url(#f77eb6kq00gbh)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="357.5" cy="1099.9004" fill="#000000" filter="url(#f77eb6kq00gbh)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="207" x2="207" y1="30" y2="77.0986"/><polygon fill="#A80036" points="203,67.0986,207,77.0986,211,67.0986,207,71.0986" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="207" x2="207" y1="348.0098" y2="368.0098"/><polygon fill="#A80036" points="203,358.0098,207,368.0098,211,358.0098,207,362.0098" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="273.5" x2="359.5" y1="336.0098" y2="336.0098"/><polygon fill="#A80036" points="349.5,332.0098,359.5,336.0098,349.5,340.0098,353.5,336.0098" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="207" x2="207" y1="401.9785" y2="421.9785"/><polygon fill="#A80036" points="203,411.9785,207,421.9785,211,411.9785,207,415.9785" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="207" x2="207" y1="304.0098" y2="324.0098"/><polygon fill="#A80036" points="203,314.0098,207,324.0098,211,314.0098,207,318.0098" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="333" x2="437.5" y1="433.9785" y2="433.9785"/><polygon fill="#A80036" points="433.5,382.9941,437.5,372.9941,441.5,382.9941,437.5,378.9941" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="437.5" x2="437.5" y1="292.0098" y2="433.9785"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="437.5" x2="219" y1="292.0098" y2="292.0098"/><polygon fill="#A80036" points="229,288.0098,219,292.0098,229,296.0098,225,292.0098" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="207" x2="207" y1="260.0098" y2="280.0098"/><polygon fill="#A80036" points="203,270.0098,207,280.0098,211,270.0098,207,274.0098" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="207" x2="207" y1="445.9785" y2="465.9785"/><polygon fill="#A80036" points="203,455.9785,207,465.9785,211,455.9785,207,459.9785" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="207" x2="207" y1="587.9473" y2="607.9473"/><polygon fill="#A80036" points="203,597.9473,207,607.9473,211,597.9473,207,601.9473" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="273.5" x2="359.5" y1="575.9473" y2="575.9473"/><polygon fill="#A80036" points="349.5,571.9473,359.5,575.9473,349.5,579.9473,353.5,575.9473" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="207" x2="207" y1="641.916" y2="661.916"/><polygon fill="#A80036" points="203,651.916,207,661.916,211,651.916,207,655.916" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="207" x2="207" y1="543.9473" y2="563.9473"/><polygon fill="#A80036" points="203,553.9473,207,563.9473,211,553.9473,207,557.9473" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="329" x2="434" y1="673.916" y2="673.916"/><polygon fill="#A80036" points="430,622.9316,434,612.9316,438,622.9316,434,618.9316" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="434" x2="434" y1="531.9473" y2="673.916"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="434" x2="219" y1="531.9473" y2="531.9473"/><polygon fill="#A80036" points="229,527.9473,219,531.9473,229,535.9473,225,531.9473" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="207" x2="207" y1="499.9473" y2="519.9473"/><polygon fill="#A80036" points="203,509.9473,207,519.9473,211,509.9473,207,513.9473" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="207" x2="207" y1="685.916" y2="705.916"/><polygon fill="#A80036" points="203,695.916,207,705.916,211,695.916,207,699.916" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="207" x2="207" y1="827.8848" y2="847.8848"/><polygon fill="#A80036" points="203,837.8848,207,847.8848,211,837.8848,207,841.8848" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="273.5" x2="359.5" y1="815.8848" y2="815.8848"/><polygon fill="#A80036" points="349.5,811.8848,359.5,815.8848,349.5,819.8848,353.5,815.8848" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="207" x2="207" y1="881.8535" y2="901.8535"/><polygon fill="#A80036" points="203,891.8535,207,901.8535,211,891.8535,207,895.8535" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="207" x2="207" y1="783.8848" y2="803.8848"/><polygon fill="#A80036" points="203,793.8848,207,803.8848,211,793.8848,207,797.8848" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="321" x2="434" y1="913.8535" y2="913.8535"/><polygon fill="#A80036" points="430,862.8691,434,852.8691,438,862.8691,434,858.8691" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="434" x2="434" y1="771.8848" y2="913.8535"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="434" x2="219" y1="771.8848" y2="771.8848"/><polygon fill="#A80036" points="229,767.8848,219,771.8848,229,775.8848,225,771.8848" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="207" x2="207" y1="739.8848" y2="759.8848"/><polygon fill="#A80036" points="203,749.8848,207,759.8848,211,749.8848,207,753.8848" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="207" x2="207" y1="925.8535" y2="945.8535"/><polygon fill="#A80036" points="203,935.8535,207,945.8535,211,935.8535,207,939.8535" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="207" x2="207" y1="979.8223" y2="999.8223"/><polygon fill="#A80036" points="203,989.8223,207,999.8223,211,989.8223,207,993.8223" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="67" x2="57" y1="1066.5957" y2="1066.5957"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="57" x2="57" y1="1066.5957" y2="1089.4004"/><polygon fill="#A80036" points="53,1079.4004,57,1089.4004,61,1079.4004,57,1083.4004" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="347" x2="357" y1="1066.5957" y2="1066.5957"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="357" x2="357" y1="1066.5957" y2="1089.4004"/><polygon fill="#A80036" points="353,1079.4004,357,1089.4004,361,1079.4004,357,1083.4004" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="207" x2="207" y1="1033.791" y2="1053.791"/><polygon fill="#A80036" points="203,1043.791,207,1053.791,211,1043.791,207,1047.791" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="207" x2="207" y1="166.9424" y2="226.041"/><polygon fill="#A80036" points="203,216.041,207,226.041,211,216.041,207,220.041" style="stroke: #A80036; stroke-width: 1.0;"/><!--
<?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="1134px" preserveAspectRatio="none" style="width:456px;height:1134px;background:#F0F0F0;" version="1.1" viewBox="0 0 456 1134" width="456px" zoomAndPan="magnify"><defs><filter height="300%" id="f1wv7ke98feboz" 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><ellipse cx="203" cy="20" fill="#000000" filter="url(#f1wv7ke98feboz)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FFFFFF" filter="url(#f1wv7ke98feboz)" height="138.1406" style="stroke: #000000; stroke-width: 2.0;" width="216" x="95" y="40.8018"/><path d="M184,41.8018 L184,50.0986 L174,60.0986 L95,60.0986 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="79" x="98" y="54.7969">Initialization</text><rect fill="#FEFECE" filter="url(#f1wv7ke98feboz)" height="89.8438" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="196" x="105" y="77.0986"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="171" x="115" y="98.2373">enforce pretest conditions:</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="135" x="115" y="112.2061">-read test input data:</text><rect fill="#000000" height="3.5" style="stroke: #000000; stroke-width: 0.0;" width="3.5" x="132" y="121.0049"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="154" x="137" y="126.1748">requires BT device name</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="148" x="115" y="140.1436">-pretest machine state:</text><rect fill="#000000" height="3.5" style="stroke: #000000; stroke-width: 0.0;" width="3.5" x="132" y="148.9424"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="127" x="137" y="154.1123">bluetooth turned on</text><rect fill="#FFFFFF" filter="url(#f1wv7ke98feboz)" height="933.6563" style="stroke: #000000; stroke-width: 2.0;" width="435.5" x="10" y="189.7441"/><path d="M75,190.7441 L75,199.041 L65,209.041 L10,209.041 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="55" x="13" y="203.7393">test-run</text><rect fill="#FEFECE" filter="url(#f1wv7ke98feboz)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="67" x="169.5" y="226.041"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="47" x="179.5" y="247.1797">scanOn</text><rect fill="#FEFECE" filter="url(#f1wv7ke98feboz)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="183" x="111.5" y="368.0098"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="159" x="125.5" y="389.1484">request available devices</text><polygon fill="#FEFECE" filter="url(#f1wv7ke98feboz)" points="150,324.0098,256,324.0098,268,336.0098,256,348.0098,150,348.0098,138,336.0098,150,324.0098" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="100" x="153" y="339.8179">timeout exceeded</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="74" x="268" y="333.4155">true = failure</text><ellipse cx="364" cy="336.0098" fill="#FFFFFF" filter="url(#f1wv7ke98feboz)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="364" cy="336.0098" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f1wv7ke98feboz)" points="203,280.0098,215,292.0098,203,304.0098,191,292.0098,203,280.0098" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#f1wv7ke98feboz)" points="92,421.9785,314,421.9785,326,433.9785,314,445.9785,92,445.9785,80,433.9785,92,421.9785" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="222" x="92" y="437.7866">the BT device name in available devices</text><rect fill="#FEFECE" filter="url(#f1wv7ke98feboz)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="244" x="81" y="465.9785"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="220" x="95" y="487.1172">pair with the device &amp; turn scan off</text><rect fill="#FEFECE" filter="url(#f1wv7ke98feboz)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="176" x="115" y="607.9473"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="152" x="129" y="629.0859">request bonded devices</text><polygon fill="#FEFECE" filter="url(#f1wv7ke98feboz)" points="150,563.9473,256,563.9473,268,575.9473,256,587.9473,150,587.9473,138,575.9473,150,563.9473" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="100" x="153" y="579.7554">timeout exceeded</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="74" x="268" y="573.353">true = failure</text><ellipse cx="364" cy="575.9473" fill="#FFFFFF" filter="url(#f1wv7ke98feboz)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="364" cy="575.9473" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f1wv7ke98feboz)" points="203,519.9473,215,531.9473,203,543.9473,191,531.9473,203,519.9473" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#f1wv7ke98feboz)" points="96,661.916,310,661.916,322,673.916,310,685.916,96,685.916,84,673.916,96,661.916" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="214" x="96" y="677.7241">the BT device name in bonded devices</text><rect fill="#FEFECE" filter="url(#f1wv7ke98feboz)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="173" x="116.5" y="705.916"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="149" x="130.5" y="727.0547">connect with the device</text><rect fill="#FEFECE" filter="url(#f1wv7ke98feboz)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="176" x="115" y="847.8848"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="152" x="129" y="869.0234">request bonded devices</text><polygon fill="#FEFECE" filter="url(#f1wv7ke98feboz)" points="150,803.8848,256,803.8848,268,815.8848,256,827.8848,150,827.8848,138,815.8848,150,803.8848" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="100" x="153" y="819.6929">timeout exceeded</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="74" x="268" y="813.2905">true = failure</text><ellipse cx="364" cy="815.8848" fill="#FFFFFF" filter="url(#f1wv7ke98feboz)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="364" cy="815.8848" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f1wv7ke98feboz)" points="203,759.8848,215,771.8848,203,783.8848,191,771.8848,203,759.8848" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#f1wv7ke98feboz)" points="103.5,901.8535,302.5,901.8535,314.5,913.8535,302.5,925.8535,103.5,925.8535,91.5,913.8535,103.5,901.8535" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="199" x="103.5" y="917.6616">the BT device address is connected</text><rect fill="#FEFECE" filter="url(#f1wv7ke98feboz)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="191" x="107.5" y="945.8535"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="167" x="121.5" y="966.9922">disconnect with the device</text><rect fill="#FEFECE" filter="url(#f1wv7ke98feboz)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="133" x="136.5" y="999.8223"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="109" x="150.5" y="1020.9609">unpair the device</text><polygon fill="#FEFECE" filter="url(#f1wv7ke98feboz)" points="79,1053.791,327,1053.791,339,1066.5957,327,1079.4004,79,1079.4004,67,1066.5957,79,1053.791" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="220" x="79" y="1064.0015">the BT device address is not connected</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="248" x="79" y="1076.8062">the BT device name is not in bonded devices</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="47" x="20" y="1064.0015">success</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="73" x="339" y="1064.0015">false=failure</text><ellipse cx="57" cy="1100.4004" fill="#FFFFFF" filter="url(#f1wv7ke98feboz)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="57" cy="1100.4004" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><ellipse cx="349" cy="1100.4004" fill="#FFFFFF" filter="url(#f1wv7ke98feboz)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="349" cy="1100.4004" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="203" y1="30" y2="77.0986"/><polygon fill="#A80036" points="199,67.0986,203,77.0986,207,67.0986,203,71.0986" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="203" y1="348.0098" y2="368.0098"/><polygon fill="#A80036" points="199,358.0098,203,368.0098,207,358.0098,203,362.0098" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="268" x2="353" y1="336.0098" y2="336.0098"/><polygon fill="#A80036" points="343,332.0098,353,336.0098,343,340.0098,347,336.0098" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="203" y1="401.9785" y2="421.9785"/><polygon fill="#A80036" points="199,411.9785,203,421.9785,207,411.9785,203,415.9785" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="203" y1="304.0098" y2="324.0098"/><polygon fill="#A80036" points="199,314.0098,203,324.0098,207,314.0098,203,318.0098" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="326" x2="429.5" y1="433.9785" y2="433.9785"/><polygon fill="#A80036" points="425.5,382.9941,429.5,372.9941,433.5,382.9941,429.5,378.9941" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="429.5" x2="429.5" y1="292.0098" y2="433.9785"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="429.5" x2="215" y1="292.0098" y2="292.0098"/><polygon fill="#A80036" points="225,288.0098,215,292.0098,225,296.0098,221,292.0098" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="203" y1="260.0098" y2="280.0098"/><polygon fill="#A80036" points="199,270.0098,203,280.0098,207,270.0098,203,274.0098" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="203" y1="445.9785" y2="465.9785"/><polygon fill="#A80036" points="199,455.9785,203,465.9785,207,455.9785,203,459.9785" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="203" y1="587.9473" y2="607.9473"/><polygon fill="#A80036" points="199,597.9473,203,607.9473,207,597.9473,203,601.9473" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="268" x2="353" y1="575.9473" y2="575.9473"/><polygon fill="#A80036" points="343,571.9473,353,575.9473,343,579.9473,347,575.9473" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="203" y1="641.916" y2="661.916"/><polygon fill="#A80036" points="199,651.916,203,661.916,207,651.916,203,655.916" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="203" y1="543.9473" y2="563.9473"/><polygon fill="#A80036" points="199,553.9473,203,563.9473,207,553.9473,203,557.9473" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="322" x2="426" y1="673.916" y2="673.916"/><polygon fill="#A80036" points="422,622.9316,426,612.9316,430,622.9316,426,618.9316" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="426" x2="426" y1="531.9473" y2="673.916"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="426" x2="215" y1="531.9473" y2="531.9473"/><polygon fill="#A80036" points="225,527.9473,215,531.9473,225,535.9473,221,531.9473" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="203" y1="499.9473" y2="519.9473"/><polygon fill="#A80036" points="199,509.9473,203,519.9473,207,509.9473,203,513.9473" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="203" y1="685.916" y2="705.916"/><polygon fill="#A80036" points="199,695.916,203,705.916,207,695.916,203,699.916" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="203" y1="827.8848" y2="847.8848"/><polygon fill="#A80036" points="199,837.8848,203,847.8848,207,837.8848,203,841.8848" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="268" x2="353" y1="815.8848" y2="815.8848"/><polygon fill="#A80036" points="343,811.8848,353,815.8848,343,819.8848,347,815.8848" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="203" y1="881.8535" y2="901.8535"/><polygon fill="#A80036" points="199,891.8535,203,901.8535,207,891.8535,203,895.8535" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="203" y1="783.8848" y2="803.8848"/><polygon fill="#A80036" points="199,793.8848,203,803.8848,207,793.8848,203,797.8848" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="314.5" x2="426" y1="913.8535" y2="913.8535"/><polygon fill="#A80036" points="422,862.8691,426,852.8691,430,862.8691,426,858.8691" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="426" x2="426" y1="771.8848" y2="913.8535"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="426" x2="215" y1="771.8848" y2="771.8848"/><polygon fill="#A80036" points="225,767.8848,215,771.8848,225,775.8848,221,771.8848" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="203" y1="739.8848" y2="759.8848"/><polygon fill="#A80036" points="199,749.8848,203,759.8848,207,749.8848,203,753.8848" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="203" y1="925.8535" y2="945.8535"/><polygon fill="#A80036" points="199,935.8535,203,945.8535,207,935.8535,203,939.8535" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="203" y1="979.8223" y2="999.8223"/><polygon fill="#A80036" points="199,989.8223,203,999.8223,207,989.8223,203,993.8223" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="67" x2="57" y1="1066.5957" y2="1066.5957"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="57" x2="57" y1="1066.5957" y2="1089.4004"/><polygon fill="#A80036" points="53,1079.4004,57,1089.4004,61,1079.4004,57,1083.4004" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="339" x2="349" y1="1066.5957" y2="1066.5957"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="349" x2="349" y1="1066.5957" y2="1089.4004"/><polygon fill="#A80036" points="345,1079.4004,349,1089.4004,353,1079.4004,349,1083.4004" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="203" y1="1033.791" y2="1053.791"/><polygon fill="#A80036" points="199,1043.791,203,1053.791,207,1043.791,203,1047.791" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="203" y1="166.9424" y2="226.041"/><polygon fill="#A80036" points="199,216.041,203,226.041,207,216.041,203,220.041" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[46e6cde3abb9f203c9b1df6ceedeccc7]
@startuml
skinparam BackgroundColor F0F0F0

start
partition Initialization {


@@ 52,13 53,12 @@ partition test-run {
}
@enduml

PlantUML version 1.2018.13(Mon Nov 26 18:11:51 CET 2018)
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.10+9-Ubuntu-0ubuntu1.20.04
Java Version: 11.0.12+7-post-Debian-2
Operating System: Linux
OS Version: 5.8.0-44-generic
Default Encoding: UTF-8
Language: en
Country: US

M test/pytest/service-bluetooth/doc/bluetooth-dev-test-on-off.puml => test/pytest/service-bluetooth/doc/bluetooth-dev-test-on-off.puml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0

start
partition Initialization {

M test/pytest/service-bluetooth/doc/bluetooth-dev-test-on-off.svg => test/pytest/service-bluetooth/doc/bluetooth-dev-test-on-off.svg +4 -4
@@ 1,5 1,6 @@
<?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="548px" preserveAspectRatio="none" style="width:303px;height:548px;" version="1.1" viewBox="0 0 303 548" width="303px" zoomAndPan="magnify"><defs><filter height="300%" id="f1t3v11fvi8ij8" 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><ellipse cx="144" cy="20" fill="#000000" filter="url(#f1t3v11fvi8ij8)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FFFFFF" filter="url(#f1t3v11fvi8ij8)" height="96.2344" style="stroke: #000000; stroke-width: 2.0;" width="268" x="10" y="40.8018"/><path d="M99,41.8018 L99,50.0986 L89,60.0986 L10,60.0986 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="79" x="13" y="54.7969">Initialization</text><rect fill="#FEFECE" filter="url(#f1t3v11fvi8ij8)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="248" x="20" y="77.0986"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="228" x="30" y="98.2373">enforce pretest machine conditions:</text><rect fill="#000000" height="3.5" style="stroke: #000000; stroke-width: 0.0;" width="3.5" x="47" y="107.0361"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="127" x="52" y="112.2061">bluetooth turned off</text><rect fill="#FFFFFF" filter="url(#f1t3v11fvi8ij8)" height="390.1094" style="stroke: #000000; stroke-width: 2.0;" width="253.5" x="39" y="147.8379"/><path d="M104,148.8379 L104,157.1348 L94,167.1348 L39,167.1348 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="55" x="42" y="161.833">test-run</text><rect fill="#FEFECE" filter="url(#f1t3v11fvi8ij8)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="86" x="101" y="184.1348"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="61" x="115" y="205.2734">set state:</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="62" x="115" y="219.2422">-power on</text><rect fill="#FEFECE" filter="url(#f1t3v11fvi8ij8)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="126" x="81" y="252.0723"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="102" x="95" y="273.2109">get device state</text><rect fill="#FEFECE" filter="url(#f1t3v11fvi8ij8)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="85" x="101.5" y="350.041"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="61" x="115.5" y="371.1797">set state:</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="62" x="111.5" y="385.1484">-power off</text><polygon fill="#FEFECE" filter="url(#f1t3v11fvi8ij8)" points="108.5,306.041,179.5,306.041,191.5,318.041,179.5,330.041,108.5,330.041,96.5,318.041,108.5,306.041" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="67" x="108.5" y="321.8491">power is on</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="59" x="191.5" y="315.4468">no=failure</text><ellipse cx="270.5" cy="318.041" fill="none" filter="url(#f1t3v11fvi8ij8)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="271" cy="318.541" fill="#000000" filter="url(#f1t3v11fvi8ij8)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#f1t3v11fvi8ij8)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="126" x="81" y="417.9785"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="102" x="95" y="439.1172">get device state</text><polygon fill="#FEFECE" filter="url(#f1t3v11fvi8ij8)" points="108,471.9473,180,471.9473,192,483.9473,180,495.9473,108,495.9473,96,483.9473,108,471.9473" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="68" x="108" y="487.7554">power is off</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="47" x="49" y="481.353">success</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="59" x="192" y="481.353">no=failure</text><ellipse cx="86" cy="515.9473" fill="none" filter="url(#f1t3v11fvi8ij8)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="86.5" cy="516.4473" fill="#000000" filter="url(#f1t3v11fvi8ij8)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><ellipse cx="202" cy="515.9473" fill="none" filter="url(#f1t3v11fvi8ij8)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="202.5" cy="516.4473" fill="#000000" filter="url(#f1t3v11fvi8ij8)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="144" x2="144" y1="30" y2="77.0986"/><polygon fill="#A80036" points="140,67.0986,144,77.0986,148,67.0986,144,71.0986" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="144" x2="144" y1="232.0723" y2="252.0723"/><polygon fill="#A80036" points="140,242.0723,144,252.0723,148,242.0723,144,246.0723" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="144" x2="144" y1="330.041" y2="350.041"/><polygon fill="#A80036" points="140,340.041,144,350.041,148,340.041,144,344.041" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="191.5" x2="260.5" y1="318.041" y2="318.041"/><polygon fill="#A80036" points="250.5,314.041,260.5,318.041,250.5,322.041,254.5,318.041" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="144" x2="144" y1="397.9785" y2="417.9785"/><polygon fill="#A80036" points="140,407.9785,144,417.9785,148,407.9785,144,411.9785" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="144" x2="144" y1="286.041" y2="306.041"/><polygon fill="#A80036" points="140,296.041,144,306.041,148,296.041,144,300.041" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="96" x2="86" y1="483.9473" y2="483.9473"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="86" x2="86" y1="483.9473" y2="505.9473"/><polygon fill="#A80036" points="82,495.9473,86,505.9473,90,495.9473,86,499.9473" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="192" x2="202" y1="483.9473" y2="483.9473"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="202" x2="202" y1="483.9473" y2="505.9473"/><polygon fill="#A80036" points="198,495.9473,202,505.9473,206,495.9473,202,499.9473" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="144" x2="144" y1="451.9473" y2="471.9473"/><polygon fill="#A80036" points="140,461.9473,144,471.9473,148,461.9473,144,465.9473" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="144" x2="144" y1="125.0361" y2="184.1348"/><polygon fill="#A80036" points="140,174.1348,144,184.1348,148,174.1348,144,178.1348" style="stroke: #A80036; stroke-width: 1.0;"/><!--
<?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="550px" preserveAspectRatio="none" style="width:305px;height:550px;background:#F0F0F0;" version="1.1" viewBox="0 0 305 550" width="305px" zoomAndPan="magnify"><defs><filter height="300%" id="f1nukkwkt4skaq" 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><ellipse cx="144" cy="20" fill="#000000" filter="url(#f1nukkwkt4skaq)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FFFFFF" filter="url(#f1nukkwkt4skaq)" height="96.2344" style="stroke: #000000; stroke-width: 2.0;" width="268" x="10" y="40.8018"/><path d="M99,41.8018 L99,50.0986 L89,60.0986 L10,60.0986 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="79" x="13" y="54.7969">Initialization</text><rect fill="#FEFECE" filter="url(#f1nukkwkt4skaq)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="248" x="20" y="77.0986"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="228" x="30" y="98.2373">enforce pretest machine conditions:</text><rect fill="#000000" height="3.5" style="stroke: #000000; stroke-width: 0.0;" width="3.5" x="47" y="107.0361"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="127" x="52" y="112.2061">bluetooth turned off</text><rect fill="#FFFFFF" filter="url(#f1nukkwkt4skaq)" height="392.1094" style="stroke: #000000; stroke-width: 2.0;" width="253.5" x="40.5" y="147.8379"/><path d="M105.5,148.8379 L105.5,157.1348 L95.5,167.1348 L40.5,167.1348 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="55" x="43.5" y="161.833">test-run</text><rect fill="#FEFECE" filter="url(#f1nukkwkt4skaq)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="86" x="101" y="184.1348"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="61" x="115" y="205.2734">set state:</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="62" x="115" y="219.2422">-power on</text><rect fill="#FEFECE" filter="url(#f1nukkwkt4skaq)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="126" x="81" y="252.0723"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="102" x="95" y="273.2109">get device state</text><rect fill="#FEFECE" filter="url(#f1nukkwkt4skaq)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="85" x="101.5" y="350.041"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="61" x="115.5" y="371.1797">set state:</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="62" x="111.5" y="385.1484">-power off</text><polygon fill="#FEFECE" filter="url(#f1nukkwkt4skaq)" points="110,306.041,178,306.041,190,318.041,178,330.041,110,330.041,98,318.041,110,306.041" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="65" x="110" y="321.8491">power is on</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="59" x="190" y="315.4468">no=failure</text><ellipse cx="271" cy="318.041" fill="#FFFFFF" filter="url(#f1nukkwkt4skaq)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="271" cy="318.041" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#f1nukkwkt4skaq)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="126" x="81" y="417.9785"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="102" x="95" y="439.1172">get device state</text><polygon fill="#FEFECE" filter="url(#f1nukkwkt4skaq)" points="109.5,471.9473,178.5,471.9473,190.5,483.9473,178.5,495.9473,109.5,495.9473,97.5,483.9473,109.5,471.9473" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="66" x="109.5" y="487.7554">power is off</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="47" x="50.5" y="481.353">success</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="59" x="190.5" y="481.353">no=failure</text><ellipse cx="87.5" cy="516.9473" fill="#FFFFFF" filter="url(#f1nukkwkt4skaq)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="87.5" cy="516.9473" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><ellipse cx="200.5" cy="516.9473" fill="#FFFFFF" filter="url(#f1nukkwkt4skaq)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="200.5" cy="516.9473" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="144" x2="144" y1="30" y2="77.0986"/><polygon fill="#A80036" points="140,67.0986,144,77.0986,148,67.0986,144,71.0986" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="144" x2="144" y1="232.0723" y2="252.0723"/><polygon fill="#A80036" points="140,242.0723,144,252.0723,148,242.0723,144,246.0723" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="144" x2="144" y1="330.041" y2="350.041"/><polygon fill="#A80036" points="140,340.041,144,350.041,148,340.041,144,344.041" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="190" x2="260" y1="318.041" y2="318.041"/><polygon fill="#A80036" points="250,314.041,260,318.041,250,322.041,254,318.041" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="144" x2="144" y1="397.9785" y2="417.9785"/><polygon fill="#A80036" points="140,407.9785,144,417.9785,148,407.9785,144,411.9785" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="144" x2="144" y1="286.041" y2="306.041"/><polygon fill="#A80036" points="140,296.041,144,306.041,148,296.041,144,300.041" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="97.5" x2="87.5" y1="483.9473" y2="483.9473"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="87.5" x2="87.5" y1="483.9473" y2="505.9473"/><polygon fill="#A80036" points="83.5,495.9473,87.5,505.9473,91.5,495.9473,87.5,499.9473" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="190.5" x2="200.5" y1="483.9473" y2="483.9473"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="200.5" x2="200.5" y1="483.9473" y2="505.9473"/><polygon fill="#A80036" points="196.5,495.9473,200.5,505.9473,204.5,495.9473,200.5,499.9473" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="144" x2="144" y1="451.9473" y2="471.9473"/><polygon fill="#A80036" points="140,461.9473,144,471.9473,148,461.9473,144,465.9473" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="144" x2="144" y1="125.0361" y2="184.1348"/><polygon fill="#A80036" points="140,174.1348,144,184.1348,148,174.1348,144,178.1348" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[26379eddef472b137bca3f2fd8f5fde5]
@startuml
skinparam BackgroundColor F0F0F0

start
partition Initialization {


@@ 29,13 30,12 @@ partition test-run {
}
@enduml

PlantUML version 1.2018.13(Mon Nov 26 18:11:51 CET 2018)
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.10+9-Ubuntu-0ubuntu1.20.04
Java Version: 11.0.12+7-post-Debian-2
Operating System: Linux
OS Version: 5.8.0-44-generic
Default Encoding: UTF-8
Language: en
Country: US

M test/pytest/service-bluetooth/doc/bluetooth-dev-test-pairing.puml => test/pytest/service-bluetooth/doc/bluetooth-dev-test-pairing.puml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0

start
partition Initialization {

M test/pytest/service-bluetooth/doc/bluetooth-dev-test-pairing.svg => test/pytest/service-bluetooth/doc/bluetooth-dev-test-pairing.svg +4 -4
@@ 1,5 1,6 @@
<?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="1130px" preserveAspectRatio="none" style="width:464px;height:1130px;" version="1.1" viewBox="0 0 464 1130" width="464px" zoomAndPan="magnify"><defs><filter height="300%" id="fnbnu0y7yo4w" 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><ellipse cx="207" cy="20" fill="#000000" filter="url(#fnbnu0y7yo4w)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FFFFFF" filter="url(#fnbnu0y7yo4w)" height="138.1406" style="stroke: #000000; stroke-width: 2.0;" width="216" x="99" y="40.8018"/><path d="M188,41.8018 L188,50.0986 L178,60.0986 L99,60.0986 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="79" x="102" y="54.7969">Initialization</text><rect fill="#FEFECE" filter="url(#fnbnu0y7yo4w)" height="89.8438" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="196" x="109" y="77.0986"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="171" x="119" y="98.2373">enforce pretest conditions:</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="135" x="119" y="112.2061">-read test input data:</text><rect fill="#000000" height="3.5" style="stroke: #000000; stroke-width: 0.0;" width="3.5" x="136" y="121.0049"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="154" x="141" y="126.1748">requires BT device name</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="148" x="119" y="140.1436">-pretest machine state:</text><rect fill="#000000" height="3.5" style="stroke: #000000; stroke-width: 0.0;" width="3.5" x="136" y="148.9424"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="127" x="141" y="154.1123">bluetooth turned on</text><rect fill="#FFFFFF" filter="url(#fnbnu0y7yo4w)" height="930.0469" style="stroke: #000000; stroke-width: 2.0;" width="443.5" x="10" y="189.7441"/><path d="M75,190.7441 L75,199.041 L65,209.041 L10,209.041 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="55" x="13" y="203.7393">test-run</text><rect fill="#FEFECE" filter="url(#fnbnu0y7yo4w)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="67" x="173.5" y="226.041"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="47" x="183.5" y="247.1797">scanOn</text><rect fill="#FEFECE" filter="url(#fnbnu0y7yo4w)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="183" x="115.5" y="368.0098"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="159" x="129.5" y="389.1484">request available devices</text><polygon fill="#FEFECE" filter="url(#fnbnu0y7yo4w)" points="152.5,324.0098,261.5,324.0098,273.5,336.0098,261.5,348.0098,152.5,348.0098,140.5,336.0098,152.5,324.0098" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="101" x="156.5" y="339.8179">timeout exceeded</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="76" x="273.5" y="333.4155">true = failure</text><ellipse cx="369.5" cy="336.0098" fill="none" filter="url(#fnbnu0y7yo4w)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="370" cy="336.5098" fill="#000000" filter="url(#fnbnu0y7yo4w)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#fnbnu0y7yo4w)" points="207,280.0098,219,292.0098,207,304.0098,195,292.0098,207,280.0098" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#fnbnu0y7yo4w)" points="93,421.9785,321,421.9785,333,433.9785,321,445.9785,93,445.9785,81,433.9785,93,421.9785" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="228" x="93" y="437.7866">the BT device name in available devices</text><rect fill="#FEFECE" filter="url(#fnbnu0y7yo4w)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="244" x="85" y="465.9785"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="220" x="99" y="487.1172">pair with the device &amp; turn scan off</text><rect fill="#FEFECE" filter="url(#fnbnu0y7yo4w)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="176" x="119" y="607.9473"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="152" x="133" y="629.0859">request bonded devices</text><polygon fill="#FEFECE" filter="url(#fnbnu0y7yo4w)" points="152.5,563.9473,261.5,563.9473,273.5,575.9473,261.5,587.9473,152.5,587.9473,140.5,575.9473,152.5,563.9473" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="101" x="156.5" y="579.7554">timeout exceeded</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="76" x="273.5" y="573.353">true = failure</text><ellipse cx="369.5" cy="575.9473" fill="none" filter="url(#fnbnu0y7yo4w)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="370" cy="576.4473" fill="#000000" filter="url(#fnbnu0y7yo4w)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#fnbnu0y7yo4w)" points="207,519.9473,219,531.9473,207,543.9473,195,531.9473,207,519.9473" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#fnbnu0y7yo4w)" points="97,661.916,317,661.916,329,673.916,317,685.916,97,685.916,85,673.916,97,661.916" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="220" x="97" y="677.7241">the BT device name in bonded devices</text><rect fill="#FEFECE" filter="url(#fnbnu0y7yo4w)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="89" x="162.5" y="705.916"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="65" x="176.5" y="727.0547">turn BT off</text><rect fill="#FEFECE" filter="url(#fnbnu0y7yo4w)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="89" x="162.5" y="759.8848"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="65" x="176.5" y="781.0234">turn BT on</text><rect fill="#FEFECE" filter="url(#fnbnu0y7yo4w)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="176" x="119" y="901.8535"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="152" x="133" y="922.9922">request bonded devices</text><polygon fill="#FEFECE" filter="url(#fnbnu0y7yo4w)" points="152.5,857.8535,261.5,857.8535,273.5,869.8535,261.5,881.8535,152.5,881.8535,140.5,869.8535,152.5,857.8535" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="101" x="156.5" y="873.6616">timeout exceeded</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="76" x="273.5" y="867.2593">true = failure</text><ellipse cx="369.5" cy="869.8535" fill="none" filter="url(#fnbnu0y7yo4w)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="370" cy="870.3535" fill="#000000" filter="url(#fnbnu0y7yo4w)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#fnbnu0y7yo4w)" points="207,813.8535,219,825.8535,207,837.8535,195,825.8535,207,813.8535" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#fnbnu0y7yo4w)" points="97,955.8223,317,955.8223,329,967.8223,317,979.8223,97,979.8223,85,967.8223,97,955.8223" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="220" x="97" y="971.6304">the BT device name in bonded devices</text><rect fill="#FEFECE" filter="url(#fnbnu0y7yo4w)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="133" x="140.5" y="999.8223"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="109" x="154.5" y="1020.9609">unpair the device</text><polygon fill="#FEFECE" filter="url(#fnbnu0y7yo4w)" points="79,1053.791,335,1053.791,347,1065.791,335,1077.791,79,1077.791,67,1065.791,79,1053.791" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="256" x="79" y="1069.5991">the BT device name is not in bonded devices</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="47" x="20" y="1063.1968">success</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="73" x="347" y="1063.1968">false=failure</text><ellipse cx="57" cy="1097.791" fill="none" filter="url(#fnbnu0y7yo4w)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="57.5" cy="1098.291" fill="#000000" filter="url(#fnbnu0y7yo4w)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><ellipse cx="357" cy="1097.791" fill="none" filter="url(#fnbnu0y7yo4w)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="357.5" cy="1098.291" fill="#000000" filter="url(#fnbnu0y7yo4w)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="207" x2="207" y1="30" y2="77.0986"/><polygon fill="#A80036" points="203,67.0986,207,77.0986,211,67.0986,207,71.0986" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="207" x2="207" y1="348.0098" y2="368.0098"/><polygon fill="#A80036" points="203,358.0098,207,368.0098,211,358.0098,207,362.0098" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="273.5" x2="359.5" y1="336.0098" y2="336.0098"/><polygon fill="#A80036" points="349.5,332.0098,359.5,336.0098,349.5,340.0098,353.5,336.0098" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="207" x2="207" y1="401.9785" y2="421.9785"/><polygon fill="#A80036" points="203,411.9785,207,421.9785,211,411.9785,207,415.9785" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="207" x2="207" y1="304.0098" y2="324.0098"/><polygon fill="#A80036" points="203,314.0098,207,324.0098,211,314.0098,207,318.0098" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="333" x2="437.5" y1="433.9785" y2="433.9785"/><polygon fill="#A80036" points="433.5,382.9941,437.5,372.9941,441.5,382.9941,437.5,378.9941" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="437.5" x2="437.5" y1="292.0098" y2="433.9785"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="437.5" x2="219" y1="292.0098" y2="292.0098"/><polygon fill="#A80036" points="229,288.0098,219,292.0098,229,296.0098,225,292.0098" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="207" x2="207" y1="260.0098" y2="280.0098"/><polygon fill="#A80036" points="203,270.0098,207,280.0098,211,270.0098,207,274.0098" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="207" x2="207" y1="445.9785" y2="465.9785"/><polygon fill="#A80036" points="203,455.9785,207,465.9785,211,455.9785,207,459.9785" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="207" x2="207" y1="587.9473" y2="607.9473"/><polygon fill="#A80036" points="203,597.9473,207,607.9473,211,597.9473,207,601.9473" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="273.5" x2="359.5" y1="575.9473" y2="575.9473"/><polygon fill="#A80036" points="349.5,571.9473,359.5,575.9473,349.5,579.9473,353.5,575.9473" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="207" x2="207" y1="641.916" y2="661.916"/><polygon fill="#A80036" points="203,651.916,207,661.916,211,651.916,207,655.916" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="207" x2="207" y1="543.9473" y2="563.9473"/><polygon fill="#A80036" points="203,553.9473,207,563.9473,211,553.9473,207,557.9473" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="329" x2="434" y1="673.916" y2="673.916"/><polygon fill="#A80036" points="430,622.9316,434,612.9316,438,622.9316,434,618.9316" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="434" x2="434" y1="531.9473" y2="673.916"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="434" x2="219" y1="531.9473" y2="531.9473"/><polygon fill="#A80036" points="229,527.9473,219,531.9473,229,535.9473,225,531.9473" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="207" x2="207" y1="499.9473" y2="519.9473"/><polygon fill="#A80036" points="203,509.9473,207,519.9473,211,509.9473,207,513.9473" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="207" x2="207" y1="685.916" y2="705.916"/><polygon fill="#A80036" points="203,695.916,207,705.916,211,695.916,207,699.916" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="207" x2="207" y1="739.8848" y2="759.8848"/><polygon fill="#A80036" points="203,749.8848,207,759.8848,211,749.8848,207,753.8848" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="207" x2="207" y1="881.8535" y2="901.8535"/><polygon fill="#A80036" points="203,891.8535,207,901.8535,211,891.8535,207,895.8535" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="273.5" x2="359.5" y1="869.8535" y2="869.8535"/><polygon fill="#A80036" points="349.5,865.8535,359.5,869.8535,349.5,873.8535,353.5,869.8535" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="207" x2="207" y1="935.8223" y2="955.8223"/><polygon fill="#A80036" points="203,945.8223,207,955.8223,211,945.8223,207,949.8223" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="207" x2="207" y1="837.8535" y2="857.8535"/><polygon fill="#A80036" points="203,847.8535,207,857.8535,211,847.8535,207,851.8535" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="329" x2="434" y1="967.8223" y2="967.8223"/><polygon fill="#A80036" points="430,916.8379,434,906.8379,438,916.8379,434,912.8379" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="434" x2="434" y1="825.8535" y2="967.8223"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="434" x2="219" y1="825.8535" y2="825.8535"/><polygon fill="#A80036" points="229,821.8535,219,825.8535,229,829.8535,225,825.8535" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="207" x2="207" y1="793.8535" y2="813.8535"/><polygon fill="#A80036" points="203,803.8535,207,813.8535,211,803.8535,207,807.8535" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="207" x2="207" y1="979.8223" y2="999.8223"/><polygon fill="#A80036" points="203,989.8223,207,999.8223,211,989.8223,207,993.8223" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="67" x2="57" y1="1065.791" y2="1065.791"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="57" x2="57" y1="1065.791" y2="1087.791"/><polygon fill="#A80036" points="53,1077.791,57,1087.791,61,1077.791,57,1081.791" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="347" x2="357" y1="1065.791" y2="1065.791"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="357" x2="357" y1="1065.791" y2="1087.791"/><polygon fill="#A80036" points="353,1077.791,357,1087.791,361,1077.791,357,1081.791" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="207" x2="207" y1="1033.791" y2="1053.791"/><polygon fill="#A80036" points="203,1043.791,207,1053.791,211,1043.791,207,1047.791" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="207" x2="207" y1="166.9424" y2="226.041"/><polygon fill="#A80036" points="203,216.041,207,226.041,211,216.041,207,220.041" style="stroke: #A80036; stroke-width: 1.0;"/><!--
<?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="1132px" preserveAspectRatio="none" style="width:456px;height:1132px;background:#F0F0F0;" version="1.1" viewBox="0 0 456 1132" width="456px" zoomAndPan="magnify"><defs><filter height="300%" id="f1cralye6bgd22" 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><ellipse cx="203" cy="20" fill="#000000" filter="url(#f1cralye6bgd22)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FFFFFF" filter="url(#f1cralye6bgd22)" height="138.1406" style="stroke: #000000; stroke-width: 2.0;" width="216" x="95" y="40.8018"/><path d="M184,41.8018 L184,50.0986 L174,60.0986 L95,60.0986 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="79" x="98" y="54.7969">Initialization</text><rect fill="#FEFECE" filter="url(#f1cralye6bgd22)" height="89.8438" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="196" x="105" y="77.0986"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="171" x="115" y="98.2373">enforce pretest conditions:</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="135" x="115" y="112.2061">-read test input data:</text><rect fill="#000000" height="3.5" style="stroke: #000000; stroke-width: 0.0;" width="3.5" x="132" y="121.0049"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="154" x="137" y="126.1748">requires BT device name</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="148" x="115" y="140.1436">-pretest machine state:</text><rect fill="#000000" height="3.5" style="stroke: #000000; stroke-width: 0.0;" width="3.5" x="132" y="148.9424"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="127" x="137" y="154.1123">bluetooth turned on</text><rect fill="#FFFFFF" filter="url(#f1cralye6bgd22)" height="932.0469" style="stroke: #000000; stroke-width: 2.0;" width="435.5" x="10" y="189.7441"/><path d="M75,190.7441 L75,199.041 L65,209.041 L10,209.041 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="55" x="13" y="203.7393">test-run</text><rect fill="#FEFECE" filter="url(#f1cralye6bgd22)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="67" x="169.5" y="226.041"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="47" x="179.5" y="247.1797">scanOn</text><rect fill="#FEFECE" filter="url(#f1cralye6bgd22)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="183" x="111.5" y="368.0098"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="159" x="125.5" y="389.1484">request available devices</text><polygon fill="#FEFECE" filter="url(#f1cralye6bgd22)" points="150,324.0098,256,324.0098,268,336.0098,256,348.0098,150,348.0098,138,336.0098,150,324.0098" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="100" x="153" y="339.8179">timeout exceeded</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="74" x="268" y="333.4155">true = failure</text><ellipse cx="364" cy="336.0098" fill="#FFFFFF" filter="url(#f1cralye6bgd22)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="364" cy="336.0098" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f1cralye6bgd22)" points="203,280.0098,215,292.0098,203,304.0098,191,292.0098,203,280.0098" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#f1cralye6bgd22)" points="92,421.9785,314,421.9785,326,433.9785,314,445.9785,92,445.9785,80,433.9785,92,421.9785" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="222" x="92" y="437.7866">the BT device name in available devices</text><rect fill="#FEFECE" filter="url(#f1cralye6bgd22)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="244" x="81" y="465.9785"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="220" x="95" y="487.1172">pair with the device &amp; turn scan off</text><rect fill="#FEFECE" filter="url(#f1cralye6bgd22)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="176" x="115" y="607.9473"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="152" x="129" y="629.0859">request bonded devices</text><polygon fill="#FEFECE" filter="url(#f1cralye6bgd22)" points="150,563.9473,256,563.9473,268,575.9473,256,587.9473,150,587.9473,138,575.9473,150,563.9473" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="100" x="153" y="579.7554">timeout exceeded</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="74" x="268" y="573.353">true = failure</text><ellipse cx="364" cy="575.9473" fill="#FFFFFF" filter="url(#f1cralye6bgd22)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="364" cy="575.9473" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f1cralye6bgd22)" points="203,519.9473,215,531.9473,203,543.9473,191,531.9473,203,519.9473" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#f1cralye6bgd22)" points="96,661.916,310,661.916,322,673.916,310,685.916,96,685.916,84,673.916,96,661.916" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="214" x="96" y="677.7241">the BT device name in bonded devices</text><rect fill="#FEFECE" filter="url(#f1cralye6bgd22)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="89" x="158.5" y="705.916"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="65" x="172.5" y="727.0547">turn BT off</text><rect fill="#FEFECE" filter="url(#f1cralye6bgd22)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="89" x="158.5" y="759.8848"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="65" x="172.5" y="781.0234">turn BT on</text><rect fill="#FEFECE" filter="url(#f1cralye6bgd22)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="176" x="115" y="901.8535"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="152" x="129" y="922.9922">request bonded devices</text><polygon fill="#FEFECE" filter="url(#f1cralye6bgd22)" points="150,857.8535,256,857.8535,268,869.8535,256,881.8535,150,881.8535,138,869.8535,150,857.8535" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="100" x="153" y="873.6616">timeout exceeded</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="74" x="268" y="867.2593">true = failure</text><ellipse cx="364" cy="869.8535" fill="#FFFFFF" filter="url(#f1cralye6bgd22)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="364" cy="869.8535" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f1cralye6bgd22)" points="203,813.8535,215,825.8535,203,837.8535,191,825.8535,203,813.8535" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#f1cralye6bgd22)" points="96,955.8223,310,955.8223,322,967.8223,310,979.8223,96,979.8223,84,967.8223,96,955.8223" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="214" x="96" y="971.6304">the BT device name in bonded devices</text><rect fill="#FEFECE" filter="url(#f1cralye6bgd22)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="133" x="136.5" y="999.8223"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="109" x="150.5" y="1020.9609">unpair the device</text><polygon fill="#FEFECE" filter="url(#f1cralye6bgd22)" points="79,1053.791,327,1053.791,339,1065.791,327,1077.791,79,1077.791,67,1065.791,79,1053.791" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="248" x="79" y="1069.5991">the BT device name is not in bonded devices</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="47" x="20" y="1063.1968">success</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="73" x="339" y="1063.1968">false=failure</text><ellipse cx="57" cy="1098.791" fill="#FFFFFF" filter="url(#f1cralye6bgd22)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="57" cy="1098.791" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><ellipse cx="349" cy="1098.791" fill="#FFFFFF" filter="url(#f1cralye6bgd22)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="349" cy="1098.791" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="203" y1="30" y2="77.0986"/><polygon fill="#A80036" points="199,67.0986,203,77.0986,207,67.0986,203,71.0986" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="203" y1="348.0098" y2="368.0098"/><polygon fill="#A80036" points="199,358.0098,203,368.0098,207,358.0098,203,362.0098" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="268" x2="353" y1="336.0098" y2="336.0098"/><polygon fill="#A80036" points="343,332.0098,353,336.0098,343,340.0098,347,336.0098" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="203" y1="401.9785" y2="421.9785"/><polygon fill="#A80036" points="199,411.9785,203,421.9785,207,411.9785,203,415.9785" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="203" y1="304.0098" y2="324.0098"/><polygon fill="#A80036" points="199,314.0098,203,324.0098,207,314.0098,203,318.0098" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="326" x2="429.5" y1="433.9785" y2="433.9785"/><polygon fill="#A80036" points="425.5,382.9941,429.5,372.9941,433.5,382.9941,429.5,378.9941" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="429.5" x2="429.5" y1="292.0098" y2="433.9785"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="429.5" x2="215" y1="292.0098" y2="292.0098"/><polygon fill="#A80036" points="225,288.0098,215,292.0098,225,296.0098,221,292.0098" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="203" y1="260.0098" y2="280.0098"/><polygon fill="#A80036" points="199,270.0098,203,280.0098,207,270.0098,203,274.0098" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="203" y1="445.9785" y2="465.9785"/><polygon fill="#A80036" points="199,455.9785,203,465.9785,207,455.9785,203,459.9785" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="203" y1="587.9473" y2="607.9473"/><polygon fill="#A80036" points="199,597.9473,203,607.9473,207,597.9473,203,601.9473" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="268" x2="353" y1="575.9473" y2="575.9473"/><polygon fill="#A80036" points="343,571.9473,353,575.9473,343,579.9473,347,575.9473" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="203" y1="641.916" y2="661.916"/><polygon fill="#A80036" points="199,651.916,203,661.916,207,651.916,203,655.916" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="203" y1="543.9473" y2="563.9473"/><polygon fill="#A80036" points="199,553.9473,203,563.9473,207,553.9473,203,557.9473" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="322" x2="426" y1="673.916" y2="673.916"/><polygon fill="#A80036" points="422,622.9316,426,612.9316,430,622.9316,426,618.9316" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="426" x2="426" y1="531.9473" y2="673.916"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="426" x2="215" y1="531.9473" y2="531.9473"/><polygon fill="#A80036" points="225,527.9473,215,531.9473,225,535.9473,221,531.9473" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="203" y1="499.9473" y2="519.9473"/><polygon fill="#A80036" points="199,509.9473,203,519.9473,207,509.9473,203,513.9473" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="203" y1="685.916" y2="705.916"/><polygon fill="#A80036" points="199,695.916,203,705.916,207,695.916,203,699.916" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="203" y1="739.8848" y2="759.8848"/><polygon fill="#A80036" points="199,749.8848,203,759.8848,207,749.8848,203,753.8848" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="203" y1="881.8535" y2="901.8535"/><polygon fill="#A80036" points="199,891.8535,203,901.8535,207,891.8535,203,895.8535" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="268" x2="353" y1="869.8535" y2="869.8535"/><polygon fill="#A80036" points="343,865.8535,353,869.8535,343,873.8535,347,869.8535" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="203" y1="935.8223" y2="955.8223"/><polygon fill="#A80036" points="199,945.8223,203,955.8223,207,945.8223,203,949.8223" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="203" y1="837.8535" y2="857.8535"/><polygon fill="#A80036" points="199,847.8535,203,857.8535,207,847.8535,203,851.8535" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="322" x2="426" y1="967.8223" y2="967.8223"/><polygon fill="#A80036" points="422,916.8379,426,906.8379,430,916.8379,426,912.8379" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="426" x2="426" y1="825.8535" y2="967.8223"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="426" x2="215" y1="825.8535" y2="825.8535"/><polygon fill="#A80036" points="225,821.8535,215,825.8535,225,829.8535,221,825.8535" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="203" y1="793.8535" y2="813.8535"/><polygon fill="#A80036" points="199,803.8535,203,813.8535,207,803.8535,203,807.8535" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="203" y1="979.8223" y2="999.8223"/><polygon fill="#A80036" points="199,989.8223,203,999.8223,207,989.8223,203,993.8223" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="67" x2="57" y1="1065.791" y2="1065.791"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="57" x2="57" y1="1065.791" y2="1087.791"/><polygon fill="#A80036" points="53,1077.791,57,1087.791,61,1077.791,57,1081.791" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="339" x2="349" y1="1065.791" y2="1065.791"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="349" x2="349" y1="1065.791" y2="1087.791"/><polygon fill="#A80036" points="345,1077.791,349,1087.791,353,1077.791,349,1081.791" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="203" y1="1033.791" y2="1053.791"/><polygon fill="#A80036" points="199,1043.791,203,1053.791,207,1043.791,203,1047.791" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203" x2="203" y1="166.9424" y2="226.041"/><polygon fill="#A80036" points="199,216.041,203,226.041,207,216.041,203,220.041" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[a0e5b751c966f785da00a03be3410d53]
@startuml
skinparam BackgroundColor F0F0F0

start
partition Initialization {


@@ 52,13 53,12 @@ partition test-run {
}
@enduml

PlantUML version 1.2018.13(Mon Nov 26 18:11:51 CET 2018)
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.10+9-Ubuntu-0ubuntu1.20.04
Java Version: 11.0.12+7-post-Debian-2
Operating System: Linux
OS Version: 5.8.0-44-generic
Default Encoding: UTF-8
Language: en
Country: US

M test/pytest/service-bluetooth/doc/bluetooth-dev-test-visibility-on-off.puml => test/pytest/service-bluetooth/doc/bluetooth-dev-test-visibility-on-off.puml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0

start
partition Initialization {

M test/pytest/service-bluetooth/doc/bluetooth-dev-test-visibility-on-off.svg => test/pytest/service-bluetooth/doc/bluetooth-dev-test-visibility-on-off.svg +4 -4
@@ 1,5 1,6 @@
<?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="705px" preserveAspectRatio="none" style="width:323px;height:705px;" version="1.1" viewBox="0 0 323 705" width="323px" zoomAndPan="magnify"><defs><filter height="300%" id="f2xmo19ttudm5" 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><ellipse cx="144" cy="20" fill="#000000" filter="url(#f2xmo19ttudm5)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FFFFFF" filter="url(#f2xmo19ttudm5)" height="96.2344" style="stroke: #000000; stroke-width: 2.0;" width="268" x="10" y="40.8018"/><path d="M99,41.8018 L99,50.0986 L89,60.0986 L10,60.0986 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="79" x="13" y="54.7969">Initialization</text><rect fill="#FEFECE" filter="url(#f2xmo19ttudm5)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="248" x="20" y="77.0986"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="228" x="30" y="98.2373">enforce pretest machine conditions:</text><rect fill="#000000" height="3.5" style="stroke: #000000; stroke-width: 0.0;" width="3.5" x="47" y="107.0361"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="127" x="52" y="112.2061">bluetooth turned off</text><rect fill="#FFFFFF" filter="url(#f2xmo19ttudm5)" height="546.875" style="stroke: #000000; stroke-width: 2.0;" width="276" x="36" y="147.8379"/><path d="M101,148.8379 L101,157.1348 L91,167.1348 L36,167.1348 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="55" x="39" y="161.833">test-run</text><rect fill="#FEFECE" filter="url(#f2xmo19ttudm5)" height="61.9063" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="95" x="96.5" y="184.1348"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="61" x="110.5" y="205.2734">set state:</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="62" x="110.5" y="219.2422">-power on</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="71" x="110.5" y="233.2109">-visibility off</text><rect fill="#FEFECE" filter="url(#f2xmo19ttudm5)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="126" x="81" y="266.041"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="102" x="95" y="287.1797">get device state</text><rect fill="#FEFECE" filter="url(#f2xmo19ttudm5)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="122" x="83" y="365.6191"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="98" x="97" y="386.7578">change visibility</text><polygon fill="#FEFECE" filter="url(#f2xmo19ttudm5)" points="103,320.0098,185,320.0098,197,332.8145,185,345.6191,103,345.6191,91,332.8145,103,320.0098" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="67" x="103" y="330.2202">power is on</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="78" x="103" y="343.0249">visibility is off</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="73" x="197" y="330.2202">false=failure</text><ellipse cx="290" cy="332.8145" fill="none" filter="url(#f2xmo19ttudm5)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="290.5" cy="333.3145" fill="#000000" filter="url(#f2xmo19ttudm5)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#f2xmo19ttudm5)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="126" x="81" y="419.5879"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="102" x="95" y="440.7266">get device state</text><rect fill="#FEFECE" filter="url(#f2xmo19ttudm5)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="122" x="83" y="519.166"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="98" x="97" y="540.3047">change visibility</text><polygon fill="#FEFECE" filter="url(#f2xmo19ttudm5)" points="103.5,473.5566,184.5,473.5566,196.5,486.3613,184.5,499.166,103.5,499.166,91.5,486.3613,103.5,473.5566" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="67" x="103.5" y="483.7671">power is on</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="77" x="103.5" y="496.5718">visibility is on</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="73" x="196.5" y="483.7671">false=failure</text><ellipse cx="289.5" cy="486.3613" fill="none" filter="url(#f2xmo19ttudm5)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="290" cy="486.8613" fill="#000000" filter="url(#f2xmo19ttudm5)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#f2xmo19ttudm5)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="126" x="81" y="573.1348"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="102" x="95" y="594.2734">get device state</text><polygon fill="#FEFECE" filter="url(#f2xmo19ttudm5)" points="105,627.1035,183,627.1035,195,639.9082,183,652.7129,105,652.7129,93,639.9082,105,627.1035" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="67" x="105" y="637.314">power is on</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="78" x="105" y="650.1187">visibility is off</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="47" x="46" y="637.314">success</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="73" x="195" y="637.314">false=failure</text><ellipse cx="83" cy="672.7129" fill="none" filter="url(#f2xmo19ttudm5)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="83.5" cy="673.2129" fill="#000000" filter="url(#f2xmo19ttudm5)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><ellipse cx="205" cy="672.7129" fill="none" filter="url(#f2xmo19ttudm5)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="205.5" cy="673.2129" fill="#000000" filter="url(#f2xmo19ttudm5)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="144" x2="144" y1="30" y2="77.0986"/><polygon fill="#A80036" points="140,67.0986,144,77.0986,148,67.0986,144,71.0986" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="144" x2="144" y1="246.041" y2="266.041"/><polygon fill="#A80036" points="140,256.041,144,266.041,148,256.041,144,260.041" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="144" x2="144" y1="345.6191" y2="365.6191"/><polygon fill="#A80036" points="140,355.6191,144,365.6191,148,355.6191,144,359.6191" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="197" x2="280" y1="332.8145" y2="332.8145"/><polygon fill="#A80036" points="270,328.8145,280,332.8145,270,336.8145,274,332.8145" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="144" x2="144" y1="399.5879" y2="419.5879"/><polygon fill="#A80036" points="140,409.5879,144,419.5879,148,409.5879,144,413.5879" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="144" x2="144" y1="300.0098" y2="320.0098"/><polygon fill="#A80036" points="140,310.0098,144,320.0098,148,310.0098,144,314.0098" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="144" x2="144" y1="499.166" y2="519.166"/><polygon fill="#A80036" points="140,509.166,144,519.166,148,509.166,144,513.166" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="196.5" x2="279.5" y1="486.3613" y2="486.3613"/><polygon fill="#A80036" points="269.5,482.3613,279.5,486.3613,269.5,490.3613,273.5,486.3613" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="144" x2="144" y1="553.1348" y2="573.1348"/><polygon fill="#A80036" points="140,563.1348,144,573.1348,148,563.1348,144,567.1348" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="144" x2="144" y1="453.5566" y2="473.5566"/><polygon fill="#A80036" points="140,463.5566,144,473.5566,148,463.5566,144,467.5566" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="93" x2="83" y1="639.9082" y2="639.9082"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="83" x2="83" y1="639.9082" y2="662.7129"/><polygon fill="#A80036" points="79,652.7129,83,662.7129,87,652.7129,83,656.7129" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="195" x2="205" y1="639.9082" y2="639.9082"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="205" x2="205" y1="639.9082" y2="662.7129"/><polygon fill="#A80036" points="201,652.7129,205,662.7129,209,652.7129,205,656.7129" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="144" x2="144" y1="607.1035" y2="627.1035"/><polygon fill="#A80036" points="140,617.1035,144,627.1035,148,617.1035,144,621.1035" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="144" x2="144" y1="125.0361" y2="184.1348"/><polygon fill="#A80036" points="140,174.1348,144,184.1348,148,174.1348,144,178.1348" style="stroke: #A80036; stroke-width: 1.0;"/><!--
<?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="707px" preserveAspectRatio="none" style="width:324px;height:707px;background:#F0F0F0;" version="1.1" viewBox="0 0 324 707" width="324px" zoomAndPan="magnify"><defs><filter height="300%" id="f1114ipoz9svlp" 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><ellipse cx="144" cy="20" fill="#000000" filter="url(#f1114ipoz9svlp)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FFFFFF" filter="url(#f1114ipoz9svlp)" height="96.2344" style="stroke: #000000; stroke-width: 2.0;" width="268" x="10" y="40.8018"/><path d="M99,41.8018 L99,50.0986 L89,60.0986 L10,60.0986 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="79" x="13" y="54.7969">Initialization</text><rect fill="#FEFECE" filter="url(#f1114ipoz9svlp)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="248" x="20" y="77.0986"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="228" x="30" y="98.2373">enforce pretest machine conditions:</text><rect fill="#000000" height="3.5" style="stroke: #000000; stroke-width: 0.0;" width="3.5" x="47" y="107.0361"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="127" x="52" y="112.2061">bluetooth turned off</text><rect fill="#FFFFFF" filter="url(#f1114ipoz9svlp)" height="548.875" style="stroke: #000000; stroke-width: 2.0;" width="276.5" x="37" y="147.8379"/><path d="M102,148.8379 L102,157.1348 L92,167.1348 L37,167.1348 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="55" x="40" y="161.833">test-run</text><rect fill="#FEFECE" filter="url(#f1114ipoz9svlp)" height="61.9063" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="95" x="96.5" y="184.1348"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="61" x="110.5" y="205.2734">set state:</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="62" x="110.5" y="219.2422">-power on</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="71" x="110.5" y="233.2109">-visibility off</text><rect fill="#FEFECE" filter="url(#f1114ipoz9svlp)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="126" x="81" y="266.041"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="102" x="95" y="287.1797">get device state</text><rect fill="#FEFECE" filter="url(#f1114ipoz9svlp)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="122" x="83" y="365.6191"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="98" x="97" y="386.7578">change visibility</text><polygon fill="#FEFECE" filter="url(#f1114ipoz9svlp)" points="104.5,320.0098,183.5,320.0098,195.5,332.8145,183.5,345.6191,104.5,345.6191,92.5,332.8145,104.5,320.0098" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="65" x="104.5" y="330.2202">power is on</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="76" x="104.5" y="343.0249">visibility is off</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="73" x="195.5" y="330.2202">false=failure</text><ellipse cx="290.5" cy="332.8145" fill="#FFFFFF" filter="url(#f1114ipoz9svlp)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="290.5" cy="332.8145" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#f1114ipoz9svlp)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="126" x="81" y="419.5879"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="102" x="95" y="440.7266">get device state</text><rect fill="#FEFECE" filter="url(#f1114ipoz9svlp)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="122" x="83" y="519.166"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="98" x="97" y="540.3047">change visibility</text><polygon fill="#FEFECE" filter="url(#f1114ipoz9svlp)" points="105,473.5566,183,473.5566,195,486.3613,183,499.166,105,499.166,93,486.3613,105,473.5566" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="65" x="105" y="483.7671">power is on</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="75" x="105" y="496.5718">visibility is on</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="73" x="195" y="483.7671">false=failure</text><ellipse cx="290" cy="486.3613" fill="#FFFFFF" filter="url(#f1114ipoz9svlp)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="290" cy="486.3613" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#f1114ipoz9svlp)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="126" x="81" y="573.1348"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="102" x="95" y="594.2734">get device state</text><polygon fill="#FEFECE" filter="url(#f1114ipoz9svlp)" points="106,627.1035,182,627.1035,194,639.9082,182,652.7129,106,652.7129,94,639.9082,106,627.1035" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="65" x="106" y="637.314">power is on</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="76" x="106" y="650.1187">visibility is off</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="47" x="47" y="637.314">success</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="73" x="194" y="637.314">false=failure</text><ellipse cx="84" cy="673.7129" fill="#FFFFFF" filter="url(#f1114ipoz9svlp)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="84" cy="673.7129" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><ellipse cx="204" cy="673.7129" fill="#FFFFFF" filter="url(#f1114ipoz9svlp)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="204" cy="673.7129" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="144" x2="144" y1="30" y2="77.0986"/><polygon fill="#A80036" points="140,67.0986,144,77.0986,148,67.0986,144,71.0986" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="144" x2="144" y1="246.041" y2="266.041"/><polygon fill="#A80036" points="140,256.041,144,266.041,148,256.041,144,260.041" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="144" x2="144" y1="345.6191" y2="365.6191"/><polygon fill="#A80036" points="140,355.6191,144,365.6191,148,355.6191,144,359.6191" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="195.5" x2="279.5" y1="332.8145" y2="332.8145"/><polygon fill="#A80036" points="269.5,328.8145,279.5,332.8145,269.5,336.8145,273.5,332.8145" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="144" x2="144" y1="399.5879" y2="419.5879"/><polygon fill="#A80036" points="140,409.5879,144,419.5879,148,409.5879,144,413.5879" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="144" x2="144" y1="300.0098" y2="320.0098"/><polygon fill="#A80036" points="140,310.0098,144,320.0098,148,310.0098,144,314.0098" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="144" x2="144" y1="499.166" y2="519.166"/><polygon fill="#A80036" points="140,509.166,144,519.166,148,509.166,144,513.166" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="195" x2="279" y1="486.3613" y2="486.3613"/><polygon fill="#A80036" points="269,482.3613,279,486.3613,269,490.3613,273,486.3613" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="144" x2="144" y1="553.1348" y2="573.1348"/><polygon fill="#A80036" points="140,563.1348,144,573.1348,148,563.1348,144,567.1348" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="144" x2="144" y1="453.5566" y2="473.5566"/><polygon fill="#A80036" points="140,463.5566,144,473.5566,148,463.5566,144,467.5566" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="94" x2="84" y1="639.9082" y2="639.9082"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="84" x2="84" y1="639.9082" y2="662.7129"/><polygon fill="#A80036" points="80,652.7129,84,662.7129,88,652.7129,84,656.7129" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="194" x2="204" y1="639.9082" y2="639.9082"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="204" x2="204" y1="639.9082" y2="662.7129"/><polygon fill="#A80036" points="200,652.7129,204,662.7129,208,652.7129,204,656.7129" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="144" x2="144" y1="607.1035" y2="627.1035"/><polygon fill="#A80036" points="140,617.1035,144,627.1035,148,617.1035,144,621.1035" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="144" x2="144" y1="125.0361" y2="184.1348"/><polygon fill="#A80036" points="140,174.1348,144,184.1348,148,174.1348,144,178.1348" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[74f91c7df2ce884dcd974961945c175c]
@startuml
skinparam BackgroundColor F0F0F0

start
partition Initialization {


@@ 36,13 37,12 @@ partition test-run {
}
@enduml

PlantUML version 1.2018.13(Mon Nov 26 18:11:51 CET 2018)
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.10+9-Ubuntu-0ubuntu1.20.04
Java Version: 11.0.12+7-post-Debian-2
Operating System: Linux
OS Version: 5.8.0-44-generic
Default Encoding: UTF-8
Language: en
Country: US

M test/pytest/service-bluetooth/doc/bluetooth-main-window-navigation.puml => test/pytest/service-bluetooth/doc/bluetooth-main-window-navigation.puml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0
if (is on desktop main) then (no)
  :navigate to desktop main;
else (yes)

M test/pytest/service-bluetooth/doc/bluetooth-main-window-navigation.svg => test/pytest/service-bluetooth/doc/bluetooth-main-window-navigation.svg +4 -4
@@ 1,5 1,6 @@
<?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="203px" preserveAspectRatio="none" style="width:241px;height:203px;" version="1.1" viewBox="0 0 241 203" width="241px" zoomAndPan="magnify"><defs><filter height="300%" id="f1v7l7ti954a7d" 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="#FEFECE" filter="url(#f1v7l7ti954a7d)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="180" x="25" y="60.3013"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="160" x="35" y="81.4399">navigate to desktop main</text><polygon fill="#FEFECE" filter="url(#f1v7l7ti954a7d)" points="60.5,11.8989,169.5,11.8989,181.5,23.8989,169.5,35.8989,60.5,35.8989,48.5,23.8989,60.5,11.8989" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="119" y="46.1094">no</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="109" x="60.5" y="27.707">is on desktop main</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="181.5" y="21.3047">yes</text><polygon fill="#FEFECE" filter="url(#f1v7l7ti954a7d)" points="115,114.27,127,126.27,115,138.27,103,126.27,115,114.27" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#f1v7l7ti954a7d)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="210" x="10" y="158.27"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="186" x="24" y="179.4087">navigate to settings - BT Main</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="115" x2="115" y1="35.8989" y2="60.3013"/><polygon fill="#A80036" points="111,50.3013,115,60.3013,119,50.3013,115,54.3013" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="181.5" x2="215" y1="23.8989" y2="23.8989"/><polygon fill="#A80036" points="211,67.2856,215,77.2856,219,67.2856,215,71.2856" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="215" x2="215" y1="23.8989" y2="126.27"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="215" x2="127" y1="126.27" y2="126.27"/><polygon fill="#A80036" points="137,122.27,127,126.27,137,130.27,133,126.27" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="115" x2="115" y1="94.27" y2="114.27"/><polygon fill="#A80036" points="111,104.27,115,114.27,119,104.27,115,108.27" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="115" x2="115" y1="138.27" y2="158.27"/><polygon fill="#A80036" points="111,148.27,115,158.27,119,148.27,115,152.27" style="stroke: #A80036; stroke-width: 1.0;"/><!--
<?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="203px" preserveAspectRatio="none" style="width:241px;height:203px;background:#F0F0F0;" version="1.1" viewBox="0 0 241 203" width="241px" zoomAndPan="magnify"><defs><filter height="300%" id="f8dken8o19rup" 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="#FEFECE" filter="url(#f8dken8o19rup)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="180" x="25" y="60.3013"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="160" x="35" y="81.4399">navigate to desktop main</text><polygon fill="#FEFECE" filter="url(#f8dken8o19rup)" points="62,11.8989,168,11.8989,180,23.8989,168,35.8989,62,35.8989,50,23.8989,62,11.8989" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="119" y="46.1094">no</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="106" x="62" y="27.707">is on desktop main</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="180" y="21.3047">yes</text><polygon fill="#FEFECE" filter="url(#f8dken8o19rup)" points="115,114.27,127,126.27,115,138.27,103,126.27,115,114.27" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#f8dken8o19rup)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="210" x="10" y="158.27"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="186" x="24" y="179.4087">navigate to settings - BT Main</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="115" x2="115" y1="35.8989" y2="60.3013"/><polygon fill="#A80036" points="111,50.3013,115,60.3013,119,50.3013,115,54.3013" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="180" x2="215" y1="23.8989" y2="23.8989"/><polygon fill="#A80036" points="211,67.2856,215,77.2856,219,67.2856,215,71.2856" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="215" x2="215" y1="23.8989" y2="126.27"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="215" x2="127" y1="126.27" y2="126.27"/><polygon fill="#A80036" points="137,122.27,127,126.27,137,130.27,133,126.27" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="115" x2="115" y1="94.27" y2="114.27"/><polygon fill="#A80036" points="111,104.27,115,114.27,119,104.27,115,108.27" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="115" x2="115" y1="138.27" y2="158.27"/><polygon fill="#A80036" points="111,148.27,115,158.27,119,148.27,115,152.27" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[dad292764ba59306243a61640121e692]
@startuml
skinparam BackgroundColor F0F0F0
if (is on desktop main) then (no)
  :navigate to desktop main;
else (yes)


@@ 7,13 8,12 @@ endif
: navigate to settings - BT Main;
@enduml

PlantUML version 1.2018.13(Mon Nov 26 18:11:51 CET 2018)
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.10+9-Ubuntu-0ubuntu1.20.04
Java Version: 11.0.12+7-post-Debian-2
Operating System: Linux
OS Version: 5.8.0-43-generic
Default Encoding: UTF-8
Language: en
Country: US

M test/pytest/service-bluetooth/doc/bluetooth-pretest-condition.puml => test/pytest/service-bluetooth/doc/bluetooth-pretest-condition.puml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0
if (is on BT Main) then (no)
  :navigate to BT main;
else (yes)

M test/pytest/service-bluetooth/doc/bluetooth-pretest-condition.svg => test/pytest/service-bluetooth/doc/bluetooth-pretest-condition.svg +4 -4
@@ 1,5 1,6 @@
<?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="296px" preserveAspectRatio="none" style="width:190px;height:296px;" version="1.1" viewBox="0 0 190 296" width="190px" zoomAndPan="magnify"><defs><filter height="300%" id="f1waudlsv668qd" 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="#FEFECE" filter="url(#f1waudlsv668qd)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="144" x="10" y="60.3013"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="124" x="20" y="81.4399">navigate to BT main</text><polygon fill="#FEFECE" filter="url(#f1waudlsv668qd)" points="43.5,11.8989,120.5,11.8989,132.5,23.8989,120.5,35.8989,43.5,35.8989,31.5,23.8989,43.5,11.8989" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="86" y="46.1094">no</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="77" x="43.5" y="27.707">is on BT Main</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="132.5" y="21.3047">yes</text><polygon fill="#FEFECE" filter="url(#f1waudlsv668qd)" points="82,114.27,94,126.27,82,138.27,70,126.27,82,114.27" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#f1waudlsv668qd)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="85" x="39.5" y="206.6724"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="65" x="49.5" y="227.811">turn BT off</text><polygon fill="#FEFECE" filter="url(#f1waudlsv668qd)" points="58,158.27,106,158.27,118,170.27,106,182.27,58,182.27,46,170.27,58,158.27" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="86" y="192.4805">no</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="48" x="58" y="174.0781">is BT off</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="118" y="167.6758">yes</text><polygon fill="#FEFECE" filter="url(#f1waudlsv668qd)" points="82,260.6411,94,272.6411,82,284.6411,70,272.6411,82,260.6411" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="82" x2="82" y1="35.8989" y2="60.3013"/><polygon fill="#A80036" points="78,50.3013,82,60.3013,86,50.3013,82,54.3013" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="132.5" x2="164" y1="23.8989" y2="23.8989"/><polygon fill="#A80036" points="160,67.2856,164,77.2856,168,67.2856,164,71.2856" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="164" x2="164" y1="23.8989" y2="126.27"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="164" x2="94" y1="126.27" y2="126.27"/><polygon fill="#A80036" points="104,122.27,94,126.27,104,130.27,100,126.27" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="82" x2="82" y1="94.27" y2="114.27"/><polygon fill="#A80036" points="78,104.27,82,114.27,86,104.27,82,108.27" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="82" x2="82" y1="182.27" y2="206.6724"/><polygon fill="#A80036" points="78,196.6724,82,206.6724,86,196.6724,82,200.6724" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="118" x2="134.5" y1="170.27" y2="170.27"/><polygon fill="#A80036" points="130.5,213.6567,134.5,223.6567,138.5,213.6567,134.5,217.6567" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="134.5" x2="134.5" y1="170.27" y2="272.6411"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="134.5" x2="94" y1="272.6411" y2="272.6411"/><polygon fill="#A80036" points="104,268.6411,94,272.6411,104,276.6411,100,272.6411" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="82" x2="82" y1="240.6411" y2="260.6411"/><polygon fill="#A80036" points="78,250.6411,82,260.6411,86,250.6411,82,254.6411" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="82" x2="82" y1="138.27" y2="158.27"/><polygon fill="#A80036" points="78,148.27,82,158.27,86,148.27,82,152.27" style="stroke: #A80036; stroke-width: 1.0;"/><!--
<?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="296px" preserveAspectRatio="none" style="width:190px;height:296px;background:#F0F0F0;" version="1.1" viewBox="0 0 190 296" width="190px" zoomAndPan="magnify"><defs><filter height="300%" id="f15ay59qrmopzf" 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="#FEFECE" filter="url(#f15ay59qrmopzf)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="144" x="10" y="60.3013"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="124" x="20" y="81.4399">navigate to BT main</text><polygon fill="#FEFECE" filter="url(#f15ay59qrmopzf)" points="45,11.8989,119,11.8989,131,23.8989,119,35.8989,45,35.8989,33,23.8989,45,11.8989" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="86" y="46.1094">no</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="74" x="45" y="27.707">is on BT Main</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="131" y="21.3047">yes</text><polygon fill="#FEFECE" filter="url(#f15ay59qrmopzf)" points="82,114.27,94,126.27,82,138.27,70,126.27,82,114.27" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#f15ay59qrmopzf)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="85" x="39.5" y="206.6724"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="65" x="49.5" y="227.811">turn BT off</text><polygon fill="#FEFECE" filter="url(#f15ay59qrmopzf)" points="59,158.27,105,158.27,117,170.27,105,182.27,59,182.27,47,170.27,59,158.27" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="86" y="192.4805">no</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="46" x="59" y="174.0781">is BT off</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="117" y="167.6758">yes</text><polygon fill="#FEFECE" filter="url(#f15ay59qrmopzf)" points="82,260.6411,94,272.6411,82,284.6411,70,272.6411,82,260.6411" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="82" x2="82" y1="35.8989" y2="60.3013"/><polygon fill="#A80036" points="78,50.3013,82,60.3013,86,50.3013,82,54.3013" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="131" x2="164" y1="23.8989" y2="23.8989"/><polygon fill="#A80036" points="160,67.2856,164,77.2856,168,67.2856,164,71.2856" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="164" x2="164" y1="23.8989" y2="126.27"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="164" x2="94" y1="126.27" y2="126.27"/><polygon fill="#A80036" points="104,122.27,94,126.27,104,130.27,100,126.27" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="82" x2="82" y1="94.27" y2="114.27"/><polygon fill="#A80036" points="78,104.27,82,114.27,86,104.27,82,108.27" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="82" x2="82" y1="182.27" y2="206.6724"/><polygon fill="#A80036" points="78,196.6724,82,206.6724,86,196.6724,82,200.6724" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="117" x2="134.5" y1="170.27" y2="170.27"/><polygon fill="#A80036" points="130.5,213.6567,134.5,223.6567,138.5,213.6567,134.5,217.6567" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="134.5" x2="134.5" y1="170.27" y2="272.6411"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="134.5" x2="94" y1="272.6411" y2="272.6411"/><polygon fill="#A80036" points="104,268.6411,94,272.6411,104,276.6411,100,272.6411" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="82" x2="82" y1="240.6411" y2="260.6411"/><polygon fill="#A80036" points="78,250.6411,82,260.6411,86,250.6411,82,254.6411" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="82" x2="82" y1="138.27" y2="158.27"/><polygon fill="#A80036" points="78,148.27,82,158.27,86,148.27,82,152.27" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[2a25cc175abf7cd3bfacadb49666b243]
@startuml
skinparam BackgroundColor F0F0F0
if (is on BT Main) then (no)
  :navigate to BT main;
else (yes)


@@ 11,13 12,12 @@ else (yes)
endif
@enduml

PlantUML version 1.2018.13(Mon Nov 26 18:11:51 CET 2018)
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.10+9-Ubuntu-0ubuntu1.20.04
Java Version: 11.0.12+7-post-Debian-2
Operating System: Linux
OS Version: 5.8.0-43-generic
Default Encoding: UTF-8
Language: en
Country: US

M test/pytest/service-bluetooth/doc/bluetooth-test-pairing-forget-pair.puml => test/pytest/service-bluetooth/doc/bluetooth-test-pairing-forget-pair.puml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0
start
partition Initialization {
    :enforce pretest machine conditions:

M test/pytest/service-bluetooth/doc/bluetooth-test-pairing-forget-pair.svg => test/pytest/service-bluetooth/doc/bluetooth-test-pairing-forget-pair.svg +4 -4
@@ 1,5 1,6 @@
<?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="630px" preserveAspectRatio="none" style="width:388px;height:630px;" version="1.1" viewBox="0 0 388 630" width="388px" zoomAndPan="magnify"><defs><filter height="300%" id="fkoea4umu0pon" 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><ellipse cx="176" cy="20" fill="#000000" filter="url(#fkoea4umu0pon)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FFFFFF" filter="url(#fkoea4umu0pon)" height="152.1094" style="stroke: #000000; stroke-width: 2.0;" width="268" x="42" y="40.8018"/><path d="M131,41.8018 L131,50.0986 L121,60.0986 L42,60.0986 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="79" x="45" y="54.7969">Initialization</text><rect fill="#FEFECE" filter="url(#fkoea4umu0pon)" height="103.8125" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="248" x="52" y="77.0986"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="228" x="62" y="98.2373">enforce pretest machine conditions:</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="142" x="62" y="112.2061">-inject test data to DB:</text><rect fill="#000000" height="3.5" style="stroke: #000000; stroke-width: 0.0;" width="3.5" x="79" y="121.0049"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="59" x="84" y="126.1748">BT device</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="156" x="62" y="140.1436">-PurePhone visible state:</text><rect fill="#000000" height="3.5" style="stroke: #000000; stroke-width: 0.0;" width="3.5" x="79" y="148.9424"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="201" x="84" y="154.1123">in ApplicationSettings:Bluetooth</text><rect fill="#000000" height="3.5" style="stroke: #000000; stroke-width: 0.0;" width="3.5" x="79" y="162.9111"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="127" x="84" y="168.0811">bluetooth turned off</text><rect fill="#FFFFFF" filter="url(#fkoea4umu0pon)" height="294.3159" style="stroke: #000000; stroke-width: 2.0;" width="298" x="79.5" y="203.7129"/><path d="M144.5,204.7129 L144.5,213.0098 L134.5,223.0098 L79.5,223.0098 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="55" x="82.5" y="217.708">test-run</text><rect fill="#FEFECE" filter="url(#fkoea4umu0pon)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="89" x="131.5" y="240.0098"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="65" x="145.5" y="261.1484">turn BT on</text><rect fill="#FEFECE" filter="url(#fkoea4umu0pon)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="124" x="114" y="293.9785"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="100" x="128" y="315.1172">enter AllDevices</text><rect fill="#FEFECE" filter="url(#fkoea4umu0pon)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="62" x="145" y="396.3496"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="38" x="159" y="417.4883">forget</text><polygon fill="#FEFECE" filter="url(#fkoea4umu0pon)" points="101.5,347.9473,250.5,347.9473,262.5,359.9473,250.5,371.9473,101.5,371.9473,89.5,359.9473,101.5,347.9473" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="180" y="382.1577">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="149" x="101.5" y="363.7554">BT device name displayed</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="67" x="262.5" y="357.353">no = failure</text><ellipse cx="349.5" cy="359.9473" fill="none" filter="url(#fkoea4umu0pon)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="350" cy="360.4473" fill="#000000" filter="url(#fkoea4umu0pon)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#fkoea4umu0pon)" points="101.5,450.3184,250.5,450.3184,262.5,462.3184,250.5,474.3184,101.5,474.3184,89.5,462.3184,101.5,450.3184" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="47" x="180" y="484.5288">success</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="149" x="101.5" y="466.1265">BT device name displayed</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="73" x="262.5" y="459.7241">yes = failure</text><ellipse cx="355.5" cy="462.3184" fill="none" filter="url(#fkoea4umu0pon)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="356" cy="462.8184" fill="#000000" filter="url(#fkoea4umu0pon)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FFFFFF" filter="url(#fkoea4umu0pon)" height="110.2031" style="stroke: #000000; stroke-width: 2.0;" width="332" x="10" y="508.8306"/><path d="M142,509.8306 L142,518.1274 L132,528.1274 L10,528.1274 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="122" x="13" y="522.8257">post-test-analysis</text><rect fill="#FEFECE" filter="url(#fkoea4umu0pon)" height="61.9063" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="312" x="20" y="545.1274"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="141" x="30" y="566.2661">on "all device" window:</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="211" x="30" y="580.2349">-parse all devices window content</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="292" x="30" y="594.2036">-check for BT device name - should not appear</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="176" x2="176" y1="30" y2="77.0986"/><polygon fill="#A80036" points="172,67.0986,176,77.0986,180,67.0986,176,71.0986" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="176" x2="176" y1="273.9785" y2="293.9785"/><polygon fill="#A80036" points="172,283.9785,176,293.9785,180,283.9785,176,287.9785" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="176" x2="176" y1="371.9473" y2="396.3496"/><polygon fill="#A80036" points="172,386.3496,176,396.3496,180,386.3496,176,390.3496" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="262.5" x2="339.5" y1="359.9473" y2="359.9473"/><polygon fill="#A80036" points="329.5,355.9473,339.5,359.9473,329.5,363.9473,333.5,359.9473" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="176" x2="176" y1="430.3184" y2="450.3184"/><polygon fill="#A80036" points="172,440.3184,176,450.3184,180,440.3184,176,444.3184" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="176" x2="176" y1="327.9473" y2="347.9473"/><polygon fill="#A80036" points="172,337.9473,176,347.9473,180,337.9473,176,341.9473" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="176" x2="176" y1="474.3184" y2="545.1274"/><polygon fill="#A80036" points="172,535.1274,176,545.1274,180,535.1274,176,539.1274" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="262.5" x2="345.5" y1="462.3184" y2="462.3184"/><polygon fill="#A80036" points="335.5,458.3184,345.5,462.3184,335.5,466.3184,339.5,462.3184" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="176" x2="176" y1="180.9111" y2="240.0098"/><polygon fill="#A80036" points="172,230.0098,176,240.0098,180,230.0098,176,234.0098" style="stroke: #A80036; stroke-width: 1.0;"/><!--
<?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="630px" preserveAspectRatio="none" style="width:388px;height:630px;background:#F0F0F0;" version="1.1" viewBox="0 0 388 630" width="388px" zoomAndPan="magnify"><defs><filter height="300%" id="fpybxprirtiw3" 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><ellipse cx="176" cy="20" fill="#000000" filter="url(#fpybxprirtiw3)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FFFFFF" filter="url(#fpybxprirtiw3)" height="152.1094" style="stroke: #000000; stroke-width: 2.0;" width="268" x="42" y="40.8018"/><path d="M131,41.8018 L131,50.0986 L121,60.0986 L42,60.0986 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="79" x="45" y="54.7969">Initialization</text><rect fill="#FEFECE" filter="url(#fpybxprirtiw3)" height="103.8125" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="248" x="52" y="77.0986"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="228" x="62" y="98.2373">enforce pretest machine conditions:</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="142" x="62" y="112.2061">-inject test data to DB:</text><rect fill="#000000" height="3.5" style="stroke: #000000; stroke-width: 0.0;" width="3.5" x="79" y="121.0049"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="59" x="84" y="126.1748">BT device</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="156" x="62" y="140.1436">-PurePhone visible state:</text><rect fill="#000000" height="3.5" style="stroke: #000000; stroke-width: 0.0;" width="3.5" x="79" y="148.9424"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="201" x="84" y="154.1123">in ApplicationSettings:Bluetooth</text><rect fill="#000000" height="3.5" style="stroke: #000000; stroke-width: 0.0;" width="3.5" x="79" y="162.9111"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="127" x="84" y="168.0811">bluetooth turned off</text><rect fill="#FFFFFF" filter="url(#fpybxprirtiw3)" height="294.3159" style="stroke: #000000; stroke-width: 2.0;" width="296" x="81" y="203.7129"/><path d="M146,204.7129 L146,213.0098 L136,223.0098 L81,223.0098 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="55" x="84" y="217.708">test-run</text><rect fill="#FEFECE" filter="url(#fpybxprirtiw3)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="89" x="131.5" y="240.0098"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="65" x="145.5" y="261.1484">turn BT on</text><rect fill="#FEFECE" filter="url(#fpybxprirtiw3)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="124" x="114" y="293.9785"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="100" x="128" y="315.1172">enter AllDevices</text><rect fill="#FEFECE" filter="url(#fpybxprirtiw3)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="62" x="145" y="396.3496"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="38" x="159" y="417.4883">forget</text><polygon fill="#FEFECE" filter="url(#fpybxprirtiw3)" points="103,347.9473,249,347.9473,261,359.9473,249,371.9473,103,371.9473,91,359.9473,103,347.9473" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="180" y="382.1577">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="146" x="103" y="363.7554">BT device name displayed</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="65" x="261" y="357.353">no = failure</text><ellipse cx="348" cy="359.9473" fill="#FFFFFF" filter="url(#fpybxprirtiw3)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="348" cy="359.9473" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#fpybxprirtiw3)" points="103,450.3184,249,450.3184,261,462.3184,249,474.3184,103,474.3184,91,462.3184,103,450.3184" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="47" x="180" y="484.5288">success</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="146" x="103" y="466.1265">BT device name displayed</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="71" x="261" y="459.7241">yes = failure</text><ellipse cx="354" cy="462.3184" fill="#FFFFFF" filter="url(#fpybxprirtiw3)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="354" cy="462.3184" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><rect fill="#FFFFFF" filter="url(#fpybxprirtiw3)" height="110.2031" style="stroke: #000000; stroke-width: 2.0;" width="332" x="10" y="508.8306"/><path d="M142,509.8306 L142,518.1274 L132,528.1274 L10,528.1274 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="122" x="13" y="522.8257">post-test-analysis</text><rect fill="#FEFECE" filter="url(#fpybxprirtiw3)" height="61.9063" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="312" x="20" y="545.1274"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="141" x="30" y="566.2661">on "all device" window:</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="211" x="30" y="580.2349">-parse all devices window content</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="292" x="30" y="594.2036">-check for BT device name - should not appear</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="176" x2="176" y1="30" y2="77.0986"/><polygon fill="#A80036" points="172,67.0986,176,77.0986,180,67.0986,176,71.0986" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="176" x2="176" y1="273.9785" y2="293.9785"/><polygon fill="#A80036" points="172,283.9785,176,293.9785,180,283.9785,176,287.9785" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="176" x2="176" y1="371.9473" y2="396.3496"/><polygon fill="#A80036" points="172,386.3496,176,396.3496,180,386.3496,176,390.3496" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="261" x2="337" y1="359.9473" y2="359.9473"/><polygon fill="#A80036" points="327,355.9473,337,359.9473,327,363.9473,331,359.9473" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="176" x2="176" y1="430.3184" y2="450.3184"/><polygon fill="#A80036" points="172,440.3184,176,450.3184,180,440.3184,176,444.3184" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="176" x2="176" y1="327.9473" y2="347.9473"/><polygon fill="#A80036" points="172,337.9473,176,347.9473,180,337.9473,176,341.9473" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="176" x2="176" y1="474.3184" y2="545.1274"/><polygon fill="#A80036" points="172,535.1274,176,545.1274,180,535.1274,176,539.1274" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="261" x2="343" y1="462.3184" y2="462.3184"/><polygon fill="#A80036" points="333,458.3184,343,462.3184,333,466.3184,337,462.3184" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="176" x2="176" y1="180.9111" y2="240.0098"/><polygon fill="#A80036" points="172,230.0098,176,240.0098,180,230.0098,176,234.0098" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[bc28e2a6a7a7f901cb15cf6fd870c8cf]
@startuml
skinparam BackgroundColor F0F0F0
start
partition Initialization {
    :enforce pretest machine conditions:


@@ 33,13 34,12 @@ partition post-test-analysis {

@enduml

PlantUML version 1.2018.13(Mon Nov 26 18:11:51 CET 2018)
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.10+9-Ubuntu-0ubuntu1.20.04
Java Version: 11.0.12+7-post-Debian-2
Operating System: Linux
OS Version: 5.8.0-43-generic
Default Encoding: UTF-8
Language: en
Country: US

M test/pytest/service-bluetooth/doc/bluetooth-test-pairing-happy-path.puml => test/pytest/service-bluetooth/doc/bluetooth-test-pairing-happy-path.puml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0

partition Initialization {
    :enforce pretest machine conditions:

M test/pytest/service-bluetooth/doc/bluetooth-test-pairing-happy-path.svg => test/pytest/service-bluetooth/doc/bluetooth-test-pairing-happy-path.svg +4 -4
@@ 1,5 1,6 @@
<?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="1068px" preserveAspectRatio="none" style="width:476px;height:1068px;" version="1.1" viewBox="0 0 476 1068" width="476px" zoomAndPan="magnify"><defs><filter height="300%" id="fivov867r11m1" 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(#fivov867r11m1)" height="187.0156" style="stroke: #000000; stroke-width: 2.0;" width="268" x="35.5" y="10.8018"/><path d="M124.5,11.8018 L124.5,20.0986 L114.5,30.0986 L35.5,30.0986 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="79" x="38.5" y="24.7969">Initialization</text><rect fill="#FEFECE" filter="url(#fivov867r11m1)" height="145.7188" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="248" x="45.5" y="40.0986"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="228" x="55.5" y="61.2373">enforce pretest machine conditions:</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="135" x="55.5" y="75.2061">-read test input data:</text><rect fill="#000000" height="3.5" style="stroke: #000000; stroke-width: 0.0;" width="3.5" x="72.5" y="84.0049"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="154" x="77.5" y="89.1748">requires BT device name</text><rect fill="#000000" height="3.5" style="stroke: #000000; stroke-width: 0.0;" width="3.5" x="72.5" y="97.9736"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="178" x="77.5" y="103.1436">optional BT device password</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="142" x="55.5" y="117.1123">-inject test data to DB:</text><rect fill="#000000" height="3.5" style="stroke: #000000; stroke-width: 0.0;" width="3.5" x="72.5" y="125.9111"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="59" x="77.5" y="131.0811">BT device</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="156" x="55.5" y="145.0498">-PurePhone visible state:</text><rect fill="#000000" height="3.5" style="stroke: #000000; stroke-width: 0.0;" width="3.5" x="72.5" y="153.8486"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="201" x="77.5" y="159.0186">in ApplicationSettings:Bluetooth</text><rect fill="#000000" height="3.5" style="stroke: #000000; stroke-width: 0.0;" width="3.5" x="72.5" y="167.8174"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="127" x="77.5" y="172.9873">bluetooth turned off</text><rect fill="#FFFFFF" filter="url(#fivov867r11m1)" height="727.9326" style="stroke: #000000; stroke-width: 2.0;" width="450" x="15.5" y="208.6191"/><path d="M80.5,209.6191 L80.5,217.916 L70.5,227.916 L15.5,227.916 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="55" x="18.5" y="222.6143">test-run</text><rect fill="#FEFECE" filter="url(#fivov867r11m1)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="89" x="125" y="244.916"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="65" x="139" y="266.0547">turn BT on</text><rect fill="#FEFECE" filter="url(#fivov867r11m1)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="124" x="107.5" y="298.8848"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="100" x="121.5" y="320.0234">enter AllDevices</text><polygon fill="#FEFECE" filter="url(#fivov867r11m1)" points="95,352.8535,244,352.8535,256,364.8535,244,376.8535,95,376.8535,83,364.8535,95,352.8535" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="149" x="95" y="368.6616">BT device name displayed</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="63" y="362.2593">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="256" y="362.2593">no</text><rect fill="#FEFECE" filter="url(#fivov867r11m1)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="75" x="35.5" y="386.8535"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="51" x="49.5" y="407.9922">connect</text><rect fill="#FEFECE" filter="url(#fivov867r11m1)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="138" x="197" y="386.8535"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="114" x="211" y="407.9922">press "+" for scan</text><polygon fill="#FEFECE" filter="url(#fivov867r11m1)" points="211.5,484.8223,320.5,484.8223,332.5,496.8223,320.5,508.8223,211.5,508.8223,199.5,496.8223,211.5,484.8223" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="270" y="519.0327">no</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="101" x="215.5" y="500.6304">timeout exceeded</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="73" x="332.5" y="494.228">yes = failure</text><ellipse cx="425.5" cy="496.8223" fill="none" filter="url(#fivov867r11m1)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="426" cy="497.3223" fill="#000000" filter="url(#fivov867r11m1)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#fivov867r11m1)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="116" x="208" y="560.5327"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="92" x="222" y="581.6714">wait x seconds</text><polygon fill="#FEFECE" filter="url(#fivov867r11m1)" points="266,440.8223,278,452.8223,266,464.8223,254,452.8223,266,440.8223" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#fivov867r11m1)" points="180.5,614.5015,351.5,614.5015,363.5,626.5015,351.5,638.5015,180.5,638.5015,168.5,626.5015,180.5,614.5015" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="171" x="180.5" y="630.3096">BT device name not displayed</text><rect fill="#FEFECE" filter="url(#fivov867r11m1)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="92" x="220" y="658.5015"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="68" x="234" y="679.6401">add device</text><polygon fill="#FEFECE" filter="url(#fivov867r11m1)" points="169.5,698.4702,181.5,710.4702,169.5,722.4702,157.5,710.4702,169.5,698.4702" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#fivov867r11m1)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="118" x="110.5" y="790.8726"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="98" x="120.5" y="812.0112">enter password</text><polygon fill="#FEFECE" filter="url(#fivov867r11m1)" points="124.5,844.8413,214.5,844.8413,226.5,856.8413,214.5,868.8413,124.5,868.8413,112.5,856.8413,124.5,844.8413" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="173.5" y="879.0518">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="86" x="124.5" y="860.6494">valid password</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="67" x="226.5" y="854.2471">no = failure</text><ellipse cx="313.5" cy="856.8413" fill="none" filter="url(#fivov867r11m1)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="314" cy="857.3413" fill="#000000" filter="url(#fivov867r11m1)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#fivov867r11m1)" points="125.5,742.4702,213.5,742.4702,225.5,754.4702,213.5,766.4702,125.5,766.4702,113.5,754.4702,125.5,742.4702" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="173.5" y="776.6807">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="88" x="125.5" y="758.2783">need password</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="225.5" y="751.876">no</text><polygon fill="#FEFECE" filter="url(#fivov867r11m1)" points="169.5,900.5518,181.5,912.5518,169.5,924.5518,157.5,912.5518,169.5,900.5518" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FFFFFF" filter="url(#fivov867r11m1)" height="110.2031" style="stroke: #000000; stroke-width: 2.0;" width="319" x="10" y="947.3535"/><path d="M142,948.3535 L142,956.6504 L132,966.6504 L10,966.6504 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="122" x="13" y="961.3486">post-test-analysis</text><rect fill="#FEFECE" filter="url(#fivov867r11m1)" height="61.9063" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="299" x="20" y="983.6504"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="202" x="34" y="1004.7891">check if connected successfully:</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="211" x="30" y="1018.7578">-parse all devices window content</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="279" x="30" y="1032.7266">-check for BT device name + connected icon</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="169.5" x2="169.5" y1="278.8848" y2="298.8848"/><polygon fill="#A80036" points="165.5,288.8848,169.5,298.8848,173.5,288.8848,169.5,292.8848" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="266" x2="266" y1="508.8223" y2="560.5327"/><polygon fill="#A80036" points="262,550.5327,266,560.5327,270,550.5327,266,554.5327" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="332.5" x2="415.5" y1="496.8223" y2="496.8223"/><polygon fill="#A80036" points="405.5,492.8223,415.5,496.8223,405.5,500.8223,409.5,496.8223" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="266" x2="266" y1="464.8223" y2="484.8223"/><polygon fill="#A80036" points="262,474.8223,266,484.8223,270,474.8223,266,478.8223" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="363.5" x2="449.5" y1="626.5015" y2="626.5015"/><polygon fill="#A80036" points="445.5,540.5327,449.5,530.5327,453.5,540.5327,449.5,536.5327" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="449.5" x2="449.5" y1="452.8223" y2="626.5015"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="449.5" x2="278" y1="452.8223" y2="452.8223"/><polygon fill="#A80036" points="288,448.8223,278,452.8223,288,456.8223,284,452.8223" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="266" x2="266" y1="594.5015" y2="614.5015"/><polygon fill="#A80036" points="262,604.5015,266,614.5015,270,604.5015,266,608.5015" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="266" x2="266" y1="420.8223" y2="440.8223"/><polygon fill="#A80036" points="262,430.8223,266,440.8223,270,430.8223,266,434.8223" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="266" x2="266" y1="638.5015" y2="658.5015"/><polygon fill="#A80036" points="262,648.5015,266,658.5015,270,648.5015,266,652.5015" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="83" x2="73" y1="364.8535" y2="364.8535"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="73" x2="73" y1="364.8535" y2="386.8535"/><polygon fill="#A80036" points="69,376.8535,73,386.8535,77,376.8535,73,380.8535" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="256" x2="266" y1="364.8535" y2="364.8535"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="266" x2="266" y1="364.8535" y2="386.8535"/><polygon fill="#A80036" points="262,376.8535,266,386.8535,270,376.8535,266,380.8535" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="73" x2="73" y1="420.8223" y2="710.4702"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="73" x2="157.5" y1="710.4702" y2="710.4702"/><polygon fill="#A80036" points="147.5,706.4702,157.5,710.4702,147.5,714.4702,151.5,710.4702" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="266" x2="266" y1="692.4702" y2="710.4702"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="266" x2="181.5" y1="710.4702" y2="710.4702"/><polygon fill="#A80036" points="191.5,706.4702,181.5,710.4702,191.5,714.4702,187.5,710.4702" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="169.5" x2="169.5" y1="332.8535" y2="352.8535"/><polygon fill="#A80036" points="165.5,342.8535,169.5,352.8535,173.5,342.8535,169.5,346.8535" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="169.5" x2="169.5" y1="868.8413" y2="900.5518"/><polygon fill="#A80036" points="165.5,890.5518,169.5,900.5518,173.5,890.5518,169.5,894.5518" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="226.5" x2="303.5" y1="856.8413" y2="856.8413"/><polygon fill="#A80036" points="293.5,852.8413,303.5,856.8413,293.5,860.8413,297.5,856.8413" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="169.5" x2="169.5" y1="824.8413" y2="844.8413"/><polygon fill="#A80036" points="165.5,834.8413,169.5,844.8413,173.5,834.8413,169.5,838.8413" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="169.5" x2="169.5" y1="766.4702" y2="790.8726"/><polygon fill="#A80036" points="165.5,780.8726,169.5,790.8726,173.5,780.8726,169.5,784.8726" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="225.5" x2="345.5" y1="754.4702" y2="754.4702"/><polygon fill="#A80036" points="341.5,836.7593,345.5,846.7593,349.5,836.7593,345.5,840.7593" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="345.5" x2="345.5" y1="754.4702" y2="912.5518"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="345.5" x2="181.5" y1="912.5518" y2="912.5518"/><polygon fill="#A80036" points="191.5,908.5518,181.5,912.5518,191.5,916.5518,187.5,912.5518" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="169.5" x2="169.5" y1="722.4702" y2="742.4702"/><polygon fill="#A80036" points="165.5,732.4702,169.5,742.4702,173.5,732.4702,169.5,736.4702" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="169.5" x2="169.5" y1="185.8174" y2="244.916"/><polygon fill="#A80036" points="165.5,234.916,169.5,244.916,173.5,234.916,169.5,238.916" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="169.5" x2="169.5" y1="924.5518" y2="983.6504"/><polygon fill="#A80036" points="165.5,973.6504,169.5,983.6504,173.5,973.6504,169.5,977.6504" style="stroke: #A80036; stroke-width: 1.0;"/><!--
<?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="1068px" preserveAspectRatio="none" style="width:474px;height:1068px;background:#F0F0F0;" version="1.1" viewBox="0 0 474 1068" width="474px" zoomAndPan="magnify"><defs><filter height="300%" id="f2v7s70chamv3" 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(#f2v7s70chamv3)" height="187.0156" style="stroke: #000000; stroke-width: 2.0;" width="268" x="35.5" y="10.8018"/><path d="M124.5,11.8018 L124.5,20.0986 L114.5,30.0986 L35.5,30.0986 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="79" x="38.5" y="24.7969">Initialization</text><rect fill="#FEFECE" filter="url(#f2v7s70chamv3)" height="145.7188" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="248" x="45.5" y="40.0986"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="228" x="55.5" y="61.2373">enforce pretest machine conditions:</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="135" x="55.5" y="75.2061">-read test input data:</text><rect fill="#000000" height="3.5" style="stroke: #000000; stroke-width: 0.0;" width="3.5" x="72.5" y="84.0049"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="154" x="77.5" y="89.1748">requires BT device name</text><rect fill="#000000" height="3.5" style="stroke: #000000; stroke-width: 0.0;" width="3.5" x="72.5" y="97.9736"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="178" x="77.5" y="103.1436">optional BT device password</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="142" x="55.5" y="117.1123">-inject test data to DB:</text><rect fill="#000000" height="3.5" style="stroke: #000000; stroke-width: 0.0;" width="3.5" x="72.5" y="125.9111"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="59" x="77.5" y="131.0811">BT device</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="156" x="55.5" y="145.0498">-PurePhone visible state:</text><rect fill="#000000" height="3.5" style="stroke: #000000; stroke-width: 0.0;" width="3.5" x="72.5" y="153.8486"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="201" x="77.5" y="159.0186">in ApplicationSettings:Bluetooth</text><rect fill="#000000" height="3.5" style="stroke: #000000; stroke-width: 0.0;" width="3.5" x="72.5" y="167.8174"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="127" x="77.5" y="172.9873">bluetooth turned off</text><rect fill="#FFFFFF" filter="url(#f2v7s70chamv3)" height="727.9326" style="stroke: #000000; stroke-width: 2.0;" width="446.5" x="17" y="208.6191"/><path d="M82,209.6191 L82,217.916 L72,227.916 L17,227.916 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="55" x="20" y="222.6143">test-run</text><rect fill="#FEFECE" filter="url(#f2v7s70chamv3)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="89" x="125" y="244.916"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="65" x="139" y="266.0547">turn BT on</text><rect fill="#FEFECE" filter="url(#f2v7s70chamv3)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="124" x="107.5" y="298.8848"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="100" x="121.5" y="320.0234">enter AllDevices</text><polygon fill="#FEFECE" filter="url(#f2v7s70chamv3)" points="96.5,352.8535,242.5,352.8535,254.5,364.8535,242.5,376.8535,96.5,376.8535,84.5,364.8535,96.5,352.8535" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="146" x="96.5" y="368.6616">BT device name displayed</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="64.5" y="362.2593">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="254.5" y="362.2593">no</text><rect fill="#FEFECE" filter="url(#f2v7s70chamv3)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="75" x="37" y="386.8535"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="51" x="51" y="407.9922">connect</text><rect fill="#FEFECE" filter="url(#f2v7s70chamv3)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="138" x="195.5" y="386.8535"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="114" x="209.5" y="407.9922">press "+" for scan</text><polygon fill="#FEFECE" filter="url(#f2v7s70chamv3)" points="211.5,484.8223,317.5,484.8223,329.5,496.8223,317.5,508.8223,211.5,508.8223,199.5,496.8223,211.5,484.8223" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="268.5" y="519.0327">no</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="100" x="214.5" y="500.6304">timeout exceeded</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="71" x="329.5" y="494.228">yes = failure</text><ellipse cx="422.5" cy="496.8223" fill="#FFFFFF" filter="url(#f2v7s70chamv3)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="422.5" cy="496.8223" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#f2v7s70chamv3)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="116" x="206.5" y="560.5327"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="92" x="220.5" y="581.6714">wait x seconds</text><polygon fill="#FEFECE" filter="url(#f2v7s70chamv3)" points="264.5,440.8223,276.5,452.8223,264.5,464.8223,252.5,452.8223,264.5,440.8223" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#f2v7s70chamv3)" points="181,614.5015,348,614.5015,360,626.5015,348,638.5015,181,638.5015,169,626.5015,181,614.5015" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="167" x="181" y="630.3096">BT device name not displayed</text><rect fill="#FEFECE" filter="url(#f2v7s70chamv3)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="92" x="218.5" y="658.5015"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="68" x="232.5" y="679.6401">add device</text><polygon fill="#FEFECE" filter="url(#f2v7s70chamv3)" points="169.5,698.4702,181.5,710.4702,169.5,722.4702,157.5,710.4702,169.5,698.4702" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#f2v7s70chamv3)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="118" x="110.5" y="790.8726"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="98" x="120.5" y="812.0112">enter password</text><polygon fill="#FEFECE" filter="url(#f2v7s70chamv3)" points="125.5,844.8413,213.5,844.8413,225.5,856.8413,213.5,868.8413,125.5,868.8413,113.5,856.8413,125.5,844.8413" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="173.5" y="879.0518">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="85" x="125.5" y="860.6494">valid password</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="65" x="225.5" y="854.2471">no = failure</text><ellipse cx="312.5" cy="856.8413" fill="#FFFFFF" filter="url(#f2v7s70chamv3)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="312.5" cy="856.8413" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f2v7s70chamv3)" points="126,742.4702,213,742.4702,225,754.4702,213,766.4702,126,766.4702,114,754.4702,126,742.4702" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="173.5" y="776.6807">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="87" x="126" y="758.2783">need password</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="225" y="751.876">no</text><polygon fill="#FEFECE" filter="url(#f2v7s70chamv3)" points="169.5,900.5518,181.5,912.5518,169.5,924.5518,157.5,912.5518,169.5,900.5518" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FFFFFF" filter="url(#f2v7s70chamv3)" height="110.2031" style="stroke: #000000; stroke-width: 2.0;" width="319" x="10" y="947.3535"/><path d="M142,948.3535 L142,956.6504 L132,966.6504 L10,966.6504 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="122" x="13" y="961.3486">post-test-analysis</text><rect fill="#FEFECE" filter="url(#f2v7s70chamv3)" height="61.9063" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="299" x="20" y="983.6504"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="202" x="34" y="1004.7891">check if connected successfully:</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="211" x="30" y="1018.7578">-parse all devices window content</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="279" x="30" y="1032.7266">-check for BT device name + connected icon</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="169.5" x2="169.5" y1="278.8848" y2="298.8848"/><polygon fill="#A80036" points="165.5,288.8848,169.5,298.8848,173.5,288.8848,169.5,292.8848" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="264.5" x2="264.5" y1="508.8223" y2="560.5327"/><polygon fill="#A80036" points="260.5,550.5327,264.5,560.5327,268.5,550.5327,264.5,554.5327" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="329.5" x2="411.5" y1="496.8223" y2="496.8223"/><polygon fill="#A80036" points="401.5,492.8223,411.5,496.8223,401.5,500.8223,405.5,496.8223" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="264.5" x2="264.5" y1="464.8223" y2="484.8223"/><polygon fill="#A80036" points="260.5,474.8223,264.5,484.8223,268.5,474.8223,264.5,478.8223" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="360" x2="447.5" y1="626.5015" y2="626.5015"/><polygon fill="#A80036" points="443.5,540.5327,447.5,530.5327,451.5,540.5327,447.5,536.5327" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="447.5" x2="447.5" y1="452.8223" y2="626.5015"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="447.5" x2="276.5" y1="452.8223" y2="452.8223"/><polygon fill="#A80036" points="286.5,448.8223,276.5,452.8223,286.5,456.8223,282.5,452.8223" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="264.5" x2="264.5" y1="594.5015" y2="614.5015"/><polygon fill="#A80036" points="260.5,604.5015,264.5,614.5015,268.5,604.5015,264.5,608.5015" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="264.5" x2="264.5" y1="420.8223" y2="440.8223"/><polygon fill="#A80036" points="260.5,430.8223,264.5,440.8223,268.5,430.8223,264.5,434.8223" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="264.5" x2="264.5" y1="638.5015" y2="658.5015"/><polygon fill="#A80036" points="260.5,648.5015,264.5,658.5015,268.5,648.5015,264.5,652.5015" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="84.5" x2="74.5" y1="364.8535" y2="364.8535"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="74.5" x2="74.5" y1="364.8535" y2="386.8535"/><polygon fill="#A80036" points="70.5,376.8535,74.5,386.8535,78.5,376.8535,74.5,380.8535" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="254.5" x2="264.5" y1="364.8535" y2="364.8535"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="264.5" x2="264.5" y1="364.8535" y2="386.8535"/><polygon fill="#A80036" points="260.5,376.8535,264.5,386.8535,268.5,376.8535,264.5,380.8535" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="74.5" x2="74.5" y1="420.8223" y2="710.4702"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="74.5" x2="157.5" y1="710.4702" y2="710.4702"/><polygon fill="#A80036" points="147.5,706.4702,157.5,710.4702,147.5,714.4702,151.5,710.4702" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="264.5" x2="264.5" y1="692.4702" y2="710.4702"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="264.5" x2="181.5" y1="710.4702" y2="710.4702"/><polygon fill="#A80036" points="191.5,706.4702,181.5,710.4702,191.5,714.4702,187.5,710.4702" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="169.5" x2="169.5" y1="332.8535" y2="352.8535"/><polygon fill="#A80036" points="165.5,342.8535,169.5,352.8535,173.5,342.8535,169.5,346.8535" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="169.5" x2="169.5" y1="868.8413" y2="900.5518"/><polygon fill="#A80036" points="165.5,890.5518,169.5,900.5518,173.5,890.5518,169.5,894.5518" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="225.5" x2="301.5" y1="856.8413" y2="856.8413"/><polygon fill="#A80036" points="291.5,852.8413,301.5,856.8413,291.5,860.8413,295.5,856.8413" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="169.5" x2="169.5" y1="824.8413" y2="844.8413"/><polygon fill="#A80036" points="165.5,834.8413,169.5,844.8413,173.5,834.8413,169.5,838.8413" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="169.5" x2="169.5" y1="766.4702" y2="790.8726"/><polygon fill="#A80036" points="165.5,780.8726,169.5,790.8726,173.5,780.8726,169.5,784.8726" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="225" x2="345.5" y1="754.4702" y2="754.4702"/><polygon fill="#A80036" points="341.5,836.7593,345.5,846.7593,349.5,836.7593,345.5,840.7593" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="345.5" x2="345.5" y1="754.4702" y2="912.5518"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="345.5" x2="181.5" y1="912.5518" y2="912.5518"/><polygon fill="#A80036" points="191.5,908.5518,181.5,912.5518,191.5,916.5518,187.5,912.5518" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="169.5" x2="169.5" y1="722.4702" y2="742.4702"/><polygon fill="#A80036" points="165.5,732.4702,169.5,742.4702,173.5,732.4702,169.5,736.4702" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="169.5" x2="169.5" y1="185.8174" y2="244.916"/><polygon fill="#A80036" points="165.5,234.916,169.5,244.916,173.5,234.916,169.5,238.916" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="169.5" x2="169.5" y1="924.5518" y2="983.6504"/><polygon fill="#A80036" points="165.5,973.6504,169.5,983.6504,173.5,973.6504,169.5,977.6504" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[2cc5b9600908d28bf6bf69b54b713574]
@startuml
skinparam BackgroundColor F0F0F0

partition Initialization {
    :enforce pretest machine conditions:


@@ 46,13 47,12 @@ partition post-test-analysis {

@enduml

PlantUML version 1.2018.13(Mon Nov 26 18:11:51 CET 2018)
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.10+9-Ubuntu-0ubuntu1.20.04
Java Version: 11.0.12+7-post-Debian-2
Operating System: Linux
OS Version: 5.8.0-43-generic
Default Encoding: UTF-8
Language: en
Country: US

M test/pytest/service-bluetooth/doc/bluetooth-test-pairing-no-device.puml => test/pytest/service-bluetooth/doc/bluetooth-test-pairing-no-device.puml +1 -0
@@ 1,4 1,5 @@
@startuml
skinparam BackgroundColor F0F0F0

partition Initialization {
    :enforce pretest machine conditions:

M test/pytest/service-bluetooth/doc/bluetooth-test-pairing-no-device.svg => test/pytest/service-bluetooth/doc/bluetooth-test-pairing-no-device.svg +4 -4
@@ 1,5 1,6 @@
<?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="593px" preserveAspectRatio="none" style="width:386px;height:593px;" version="1.1" viewBox="0 0 386 593" width="386px" zoomAndPan="magnify"><defs><filter height="300%" id="f4pw4s7np9ydq" 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(#f4pw4s7np9ydq)" height="145.1094" style="stroke: #000000; stroke-width: 2.0;" width="268" x="45.5" y="10.8018"/><path d="M134.5,11.8018 L134.5,20.0986 L124.5,30.0986 L45.5,30.0986 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="79" x="48.5" y="24.7969">Initialization</text><rect fill="#FEFECE" filter="url(#f4pw4s7np9ydq)" height="103.8125" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="248" x="55.5" y="40.0986"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="228" x="65.5" y="61.2373">enforce pretest machine conditions:</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="142" x="65.5" y="75.2061">-inject test data to DB:</text><rect fill="#000000" height="3.5" style="stroke: #000000; stroke-width: 0.0;" width="3.5" x="82.5" y="84.0049"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="59" x="87.5" y="89.1748">BT device</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="156" x="65.5" y="103.1436">-PurePhone visible state:</text><rect fill="#000000" height="3.5" style="stroke: #000000; stroke-width: 0.0;" width="3.5" x="82.5" y="111.9424"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="201" x="87.5" y="117.1123">in ApplicationSettings:Bluetooth</text><rect fill="#000000" height="3.5" style="stroke: #000000; stroke-width: 0.0;" width="3.5" x="82.5" y="125.9111"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="127" x="87.5" y="131.0811">bluetooth turned off</text><rect fill="#FFFFFF" filter="url(#f4pw4s7np9ydq)" height="294.3159" style="stroke: #000000; stroke-width: 2.0;" width="292" x="83" y="166.7129"/><path d="M148,167.7129 L148,176.0098 L138,186.0098 L83,186.0098 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="55" x="86" y="180.708">test-run</text><rect fill="#FEFECE" filter="url(#f4pw4s7np9ydq)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="89" x="135" y="203.0098"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="65" x="149" y="224.1484">turn BT on</text><rect fill="#FEFECE" filter="url(#f4pw4s7np9ydq)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="124" x="117.5" y="256.9785"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="100" x="131.5" y="278.1172">enter AllDevices</text><rect fill="#FEFECE" filter="url(#f4pw4s7np9ydq)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="75" x="142" y="359.3496"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="51" x="156" y="380.4883">connect</text><polygon fill="#FEFECE" filter="url(#f4pw4s7np9ydq)" points="105,310.9473,254,310.9473,266,322.9473,254,334.9473,105,334.9473,93,322.9473,105,310.9473" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="183.5" y="345.1577">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="149" x="105" y="326.7554">BT device name displayed</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="67" x="266" y="320.353">no = failure</text><ellipse cx="353" cy="322.9473" fill="none" filter="url(#f4pw4s7np9ydq)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="353.5" cy="323.4473" fill="#000000" filter="url(#f4pw4s7np9ydq)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f4pw4s7np9ydq)" points="108.5,413.3184,250.5,413.3184,262.5,425.3184,250.5,437.3184,108.5,437.3184,96.5,425.3184,108.5,413.3184" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="47" x="183.5" y="447.5288">success</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="142" x="108.5" y="429.1265">connection-failed window</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="67" x="262.5" y="422.7241">no = failure</text><ellipse cx="349.5" cy="425.3184" fill="none" filter="url(#f4pw4s7np9ydq)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="350" cy="425.8184" fill="#000000" filter="url(#f4pw4s7np9ydq)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FFFFFF" filter="url(#f4pw4s7np9ydq)" height="110.2031" style="stroke: #000000; stroke-width: 2.0;" width="339" x="10" y="471.8306"/><path d="M142,472.8306 L142,481.1274 L132,491.1274 L10,491.1274 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="122" x="13" y="485.8257">post-test-analysis</text><rect fill="#FEFECE" filter="url(#f4pw4s7np9ydq)" height="61.9063" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="319" x="20" y="508.1274"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="141" x="30" y="529.2661">on "all device" window:</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="211" x="30" y="543.2349">-parse all devices window content</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="299" x="30" y="557.2036">-check for BT device name + no connected icon</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="179.5" x2="179.5" y1="236.9785" y2="256.9785"/><polygon fill="#A80036" points="175.5,246.9785,179.5,256.9785,183.5,246.9785,179.5,250.9785" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="179.5" x2="179.5" y1="334.9473" y2="359.3496"/><polygon fill="#A80036" points="175.5,349.3496,179.5,359.3496,183.5,349.3496,179.5,353.3496" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="266" x2="343" y1="322.9473" y2="322.9473"/><polygon fill="#A80036" points="333,318.9473,343,322.9473,333,326.9473,337,322.9473" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="179.5" x2="179.5" y1="393.3184" y2="413.3184"/><polygon fill="#A80036" points="175.5,403.3184,179.5,413.3184,183.5,403.3184,179.5,407.3184" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="179.5" x2="179.5" y1="290.9473" y2="310.9473"/><polygon fill="#A80036" points="175.5,300.9473,179.5,310.9473,183.5,300.9473,179.5,304.9473" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="179.5" x2="179.5" y1="437.3184" y2="508.1274"/><polygon fill="#A80036" points="175.5,498.1274,179.5,508.1274,183.5,498.1274,179.5,502.1274" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="262.5" x2="339.5" y1="425.3184" y2="425.3184"/><polygon fill="#A80036" points="329.5,421.3184,339.5,425.3184,329.5,429.3184,333.5,425.3184" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="179.5" x2="179.5" y1="143.9111" y2="203.0098"/><polygon fill="#A80036" points="175.5,193.0098,179.5,203.0098,183.5,193.0098,179.5,197.0098" style="stroke: #A80036; stroke-width: 1.0;"/><!--
<?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="593px" preserveAspectRatio="none" style="width:385px;height:593px;background:#F0F0F0;" version="1.1" viewBox="0 0 385 593" width="385px" zoomAndPan="magnify"><defs><filter height="300%" id="frid0fqvl97ok" 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(#frid0fqvl97ok)" height="145.1094" style="stroke: #000000; stroke-width: 2.0;" width="268" x="45.5" y="10.8018"/><path d="M134.5,11.8018 L134.5,20.0986 L124.5,30.0986 L45.5,30.0986 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="79" x="48.5" y="24.7969">Initialization</text><rect fill="#FEFECE" filter="url(#frid0fqvl97ok)" height="103.8125" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="248" x="55.5" y="40.0986"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="228" x="65.5" y="61.2373">enforce pretest machine conditions:</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="142" x="65.5" y="75.2061">-inject test data to DB:</text><rect fill="#000000" height="3.5" style="stroke: #000000; stroke-width: 0.0;" width="3.5" x="82.5" y="84.0049"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="59" x="87.5" y="89.1748">BT device</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="156" x="65.5" y="103.1436">-PurePhone visible state:</text><rect fill="#000000" height="3.5" style="stroke: #000000; stroke-width: 0.0;" width="3.5" x="82.5" y="111.9424"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="201" x="87.5" y="117.1123">in ApplicationSettings:Bluetooth</text><rect fill="#000000" height="3.5" style="stroke: #000000; stroke-width: 0.0;" width="3.5" x="82.5" y="125.9111"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="127" x="87.5" y="131.0811">bluetooth turned off</text><rect fill="#FFFFFF" filter="url(#frid0fqvl97ok)" height="294.3159" style="stroke: #000000; stroke-width: 2.0;" width="290" x="84.5" y="166.7129"/><path d="M149.5,167.7129 L149.5,176.0098 L139.5,186.0098 L84.5,186.0098 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="55" x="87.5" y="180.708">test-run</text><rect fill="#FEFECE" filter="url(#frid0fqvl97ok)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="89" x="135" y="203.0098"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="65" x="149" y="224.1484">turn BT on</text><rect fill="#FEFECE" filter="url(#frid0fqvl97ok)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="124" x="117.5" y="256.9785"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="100" x="131.5" y="278.1172">enter AllDevices</text><rect fill="#FEFECE" filter="url(#frid0fqvl97ok)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="75" x="142" y="359.3496"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="51" x="156" y="380.4883">connect</text><polygon fill="#FEFECE" filter="url(#frid0fqvl97ok)" points="106.5,310.9473,252.5,310.9473,264.5,322.9473,252.5,334.9473,106.5,334.9473,94.5,322.9473,106.5,310.9473" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="183.5" y="345.1577">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="146" x="106.5" y="326.7554">BT device name displayed</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="65" x="264.5" y="320.353">no = failure</text><ellipse cx="351.5" cy="322.9473" fill="#FFFFFF" filter="url(#frid0fqvl97ok)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="351.5" cy="322.9473" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#frid0fqvl97ok)" points="109,413.3184,250,413.3184,262,425.3184,250,437.3184,109,437.3184,97,425.3184,109,413.3184" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="47" x="183.5" y="447.5288">success</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="141" x="109" y="429.1265">connection-failed window</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="65" x="262" y="422.7241">no = failure</text><ellipse cx="349" cy="425.3184" fill="#FFFFFF" filter="url(#frid0fqvl97ok)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="349" cy="425.3184" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><rect fill="#FFFFFF" filter="url(#frid0fqvl97ok)" height="110.2031" style="stroke: #000000; stroke-width: 2.0;" width="339" x="10" y="471.8306"/><path d="M142,472.8306 L142,481.1274 L132,491.1274 L10,491.1274 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="122" x="13" y="485.8257">post-test-analysis</text><rect fill="#FEFECE" filter="url(#frid0fqvl97ok)" height="61.9063" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="319" x="20" y="508.1274"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="141" x="30" y="529.2661">on "all device" window:</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="211" x="30" y="543.2349">-parse all devices window content</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="299" x="30" y="557.2036">-check for BT device name + no connected icon</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="179.5" x2="179.5" y1="236.9785" y2="256.9785"/><polygon fill="#A80036" points="175.5,246.9785,179.5,256.9785,183.5,246.9785,179.5,250.9785" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="179.5" x2="179.5" y1="334.9473" y2="359.3496"/><polygon fill="#A80036" points="175.5,349.3496,179.5,359.3496,183.5,349.3496,179.5,353.3496" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="264.5" x2="340.5" y1="322.9473" y2="322.9473"/><polygon fill="#A80036" points="330.5,318.9473,340.5,322.9473,330.5,326.9473,334.5,322.9473" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="179.5" x2="179.5" y1="393.3184" y2="413.3184"/><polygon fill="#A80036" points="175.5,403.3184,179.5,413.3184,183.5,403.3184,179.5,407.3184" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="179.5" x2="179.5" y1="290.9473" y2="310.9473"/><polygon fill="#A80036" points="175.5,300.9473,179.5,310.9473,183.5,300.9473,179.5,304.9473" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="179.5" x2="179.5" y1="437.3184" y2="508.1274"/><polygon fill="#A80036" points="175.5,498.1274,179.5,508.1274,183.5,498.1274,179.5,502.1274" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="262" x2="338" y1="425.3184" y2="425.3184"/><polygon fill="#A80036" points="328,421.3184,338,425.3184,328,429.3184,332,425.3184" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="179.5" x2="179.5" y1="143.9111" y2="203.0098"/><polygon fill="#A80036" points="175.5,193.0098,179.5,203.0098,183.5,193.0098,179.5,197.0098" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[cc3739b5b366f8634806bd5fc3d807f1]
@startuml
skinparam BackgroundColor F0F0F0

partition Initialization {
    :enforce pretest machine conditions:


@@ 29,13 30,12 @@ partition post-test-analysis {
}
@enduml

PlantUML version 1.2018.13(Mon Nov 26 18:11:51 CET 2018)
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.10+9-Ubuntu-0ubuntu1.20.04
Java Version: 11.0.12+7-post-Debian-2
Operating System: Linux
OS Version: 5.8.0-43-generic
Default Encoding: UTF-8
Language: en
Country: US