summaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorwang_zhiqiang <wang_zhiqiang@dl.cn.nexty-ele.com>2018-09-26 10:39:58 +0800
committerwang_zhiqiang <wang_zhiqiang@dl.cn.nexty-ele.com>2018-09-26 10:39:58 +0800
commite79d82c88e350e6b882158624363b82fe3e2d91a (patch)
treeffce5bb5ca731ac3b3fd323b18c72c7d18572481 /doc
parentec044f44133cad1d12311345437b13b1a953226e (diff)
update
Diffstat (limited to 'doc')
-rw-r--r--doc/parts/show_hide_onscreen.pngbin0 -> 76169 bytes
-rw-r--r--doc/parts/show_hide_onscreen.pu80
-rw-r--r--doc/parts/startup.pngbin0 -> 30290 bytes
-rw-r--r--doc/parts/startup.pu33
4 files changed, 113 insertions, 0 deletions
diff --git a/doc/parts/show_hide_onscreen.png b/doc/parts/show_hide_onscreen.png
new file mode 100644
index 0000000..933540e
--- /dev/null
+++ b/doc/parts/show_hide_onscreen.png
Binary files differ
diff --git a/doc/parts/show_hide_onscreen.pu b/doc/parts/show_hide_onscreen.pu
new file mode 100644
index 0000000..b72ccb1
--- /dev/null
+++ b/doc/parts/show_hide_onscreen.pu
@@ -0,0 +1,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
diff --git a/doc/parts/startup.png b/doc/parts/startup.png
new file mode 100644
index 0000000..b292357
--- /dev/null
+++ b/doc/parts/startup.png
Binary files differ
diff --git a/doc/parts/startup.pu b/doc/parts/startup.pu
new file mode 100644
index 0000000..95c9f95
--- /dev/null
+++ b/doc/parts/startup.pu
@@ -0,0 +1,33 @@
+@startuml
+
+title Onscreenapp Startup Sequence
+
+entity Systemd
+entity HomeScreen_Service
+entity Onscreenapp
+entity WindowManager as WM
+
+== System StartUp ==
+
+Systemd->Onscreenapp: start
+
+group WindowManger Initilize
+Onscreenapp->WM: init(port, token)
+Onscreenapp->WM: requestSurface("on_screen.app")
+rnote over WM
+WM process
+end rnote
+Onscreenapp<--WM: return SurfaceID
+Onscreenapp->WM: subscribe Event_SyncDraw
+Onscreenapp->WM: subscribe Event_Visible
+Onscreenapp->WM: subscribe Event_Invisible
+end
+
+group HomeScreen_Service Initilize
+Onscreenapp->HomeScreen_Service: init(port, token)
+Onscreenapp->HomeScreen_Service: subscribe showWindow Event
+Onscreenapp->HomeScreen_Service: subscribe hideWindow Event
+Onscreenapp->Onscreenapp: qmlLoad()
+end
+
+@enduml \ No newline at end of file