Fixes a `ConcurrentModificationException`: the wrong list was modified
* Create copy of list when filtering
* Optimize containsFilterString
* Add error catching
* Remove whitespace
* Add comment and better naming
* Rename usage of childrenCopy variable I forgot to rename
* Change to more efficient solution
* Remove unecessary comment
* Add unit tests for DeckFilter
* Remove unused imports
* Add copywrite
* Remove whitespace
* Format fixes
* Add last name to dictionary
* Flipped actual and expected in assert statement
* Removed try/catch block in publishResults()
* Remove unused import
* Added null check
* Revert "Optimize containsFilterString"
This reverts commit 5b617b03f6.
* Reverting to using !! operator on results
* Rename test method
Allow to improve card browser's note mode by ensuring that one card by note is
directly queried.
This is temporary code, since back-end will ensure we get this feature
efficiently in Rust.
Should only affect the Android Studio layout preview (designer).
If unset, the default is `Material.Light`, which does not
preview correctly (no blue menu bar at the top).
This has been tested and does not seem to have a functional effect on
the app.
If it does have a functional change, this change may be reverted
- the default theme for all activities, but we call `Themes.setTheme`
inside AnkiActivity, so this should only affect the layout designer.
https://developer.android.com/guide/topics/manifest/application-element#theme
We don't interact with them a lot (and thanks for crowdin for it. Interacting with 1400 people would be a managerial nightmare), but they entirely deserve credits. Also, I can't cease to be amazed to have that many people spending their time to improve our app.
* refactor: Organize reviewing constants
* refactor: Organize sync constants
* refactor: Organize general constants
* refactor: Organize appearance constants
* refactor: Organize controls constants
* refactor: Organize accessibility constants
* refactor: Organize advanced constants
* refactor: Organize App Bar buttons constants
* refactor: Organize Custom sync server constants
* refactor: Organize last Advanced screen constants
* refactor: Organize Headers constants
* refactor: Organize constants inside preferences.xml
Move the constants to be below their respective category headers
Join the `about_base_layout` and `about_scrollable_layout` as I've fixed the problem with previewing
Add a comment explaining why `dev_options_enabled_msg` isn't translated
And remove the code of the previous About section from `Info.kt`
The `Info.kt` activity can't be removed yet entirely because it is still used to show the changelog
Remove `InfoTestNoOnCreate.kt` because it was only used to check if the app wouldn't crash while building the HTML string for the old about screen
* Filter bottom sheet with filters for flags created
* Add `FilterItemFlag` class and add delay to avoid double tap
`FilterItemFlag` class makes it cleaner and easier to add search queries
* Delete unused resources
* Change class name to match File name, Update strings, remove `@Suppress("deprecated")`,
make DELAY_TIME const
* Use enum class to represent flags
* Use enum class to represent flags
* Add No Flag option, remove hungarian notation
* Use searchNodes to create query string, Add Flag Icons to options
change type of FlagNumber from Int to SearchNode.Flag
use .apply{ } to avoid repetition
Other minor fixes
* Change onFlagItemClicked, change variable name of flagNumber, Move no flag to first position, create isSelected boolean to check if a filter is selected
I also renamed it to "code contributor", as I feel it's a more exact description. Github is technically true, but not really interesting. Also, technically, translations also ends on github, and the authors are not listed