This should hopefully solves #7848, i.e. on samsung tablets, formulas are not correctly displayed.
The downsides are mentionned in http://docs.mathjax.org/en/latest/output/svg.html :
* it copy as image and not as text
* change in numbering of tags of equation (normally, cards are small enough that's not a problem)
Moving from getCompat().detagged(str) to Html.escapeHtml meant that
unicode characters were escaped using HTML entities.
The problem with this is that some WebViews did not display ὐ
but they did display the unicode
So we move back to only escaping the dangerous HTML
https://stackoverflow.com/questions/35104032/whats-the-difference-between-androids-html-escapehtml-and-textutils-htmlencode
Aside: This means that quotes are now escaped in the input/output.
This should not be an issue as " / ' should be supported.
Fixes 7896
Mostly adding regression cover for the HTML escaping that used to occur in
13c27a6a1f from CompatV15.detagged
We moved to Html.escapeHtml, but this also escapes some characters such as
Polytonic Greek, which some browsers cannot display as HTML entities
(but Unicode works)
This also adds a failing test for us to fix in a follow-up commit
* Remove legacy whiteboard settings from prefs
* Remove black strokes setting from UI
* Remove monochrome refs
* Hide pen color based on night mode
* Fix typo
* Update Whiteboard Foreground test
* Add missing annotation import
Co-authored-by: Mike Hardy <github@mikehardy.net>
I don't know why this is the only if case that was not properly changed in 38ab1ea7ad
In this case, it would mean the media db corruption was not catched
Each time in Connection a generic error is returned, it is quite similar.
Furthermore, 38ab1ea7ad moved result to resultType, which was mostly correct. However, for
the sake of consistency, it should have left a 0-length array in result. This repair it
It was correctly done in f8512af52fcae210a92f34c360f9ecb4db33c8ac, however rebasing over
47dd6596f3 seems to have fail. This is regretful because using sync actually helped made
the change simpler.
The very wrong line was
```java
private static class UpdateCardHandler<Result extends BooleanGetter> extends
ListenerWithProgressBarCloseOnFalse<Pair<Card, String>, Result> {
```
`UpdateCardHandler` should not have taken a parameter, and especially, no variable of this type should have been
declared without parameters. This stopped typechecking to work, and lead to #7862.
The remaining changes are the one detected by the correction of this first line.
The irony is that the whole point of using Task was to ensure type safety