Skip to content

Commit 0ef49a3

Browse files
david-allisonmikehardy
authored andcommitted
fix(automatic-answer): disable by default
Now requires a menu item/keyboard shortcut/gesture to enable Issue 17701
1 parent 097472e commit 0ef49a3

File tree

3 files changed

+14
-5
lines changed

3 files changed

+14
-5
lines changed

AnkiDroid/src/main/java/com/ichi2/anki/reviewer/AutomaticAnswer.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ class AutomaticAnswer(
7777
*
7878
* Ensures that auto answer does not occur if the reviewer is minimised
7979
*/
80-
var isDisabled: Boolean = false
80+
var isDisabled: Boolean = true
8181
get() = field || activityIsPaused
8282
private set
8383

AnkiDroid/src/test/java/com/ichi2/anki/AbstractFlashcardViewerTest.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -273,6 +273,7 @@ class AbstractFlashcardViewerTest : RobolectricTest() {
273273
fun automaticAnswerDisabledProperty() {
274274
val controller = getViewerController(addCard = true, startedWithShortcut = false)
275275
val viewer = controller.get()
276+
viewer.automaticAnswer.enable()
276277
assertThat("not disabled initially", viewer.automaticAnswer.isDisabled, equalTo(false))
277278
controller.pause()
278279
assertThat("disabled after pause", viewer.automaticAnswer.isDisabled, equalTo(true))
@@ -287,6 +288,7 @@ class AbstractFlashcardViewerTest : RobolectricTest() {
287288
val viewer = controller.get()
288289
viewer.automaticAnswer = AutomaticAnswer(viewer, AutomaticAnswerSettings(AutomaticAnswerAction.BURY_CARD, 5.0, 5.0))
289290
viewer.lifecycle.addObserver(viewer.automaticAnswer)
291+
viewer.automaticAnswer.enable()
290292
viewer.executeCommand(ViewerCommand.SHOW_ANSWER)
291293
assertThat("messages after flipping card", viewer.hasAutomaticAnswerQueued(), equalTo(true))
292294
controller.pause()

AnkiDroid/src/test/java/com/ichi2/anki/reviewer/AutomaticAnswerTest.kt

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ class AutomaticAnswerTest : JvmTest() {
3434
@Test
3535
fun disableWorks() {
3636
val answer = validAnswer(automaticallyAnsweredMock())
37+
answer.enable()
3738

3839
answer.delayedShowQuestion(0)
3940
answer.delayedShowAnswer(0)
@@ -70,12 +71,12 @@ class AutomaticAnswerTest : JvmTest() {
7071

7172
@Test
7273
fun testEnableDisable() {
73-
val answer = validAnswer(automaticallyAnsweredMock())
74-
assertThat("answer should be enabled", answer.isDisabled, equalTo(false))
75-
answer.disable()
74+
val answer = validAnswer(automaticallyAnsweredMock(), enable = false)
7675
assertThat("answer should be disabled", answer.isDisabled, equalTo(true))
7776
answer.enable()
7877
assertThat("answer should be enabled", answer.isDisabled, equalTo(false))
78+
answer.disable()
79+
assertThat("answer should be disabled", answer.isDisabled, equalTo(true))
7980
}
8081

8182
/** Ensures [disableStopsImmediateCallAnswer] can fail */
@@ -119,7 +120,10 @@ class AutomaticAnswerTest : JvmTest() {
119120
runUiThreadTasksIncludingDelayedTasks()
120121
}
121122

122-
private fun validAnswer(automaticallyAnswered: AutomaticallyAnswered? = null): AutomaticAnswer {
123+
private fun validAnswer(
124+
automaticallyAnswered: AutomaticallyAnswered? = null,
125+
enable: Boolean = true,
126+
): AutomaticAnswer {
123127
var automaticAnswerHandle: AutomaticAnswer? = null
124128

125129
val automaticAnswerHandler =
@@ -143,6 +147,9 @@ class AutomaticAnswerTest : JvmTest() {
143147
),
144148
).apply {
145149
automaticAnswerHandle = this
150+
if (enable) {
151+
this.enable()
152+
}
146153
}
147154
}
148155

0 commit comments

Comments
 (0)