Meshtastic-Android/conductor/archive/fix_android_animations_20260313/plan.md
James Rich 427c0f3bbb
fix: fix animation stalls and update dependencies for stability (#4784)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
2026-03-13 23:01:17 +00:00

1.7 KiB

Implementation Plan: Fix Android Animation Stalls

Phase 1: Research and Reproduction

  • Task: Historical Regression Analysis
    • Compare current code with pre-2.7.14-internal versions to identify changes in threading or UI state management.
    • Check gh history for commits related to ConnectionsScreen and MeshActivity transitions.
  • Task: Reproduction and Diagnosis
    • Create a reproduction case (manual or automated) that consistently shows stalled progress bars on Android.
    • Inspect Recomposition counts using Layout Inspector or logging.
    • Verify Coroutine Dispatchers used for UI state updates.
  • Task: Conductor - User Manual Verification 'Phase 1: Research and Reproduction' (Protocol in workflow.md)

Phase 2: Fix Implementation

  • Task: Core Animation Fix
    • Apply fix to resolve threading/recomposition stalls (e.g., correct Dispatcher.Main usage or state hoisting).
    • Verify progress bars on Connections screen are animating.
  • Task: MeshActivity Transition Fix
    • Fix animation firing for MeshActivity entries and exits.
  • Task: Conductor - User Manual Verification 'Phase 2: Fix Implementation' (Protocol in workflow.md)

Phase 3: Project-wide Audit and Final Verification

  • Task: Audit App Animations
    • Scan other screens for similar animation stalls and apply fixes where necessary.
  • Task: Automated Testing
    • Write/Update Compose UI tests to ensure animations are running on Android.
    • Verify no regressions on Desktop.
  • Task: Conductor - User Manual Verification 'Phase 3: Project-wide Audit and Final Verification' (Protocol in workflow.md)