summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDavid Göransson <david.goransson@mullvad.net>2025-03-03 08:46:05 +0100
committerDavid Göransson <david.goransson@mullvad.net>2025-05-13 09:43:55 +0200
commit6f41d8e2cdef1591985f057220e9c3b5fc344a9a (patch)
tree951fa4b9fc1e2d960d45a338e0ae9f26136336f7
parente69d6476105f5c7afb1e0a0767b7f9c116c59545 (diff)
downloadmullvadvpn-6f41d8e2cdef1591985f057220e9c3b5fc344a9a.tar.xz
mullvadvpn-6f41d8e2cdef1591985f057220e9c3b5fc344a9a.zip
Update overview diagram
-rw-r--r--android/docs/diagrams/overview.pngbin31910 -> 28658 bytes
-rw-r--r--android/docs/diagrams/overview.puml51
2 files changed, 24 insertions, 27 deletions
diff --git a/android/docs/diagrams/overview.png b/android/docs/diagrams/overview.png
index e90006d14b..3473991d30 100644
--- a/android/docs/diagrams/overview.png
+++ b/android/docs/diagrams/overview.png
Binary files differ
diff --git a/android/docs/diagrams/overview.puml b/android/docs/diagrams/overview.puml
index 38cf89a38b..02af269709 100644
--- a/android/docs/diagrams/overview.puml
+++ b/android/docs/diagrams/overview.puml
@@ -5,42 +5,39 @@ 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 "App process" as AppProcess {
+ package "Android App" {
+ component "Middle layer (Repositories, UseCases etc)" as AppMiddleLayer
+ component "TileService" as TileService
+ component "App UI (compose, VMs etc)" as AppUI
+ component "MullvadVpnService" as VpnService
+ component "ManagementService" as GrpcClient
+ }
-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
+ package "Daemon (Rust)" as DaemonApp {
+ component "Mullvad JNI" as MullvadJNI
+ component "ManagementServiceInterface" as GrpcServer
+ }
}
-' Messenger (IPC) connections.
-' Also helps with alignment of plantuml packages.
-[AppMessenger] <-[#blue]r-> [VpnMessenger] : Binder
-[VpnMessenger] <-[#blue]r-> [TileMessenger] : Binder
+
+' gRPC connections.
+[GrpcClient] <-[#blue]r-> [GrpcServer] : gRPC (protobuf)
' App connections
AppUI <-d-> AppMiddleLayer
-AppMiddleLayer <-d-> AppMessenger
+TileService <-d-> AppMiddleLayer
+VpnService <-d-> AppMiddleLayer
+AppMiddleLayer <-r-> GrpcClient
' Vpn service connections
-VpnServiceImpl <-d-> VpnMiddleLayer
-VpnServiceImpl <-[#cyan]r-> Daemon : FFI
-VpnMiddleLayer <-[#cyan]r-> Daemon : FFI
-VpnMiddleLayer <-d-> VpnMessenger
+VpnService <-[#red]r-> MullvadJNI : FFI
+
+[AppUI] <-r-> [VpnService] : Binder
-' Tile service connections
-TileServiceImpl <-d-> TileMiddleLayer
-TileMiddleLayer <-d-> TileMessenger
+' Fix alignment
+MullvadJNI <-[hidden]d-> GrpcServer
+TileService <-[hidden]r-> AppUI
@enduml