From 01b9df6d9b14dc4a86eeb29098ee801089fd7c46 Mon Sep 17 00:00:00 2001 From: James Rich Date: Thu, 18 Jun 2026 13:07:57 -0500 Subject: [PATCH] docs: fix stale permission API reference in manifest comment Co-Authored-By: Claude Opus 4.8 --- androidApp/src/main/AndroidManifest.xml | 2 +- workpad.md | 16 ++++++++++++++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/androidApp/src/main/AndroidManifest.xml b/androidApp/src/main/AndroidManifest.xml index 94e3f1d55..03038964a 100644 --- a/androidApp/src/main/AndroidManifest.xml +++ b/androidApp/src/main/AndroidManifest.xml @@ -56,7 +56,7 @@ Android 17 (API 37) Local Network Protection: targetSdk=37 apps are blocked from local-network access by default. Required for both NSD/mDNS device discovery on the Connections screen and the built-in TAK Server's localhost - loopback binding. Requested at runtime via rememberRequestLocalNetworkPermission. + loopback binding. Requested at runtime via rememberLocalNetworkPermissionState. See: https://developer.android.com/privacy-and-security/local-network-permission --> diff --git a/workpad.md b/workpad.md index 3da5aeab3..dcfee6bef 100644 --- a/workpad.md +++ b/workpad.md @@ -344,7 +344,19 @@ _Accumulated across all phases._ - In-context recovery cards for permanently-denied BT/local-network in ConnectionsScreen - severity: P3 - phase: implement - - context: USB + BT-bonding denials now surface messages (R3); a richer inline PermissionRecoveryCard at the scan entry points was in one architect variant but not required by R1–R9. Candidate polish. + - context: RESOLVED in refine — Connections scan toggles now request BT + local-network in-context and route permanent denial to app settings. +- Shared `PermissionUiState.route()` helper for the request/permanent-denial/grant routing + - severity: P3 + - phase: review (refine second round) + - context: The 3-branch toggle routing (granted→act / permanently-denied→settings / else→request) is duplicated across ConnectionsScreen (×2) and both MapViews; a shared inline extension would centralize the policy. Deferred — each site has real per-call variation and is individually readable. +- Robolectric test for `PermissionRequestTracker` round-trip + - severity: P2 + - phase: review + - context: The SharedPreferences has-requested round-trip (the R1 disambiguator) is untested; core/ui has no `androidHostTest`/Robolectric source set, so adding one is its own infra task. The pure `computePermissionStatus` + `isPermissionGroupGranted` logic IS unit-tested. +- Notifications in-context request + - severity: P3 + - phase: review + - context: R6 in-context coverage is met for location/camera/BT/local-network. Notifications have no active feature "point of use" (they are passive); the modernized, skippable intro screen remains the request point. A dedicated in-context notification prompt would need a product decision on placement. --- @@ -357,5 +369,5 @@ _Accumulated across all phases._ - architect: done — 2026-06-18 — Pragmatic+enriched approved. 3 architect agents + adversarial (P1, mitigations folded in). PlatformUtils seam + status enum + SharedPreferences flag + shared recovery card. - implement: done — 2026-06-18 — All 9 ACs met; both flavors assemble; spotless/detekt/tests green. Latest sha 2aa33c8d5. Compass intentionally preserved (DEFERRED P3). 3 commits. - review: done — 2026-06-18 — 12 reviewers. No P0; concurrency+security clean (adversarial race refuted). 17 findings: 1×P1 (AC6/R6 in-context coverage), 8×P2, rest P3/P4. Report in Review section. -- refine: +- refine: done — 2026-06-18 — human triaged "fix all". Applied 10 auto-fixes + all 7 triaged fixes (incl. F-1 in-context BT/local-network, F-5 full old-wrapper deletion + FINE/COARSE reconciliation, F-2 pre-12 BT). Second review round (correctness+simplification) on the delta: correctness CLEARED, one P3 routing-helper deferred. Both flavors assemble; detekt/spotless/tests green. Deferred: P3 routing helper, Robolectric tracker test (P2, needs infra), notifications-in-context (P3). 4 commits (HEAD 81b5e03f2 + manifest doc fix). - pr: