Skip to content

Commit

Permalink
feat(browser): display FSRS columns
Browse files Browse the repository at this point in the history
  • Loading branch information
david-allison committed Jun 20, 2024
1 parent b6620b4 commit 552596b
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -114,9 +114,7 @@ enum class CardBrowserColumn(val ankiColumnKey: String) {

val COLUMN1_KEYS = arrayOf(QUESTION, SFLD)

// list of available keys in mCards corresponding to the column names in R.array.browser_column2_headings.
// Note: the last 6 are currently hidden
val COLUMN2_KEYS = arrayOf(ANSWER, CARD, DECK, NOTE_TYPE, QUESTION, TAGS, LAPSES, REVIEWS, INTERVAL, EASE, DUE, CHANGED, CREATED, EDITED)
val COLUMN2_KEYS = entries.toTypedArray()

fun fromColumnKey(key: String): CardBrowserColumn =
entries.firstOrNull { it.ankiColumnKey == key }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,21 @@ import androidx.core.content.edit
import androidx.core.os.LocaleListCompat
import com.ichi2.anki.analytics.UsageAnalytics
import com.ichi2.anki.browser.BrowserColumnCollection
import com.ichi2.anki.browser.CardBrowserColumn
import com.ichi2.anki.browser.CardBrowserColumn.ANSWER
import com.ichi2.anki.browser.CardBrowserColumn.CARD
import com.ichi2.anki.browser.CardBrowserColumn.CHANGED
import com.ichi2.anki.browser.CardBrowserColumn.CREATED
import com.ichi2.anki.browser.CardBrowserColumn.DECK
import com.ichi2.anki.browser.CardBrowserColumn.DUE
import com.ichi2.anki.browser.CardBrowserColumn.EASE
import com.ichi2.anki.browser.CardBrowserColumn.EDITED
import com.ichi2.anki.browser.CardBrowserColumn.INTERVAL
import com.ichi2.anki.browser.CardBrowserColumn.LAPSES
import com.ichi2.anki.browser.CardBrowserColumn.NOTE_TYPE
import com.ichi2.anki.browser.CardBrowserColumn.QUESTION
import com.ichi2.anki.browser.CardBrowserColumn.REVIEWS
import com.ichi2.anki.browser.CardBrowserColumn.SFLD
import com.ichi2.anki.browser.CardBrowserColumn.TAGS
import com.ichi2.anki.cardviewer.Gesture
import com.ichi2.anki.cardviewer.ViewerCommand
import com.ichi2.anki.model.CardsOrNotes
Expand Down Expand Up @@ -542,8 +556,8 @@ object PreferenceUpgradeService {
return
}

val currentColumn1 = CardBrowserColumn.COLUMN1_KEYS[currentColumn1Index]
val currentColumn2 = CardBrowserColumn.COLUMN2_KEYS[currentColumn2Index]
val currentColumn1 = LEGACY_COLUMN1_KEYS[currentColumn1Index]
val currentColumn2 = LEGACY_COLUMN2_KEYS[currentColumn2Index]

BrowserColumnCollection.update(preferences, CardsOrNotes.CARDS) { columns ->
if (columns.size < 2) return@update false
Expand All @@ -567,6 +581,12 @@ object PreferenceUpgradeService {
companion object {
private const val DISPLAY_COLUMN_1_KEY = "cardBrowserColumn1"
private const val DISPLAY_COLUMN_2_KEY = "cardBrowserColumn2"

@VisibleForTesting
internal val LEGACY_COLUMN1_KEYS = arrayOf(QUESTION, SFLD)

@VisibleForTesting
internal val LEGACY_COLUMN2_KEYS = arrayOf(ANSWER, CARD, DECK, NOTE_TYPE, QUESTION, TAGS, LAPSES, REVIEWS, INTERVAL, EASE, DUE, CHANGED, CREATED, EDITED)
}
}
}
Expand Down
6 changes: 4 additions & 2 deletions AnkiDroid/src/test/java/com/ichi2/anki/CardBrowserTest.kt
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,8 @@ import com.ichi2.anki.model.CardsOrNotes.NOTES
import com.ichi2.anki.model.SortType
import com.ichi2.anki.scheduling.ForgetCardsViewModel
import com.ichi2.anki.servicelayer.PreferenceUpgradeService
import com.ichi2.anki.servicelayer.PreferenceUpgradeService.PreferenceUpgrade.UpgradeBrowserColumns.Companion.LEGACY_COLUMN1_KEYS
import com.ichi2.anki.servicelayer.PreferenceUpgradeService.PreferenceUpgrade.UpgradeBrowserColumns.Companion.LEGACY_COLUMN2_KEYS
import com.ichi2.libanki.BrowserConfig
import com.ichi2.libanki.CardId
import com.ichi2.libanki.Consts
Expand Down Expand Up @@ -934,8 +936,8 @@ class CardBrowserTest : RobolectricTest() {
}

// meta test
assertThat(CardBrowserColumn.COLUMN1_KEYS[1], equalTo(SFLD))
assertThat(CardBrowserColumn.COLUMN2_KEYS[5], equalTo(TAGS))
assertThat(LEGACY_COLUMN1_KEYS[1], equalTo(SFLD))
assertThat(LEGACY_COLUMN2_KEYS[5], equalTo(TAGS))

PreferenceUpgradeService.upgradePreferences(getSharedPrefs(), 20300130)

Expand Down

0 comments on commit 552596b

Please sign in to comment.