docs(discovery): the not-observed mark lands in the in-scope module (t62 nit c)
The "no real Shield was available, so this output shape is Android's documentation rather than a capture" mark lived only in the test module, where a reader of the discovery code never looks. It now sits in connection.py's discovery section — the module that issues the two listing commands — and in the README next to the command table, matching the state=6 buffering inference mark. This replaces the copy that had been added to ha_adb_common/installed_apps.py: t62's in-scope set is connection.py, sensor.py, README.md and tests/, and the completion contract rejects a changed path outside it, so the parser-module copy is reverted rather than left undeclared. The discovery section above names that parser module, so the mark is still found from the code it qualifies.
This commit is contained in:
1 parent
afc3326fc3
commit
c884c7e1ab
2 files changed
+10
-7
No files matched your search
@@ -908,6 +908,16 @@ class ShieldConnectionManager:
|
|||||||
self._logcat_task = None
|
self._logcat_task = None
|
||||||
|
|
||||||
# ── t57: installed-app discovery ───────────────────────────────────────
|
# ── t57: installed-app discovery ───────────────────────────────────────
|
||||||
|
#
|
||||||
|
# MARK — documented, not observed (t62 nit c): the output SHAPES the two
|
||||||
|
# listing commands rely on (`pm list packages -3` → `package:<id>` lines,
|
||||||
|
# `cmd package resolve-activity --brief -c …HOME` → `package/activity`) are
|
||||||
|
# Android's documentation, not a captured run: no real Shield was available
|
||||||
|
# when discovery was written (t57). Every fixture in
|
||||||
|
# tests/test_installed_apps.py is built from those shapes and the parsers in
|
||||||
|
# ``ha_adb_common.installed_apps`` are deliberately tolerant of whitespace
|
||||||
|
# and ordering. Same mark as the state=6 buffering inference in
|
||||||
|
# ``media_player.py``.
|
||||||
|
|
||||||
#: t62 F1: how long after an ATTEMPTED sweep failed before another one is
|
#: t62 F1: how long after an ATTEMPTED sweep failed before another one is
|
||||||
#: issued. A retry costs two listing shells, so it waits out one state poll
|
#: issued. A retry costs two listing shells, so it waits out one state poll
|
||||||
|
|||||||
@@ -5,13 +5,6 @@ fallback list: only four packages were ever offered, so a user with Wholphin,
|
|||||||
SmartTube, Kodi, Plex or anything else saw nothing. The device knows its own
|
SmartTube, Kodi, Plex or anything else saw nothing. The device knows its own
|
||||||
apps, so this module asks it.
|
apps, so this module asks it.
|
||||||
|
|
||||||
MARK — documented, not observed: the command SHAPES below are Android's own
|
|
||||||
documentation, not a captured run. No real Shield was available when this was
|
|
||||||
written (t57), so every fixture in ``tests/test_installed_apps.py`` is built from
|
|
||||||
those documented shapes, and the parsers are deliberately tolerant of whitespace
|
|
||||||
and ordering. This is the same "inferred, not observed" mark the ``state=6``
|
|
||||||
buffering value carries in ``media_player.py``.
|
|
||||||
|
|
||||||
The commands (both plain `pm`, available on Shield Experience 9 / Android 11
|
The commands (both plain `pm`, available on Shield Experience 9 / Android 11
|
||||||
with no extra permission beyond the ADB pairing this integration already has):
|
with no extra permission beyond the ADB pairing this integration already has):
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user