Files
rayneo-vm/BLOCKERS.md
T

78 lines
5.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Blockers
Сюда пишутся только те задачи/проблемы, в которых застряли. Каждая запись — задача,
что сделано, в чём стена, что проверено, варианты обхода. Записи ведутся по правилам
ночной сессии (см. `TASKS.md`, секция «Правила ночной сессии»).
---
## B-1 · ShizukuProvisioner: «сетевой» путь приводит к лаунчу не той активности
**Когда замечено:** 2026-09-27, после серии попыток запуска `free.zona` через debug-broadcast
(`DEBUG_LAUNCH`).
**Симптом:** В логах `ShizukuVdService: launchActivity pkg=com.ffalconxr.mercury.launcher
cls=com.ffalconxr.mercury.launcher.wizard.netconfig.NetConfigActivity displayId=2` повторяется
каждые 5 секунд, постоянно.
**Что сделано:** Broadcast уходил на очки через `adb shell am broadcast -n pw.binom.rayneovm.glasses/.debug.GlassesDebugReceiver -a pw.binom.rayneovm.glasses.action.DEBUG_LAUNCH --es pkg 'free.zona' --es cls 'ru.zona.app.android.MainActivity' --es displayId '2'`.
**Стена:** Не определено, откуда берётся `pkg=com.ffalconxr.mercury.launcher/.NetConfigActivity`.
Возможные источники:
- DebugReceiver неправильно парсит extras или имеет default pkg.
- `ensureNetworking()`/Wi-Fi fallback в `VmService` имеет retry-loop.
- Какое-то system-job мерцания очков стартует NetConfigActivity.
**Что НЕ проверял:** Тяжёлого анализа не делал — ловится на пол-пути. Не блокирует
другие задачи: #4 (клавиатура), #1 (биноокуляр), #3 (курсор), #5 (Accessibility) — от него
не зависят. Лаунчерт-проблема — отдельная задача.
**Обход:** Не использовать `DEBUG_LAUNCH`. Для тестов Zona запускать с телефона через штатный
контроллер (`controller.startGuest(packageName)` при подключённом канале), либо руками
через `adb shell am start -n free.zona/ru.zona.app.android.MainActivity -d 0:2`.
---
## B-2 · rayneo-mercury беспроводной `enableWirelessAdb` через BLE — не работает на RayNeo X3 Pro
**Когда выяснено:** 2026-09-27, аудит RayNeoLauncher по smali (`adb pull /system/app/RayNeoLauncher`).
**Симптом:**
```
E/MercuryResponse: Can not resolve(uri = ble.request.debug), check the request map in Message.kt
```
При попытке поднять wireless-adb через `RayNeoMercury.enableWirelessAdb()`. Команда молча
игнорируется на очках.
**Что сделано:** Smali-аудит `BleRequest`/`BleResponse`, поиск `RESPONSE_MAP`:
- `DebugResponse` (тот же URI, что запрашивает `enableWirelessAdb`) — НЕ зарегистрирован.
- Мэп есть для Wi-Fi / media / netconfig — но не для debug.
**Стена:** Сам `ble.request.debug` принимается (`enableWirelessAdb` шлёт `payload.cmd="enableWirelessAdb"`,
ответ должен прийти `WirelessAdbAddress`), но ответа нет — `DebugResponse` отсутствует.
То есть **принятие команды** не зависит от мэпа, но **возврат адреса** — да, и без него
provisioning не получает `host:port`.
**Следствие:** Автономный wireless-adb через Mercury **на X3 Pro не работает**. Provisioning
работает только пока `adb_wifi_enabled` уже `1` (например, после ручного включения или
shizuku-shell). На ребуте очков зависит от того, выживает ли этот глобальный setting.
**Что НЕ проверял:** Ребут-тест — `adb_wifi_enabled=1` нельзя сейчас проверить, пока
очки не нужны для других задач.
**Обход:** Пока работает. Если после ребута очков окажется, что `adb_wifi_enabled=0`,
то provisioning сразу же пробросит через `service call adb 4 i32 1 s16 'Caffeine Portable'`
от shell (через shizuku) и `settings put global adb_wifi_enabled 1` — резервный путь.
---
## B-3 · Финал: гашение экрана обязательно в конце
По ночным правилам — на завершении всех задач ИЛИ при невозможности продолжать —
выполняется:
```
adb -s A06B4AB933C4103 shell input keyevent 223
```
и проверка `mWakefulness=Dozing/Asleep`. Если не работает — через `ScreenControl` (Канал 1) /
Shizuku `SET_SCREEN`.