Commit Graph

116 Commits

Author SHA1 Message Date
Stypox ea43b28f74
Use vector drawables instead of PNGs for material icons
For all manually-created images PNG have been kept.
- rename all icon attrs to have a `ic_` prefix
- always use `_24dp` icons, because there is no real difference, since they are vector drawables
- always use the original name found on material.io for icon drawables, as to not create confusion and possibly duplicates. Icon names can still be different from real drawable names, though I have made some of them compliant to this or maybe more meaningul.
- remove duplicate `getIconByAttr()` in ThemeHelper (use `resolveResourceIdFromAttr()`
- use standard icons for `expand_more` and `expand_less` instead of triangles
- use `play_button_outline` instead of custom PNG as play button in VideoDetailFragment (questionable, as there is no shadow anymore)
2020-05-21 15:39:35 +02:00
wb9688 ff7344438b Optimize imports 2020-05-01 20:13:01 +02:00
kapodamy 62d934dd8e fix integer overflows
* available() method in ChunkFileInputStream.java
* free "ahead space" calculation in CircularFileWriter.java
2020-04-01 15:30:33 -03:00
kapodamy 5f940c40ed fix integer overflow 2020-03-25 16:13:36 -03:00
Xiang Rong Lin cf377c2591 Fix bug causing crashes when sharing a downloaded file. 2020-02-03 10:43:08 +01:00
bopol c5e6bb58bc Merge remote-tracking branch 'upstream/dev' into dev
merging dev
2020-02-01 15:11:01 +01:00
bopol 6be23a0a6f fix wrong language shown many popup dialogs
Changed android.R.string.ok, which is "OK", into R.string.finish, which is also OK, but from our strings
Then for a small amount of languages that don't have Android translation, it will show the good string.
2020-02-01 09:44:49 +01:00
Markus Richter fd3d61c6a0
fixes #3021, see also https://github.com/TeamNewPipe/NewPipe-legacy/pull/21 2020-01-29 13:48:02 +01:00
Tobias Groza cc83991d8d
Merge pull request #2958 from kapodamy/android5-temp-dir-issue
fix #2889
2020-01-26 11:04:45 +01:00
kapodamy 00eddcb237 android 5 (lollipop) fixup
this commit attempts to fix the pickAvailableTemporalDir() method in ROMS that not are CTS compliant.
2020-01-14 00:05:34 -03:00
kapodamy 42ec6f0810 ttml to srt conversion
rewrite SubtitleConverter (use JSoup library instead, remove unused methods)
2020-01-14 00:04:16 -03:00
TobiGr 3d93ecd6ec Use Integer value directly for formatted string
a
2020-01-13 20:25:32 +01:00
Kamil Szczęk 2c8222fd55 Style corrected 2020-01-11 15:19:24 +01:00
Kamil Szczęk d071891b2a Add a snackbar to allow user to undo file deletion 2020-01-11 15:09:01 +01:00
Kamil Szczęk 986acc5fc5 Reorder buttons in clear downloads dialog 2020-01-11 15:09:01 +01:00
Kamil Szczęk e4295fb3fa Use a dialog option instead of a checkbox 2020-01-11 15:09:01 +01:00
Kamil Szczęk cfad3fb5de Fix inconsistent style 2020-01-11 15:09:01 +01:00
Kamil Szczęk b18236a27e Put call to forget finished downloads in an else statement to prevent potential bugs 2020-01-11 15:09:01 +01:00
Kamil Szczęk f6bbc69cf9 Remove unnecessary import 2020-01-11 15:09:01 +01:00
Kamil Szczęk 707e4f7167 Add option to remove downloaded files when clearing finished downloads 2020-01-11 15:09:01 +01:00
kapodamy aae8865bdd remove unused imports 2019-12-05 14:04:48 -03:00
kapodamy 84ec320df4 commit
* rebase fixup, add null check
* better ETA string
* drop connection read timeout, for HSDPA networks
* bump NPE version
2019-11-26 13:41:16 -03:00
kapodamy 3ca461413e Merge branch 'dev' into dl-last-features 2019-11-26 10:46:32 -03:00
kapodamy e6d9d8e26d code cleanup
* 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)
2019-11-26 10:46:31 -03:00
kapodamy da052df106 update DownloadManager.java
* check if the directory pending_downloads was created
2019-11-26 10:46:29 -03:00
kapodamy 60d4c8a55d fallback for pending downloads directory 2019-11-26 10:46:29 -03:00
kapodamy 4292ca94ff misc changes
* OggFromWebMWriter: rewrite (again), reduce iterations over the input. Works as-is (video streams are not supported)
* WebMReader: use int for SimpleBlock.dataSize instead of long
* Download Recovery: allow recovering uninitialized downloads
* check range-requests using HEAD method instead of GET
* DownloadRunnableFallback: add workaround for 32kB/s issue, unknown issue origin, wont fix
* reporting downloads errors now include the source url with the selected quality and format
2019-11-26 10:46:28 -03:00
kapodamy 86dafdd92b long-term downloads resume
* recovery infrastructure
* bump serialVersionUID of DownloadMission
* misc cleanup in DownloadMission.java
* remove unused/redundant from strings.xml
2019-11-26 10:46:26 -03:00
kapodamy dab53450c1 rewrite OggFromWebMWriter
* reduce the number of iterations over the output file (less seeking)
* fix audio samples with size of 255 do not handled correctly in the segment table (allows writing audio streams with 70kbps and 160kbps bitrate)
* add support for VORBIS codec metadata
* write packets based on the timestamp
2019-11-26 10:46:26 -03:00
kapodamy 773aa1eff0 implement webm to ogg demuxer
* used for opus audio stream
* update WebMReader and WebMWriter
* new post-processing algorithm
2019-11-26 10:46:26 -03:00
Mauricio Colli 71f1bbdcc1
Use new Localization and Downloader implementations from extractor 2019-11-17 23:58:52 -03:00
TobiGr b861f21bca Fix release build 2019-10-31 20:37:49 +01:00
Robin bf2a3ca043 Migrate to AndroidX 2019-10-04 14:59:08 +02:00
kapodamy 08a081437f
Update DownloadRunnable.java 2019-10-01 15:31:15 -03:00
kapodamy b1d89175fc
Update DownloadRunnable.java
add description
2019-10-01 13:09:26 -03:00
kapodamy ecb4bfde0b check if last byte on block is downloaded 2019-09-23 15:45:48 -03:00
kapodamy 1a643126de Changes for Android 9 (Pie)
* validate the stored file before start the mission
* add warning on StoredFileHelper.java
* simplify the communication between MissionAdapter and DownloadManagerService.java since shares the same looper
* simplify setVisible() "start/pause all downloads" buttons logic
2019-09-01 18:37:06 -03:00
kapodamy 10dfcbf0b9 add manual switch in download setting fragment
switch for:
* Java I/O Api
* Storage Access Framework
2019-08-17 13:38:33 -03:00
kapodamy 2328ea6d07 dont hardcode the buttons 2019-08-03 12:44:55 -03:00
kapodamy 0375194e7d fix start/pause buttons disappear when screen goes off
* fix start/pause buttons disappear, issued by RecyclerView re-draw
* show start/pause buttons in pair to avoid confusions
2019-08-03 12:28:58 -03:00
kapodamy 2f66913813 drop unused popup storage permission request 2019-08-02 01:07:37 -03:00
kapodamy d9b042d9e3 socket leak fix
* fix socket leak in "DownloadRunnable"
* in "DownloadInitializer" close the HTTP body after doing range-request checks
* in "DownloadRunnableFallback" fix typo in comment
* in "DownloadDialog" fix regression, using one thread for audios instead of subtitles
2019-08-01 22:41:09 -03:00
kapodamy 60f5f07dd6 commit (3 changes)
* re-write download segmenting logic (issue #).
* clean-up download threads handling.
* fix race-condition if "pause" option in download context menu was selected, in the transition from "pending" to "finished" state.
2019-07-02 21:07:21 -03:00
kapodamy ac5e2e0532 bugs fixes
* fix storage warning dialogs created on invalid contexts
* implement mkdirs in StoredDirectoryHelper
2019-06-14 12:19:50 -03:00
kapodamy 7b948f83c3 Space reserving tweaks for huge video resolutions
* improve space reserving, allows write better 4K/8K video data
* do not use cache dirs in the muxers, Android can force close NewPipe if the device is running out of storage. Is a aggressive cache cleaning >:/
* (for devs) webm & mkv are the same thing
* calculate the final file size inside of the mission, instead getting from the UI
* simplify ps algorithms constructors
* [missing old commit message] simplify the loading of pending downloads
2019-06-03 18:26:26 -03:00
kapodamy 34b2b96158 Simplify the storage APIs use
* use Java I/O (classic way) on older android versions
* use Storage Access Framework on newer android versions (Android Lollipop or later)
* both changes have the external SD Card write permission
* add option to ask the save path on each download
* warn the user if the save paths are not defined, this only happens on the first NewPipe run (Android Lollipop or later)
2019-06-03 18:26:24 -03:00
kapodamy d1573a0a6e misc changes
* implement socket timeout error
* use 128k buffer size for copy
* use NewPipe HTTP user agent in the downloads
* automatically recover downloads with network errors that are queued
2019-06-03 18:25:43 -03:00
kapodamy 16d6bda85d Webm muxer fixes and strings.xml changes
* 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)
2019-06-03 18:24:49 -03:00
kapodamy 4b3eb2ece5 Forget the download save path if the storage API is changed 2019-06-03 18:19:20 -03:00
kapodamy 1089de6321 Add confirm dialog before clear the finished download list 2019-06-03 18:19:18 -03:00