mirror of
https://github.com/kuhyx/testsAndMisc.git
synced 2026-11-10 22:27:01 +01:00
A raw `adb shell input tap` took no lease, so one session's tap landed in another session's app (2026-09-25). python_pkg.phone_guard classifies every adb call in a Bash command and, as the Claude Code PreToolUse hook, takes the matching phone_lease (one app / real screen / whole phone) or exits 2: key/text input without -d, input on another session's virtual display, or a lease still held elsewhere after 40 s. android_ui gains --display self|<id>: it drives only this session's phone_vd display under that app's lease, and every input carries -d. uiautomator sees display 0 only, so virtual-display trees come from a tiny instrumentation APK (A11yDump.java) built from source without Gradle. Prunes the oldest evidence artifact to stay under the 60-file cap. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WpA6wW2DKiovQADTdjWJoH
10 lines
409 B
Python
10 lines
409 B
Python
"""Keep several Claude sessions from interrupting each other on one phone.
|
|
|
|
Two parts: :mod:`vd_state` answers "which virtual display is whose" from the
|
|
state ``phone_vd.sh`` keeps, and :mod:`hook` is the PreToolUse hook that stops
|
|
a raw ``adb`` command from touching the real screen (or another session's app)
|
|
without the matching :mod:`python_pkg.phone_lease` lease.
|
|
"""
|
|
|
|
from __future__ import annotations
|