Full port of the CW/Morse decoder from Morse Expert 1.15 (com.ve3nea.morse_expert), preserving obfuscated class names and logic. Ads (gms.ads), billing (BillingClient), and library code were removed per user; SettingsActivity deferred to Compose integration. Ported modules: - pas.*: decoder engine interface + JNI (libnativedecoderjni.so, armeabi-v7a) - k3.*: FFT library (pseudo-enum q rewritten from smali; sun.misc stubs for Unsafe/Cleaner since Android lacks them; FFT path uses float[] branch) - i3.*, g3.*, j3.*, s.*, d1.AbstractC1518b: DSP/sin-cos tables (long[] tables f/f11589g restored from smali) - H2.a/b: audio capture + decode control core (jadx catch-block illusions cleaned per smali; recording try/catch restored around write block) - J2.a/b: waterfall OpenGL renderer + palette (r10 = anchor color per smali) - E2.g: waterfall touch frequency picker (height = ScaleView per smali) - B0.b/B.RunnableC0001b: status-bar + decoded-text UI runnables (real constructors recovered from smali) - MainActivity → controller class (Activity injected; immersive status bar inlined); C1646n trimmed to view holder; D.n keeps waterfall texture case - F2.a: text selection menu (Save/Share) Verified: :feature:cw:compileDebugJavaWithJavac BUILD SUCCESSFUL.
34 lines
1.1 KiB
XML
34 lines
1.1 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">
|
|
<item
|
|
android:icon="@drawable/ic_baseline_pause_24"
|
|
android:id="@+id/pause_mnu"
|
|
android:title="@string/pause"
|
|
app:showAsAction="ifRoom"/>
|
|
<item
|
|
android:icon="@drawable/ic_baseline_delete_24"
|
|
android:id="@+id/clear_mnu"
|
|
android:title="@string/clear"
|
|
app:showAsAction="ifRoom"/>
|
|
<item
|
|
android:icon="@drawable/ic_baseline_save_24"
|
|
android:id="@+id/save_mnu"
|
|
android:title="@string/save_text"
|
|
app:showAsAction="ifRoom"/>
|
|
<item
|
|
android:id="@+id/record_signals_mnu"
|
|
android:title="@string/record_signals"/>
|
|
<item
|
|
android:id="@+id/settings_mnu"
|
|
android:title="@string/settings"/>
|
|
<item
|
|
android:id="@+id/help_mnu"
|
|
android:title="@string/help"/>
|
|
<item
|
|
android:id="@+id/rate_mnu"
|
|
android:title="@string/rate"/>
|
|
<item
|
|
android:id="@+id/premium_mnu"
|
|
android:title="@string/premium"/>
|
|
</menu>
|