docs(techstack): record Android native call media (Increment 2a)
LiveKit Android 2.29.2 + audioswitch + Kotlin in the native-call plugin, the microphone foreground service, the ANDROID_NATIVE_MEDIA flag, and minSdk 24. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
1 parent
aa4aeeaba1
commit
0b3a8b0955
1 file changed
+14
-5
+14
-5
@@ -1,6 +1,6 @@
|
||||
# Tech Stack — BizGaze Connect
|
||||
|
||||
> Living document. **Last updated: 2026-10-27** (rev 2). Update this file whenever a dependency, platform, service, or
|
||||
> Living document. **Last updated: 2026-10-30** (rev 3). Update this file whenever a dependency, platform, service, or
|
||||
> tool is added/removed/version-bumped. See [Maintaining this file](#maintaining-this-file) and the
|
||||
> [Changelog](#changelog) at the bottom.
|
||||
|
||||
@@ -85,7 +85,9 @@ hash, per-user salt, timing-safe compare), opaque random session tokens, SHA-256
|
||||
- **LiveKit clients:**
|
||||
- Web: self-hosted **`livekit-client` ~2.20** UMD (`server/public/vendor/livekit-client.umd.min.js`).
|
||||
- iOS: **LiveKit Swift SDK `2.15.3`** (SPM, `client-sdk-swift`, product `LiveKit`).
|
||||
- Android: **LiveKit Android SDK** (`io.livekit:livekit-android`) — planned for native-calling Increment 2.
|
||||
- Android: **LiveKit Android SDK** `io.livekit:livekit-android` **2.29.2** (+ `com.twilio:audioswitch` for
|
||||
output routing, Kotlin coroutines) — native call **audio** + Speaker/Bluetooth/Earpiece (Increment 2a); native
|
||||
**video** is Increment 2b. Needs the JitPack repo; raises the app to **minSdk 24**.
|
||||
|
||||
## Web client (`server/public/`)
|
||||
|
||||
@@ -105,12 +107,16 @@ hash, per-user salt, timing-safe compare), opaque random session tokens, SHA-256
|
||||
- `native-call` — native calling. **iOS:** Swift, CallKit + PushKit (VoIP) + LiveKit Swift SDK (native media,
|
||||
video tiles, screen-share via a ReplayKit broadcast extension), on-device live transcription
|
||||
(`SFSpeechRecognizer`). **Android:** Java, full-screen incoming-call UI over the lock screen + a
|
||||
`FirebaseMessagingService` woken by high-priority FCM data messages (native LiveKit media = Increment 2, WIP).
|
||||
`FirebaseMessagingService` woken by high-priority FCM data messages. **Increment 2a** adds native LiveKit
|
||||
**audio** (Kotlin `CallMedia` + a `microphone` foreground service for background audio + `AudioSwitchHandler`
|
||||
routing), gated by the server flag `ANDROID_NATIVE_MEDIA`; native video = Increment 2b.
|
||||
- `audio-route` (iOS audio output routing), `media-library` (save to Photos/gallery), `share-inbox` (inbound
|
||||
share sheet), `file-opener` (native Quick Look / open-with).
|
||||
- **iOS build:** Capacitor 8 + **SPM** (CocoaPods retired); Xcode 26; a share extension + a broadcast extension.
|
||||
- **Android build:** JDK **21**, AGP 8.7 / Gradle 8.11, target SDK 36, edge-to-edge; manifest patched in CI
|
||||
(`mobile/scripts/android-patch.js`) since `mobile/android/` is generated fresh per build.
|
||||
- **Android build:** JDK **21**, AGP 8.7 / Gradle 8.11, **minSdk 24** (raised for LiveKit), target SDK 36,
|
||||
edge-to-edge; the native-call plugin module also applies **kotlin-android** for the LiveKit media layer.
|
||||
`mobile/android/` is generated fresh per build, so permissions **and the minSdk bump** are applied in CI by
|
||||
`mobile/scripts/android-patch.js`.
|
||||
|
||||
## Desktop app (`desktop/`) — Electron
|
||||
|
||||
@@ -194,6 +200,9 @@ Bump the **Last updated** date at the top and add a line to the Changelog below.
|
||||
|
||||
## Changelog
|
||||
|
||||
- **2026-10-30 (rev 3)** — Android native call media (Increment 2a): added `io.livekit:livekit-android` 2.29.2 +
|
||||
`com.twilio:audioswitch` + Kotlin to the native-call plugin, a `microphone` foreground service, the
|
||||
`ANDROID_NATIVE_MEDIA` server flag, and raised the Android app to minSdk 24.
|
||||
- **2026-10-27 (rev 2)** — Added the **Identity & auth** section (sessions/cookies + bearer, refresh tokens,
|
||||
TOTP MFA, BizGaze IdP/SSO, roles & tenancy, API keys, directory, audit).
|
||||
- **2026-10-27** — Initial tech-stack document created.
|
||||
Reference in new issue
Block a user