Translated using Weblate (Chinese (Simplified))
Currently translated at 84.7% (39 of 46 strings)
Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/
Translated using Weblate (Chinese (Simplified))
Currently translated at 84.7% (39 of 46 strings)
Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/
Translated using Weblate (Indonesian)
Currently translated at 99.0% (624 of 630 strings)
Translated using Weblate (Odia)
Currently translated at 0.0% (0 of 46 strings)
Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/or/
Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (630 of 630 strings)
Translated using Weblate (Sardinian)
Currently translated at 100.0% (630 of 630 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (630 of 630 strings)
Translated using Weblate (French)
Currently translated at 99.6% (628 of 630 strings)
Translated using Weblate (Japanese)
Currently translated at 100.0% (630 of 630 strings)
Translated using Weblate (Italian)
Currently translated at 100.0% (630 of 630 strings)
Translated using Weblate (Portuguese)
Currently translated at 100.0% (630 of 630 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (630 of 630 strings)
Translated using Weblate (Slovak)
Currently translated at 100.0% (630 of 630 strings)
Translated using Weblate (Arabic)
Currently translated at 100.0% (630 of 630 strings)
Translated using Weblate (Polish)
Currently translated at 99.6% (628 of 630 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (630 of 630 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (630 of 630 strings)
Translated using Weblate (Hebrew)
Currently translated at 100.0% (630 of 630 strings)
Translated using Weblate (Estonian)
Currently translated at 72.6% (458 of 630 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (630 of 630 strings)
Translated using Weblate (Norwegian Bokmål)
Currently translated at 100.0% (630 of 630 strings)
Translated using Weblate (Danish)
Currently translated at 63.8% (402 of 630 strings)
Translated using Weblate (Portuguese (Portugal))
Currently translated at 100.0% (630 of 630 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 86.9% (40 of 46 strings)
Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/zh_Hans/
Translated using Weblate (Polish)
Currently translated at 99.6% (628 of 630 strings)
Translated using Weblate (Polish)
Currently translated at 99.6% (628 of 630 strings)
Translated using Weblate (German)
Currently translated at 100.0% (630 of 630 strings)
Translated using Weblate (Indonesian)
Currently translated at 100.0% (630 of 630 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (630 of 630 strings)
Translated using Weblate (Polish)
Currently translated at 100.0% (630 of 630 strings)
Translated using Weblate (Estonian)
Currently translated at 78.8% (497 of 630 strings)
Translated using Weblate (Malay)
Currently translated at 65.7% (414 of 630 strings)
Translated using Weblate (Indonesian)
Currently translated at 21.7% (10 of 46 strings)
Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/id/
Translated using Weblate (Portuguese (Portugal))
Currently translated at 56.5% (26 of 46 strings)
Translation: NewPipe/Metadata
Translate-URL: https://hosted.weblate.org/projects/newpipe/metadata/pt_PT/
- 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