summaryrefslogtreecommitdiffhomepage
path: root/android
diff options
context:
space:
mode:
authorAlbin <albin@mullvad.net>2023-03-27 11:50:52 +0200
committerAlbin <albin@mullvad.net>2023-03-27 11:50:52 +0200
commit3566aa8a8e8bdfa077ea37cc900af2dc953537c2 (patch)
treebb373c89e743bbd99e4a44711d1fed900298dcbb /android
parent29b31e9702e6a88f98e0f328c369da9bb1eb2f8d (diff)
parentaedef1498fdad5a768716719073f1f3b47d2a5ab (diff)
downloadmullvadvpn-3566aa8a8e8bdfa077ea37cc900af2dc953537c2.tar.xz
mullvadvpn-3566aa8a8e8bdfa077ea37cc900af2dc953537c2.zip
Merge branch 'add-initial-android-app-overview-diagram-droid-77'
Diffstat (limited to 'android')
-rw-r--r--android/docs/diagrams/overview.pngbin0 -> 31910 bytes
-rw-r--r--android/docs/diagrams/overview.puml46
2 files changed, 46 insertions, 0 deletions
diff --git a/android/docs/diagrams/overview.png b/android/docs/diagrams/overview.png
new file mode 100644
index 0000000000..e90006d14b
--- /dev/null
+++ b/android/docs/diagrams/overview.png
Binary files differ
diff --git a/android/docs/diagrams/overview.puml b/android/docs/diagrams/overview.puml
new file mode 100644
index 0000000000..d073e67593
--- /dev/null
+++ b/android/docs/diagrams/overview.puml
@@ -0,0 +1,46 @@
+@startuml overview-diagram
+
+title Mullvad VPN Android app overview
+skinparam SequenceMessageAlign center
+skinparam componentStyle rectangle
+skinparam linetype polyline
+
+package "App process" as App {
+ component "App UI (fragments, compose, VMs etc)" as AppUI
+ component "Middle layer (repositories etc)" as AppMiddleLayer
+ component "Messenger" as AppMessenger
+}
+
+package "Vpn Service process" as VpnService {
+ component "VPN Service implementation" as VpnServiceImpl
+ component "Middle layer" as VpnMiddleLayer
+ component "Daemon (rust)" as Daemon
+ component "Messenger" as VpnMessenger
+}
+
+package "Tile Service process" as TileService {
+ component "Tile Service implementation" as TileServiceImpl
+ component "Middle layer" as TileMiddleLayer
+ component "Messenger" as TileMessenger
+}
+
+' Messenger (IPC) connections.
+' Also helps with alignment of plantuml packages.
+[AppMessenger] <-[#blue]r-> [VpnMessenger] : Binder
+[VpnMessenger] <-[#blue]r-> [TileMessenger] : Binder
+
+' App connections
+AppUI <-d-> AppMiddleLayer
+AppMiddleLayer <-d-> AppMessenger
+
+' Vpn service connections
+VpnServiceImpl <-d-> VpnMiddleLayer
+VpnServiceImpl <-[#cyan]r-> Daemon : FFI
+VpnMiddleLayer <-[#cyan]r-> Daemon : FFI
+VpnMiddleLayer <-d-> VpnMessenger
+
+' Tile service connections
+TileServiceImpl <-d-> TileMiddleLayer
+TileMiddleLayer <-d-> TileMessenger
+
+@enduml