Commit graph

1348 commits

Author SHA1 Message Date
Tobias Groza
e9867c7a5c Merge branch 'dev' into remember-subtitles 2019-12-09 16:55:37 +01:00
kapodamy
f719f8f38a add missing change after updating NPE
use +webm_opus instead of +opus
2019-12-07 00:16:01 -03:00
kapodamy
104ec70755 remove netbeans editor-fold comments 2019-12-06 16:30:07 -03:00
kapodamy
67d8dc051f remove unused imports 2019-12-05 14:04:48 -03:00
kapodamy
4cc71a9c01 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
fc4a892f45 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
ffaaf9d68f update DownloadDialog.java
keep *.opus extension
2019-11-26 10:46:29 -03:00
kapodamy
7402e04229 update WebMWriter.java
fix wrong cue generation
2019-11-26 10:46:29 -03:00
kapodamy
fc04ddb5b4 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
3a56ced82d Mp4FromDashWriter fixes
* correct calculation of "co64" box and usage of 64bits offsets
* generate one chunk for audio streams like ffmpeg does, attempt to fix cut-off audio
* misc. cleanup
2019-11-26 10:46:26 -03:00
kapodamy
2484698e8b 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
1380a53a05 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
511b859c38 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
Robin
273838ebf8 squashed commit 2019-11-24 16:24:39 +01:00
Robin
768dca0a28 Remember caption option in player, closes #2811 2019-11-24 11:10:50 +01:00
mitosagi
00f1b114f3 Fix popup player gestures 2019-11-22 11:41:10 +01:00
Mauricio Colli
5dd9ef156d Make the KioskFragment aware of changes in the preferred content country 2019-11-20 00:23:35 -03:00
Mauricio Colli
910910f524 Use tab position from parameters instead of relying on the view pager 2019-11-20 00:23:34 -03:00
Mauricio Colli
bb34f3e711 Enable toolbar title visibility when setting a new one 2019-11-20 00:23:33 -03:00
Mauricio Colli
03c59cbb0d Clear the item list when starting loading 2019-11-20 00:23:31 -03:00
Mauricio Colli
991776c25e Fix broken view pager tabs implementation
- Fragments were being recreated from scratch (losing their state) every
time some configuration change occurred (e.g. screen rotation).
- Use `FragmentStatePagerAdapter` instead, as it is built to work with
them and manage their states.
2019-11-20 00:23:30 -03:00
Mauricio Colli
532d2f305a Fix mess with tab handling and enable ignored tests again
- Fix typo in a string resource
- Reorder tabs so the default kiosk is on top of the others
2019-11-20 00:23:29 -03:00
Mauricio Colli
ab1c2b00da Show parsed relative times instead of whatever the service gives us
Before, the direct value was given to the user, now it uses the parsed
date so we can match the device's language.

To get the relative time from the parsed dates, we use the PrettyTime
library.

Also introduces a debug option to check the service's original value.
2019-11-17 23:58:55 -03:00
Mauricio Colli
8df3186f83 Show proper text for live streams watching/listening count 2019-11-17 23:58:54 -03:00
Mauricio Colli
cb2f0625b1 Use new Localization and Downloader implementations from extractor 2019-11-17 23:58:52 -03:00
TobiGr
5a8714f8e4 Make "Default Kiosk" string translatable
Closes #2778
2019-11-04 11:21:41 +01:00
TobiGr
912086506c Update extractor version and add head request to downloader 2019-10-28 01:13:06 +01:00
Robin
e7de1bd2ec fix NPE, fix 'wrong' constant, avoid unnecessary nulling 2019-10-08 06:36:29 +02:00
Redirion
3ccd90806b Apply suggestions from code review
Co-Authored-By: Tobias Groza <TobiGr@users.noreply.github.com>
2019-10-07 11:27:43 +02:00
Robin
4479cd8f9f Make use of isPlaying feature of ExoPlayer 2.10.5 2019-10-07 11:18:27 +02:00
Robin
709b9a511c Fixed deprecations 2019-10-07 11:18:26 +02:00
Robin
6a28c5767c Update to ExoPlayer 2.10.5 2019-10-07 11:18:26 +02:00
Robin
edd5ad2d13 Migrate to AndroidX 2019-10-04 14:59:08 +02:00
yausername
7b5ae64488 Merge remote-tracking branch 'upstream/dev' into videoDetailscrollFix 2019-10-02 06:35:44 +05:30
yausername
cc7e21a93b fix scrolling in video detail fragment. fixes #2627 2019-09-29 22:05:29 +05:30
Christian Schabesberger
108b20b467 add tab description and download dialog bag button 2019-09-22 13:26:53 +02:00
Christian Schabesberger
3d02c2458b add content description for toggle service button 2019-09-22 11:59:50 +02:00
Tobias Groza
09b10c1a37 Merge branch 'dev' into android-pie-workarrounds 2019-09-09 18:59:59 +02:00
Tobias Groza
fb29b3c847 Merge branch 'dev' into remove-dead-code 2019-09-04 22:59:18 +02:00
kapodamy
d91722192f add warning after toggle the SAF option 2019-09-01 18:53:12 -03:00
kapodamy
cc7797b2dc add @NotNull 2019-09-01 18:07:14 -03:00
kapodamy
1e1f68e3dd show hidden directories in the file picker 2019-09-01 17:35:42 -03:00
TobiGr
0099d0d3f9 Add option in history settings to delete playback positions 2019-08-22 21:49:33 +02:00
jimbo1qaz
2793d5c89e remove dead code 2019-08-17 23:21:06 -07:00
Christian Schabesberger
cd7514ae16 Merge branch 'dev' into saf-workarround 2019-08-18 00:40:43 +02:00
kapodamy
fa0dbaf953 add manual switch in download setting fragment
switch for:
* Java I/O Api
* Storage Access Framework
2019-08-17 13:38:33 -03:00
Stypox
0439b55672 Load the url from the exception in the ReCaptchaActivity
Sometimes YouTube introduces recaptchas only on some pages. By loading the url inside the ReCaptchaException into ReCaptchaActivity's webview, the page that originally caused the problem is shown. The user can then solve the page-specific recaptcha.
2019-08-17 09:33:51 +02:00
Stypox
56ad673dd7 Add url to recaptcha exceptions, after update in extractor 2019-08-17 09:25:49 +02:00
kapodamy
3827bce238 check if the if the content provider is disabled (the app itself) 2019-08-15 21:48:07 -03:00
kapodamy
a73b0ef5e2 misc changes
* restore permission request popup previously removed in #2486
* use legacy file picker in cases where saf file picker is not available
* fix missing file check logic in prepareSelectedDownload method (DownloadDialog.java)
2019-08-15 01:09:36 -03:00