Added translation using Weblate (Somali)
Translated using Weblate (Chinese (Traditional))
Currently translated at 99.8% (608 of 609 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (609 of 609 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (609 of 609 strings)
Translated using Weblate (French)
Currently translated at 100.0% (609 of 609 strings)
Translated using Weblate (Serbian)
Currently translated at 41.0% (250 of 609 strings)
Translated using Weblate (English)
Currently translated at 100.0% (609 of 609 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (609 of 609 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (609 of 609 strings)
Translated using Weblate (Japanese)
Currently translated at 99.6% (607 of 609 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (609 of 609 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (609 of 609 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (609 of 609 strings)
Translated using Weblate (Basque)
Currently translated at 100.0% (609 of 609 strings)
Translated using Weblate (Czech)
Currently translated at 100.0% (609 of 609 strings)
Translated using Weblate (Arabic)
Currently translated at 99.8% (608 of 609 strings)
Translated using Weblate (Arabic)
Currently translated at 99.8% (608 of 609 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (609 of 609 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (609 of 609 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (609 of 609 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 99.8% (608 of 609 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (609 of 609 strings)
Translated using Weblate (Croatian)
Currently translated at 100.0% (609 of 609 strings)
Translated using Weblate (Finnish)
Currently translated at 100.0% (609 of 609 strings)
Translated using Weblate (Belarusian)
Currently translated at 85.2% (519 of 609 strings)
Translated using Weblate (Bengali)
Currently translated at 79.1% (482 of 609 strings)
Translated using Weblate (German)
Currently translated at 29.2% (12 of 41 strings)
Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
Translated using Weblate (Basque)
Currently translated at 26.8% (11 of 41 strings)
Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/eu/
Translated using Weblate (Chinese (Traditional))
Currently translated at 56.0% (23 of 41 strings)
Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant/
Translated using Weblate (Santali)
Currently translated at 10.6% (65 of 609 strings)
Translated using Weblate (Somali)
Currently translated at 15.9% (97 of 609 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (609 of 609 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 99.5% (610 of 613 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (German)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Basque)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Slovak)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Arabic)
Currently translated at 97.0% (595 of 613 strings)
Translated using Weblate (Indonesian)
Currently translated at 99.6% (611 of 613 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Hebrew)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Croatian)
Currently translated at 100.0% (613 of 613 strings)
Translated using Weblate (Finnish)
Currently translated at 99.6% (611 of 613 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 93.4% (573 of 613 strings)
Translated using Weblate (Sardinian)
Currently translated at 99.5% (610 of 613 strings)
Translated using Weblate (German)
Currently translated at 41.4% (17 of 41 strings)
Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/de/
Translated using Weblate (Turkish)
Currently translated at 19.5% (8 of 41 strings)
Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/tr/
Translated using Weblate (Greek)
Currently translated at 34.1% (14 of 41 strings)
Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/el/
Translated using Weblate (Portuguese)
Currently translated at 63.4% (26 of 41 strings)
Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt/
Translated using Weblate (Italian)
Currently translated at 43.9% (18 of 41 strings)
Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/it/
Translated using Weblate (Chinese (Traditional))
Currently translated at 80.4% (33 of 41 strings)
Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hant/
Translated using Weblate (Chinese (Simplified))
Currently translated at 70.7% (29 of 41 strings)
Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/
Translated using Weblate (Somali)
Currently translated at 81.4% (499 of 613 strings)
Translated using Weblate (Somali)
Currently translated at 4.8% (2 of 41 strings)
Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/so/
Translated using Weblate (Bulgarian)
Currently translated at 62.1% (381 of 613 strings)
Translated using Weblate (Bulgarian)
Currently translated at 62.1% (381 of 613 strings)
- remove duplicated string (name) and avoid potential duplicate (autoplay_never_description -> Never, autoplay_always_description -> Always because they are just "Always" or "Never"). Fixes#4268
- leakCanary string removed (fixes#4233)
* migrate few annotations to androidx
* mission recovery: better error handling (except StreamExtractor.getErrorMessage() method always returns an error)
* post-processing: more detailed progress
[file specific changes]
DownloadMission.java
* remove redundant/boilerplate code (again)
* make few variables volatile
* better file "length" approximation
* use "done" variable to count the amount of bytes downloaded (simplify percent calc in UI code)
Postprocessing.java
* if case of error use "ERROR_POSTPROCESSING" instead of "ERROR_UNKNOWN_EXCEPTION"
* simplify source stream init
DownloadManager.java
* move all "service message sending" code to DownloadMission
* remove not implemented method "notifyUserPendingDownloads()" also his unused strings
DownloadManagerService.java
* use START_STICKY instead of START_NOT_STICKY
* simplify addMissionEventListener()/removeMissionEventListener() methods (always are called from the main thread)
Deleter.java
* better method definition
MissionAdapter.java
* better method definition
* code cleanup
* the UI is now refreshed every 750ms
* simplify download progress calculation
* indicates if the download is actually recovering
* smooth download speed measure
* show estimated remain time
MainFragment.java:
* check if viewPager is null (issued by "Apply changes" feature of Android Studio)
* replace "In queue" to "Pending" in the downloads header to avoid confusions (all languages)
* use 29bits Clusters size to support huge video resolutions (fixes#2291) (WebmWriter.java)
* add missing changes to WebmMuxer.java (i forget select the audio track)
* re-work finished mission database
* re-work DownloadMission and bump it Serializable version
* keep the classic Java IO API
* SAF Tree API support on Android Lollipop or higher
* add wrapper for SAF stream opening
* implement Closeable in SharpStream to replace the dispose() method
* do required changes for this API:
** remove any file creation logic from DownloadInitializer
** make PostProcessing Serializable and reduce the number of iterations
** update all strings.xml files
** storage helpers: StoredDirectoryHelper & StoredFileHelper
** best effort to handle any kind of SAF errors/exceptions
Remove strings which have been deleted from the English strings file during development, but were translated via Weblate, which failed to pull and push our upstream repo.