From 038dcd48cd75336f6a86c63c7878bfc9c52deec9 Mon Sep 17 00:00:00 2001 From: saphid <4596216+saphid@users.noreply.github.com> Date: Mon, 28 Sep 2026 21:04:55 +1000 Subject: [PATCH] Treat bare activity names as package-relative when matching the alias target Third review follow-up (PackageParser.buildClassName). Confirmed the targetActivity resource id 0x01010202 in Open Saber Plus's manifest. Co-Authored-By: Claude Opus 5.5 (1M context) --- ui/frame_apk_vr.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ui/frame_apk_vr.py b/ui/frame_apk_vr.py index e87b46f..013fd55 100644 --- a/ui/frame_apk_vr.py +++ b/ui/frame_apk_vr.py @@ -19,6 +19,8 @@ def inspect(data): package = attrs.get('package', (None, None, None))[2] or '' if tag in ('activity', 'activity-alias'): owner = attrs.get('targetActivity', (None, None, None))[2] if tag == 'activity-alias' else value + if owner and '.' not in owner: # PackageParser.buildClassName: bare names are relative too + owner = '.' + owner owner = package + owner if owner and owner.startswith('.') else owner if tag == 'intent-filter' and stack and stack[-1] in ('activity', 'activity-alias'): current = {'actions': set(), 'categories': set(), 'templates': [], 'alias': stack[-1] == 'activity-alias', 'activity': owner}