feat: Android APP V1 - Experimental Alpha

This commit is contained in:
2026-06-05 07:40:25 +02:00
parent bf4e6891d1
commit 9a1305f976
179 changed files with 8031 additions and 120 deletions

View 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.