diff --git a/custom_components/nvidia_shield/connection.py b/custom_components/nvidia_shield/connection.py index 266cea0..c39c872 100644 --- a/custom_components/nvidia_shield/connection.py +++ b/custom_components/nvidia_shield/connection.py @@ -908,6 +908,16 @@ class ShieldConnectionManager: self._logcat_task = None # ── 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:` 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 #: issued. A retry costs two listing shells, so it waits out one state poll 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 182a993..44ce0f5 100644 --- a/custom_components/nvidia_shield/ha_adb_common/installed_apps.py +++ b/custom_components/nvidia_shield/ha_adb_common/installed_apps.py @@ -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 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):