Skip to content

Commit 7c9dfd7

Browse files
committed
fix(study-screen): bury menu
if `Suspend` wasn't on the menu actions, the `Bury` wouldn't be updated to `Bury card` when necessary
1 parent 6fbf354 commit 7c9dfd7

1 file changed

Lines changed: 32 additions & 30 deletions

File tree

AnkiDroid/src/main/java/com/ichi2/anki/ui/windows/reviewer/ReviewerMenu.kt

Lines changed: 32 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -74,39 +74,41 @@ fun ReviewerMenuView.setup(
7474
redoItem?.isEnabled = label != null
7575
}
7676

77-
val suspendItem = findItem(ViewerAction.SUSPEND_MENU.menuId) ?: return
78-
val suspendFlow = viewModel.canSuspendNoteFlow.flowWithLifecycle(lifecycle)
79-
suspendFlow.collectLatestIn(lifecycle.coroutineScope) { canSuspendNote ->
80-
if (canSuspendNote) {
81-
if (suspendItem.hasSubMenu()) return@collectLatestIn
82-
suspendItem.setTitle(ViewerAction.SUSPEND_MENU.titleRes)
83-
val submenu =
84-
SubMenuBuilder(context, suspendItem.menu, suspendItem).apply {
85-
add(Menu.NONE, ViewerAction.SUSPEND_NOTE.menuId, Menu.NONE, ViewerAction.SUSPEND_NOTE.titleRes)
86-
add(Menu.NONE, ViewerAction.SUSPEND_CARD.menuId, Menu.NONE, ViewerAction.SUSPEND_CARD.titleRes)
87-
}
88-
suspendItem.setSubMenu(submenu)
89-
} else {
90-
suspendItem.removeSubMenu()
91-
suspendItem.setTitle(ViewerAction.SUSPEND_CARD.titleRes)
77+
findItem(ViewerAction.SUSPEND_MENU.menuId)?.let { suspendItem ->
78+
val suspendFlow = viewModel.canSuspendNoteFlow.flowWithLifecycle(lifecycle)
79+
suspendFlow.collectLatestIn(lifecycle.coroutineScope) { canSuspendNote ->
80+
if (canSuspendNote) {
81+
if (suspendItem.hasSubMenu()) return@collectLatestIn
82+
suspendItem.setTitle(ViewerAction.SUSPEND_MENU.titleRes)
83+
val submenu =
84+
SubMenuBuilder(context, suspendItem.menu, suspendItem).apply {
85+
add(Menu.NONE, ViewerAction.SUSPEND_NOTE.menuId, Menu.NONE, ViewerAction.SUSPEND_NOTE.titleRes)
86+
add(Menu.NONE, ViewerAction.SUSPEND_CARD.menuId, Menu.NONE, ViewerAction.SUSPEND_CARD.titleRes)
87+
}
88+
suspendItem.setSubMenu(submenu)
89+
} else {
90+
suspendItem.removeSubMenu()
91+
suspendItem.setTitle(ViewerAction.SUSPEND_CARD.titleRes)
92+
}
9293
}
9394
}
9495

95-
val buryItem = findItem(ViewerAction.BURY_MENU.menuId) ?: return
96-
val flow = viewModel.canBuryNoteFlow.flowWithLifecycle(lifecycle)
97-
flow.collectLatestIn(lifecycle.coroutineScope) { canBuryNote ->
98-
if (canBuryNote) {
99-
if (buryItem.hasSubMenu()) return@collectLatestIn
100-
buryItem.setTitle(ViewerAction.BURY_MENU.titleRes)
101-
val submenu =
102-
SubMenuBuilder(context, buryItem.menu, buryItem).apply {
103-
add(Menu.NONE, ViewerAction.BURY_NOTE.menuId, Menu.NONE, ViewerAction.BURY_NOTE.titleRes)
104-
add(Menu.NONE, ViewerAction.BURY_CARD.menuId, Menu.NONE, ViewerAction.BURY_CARD.titleRes)
105-
}
106-
buryItem.setSubMenu(submenu)
107-
} else {
108-
buryItem.removeSubMenu()
109-
buryItem.setTitle(ViewerAction.BURY_CARD.titleRes)
96+
findItem(ViewerAction.BURY_MENU.menuId)?.let { buryItem ->
97+
val buryFlow = viewModel.canBuryNoteFlow.flowWithLifecycle(lifecycle)
98+
buryFlow.collectLatestIn(lifecycle.coroutineScope) { canBuryNote ->
99+
if (canBuryNote) {
100+
if (buryItem.hasSubMenu()) return@collectLatestIn
101+
buryItem.setTitle(ViewerAction.BURY_MENU.titleRes)
102+
val submenu =
103+
SubMenuBuilder(context, buryItem.menu, buryItem).apply {
104+
add(Menu.NONE, ViewerAction.BURY_NOTE.menuId, Menu.NONE, ViewerAction.BURY_NOTE.titleRes)
105+
add(Menu.NONE, ViewerAction.BURY_CARD.menuId, Menu.NONE, ViewerAction.BURY_CARD.titleRes)
106+
}
107+
buryItem.setSubMenu(submenu)
108+
} else {
109+
buryItem.removeSubMenu()
110+
buryItem.setTitle(ViewerAction.BURY_CARD.titleRes)
111+
}
110112
}
111113
}
112114
}

0 commit comments

Comments
 (0)