* build(deps) bump anki backend to 0.1.39-anki24.06.2
* refactor: make PageFragment non abstract
some pages are now simple enough that can be created just with the path, like CardInfo
* chore: load SvelteKit assets
instead of individual pages
* chore: move CardInfo to SvelteKit
* chore: move AnkiPackageImporter to SvelteKit
* chore: move CongratsPage to SvelteKit
* chore: move CsvImporter to SvelteKit
* chore: move DeckOptions to SvelteKit
* chore: move Statistics to SvelteKit
* chore: handle POST requests in CardViewerViewModel
IO requests i18Resources now
* chore: move ImageOcclusion to SvelteKit
* refactor(PageFragment): remove unused properties
This bug existed for a long time which was unnoticed. Back button is useful on small screen when the fragment appears on a separate screen, and is not useful when the fragment appears near the deck-picker, where there is nowhere to go back to, so we could remove the button
It resumed proposing PRs for this dependency after moving to the
version catalog style of version specification in gradle, which has
been confusing me.
I believe it is because the name now needs to be the version catalog
alias name, not the maven repository coordinates, with my hunch
based on the naming of the PRs now being an update for `ankiBackend`
vs the coordinates first
We are going to remove this class and use the
backend for both the column definitions and the
retrieval of data
But before we do this, we want to map from a
complex index-based collection to the Anki Backend
Column keys, so users do not lose their settings in
the migration
This change verifies that the columns are mapped
and implemented the same way in the new backend
Defined in neither
* COLUMN1_KEYS
* COLUMN2_KEYS
These define the order in
R.array.browser_column1_headings
R.array.browser_column2_headings
So they are unused
ID matched the `else` case in the `when`
for CardCache, and that returned `null`
CardBrowser will move to render using either
the card id or the note id
Our data is currently ALWAYS CardIds, which may be
transformed into NoteIds
We had code assuming that the CardId was always used
which needed to be modified to handle the case that
a DB call is needed to map NoteId <-> CardId
* selectedRowIds
* allCardIds
* Now needs to be `suspend`
* get[Selected]CardIdAtPosition
* Now needs to be `suspend`
Issue 11889
A number of circular dependencies on 'compat' meant
that all functionality could not be extracted from 'AdaptionUtil'
* We need to extract 'isRobolectric'
* isRunningAsUnitTest is an easy extraction
* added in 7ada532c5c
* refactor(card-browser): Card param -> CardId
We're going to refactor `updateSelectedCardsFlag` to
return cids and these were all that is required
* refactor(card-browser): remove unused method
* searchWithFilterQuery
* refactor(card-browser-view-model): update flags
* onEach { load() } called collection.load
* broken in 0d69cacde9
This was caused because a WeakReference
to the lambda was used, which went out of scope.
This meant `changes` was not incremented
CardBrowserViewModel:
* suspend - notes - some cards suspended
* suspend - notes - all suspended
* etc...
Fixes 16541
Previously this resulted in a `NullPointerException`
before:
```
java.lang.NullPointerException: null cannot be cast to non-null type androidx.appcompat.app.AlertDialog
```
after:
```
org.opentest4j.AssertionFailedError: A dialog should be displayed ==> expected: not <null>
```
Seen in https://redirect.github.com/ankidroid/Anki-Android/pull/16529