1
0
mirror of git://f0xx.org/android_cast synced 2026-07-29 03:57:50 +03:00

AI: polish mobile parts

This commit is contained in:
Anton Afanasyeu
2026-05-23 17:05:31 +02:00
parent a698803d19
commit 324f64e802
18 changed files with 290 additions and 237 deletions

53
docs/ALPHA_SOAK.md Normal file
View File

@@ -0,0 +1,53 @@
# Alpha soak checklist (LAN demo)
Manual QA on **two devices** on the same WiFi. Goal: stable show path without experimental transports or stream protection.
## Before you start
| Setting | Sender | Receiver |
|---------|--------|----------|
| Transport | **UDP** | **UDP** (must match) |
| Stream protection | **None** | **None** |
| Video codec | **H.264 (AUTO)** | **H.264 (AUTO)** |
| Resolution (sender) | **720p** or **Auto** for first pass | — |
| Multi-receiver | **One** receiver selected | — |
PIN default: `1234` (change in settings if needed).
## Happy path (~15 min)
1. Install the same debug/release APK on both devices.
2. **Receiver:** Main → **Receive****Start listening** (notification shows *Listening*).
3. **Sender:** Main → **Send** → refresh discovery → pick receiver → enter PIN → approve screen capture.
4. Confirm sender notification: *Casting via UDP · WxH*.
5. Confirm video and audio on receiver for **≥ 5 minutes**.
6. Rotate sender once; confirm stream recovers or stop/restart cleanly.
7. Press **Stop** on sender notification; receiver returns to awaiting state.
## Stress (optional, ~10 min)
- Background sender app for 30s, return — stream continues or fails with clear status (no silent hang).
- Lock/unlock receiver once during cast.
- Second cast session without reinstall (stop → start again).
## Pass criteria
- No crash on either device during happy path.
- Video appears within **10s** of capture consent.
- Stop ends services and notifications on both sides.
## If something fails
| Symptom | Check |
|---------|--------|
| No video | Transport match; receiver listening first; open receiver UI once for surface attach |
| Auth failed | PIN; same WiFi; firewall on LAN |
| *Screen capture data missing* | Reinstall APK; Android 13+ consent intent |
| Choppy only on UDP | Retry with **TCP** on both sides (fallback test) |
## Not in alpha soak scope
- QUIC / WebRTC / USB-tether transports
- FEC / NACK stream protection
- 1:N multi-receiver (unless explicitly testing)
- OTA / crash upload (backend track)

View File

@@ -15,11 +15,13 @@ Last updated: 2026-05-21. Living document — refine as alpha and commercial tra
### Alpha app checklist
- [ ] Happy path: UDP + H.264/AAC + single receiver, stream protection **None**
- [ ] README matches `CastSettings` / `CastConfig` defaults
- [ ] Fix misleading strings (e.g. camera “not implemented”)
- [ ] Two-device QA script (rotate, background, notification stop)
- [ ] Optional: cap multi-receiver at 1 for show, or soak 1:N
- [ ] Happy path: UDP + H.264/AAC + single receiver, stream protection **None** — see [ALPHA_SOAK.md](ALPHA_SOAK.md)
- [x] README matches `CastSettings` / `CastConfig` defaults (UDP default, resolution presets)
- [x] Fix misleading strings (camera permission / API messaging)
- [x] Two-device QA script — [ALPHA_SOAK.md](ALPHA_SOAK.md)
- [x] Sender resolution UI: Original / 720p / 480p / Auto (release builds; legacy modes dev-only)
- [x] Remove orphan `ReceiverActivity` (receiver entry is `ReceiverPlaybackActivity`)
- [ ] Optional: cap multi-receiver at 1 for show, or soak 1:N — soak doc recommends one receiver
### Alpha backend checklist
@@ -134,7 +136,7 @@ See [ndk/README.md](../ndk/README.md).
| `ReceiverPlaybackActivity` (primary receiver UI) | Done |
| Settings drawer + themes + RU locale | Done |
| Multi-receiver 1:N | Done (soak or gate for alpha) |
| Legacy `ReceiverActivity` in manifest | Orphan — remove or wire |
| Legacy `ReceiverActivity` | Removed — use `ReceiverPlaybackActivity` only |
| Immersive A/V presets (dev) | Experimental |
| Sender resolution UI modes (dev: Separated / Legacy / Combined) | Done (test) |
| True dual-stream encode (480p + 720p simultaneous) | Deferred |
@@ -156,6 +158,7 @@ See [ndk/README.md](../ndk/README.md).
- [GIT_FLOW.md](GIT_FLOW.md) — green `master` / `next` development cycle ([PDF](GIT_FLOW.pdf))
- [README.md](../README.md) — quick start
- [ALPHA_SOAK.md](ALPHA_SOAK.md) — two-device LAN demo QA
- [USB_HDMI_CAST.md](USB_HDMI_CAST.md) — D & E
- [COMMERCIAL.md](COMMERCIAL.md) — ads / IAP / Play
- [PRO_AAR.md](PRO_AAR.md) — cast-core / cast-pro entitlements