diff --git a/AnkiDroid/src/main/java/com/ichi2/anki/DeckPicker.kt b/AnkiDroid/src/main/java/com/ichi2/anki/DeckPicker.kt
index 1d87e3f3b7c1..12202b245f19 100644
--- a/AnkiDroid/src/main/java/com/ichi2/anki/DeckPicker.kt
+++ b/AnkiDroid/src/main/java/com/ichi2/anki/DeckPicker.kt
@@ -21,11 +21,13 @@ import android.graphics.PixelFormat
import android.os.Build
import android.os.Bundle
import android.text.util.Linkify
+import android.view.Gravity
import android.view.KeyEvent
import android.view.Menu
import android.view.MenuItem
import android.view.View
import android.view.ViewGroup.MarginLayoutParams
+import android.widget.LinearLayout
import android.widget.TextView
import androidx.activity.OnBackPressedCallback
import androidx.activity.SystemBarStyle
@@ -37,6 +39,7 @@ import androidx.activity.result.contract.ActivityResultContracts
import androidx.activity.viewModels
import androidx.annotation.VisibleForTesting
import androidx.appcompat.app.AlertDialog
+import androidx.appcompat.widget.AppCompatCheckBox
import androidx.appcompat.widget.SearchView
import androidx.appcompat.widget.Toolbar
import androidx.appcompat.widget.TooltipCompat
@@ -1545,23 +1548,37 @@ open class DeckPicker :
launchCatchingTask {
val summary = AnkiquestStudySession.finish()
if (summary != null && sharedPrefs().getBoolean(AnkiquestNavigation.SESSION_SUMMARY_KEY, true)) {
+ val neverAgain =
+ AppCompatCheckBox(this@DeckPicker).apply {
+ setText(R.string.ankiquest_summary_dont_show_again)
+ }
+ val content =
+ LinearLayout(this@DeckPicker).apply {
+ orientation = LinearLayout.VERTICAL
+ val padding = (20 * resources.displayMetrics.density).toInt()
+ setPadding(padding, 0, padding, 0)
+ addView(
+ com.ichi2.anki.ankiquest.AnkiquestAki
+ .image(
+ this@DeckPicker,
+ if (summary.remaining == 0) R.drawable.aki_celebrate else R.drawable.aki_streak,
+ 112,
+ ).apply {
+ layoutParams =
+ LinearLayout
+ .LayoutParams(
+ layoutParams,
+ ).apply { gravity = Gravity.CENTER_HORIZONTAL }
+ },
+ )
+ addView(neverAgain)
+ }
val builder =
AlertDialog
.Builder(this@DeckPicker)
.setTitle(R.string.ankiquest_summary_title)
- .setView(
- com.ichi2.anki.ankiquest.AnkiquestAki.image(
- this@DeckPicker,
- if (summary.remaining ==
- 0
- ) {
- R.drawable.aki_celebrate
- } else {
- R.drawable.aki_streak
- },
- 112,
- ),
- ).setMessage(
+ .setView(content)
+ .setMessage(
getString(
R.string.ankiquest_summary_body,
summary.reviews,
@@ -1575,7 +1592,11 @@ open class DeckPicker :
if (summary.remaining > 0) {
builder.setPositiveButton(R.string.ankiquest_summary_continue) { _, _ -> openReviewer() }
}
- builder.show()
+ builder.show().setOnDismissListener {
+ if (neverAgain.isChecked) {
+ sharedPrefs().edit { putBoolean(AnkiquestNavigation.SESSION_SUMMARY_KEY, false) }
+ }
+ }
}
fragment?.refreshInterface()
}
diff --git a/AnkiDroid/src/main/res/values-de/ankiquest_navigation.xml b/AnkiDroid/src/main/res/values-de/ankiquest_navigation.xml
index 2d19f82a5a55..137c8ea2d83c 100644
--- a/AnkiDroid/src/main/res/values-de/ankiquest_navigation.xml
+++ b/AnkiDroid/src/main/res/values-de/ankiquest_navigation.xml
@@ -18,6 +18,7 @@
Fortschritt ansehen
Sitzungszusammenfassung
Zeige eine unaufdringliche, barrierefreie Zusammenfassung, wenn du eine Lernsitzung verlässt.
+ Nicht mehr anzeigen
Dieser Stapel ist nicht mehr verfügbar. Wähle einen anderen.
In diesem Stapel sind gerade keine Karten bereit. Wähle einen anderen oder komme später wieder.
diff --git a/AnkiDroid/src/main/res/values-es/ankiquest_navigation.xml b/AnkiDroid/src/main/res/values-es/ankiquest_navigation.xml
index 85f07c5dce49..4d94bbf37fe6 100644
--- a/AnkiDroid/src/main/res/values-es/ankiquest_navigation.xml
+++ b/AnkiDroid/src/main/res/values-es/ankiquest_navigation.xml
@@ -18,6 +18,7 @@
Ver progreso
Resumen de la sesión
Mostrar un resumen accesible y discreto al salir de una sesión de estudio.
+ No volver a mostrar esto
Este mazo ya no está disponible. Elige otro.
No hay tarjetas listas en este mazo ahora. Elige otro mazo o vuelve más tarde.
diff --git a/AnkiDroid/src/main/res/values-fr/ankiquest_navigation.xml b/AnkiDroid/src/main/res/values-fr/ankiquest_navigation.xml
index 0b881d2b9b3e..37d52b606421 100644
--- a/AnkiDroid/src/main/res/values-fr/ankiquest_navigation.xml
+++ b/AnkiDroid/src/main/res/values-fr/ankiquest_navigation.xml
@@ -18,6 +18,7 @@
Voir la progression
Résumé de la session
Affiche un résumé discret et accessible quand tu quittes une séance d’étude.
+ Ne plus afficher ceci
Ce paquet n’est plus disponible. Choisis-en un autre.
Aucune carte n’est prête dans ce paquet pour le moment. Choisis un autre paquet ou reviens plus tard.
diff --git a/AnkiDroid/src/main/res/values-pt/ankiquest_navigation.xml b/AnkiDroid/src/main/res/values-pt/ankiquest_navigation.xml
index 0b0be6d7e532..300673cc7fc6 100644
--- a/AnkiDroid/src/main/res/values-pt/ankiquest_navigation.xml
+++ b/AnkiDroid/src/main/res/values-pt/ankiquest_navigation.xml
@@ -18,6 +18,7 @@
Ver progresso
Resumo da sessão
Mostra um resumo discreto e acessível quando terminas uma sessão de estudo.
+ Não voltar a mostrar
Este baralho já não está disponível. Escolhe outro.
Não há cartões prontos neste baralho agora. Escolhe outro ou volta mais tarde.
diff --git a/AnkiDroid/src/main/res/values/ankiquest_navigation.xml b/AnkiDroid/src/main/res/values/ankiquest_navigation.xml
index 9a4dc0a04d81..6e05e71f196b 100644
--- a/AnkiDroid/src/main/res/values/ankiquest_navigation.xml
+++ b/AnkiDroid/src/main/res/values/ankiquest_navigation.xml
@@ -20,6 +20,7 @@
ankiquestSessionSummary
Session summary
Show a quiet, accessible recap when you leave a study session.
+ Don’t show this again
This deck is no longer available. Choose another deck.
No cards are ready in this deck right now. Choose another deck or come back later.