blob: b72ccb17dda76539cbc5ce757c20029e51c37121 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
@startuml
title Show/Hide Onscreenapp Sequence
actor User
entity HomeScreen_Service as HSS
entity App
entity Onscreenapp
entity WindowManagere as WM
== show Onscreenapp ==
User->App: display Onscreenapp by user operation
App->HSS: subscribe replyShowWindow event
App->HSS: call showWindow()
note right
{ "application_id": "onscreenapp",
"parameter": {
"file": "qml file path",
"data": {...}
}
}
end note
HSS->HSS: get app's id
HSS->Onscreenapp: push showWindow event
note right
{ "application_id": "onscreenapp",
"parameter": {
"file": "qml file path",
"data": {...},
"replyid": "app's id"
}
}
end note
Onscreenapp->WM: activateWindow("on_screen.app")
alt display able
WM->Onscreenapp: SyncDraw
Onscreenapp->Onscreenapp: load app's qml
Onscreenapp->WM: EndDraw("on_screen.app")
WM->Onscreenapp: VISIBLE("on_screen.app")
else display disable
rnote over Onscreenapp
do nothing
end rnote
end
== hide Onscreenapp ==
alt touch Onscreenapp's button
User->Onscreenapp: touch Onscreenapp's button
Onscreenapp->WM: deactivateWindow("on_screen.app")
Onscreenapp->Onscreenapp: unload qml
Onscreenapp->HSS: call replyShowWindow()
note right
{ "application_id": "app's id",
"parameter": {
"method": "Buttons.ButtonPress",
"buttonName": "pressed button name",
"buttonPressMode": "Short"
}
}
end note
WM->Onscreenapp: INVISIBLE("on_screen.app")
HSS->App: push replyShowWindow event
App->App: call button function
else hide by App
App->HSS: call hideWindow("onscreenapp")
note right
{ "application_id": "onscreenapp"}
end note
HSS->Onscreenapp: push hideWindow event
Onscreenapp->Onscreenapp: unload qml
Onscreenapp->WM: deactivateWindow("on_screen.app")
WM->Onscreenapp: INVISIBLE("on_screen.app")
end
@enduml
|