feat: Android APP V1 - Experimental Alpha
This commit is contained in:
27
toju-app/src/app/infrastructure/mobile/README.md
Normal file
27
toju-app/src/app/infrastructure/mobile/README.md
Normal file
@@ -0,0 +1,27 @@
|
||||
# Mobile infrastructure
|
||||
|
||||
Loosely coupled Capacitor/native bridge for the Angular product client. Domains depend on facades in this folder — never on `@capacitor/*` imports directly.
|
||||
|
||||
## Facades
|
||||
|
||||
| Service | Responsibility |
|
||||
|---------|----------------|
|
||||
| `MobilePlatformService` | Runtime detection (`browser` / `capacitor` / `electron`) and mobile UX flags |
|
||||
| `MobileNotificationsService` | Local/push notifications for calls |
|
||||
| `MobileCallSessionService` | In-call notification actions, background audio session, stream video hand-off |
|
||||
| `MobileMediaService` | Attachment picker, speakerphone route, screen-share/PiP capability probes |
|
||||
| `MobilePictureInPictureService` | Stream pop-out while backgrounded |
|
||||
| `MobilePersistenceService` | Native SQLite schema init (`@capacitor-community/sqlite`) |
|
||||
| `MobileSqliteConnectionService` | Shared SQLite connection for persistence + `DatabaseService` |
|
||||
| `MobileCallKitService` | iOS CallKit active-call reporting for background voice |
|
||||
| `MobilePushRegistrationService` | FCM/APNs token registration with signaling server; skips `PushNotifications.register()` when Firebase/APNs is not configured |
|
||||
| `MobileAppLifecycleService` | Foreground/background lifecycle |
|
||||
|
||||
## Adapters
|
||||
|
||||
- `adapters/web/*` — browser fallbacks (Notification API, hidden file input, Document PiP).
|
||||
- `adapters/capacitor/*` — lazy-loaded Capacitor plugins via `capacitor-plugin-loader.ts`.
|
||||
|
||||
## Rules
|
||||
|
||||
Pure platform/call-notification rules live in `logic/*.rules.ts` and are Vitest-tested without Angular.
|
||||
Reference in New Issue
Block a user