How octosense-org/octosense-rom works
OctoSense combines an installable Android Home launcher, bundled apps and device services, privileged ROM integrations, and a browser-based ROM installer. The main Home runtime hosts app modules or child processes; the Android bridge provides authorized device and notification operations, while ROM builds add Quickstep and SystemUI behavior. The graph retains README-level capabilities even where their implementation was not sampled; arrows are limited to documented product flows and calls visible in sampled source.
Main entry points: apps.rs App hosting · SystemBridgeService.java Bridge API · main.rs Home runtime · BridgeState.java Bridge state
Components 25
Home launcher
- Home runtime
home/src/main.rs - Launcher shell
home/src/shell/launcher.rs - Notifications
home/src/shell/notifications.rs - App Hub
home/src/hub.rs - App hosting
home/src/apps.rs
Bundled apps
- Maps app
home/apps/maps/src/view.rs - News app
home/apps/news/src/view.rs - Photos app
home/apps/photos/src/ui.rs - Reference app
home/apps/reference/src/lib.rs
Android services
- Bridge API
home/android/system-bridge/src/main/java/dev/makepad/octosense/bridge/SystemBridgeService.java - Bridge state
home/android/system-bridge/src/main/java/dev/makepad/octosense/bridge/BridgeState.java - Scoped root
home/android/system-bridge/src/main/java/dev/makepad/octosense/bridge/ScopedRootService.java - Notification access
home/android/system-bridge/src/main/java/dev/makepad/octosense/bridge/NotificationAccessService.java
ROM integrations
- Quickstep integration
home/android/quickstep/src/main/java/dev/makepad/octosense/quickstep/HomeIntegrationService.java - Home transitions
home/android/quickstep/src/main/java/dev/makepad/octosense/quickstep/HomeTransitions.java - Global shade
home/android/platform-build/quickstep/java/dev/makepad/octosense/quickstep/GlobalShadeController.java - SystemUI tile
home/android/platform-build/systemui/files/src/com/android/systemui/octosense/OctoSenseTile.java
ROM installer
- Installer UI
web-installer/src/app.mjs - Install session
web-installer/src/session.mjs - Release manifest
web-installer/src/contracts.mjs - Release staging
web-installer/src/staging.mjs - Fastboot transport
web-installer/src/transport.mjs
Other components
- Phone user
- Android phone
- ROM release
Connections 25
- Phone user → Launcher shell: opens
- Launcher shell → Home runtime: dispatches
- Home runtime → App hosting: resolves hosting
- App hosting → Maps app: hosts module
- App hosting → News app: hosts module
- App hosting → Photos app: hosts module
- App hosting → Reference app: hosts module
- Phone user → App Hub: browses apps
- Phone user → Notifications: manages
- Notifications → Bridge API: commands
- Home runtime → Bridge API: requests services
- Bridge API → Bridge state: dispatches
- Bridge state → Scoped root: requests privileged controls
- Bridge state → Notification access: accesses notifications
- Quickstep integration → Bridge API: subscribes
- Global shade → Bridge API: subscribes
- Quickstep integration → Home transitions: begins transitions
- SystemUI tile → Global shade: opens shade
- Phone user → Installer UI: starts install
- Installer UI → Install session: drives
- Installer UI → Release manifest: loads manifest
- Install session → Release staging: prepares release
- Install session → Fastboot transport: communicates
- Release staging → ROM release: downloads release
- Fastboot transport → Android phone: reads and flashes