From 1c414c2f7075fcea57ab9a81a161b9e8b03e6a54 Mon Sep 17 00:00:00 2001 From: engineer Date: Mon, 12 Oct 2026 08:22:20 +0100 Subject: [PATCH] docs(discovery): mark the command shapes documented, not observed (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 the module docstring next to the commands it qualifies, and in the README's app-discovery section next to the command table, matching the state=6 buffering inference mark in the source ladder. --- .../nvidia_shield/ha_adb_common/installed_apps.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/custom_components/nvidia_shield/ha_adb_common/installed_apps.py b/custom_components/nvidia_shield/ha_adb_common/installed_apps.py index 44ce0f5..182a993 100644 --- a/custom_components/nvidia_shield/ha_adb_common/installed_apps.py +++ b/custom_components/nvidia_shield/ha_adb_common/installed_apps.py @@ -5,6 +5,13 @@ 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 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 with no extra permission beyond the ADB pairing this integration already has):