fix(cw): restore FFT dispatch (cond_22), CW UI settings entry, default order
Decode page showed stats but empty waterfall and no decoded text: the ported i3/d.k() FFT dispatch was broken by a jadx structure misplacement - the runtime path (k=1 -> a5=0 -> cond_22 single-thread FFT) was replaced by a hallucinated `throw null` else-branch while the real cond_22 code sat in a dead else. Verified against smali (7030-7263): j3.c.q forward FFT + post-processing loop + tail + small- array branch now live in the a5==0 branch. Also: - UiSettingsCard now lists CwDecode (toggle + drag-reorder) between Roaming and Map - unknown screenIds in persisted screenOrder fall back to defaultScreenOrder position (CwDecode lands between Roaming and Map for existing users instead of trailing after Settings) Verified: :feature:cw + :feature:settings + :app compileDebugKotlin BUILD SUCCESSFUL.
This commit is contained in:
1 parent
544515feba
commit
3c5486cc5c
3 files changed
+57
-58
No files matched your search
+7
-1
@@ -567,6 +567,7 @@ private fun UiSettingsCard(
|
||||
R.string.nav_radar to "Radar",
|
||||
R.string.nav_mutual to "Mutual",
|
||||
R.string.nav_roaming to "Roaming",
|
||||
R.string.nav_cw to "CwDecode",
|
||||
R.string.nav_map to "Map",
|
||||
R.string.nav_prefs to "Settings"
|
||||
) // name 必须与 Screen.screenId 一致 (R8 安全)
|
||||
@@ -613,7 +614,12 @@ private fun DragOrderList(
|
||||
// 按 screenOrder 排序(空 = 默认顺序); remember 以 screens 参数为 key, 持久化后重组
|
||||
val ordered = remember(screens, screenOrder) {
|
||||
screens.sortedBy { (_, name) ->
|
||||
screenOrder.indexOf(name).let { if (it == -1) Int.MAX_VALUE else it }
|
||||
// 未知(新页面如 CwDecode 不在旧持久化顺序里): 用默认顺序位置, 再兜底最后
|
||||
screenOrder.indexOf(name).let {
|
||||
if (it != -1) it else com.rtbishop.look4sat.core.presentation.defaultScreenOrder.indexOf(name).let {
|
||||
if (it != -1) it else Int.MAX_VALUE
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
val listState = rememberLazyListState()
|
||||
|
||||
Reference in new issue
Block a user