Much of this code was taken from the Kobo implementation of an auxiliary battery. The biggest difference between the Kobo and Kindle implementation is that the status file for the charging cover is not present when the cover is detached, so the check for status there will result in the file failing to read.
This change fixes an issue where a file/directory is not created when its name contains trailing spaces or dots.
The issue has been observed on a Kobo device, but probably also applies to other systems using vFAT.
We also might want to consider handling other illegal vFAT filenames like `NUL` or `AUX`.
Please see the [official Microsoft documentation](https://learn.microsoft.com/en-us/windows/win32/fileio/naming-a-file#naming-conventions)
for more details on the naming conventions of vFAT (this change addresses the last bullet point).
When the contents of the HtmlBoxWidget changed the page boxes were not invalidated, this resulted the highlight to show up at a wrong coordinate.
Fixes#14013
- use the latest stable release tag date for all files modification time
- tweak tar command tar to ignore read-errors (so missing files don't
result in a failure to create the installation archive)
Binary catalogs are more space efficient (total translations disk usage:
14MB instead of 35MB), and easier and faster (roughly 10 times) to load:
no parsing, and less processing (no need to unescape strings).
Not much difference on the Android APK size (a ~600KB reduction), but
other TAR.GZ / ZIP distributions see a reduction of ~3.5MB.
The code would incorrectly load part of them, examples:
- the fuzzy translation is not ignored (because of the context, which is itself ignored):
```
msgctxt "Status of group of books"
msgid "All"
msgstr "Kaikki"
```
- not ignored, with an invalid original string (`"Please configure it in the settings."`):
```po
msgid ""
"The download folder is not valid.\n"
"Please configure it in the settings."
msgstr ""
"Le répertoire de téléchargement est invalide.\n"
"Veuillez le configurer dans les paramètres."
```
- and in this case the second fuzzy entry end up overwriting the valid translation (with `"لم يتم حفظ الملف في:\n%1"`):
```po
msgid ""
"%1\n"
"%2"
msgstr ""
"%1\n"
"%2"
msgid ""
"Could not save file to:\n"
"%1\n"
"%2"
msgstr ""
"لم يتم حفظ الملف في:\n"
"%1"
```
- ArchiveViewer: instead of using unzip and to support more formats
(only CBR & RAR for now)
- NewsDownloader & Wikipedia plugins: instead of using `ZipWriter`
- device: re-implement `Device:unpackArchive` and get rid of device
specific `untar` implementations
- readerui: instead of using unzip for document provider detection
Currently you can only toggle page turn buttons to inverted or not. This
commit adds the ability to also have an option in dispatcher to set the
value instead of just toggling.
This can be useful for profiles that want to set the value rather then
toggle.