Skip to content

[Bug]: Resolve Android correctness lint findings and document dedicated-device exports #20

Description

@awatchar

Problem

Full Android lint currently reports correctness errors mixed with intentional exported-component warnings for the dedicated-device deployment model.

Scope

Triage and correct the actionable categories already identified:

  • permission handling
  • lifecycle/resource handling
  • receiver registration flags
  • plural/quantity resources
  • required superclass callbacks

Intentional exported service/receiver/activity warnings may be suppressed only at the narrow component or call site, with a comment documenting the controlled dedicated-device design. Do not broadly disable lint or suppress unrelated findings.

Acceptance

  • Each targeted lint error is fixed or narrowly suppressed with a written rationale.
  • The lint baseline/report demonstrates no remaining errors in the five targeted categories.
  • Android tests and FOSS builds pass.
  • Remaining lint debt is reported accurately rather than claimed as zero.

Activity

  1. awatchar commented on Aug 24, 2026

    @awatchar
    OwnerAuthor

    Implementation started on branch fix/lab-correctness-batch. The lint pass will fix actionable permission, lifecycle, receiver-flag, quantity and superclass findings. Dedicated-device exported components will receive narrow documented suppressions; lint will not be disabled globally.

  2. awatchar commented on Aug 24, 2026

    @awatchar
    OwnerAuthor

    Targeted Android correctness work is complete. MissingPermission, ProtectedPermissions, UnspecifiedRegisterReceiverFlag, MissingQuantity, MissingSuperCall, WakelockTimeout, ExportedReceiver and ExportedService findings are now zero in lintFossDebug. Dedicated-device exports remain intentionally enabled with narrow manifest suppressions and rationale; unused protected permissions were removed. Lint still exits nonzero with 21 legacy errors and 330 warnings (GestureBackNavigation 1, database Range 6, UseAppTint 14 plus warnings), intentionally not driven to zero per scope. App 117/117 and Humla 11/11 tests pass; debug and unsigned release APK assembly pass.

  3. awatchar commented on Aug 24, 2026

    @awatchar
    OwnerAuthor

    Implementation is ready in PR #26.

    Requested correctness work is complete without hiding the remaining legacy lint backlog:

    • zero findings for MissingPermission, ProtectedPermissions, UnspecifiedRegisterReceiverFlag, MissingQuantity, MissingSuperCall, WakelockTimeout, ExportedReceiver and ExportedService
    • exported MumlaService/TALK behavior is deliberately preserved and narrowly suppressed/documented as a controlled dedicated-device design
    • always-on process watchdog policy is unchanged and its exact-alarm false positive is narrowly documented
    • notification permission/race handling, receiver flags, locale plurals and Back dispatcher migration in the touched RadioShell path were corrected

    Fresh full lint remains visible at the accepted baseline: 21 errors / 330 warnings, only GestureBackNavigation (1), Range (6) and UseAppTint (14).

  4. awatchar commented on Aug 24, 2026

    @awatchar
    OwnerAuthor

    Merged in PR #26 and production deployment is healthy. Requested lint categories remain at zero, dedicated-device exported-component suppressions are documented, and the accepted legacy lint backlog remains visible. Closing this code-only correctness issue; hardware-specific follow-up is tracked separately.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions