mirror of
https://github.com/kuhyx/testsAndMisc.git
synced 2026-11-10 19:27:03 +01:00
Whitelist com.kuhy.lyricanki in focus mode
Focus Owner hides every package absent from the allowlist, so a newly installed lyricanki was installed=true but hidden=true: absent from the launcher and from `pm list packages`, and `am start` reported the activity did not exist even though dumpsys listed its MAIN/LAUNCHER filter. Nothing about the app itself was wrong. policy.json is regenerated from config.sh by python_pkg.focus_policy, never hand-edited. Also drops com.android.launcher3 and com.android.camera2 from SYSTEM_NEVER_DISABLE. That list is prefix-matched and both are strict supersets of entries already in it, so coverage is byte-identical; this keeps config.sh under the 250-line cap without weakening the policy. com.android.settings stays: its only shorter match is com.android.se, an accidental substring rather than intent. Verified on the phone: signer matched so the Device Owner upgraded in place, dpm still reports DeviceOwner, lyricanki flipped to hidden=false, and workout_app + the dialer are untouched. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RAEChhK3sWGxd6ucsUQmcT
This commit is contained in:
parent
503ba1fcca
commit
98ca3ac56a
@ -0,0 +1,45 @@
|
||||
{
|
||||
"intent": "Let a newly installed lyricanki appear on the phone. Focus Owner hides every package absent from the allowlist, so lyricanki installed as installed=true hidden=true: missing from the launcher and from `pm list packages`, and `am start` reported the activity did not exist even though dumpsys listed its MAIN/LAUNCHER filter.",
|
||||
"scope": [
|
||||
"phone_focus_mode/config.sh - add com.kuhy.lyricanki to WHITELIST",
|
||||
"focus_owner/assets/policy.json - regenerated, never hand-edited",
|
||||
"Non-goal: night curfew. lyricanki is a day-list app only.",
|
||||
"Non-goal: any change to enforcement logic."
|
||||
],
|
||||
"changes": [
|
||||
"Added com.kuhy.lyricanki to the 'kuhy's own apps' block of WHITELIST, alphabetically.",
|
||||
"Regenerated policy.json via `python3 -m python_pkg.focus_policy --redact-home`; the diff is the single added entry in allowed_packages.",
|
||||
"Dropped com.android.launcher3 and com.android.camera2 from SYSTEM_NEVER_DISABLE. Both are strict supersets of entries already present (com.android.launcher, com.android.camera) and that list is prefix-matched, so coverage is unchanged; this kept config.sh under the 250-line cap without weakening the policy. com.android.settings was NOT removed: its only shorter match is com.android.se, an accidental substring rather than intent."
|
||||
],
|
||||
"verification": [
|
||||
{
|
||||
"command": "python3 -c \"json ... never_disable_prefixes coverage check\"",
|
||||
"result": "pass",
|
||||
"evidence": "launcher3 covered: True, camera2 covered: True, settings covered: True - prefix semantics identical before and after the two removals."
|
||||
},
|
||||
{
|
||||
"command": "bash ~/.claude/scripts/phone_deploy.sh ~/testsAndMisc/focus_owner --release",
|
||||
"result": "pass",
|
||||
"evidence": "release signer 9dcc2e6c...f846 matched the installed APK's signer, so `adb install -r` was an in-place upgrade with no uninstall. 'Success'."
|
||||
},
|
||||
{
|
||||
"command": "adb shell dpm list-owners",
|
||||
"result": "pass",
|
||||
"evidence": "User 0: admin=com.kuhy.focus_owner/.FocusDeviceAdminReceiver,DeviceOwner - Device Owner survived the upgrade."
|
||||
},
|
||||
{
|
||||
"command": "adb shell dumpsys package <pkg> | grep hidden",
|
||||
"result": "pass",
|
||||
"evidence": "com.kuhy.lyricanki hidden=false (was true). Regression spot-checks: com.kuhy.workout_app hidden=false, org.fossify.phone hidden=false."
|
||||
}
|
||||
],
|
||||
"risks": [
|
||||
"Reinstalling the Device Owner app is unrecoverable if the signature ever differs: DO cannot be re-provisioned on an unrooted Pixel without a factory reset. Mitigated by comparing the keystore's SHA-256 against the installed APK's before building, and by pulling the live versionCode 2 APK as a rollback artifact first.",
|
||||
"A misparsed allowlist could hide the dialer or launcher. Checked explicitly after install rather than assuming."
|
||||
],
|
||||
"rollback": [
|
||||
"adb install -r <scratchpad>/focus_owner-installed-vc2.apk (pulled from the device before the upgrade; same signer, so it reinstalls in place).",
|
||||
"git revert the config.sh + policy.json commit and regenerate.",
|
||||
"After rollback confirm: dpm list-owners still reports DeviceOwner, and org.fossify.phone is hidden=false."
|
||||
]
|
||||
}
|
||||
@ -11,6 +11,7 @@
|
||||
"com.kuhy.diet_guard_app",
|
||||
"com.kuhy.focus_owner",
|
||||
"com.kuhy.home_inventory",
|
||||
"com.kuhy.lyricanki",
|
||||
"com.kuhy.untools",
|
||||
"com.kuhy.wake_alarm_sync",
|
||||
"com.kuhy.workout_app",
|
||||
@ -65,7 +66,6 @@
|
||||
"android",
|
||||
"com.android.bluetooth",
|
||||
"com.android.camera",
|
||||
"com.android.camera2",
|
||||
"com.android.captiveportallogin",
|
||||
"com.android.certinstaller",
|
||||
"com.android.contacts",
|
||||
@ -76,7 +76,6 @@
|
||||
"com.android.inputmethod",
|
||||
"com.android.keychain",
|
||||
"com.android.launcher",
|
||||
"com.android.launcher3",
|
||||
"com.android.location",
|
||||
"com.android.messaging",
|
||||
"com.android.mms",
|
||||
|
||||
@ -123,6 +123,7 @@ com.kunzisoft.keepass.libre
|
||||
# --- kuhy's own apps ---
|
||||
com.kuhy.diet_guard_app
|
||||
com.kuhy.home_inventory
|
||||
com.kuhy.lyricanki
|
||||
com.kuhy.untools
|
||||
com.kuhy.wake_alarm_sync
|
||||
com.kuhy.workout_app
|
||||
@ -204,7 +205,6 @@ pl.infakt.infakt
|
||||
# just the filter. Must outrank every enforcement branch.
|
||||
com.celzero.bravedns
|
||||
com.android.launcher
|
||||
com.android.launcher3
|
||||
com.android.settings
|
||||
com.android.systemui
|
||||
com.android.phone
|
||||
@ -224,7 +224,6 @@ com.android.vpndialogs
|
||||
com.android.se
|
||||
com.android.emergency
|
||||
com.android.camera
|
||||
com.android.camera2
|
||||
com.android.documentsui
|
||||
com.android.externalstorage
|
||||
com.android.keychain
|
||||
|
||||
Loading…
Reference in New Issue
Block a user