Removes the CW decoder entirely. The feature/cw module was a verbatim
decompilation of Morse Expert 1.15 (VE3NEA, a paid Play Store app),
shipped without licence or attribution, and restricted to the armeabi-v7a
ABI only -- which blocks Google Play distribution (64-bit required since
2019-08).
Deleted:
- feature/cw: 11,519 lines of obfuscated decompiled Java,
libnativedecoderjni.so, layouts and resources
- core/domain/cw: 998 lines of unreachable Kotlin DSP plus its 300-line
test (CwStartListening and friends were never dispatched by any UI)
Cleaned up in feature/radar:
- Removed CwDecoderPanel, CwSubState, CwStatus and 6 CW actions
- Removed the CW branches and decoder plumbing from RadarViewModel
- Dropped now-unused dependencies: :feature:cw, :feature:mutual (was
declared but never imported), androidx.constraintlayout
- Removed radar_cw_* strings from en and zh
Kept deliberately: IAudioCapture, audioCapture and the RECORD_AUDIO
permission -- these are shared with SSTV and must not be removed.
CW decoding is gone until it is rewritten. See branch for the deleted
implementation if you need to reference it.
- Fix cubic Bezier control points (proper Catmull-Rom to Bezier conversion)
- Refine AOS/LOS more robustly by walking from edge into the pass window
- Still 5s sampling for smooth curves