Commit Graph

1625 Commits

Author SHA1 Message Date
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
yausername 309fd3fb7d white space changes 2019-11-24 21:42:05 +05:30
yausername 6a24dcec73 Merge remote-tracking branch 'upstream/dev' into peertube-ui 2019-11-24 21:20:45 +05:30
yausername 3e2dba2fd5 merged origin/peertube-ui 2019-11-24 21:19:23 +05:30
yausername 527c38adf9 easily switch between multiple peertube instances 2019-11-24 21:08:06 +05:30
Robin 3108c903dd squashed commit 2019-11-24 16:24:39 +01:00
Robin 8e152df46d Remember caption option in player, closes #2811 2019-11-24 11:10:50 +01:00
TobiGr 0fb7eab2f9 Fix code formatting 2019-11-23 20:04:40 +01:00
yausername afef8d8d0b removed extra white spaces 2019-11-23 00:53:14 +05:30
yausername ac2543d0a1 validate peertube instance. changed peertube color 2019-11-23 00:31:35 +05:30
yausername 81658de08f merged upstream/dev 2019-11-22 22:41:59 +05:30
mitosagi 2ad0d47f61 Fix popup player gestures 2019-11-22 11:41:10 +01:00
Mauricio Colli bc283bce4e
Make the KioskFragment aware of changes in the preferred content country 2019-11-20 00:23:35 -03:00
Mauricio Colli 544cae4fb4
Use tab position from parameters instead of relying on the view pager 2019-11-20 00:23:34 -03:00
Mauricio Colli 38a0395d45
Enable toolbar title visibility when setting a new one 2019-11-20 00:23:33 -03:00
Mauricio Colli a5b7666188
Clear the item list when starting loading 2019-11-20 00:23:31 -03:00
Mauricio Colli 58a626dedb
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 7e311e5567
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
yausername 596005c69e merged upstream/dev 2019-11-20 03:48:56 +05:30
Mauricio Colli b125ff702a
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 6e546703a9
Show proper text for live streams watching/listening count 2019-11-17 23:58:54 -03:00
Mauricio Colli 71f1bbdcc1
Use new Localization and Downloader implementations from extractor 2019-11-17 23:58:52 -03:00
yausername b6be586766 merged upstream/dev 2019-11-16 04:37:14 +05:30
TobiGr 114a7ccdd4 Make "Default Kiosk" string translatable
Closes #2778
2019-11-04 11:21:41 +01:00
TobiGr c4eaee1e31 Update extractor version and add head request to downloader 2019-10-28 01:13:06 +01:00
Peter Hindes 87378fc79c Fixed library showing null 2019-10-16 19:56:31 -06:00
Peter Hindes ad2de3a828 only use TextUtils.equals (fixes more crashes) 2019-10-15 17:22:17 -06:00
Peter Hindes 797e1a105d Comment out debuging code 2019-10-15 14:02:37 -06:00
Peter Hindes 9c00e7f45c Using Strings
still need to find out why its null on the library
2019-10-15 12:49:24 -06:00
Peter Hindes df2bb228c5 Much Simpler Fix 2019-10-15 09:11:04 -06:00
Peter Hindes 49db47c12c describe what "Auto-Generated" Means 2019-10-15 09:01:30 -06:00
Peter Hindes cc1e5edaec Revert "Merge branch 'dev-all-changes' into dev"
This reverts commit f6060261a1, reversing
changes made to 8c73253a52.
2019-10-15 08:52:51 -06:00
Peter Hindes f6060261a1
Merge branch 'dev-all-changes' into dev 2019-10-15 08:51:30 -06:00
Peter Hindes 8c73253a52 follow stye on debug 2019-10-15 08:48:36 -06:00
Peter Hindes 4106645d6e Polished Results 2019-10-15 08:40:51 -06:00
Peter Hindes c68c35e084 Better FIx, Improved Comment Style 2019-10-15 07:19:11 -06:00
Peter Hindes fd34b1a291 Fixes Improved 2019-10-15 07:18:06 -06:00
Peter Hindes bfc987f81b Revert "Revert "Added a restart song button to signle track expanded notification""
This reverts commit 646e327ed2.
2019-10-14 18:01:15 -06:00
Peter Hindes c93c52a58c Wrap in multiline comment so it colapses 2019-10-14 16:55:16 -06:00
Peter Hindes e72c6eed24 Explain What we did in the code itself 2019-10-14 16:48:44 -06:00
Peter Hindes 646e327ed2 Revert "Added a restart song button to signle track expanded notification"
This reverts commit cb5c219ffe.
2019-10-14 16:41:38 -06:00
Peter Hindes cb5c219ffe Added a restart song button to signle track expanded notification
... and some comments to the code
2019-10-14 16:37:58 -06:00
Peter Hindes 3794002c7b much simpler, "uploader" will never change on a playlist 2019-10-14 14:56:04 -06:00
Peter Hindes bd2b32bfbc Fixed Playlists With No Uploader Crashing The App 2019-10-14 11:55:55 -06:00
Robin b2b32ce67b fix NPE, fix 'wrong' constant, avoid unnecessary nulling 2019-10-08 06:36:29 +02:00
Redirion 7aeb1ec8d9
Apply suggestions from code review
Co-Authored-By: Tobias Groza <TobiGr@users.noreply.github.com>
2019-10-07 11:27:43 +02:00
Robin 50b51f931e Make use of isPlaying feature of ExoPlayer 2.10.5 2019-10-07 11:18:27 +02:00
Robin 87eab2a9b0 Fixed deprecations 2019-10-07 11:18:26 +02:00
Robin dcd5197a19 Update to ExoPlayer 2.10.5 2019-10-07 11:18:26 +02:00
Robin bf2a3ca043 Migrate to AndroidX 2019-10-04 14:59:08 +02:00
yausername cf6380b3c7 Merge remote-tracking branch 'upstream/dev' into videoDetailscrollFix 2019-10-02 06:35:44 +05:30
yausername 5d9b5a063b fix scrolling in video detail fragment. fixes #2627 2019-09-29 22:05:29 +05:30
Christian Schabesberger 003170e6d8 add tab description and download dialog bag button 2019-09-22 13:26:53 +02:00
Christian Schabesberger 28accff9ba add content description for toggle service button 2019-09-22 11:59:50 +02:00
Tobias Groza 75f2ced937
Merge branch 'dev' into android-pie-workarrounds 2019-09-09 18:59:59 +02:00
Tobias Groza cbf9ec0901
Merge branch 'dev' into remove-dead-code 2019-09-04 22:59:18 +02:00
kapodamy a446313119 add warning after toggle the SAF option 2019-09-01 18:53:12 -03:00
kapodamy 6fa72e4a52 add @NotNull 2019-09-01 18:07:14 -03:00
kapodamy 7f127ba52a show hidden directories in the file picker 2019-09-01 17:35:42 -03:00
TobiGr 7cd5af5e72 Add option in history settings to delete playback positions 2019-08-22 21:49:33 +02:00
jimbo1qaz 942e042933 remove dead code 2019-08-17 23:21:06 -07:00
Christian Schabesberger c01609b858
Merge branch 'dev' into saf-workarround 2019-08-18 00:40:43 +02: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
Stypox 43446d56c5
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 63def07a0e
Add url to recaptcha exceptions, after update in extractor 2019-08-17 09:25:49 +02:00
kapodamy 8f13a7ec97 check if the if the content provider is disabled (the app itself) 2019-08-15 21:48:07 -03:00
kapodamy dee3a18ea8 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
kapodamy 950cf714d9 use legacy file picker in those cases where saf is not available 2019-08-14 22:15:42 -03:00
kapodamy 652184506b check for Storage Access Framework features
* creating files though saf
* picking folder though saf
2019-08-14 21:54:26 -03:00
Christian Schabesberger 6133c97f45
Merge branch 'dev' into playlist-play-from-here 2019-08-14 14:53:06 +02:00
Stypox c96a05a8f9
Customize "start here" actions in playlist item views
Now those actions start playing the whole playlist from the chosen stream, instead of playing only the chosen stream.
2019-08-14 14:17:05 +02:00
Stypox c190dc4792
Fix annotation warnings in modified files 2019-08-14 13:11:44 +02:00
Stypox ebf91d27c7
Clean up code for addItems() on ItemListAdapters. 2019-08-14 13:11:16 +02:00
Stypox 63301ee771
Remove "Trollolo" logs
They were probably left behind by accident after a debugging session.
2019-08-14 12:57:04 +02:00
Stypox 7da827a06a
Fix annotation warnings 2019-08-14 12:55:17 +02:00
Stypox 00fc5217f5
Fix potential disposable leak in PlaylistAppendDialog 2019-08-14 12:54:17 +02:00
Stypox 04e725bb50
Fix some inspection warnings in modified files 2019-08-14 11:49:37 +02:00
Stypox e6617ff8e8
Fix slowdowns in stream list views
Now the playback state of a stream is loaded only when needed (i.e. when the stream is visible), just as it is done with thumbnails.
Removed `StateObjectsListAdapter.java`, which used to load the state of every stream at list instantiation, generating slowdowns and freezes.
2019-08-14 11:42:39 +02:00
TobiGr 5053d470f6 Do not save playback position when watch history is disabled 2019-08-13 14:39:57 +02:00
TobiGr 8de5c53485 Fix typo in HistorySettinsFragment
Rename viewsHistroyClearKey to viewsHistoryClearKey
2019-08-13 14:25:47 +02:00
Tobias Groza c02383d7d9
Merge branch 'dev' into buttons-hiding-fix-on-screen-off 2019-08-12 13:57:02 +02:00
Stypox 5191907af0
Fix player resume 2019-08-11 22:10:05 +02:00
yausername a64f520644 fix item addition to list 2019-08-07 22:27:58 +05:30
yausername 5aced46345 remove controls animation/flicker 2019-08-07 22:27:58 +05:30
TobiGr 3cd485069d Fix playback position not being deleted on clearing watch history 2019-08-07 14:34:49 +02:00
Christian Schabesberger fabb07bb28 fix import settings not working 2019-08-04 17:27:56 +02:00
kapodamy 5a6a6bcc78 clean-up: remove unused method 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
Stypox 7c9ef58acd
Fix crash when closing a not-yet-loaded popup. 2019-07-25 12:32:56 +02:00
Stypox d076fe72cd
Optimize imports in edited files 2019-07-25 11:47:38 +02:00
Stypox 25fbbfaf94
Rename action to defaultAction in StreamDialogEntry
To improve readability
2019-07-25 01:07:51 +02:00
Stypox 9df27f43de
Ensure default actions cannot be overwritten permanently in StreamDialogEntry 2019-07-25 00:53:13 +02:00
Stypox 759e9846ad
Remove ugly if-else-cascade in
Common actions and labels are now in a unique enum: StreamDialogEntry
If an action is not common to every long-press menu (e.g. delete) a custom action has to be provided using e.g. delete.setAction(...)
2019-07-25 00:44:12 +02:00
Stypox 3aeba7ca8a
Merge branch 'dev' into menu-consistency 2019-07-24 17:21:45 +02:00
Christian Schabesberger bd485937c4
Merge branch 'dev' into defaultTrending 2019-07-22 22:39:47 +02:00
Stypox 8edc332a4e
Fix showing popup options with audio-only streams 2019-07-22 11:58:01 +02:00
Stypox bb5028364b
Complete merge after #2288: add resumePlayback to player calls.
`resumePlayback`'s value is `false` when the video is enqueued, `true` otherwise.
Also make the use of getContext() and getActivity() more consistant.
2019-07-22 10:28:53 +02:00
Stypox ef070a4e0e
Merge branch 'dev' into menu-consistency 2019-07-22 09:10:25 +02:00
Christian Schabesberger 8a43e24095
Merge branch 'dev' into issue-2240 2019-07-21 16:07:32 +02:00
Christian Schabesberger 7a44061fa3
Merge branch 'dev' into rotate 2019-07-21 15:12:41 +02:00
Stypox 064f0e414a
Merge branch 'dev' into menu-consistency 2019-07-21 11:11:06 +02:00
Alan Nelson ee9052ad3d Add title to additional metadata object 2019-07-11 00:48:28 -05:00
Alan Nelson ccdd450283 Add current and total track numbers to metadata 2019-07-09 22:37:03 -05:00
Alan Nelson 224a607bc3 Fix Bluetooth AVRCP duration metadata 2019-07-09 22:34:18 -05:00
Tobias Groza d862a59349
Merge branch 'dev' into patch-2 2019-07-07 20:39:26 +02:00
Marcel Dopita 8059ac89d3 Handle (auto)rotation changes during activity lifecycle
Fixes #1156
2019-07-04 07:30:01 +02:00
Redirion fc8746e077
Update CheckForNewAppVersionTask.java 2019-06-26 18:37:04 +02:00
Christian Schabesberger e11df5bb49
Merge branch 'dev' into removeextra 2019-06-26 15:42:47 +02:00
Redirion 37a9e98ebc
Update CheckForNewAppVersionTask.java 2019-06-25 13:53:23 +02:00
Redirion 80b4975188
Update CheckForNewAppVersionTask.java 2019-06-25 13:47:16 +02:00
Redirion c4ef40f4dc
Removed tabs 2019-06-25 13:41:08 +02:00
Redirion 6a4bb6e3e1
Update CheckForNewAppVersionTask.java 2019-06-25 13:39:47 +02:00
Redirion 05ef926a7f
Update CheckForNewAppVersionTask.java 2019-06-25 13:31:26 +02:00
Redirion 0007451735
Update CheckForNewAppVersionTask.java 2019-06-25 13:22:40 +02:00
Redirion e599de038a
Silence CheckForNewAppVersionTask
Closes #2421
2019-06-25 11:49:59 +02:00
Vasily 2a41802f36 Merge branch 'dev' into playback_state_list 2019-06-23 20:23:29 +03:00
kapodamy 162df5eb6c
Merge branch 'dev' into ps-branch 2019-06-14 12:55:49 -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
Stypox f0ba6afbdf
Merge branch 'dev' into menu-consistency 2019-06-14 09:40:40 +02:00
Redirion af971b6a19
Fixed selected subtitle stream not being shown
closes #2393
this ammends my obviously incomplete fix in PR #2311.

This is just an UI issue. Subtitle track selection works, it just shows "No Captions" unfortunately.
2019-06-12 14:44:36 +02: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 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 d00dc798f4 more SAF implementation
* full support for Directory API (Android Lollipop or later)
* best effort to handle any kind errors (missing file, revoked permissions, etc) and recover the download
* implemented directory choosing
* fix download database version upgrading
* misc. cleanup
* do not release permission on the old save path (if the user change the download directory) under SAF api
2019-06-03 18:18:20 -03:00
kapodamy f6b32823ba Implement Storage Access Framework
* 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
2019-06-03 18:16:41 -03:00
kapodamy 9e34fee58c New MP4 muxer + Queue changes + Storage fixes
Main changes:
* correctly check the available space (CircularFile.java)
* misc cleanup (CircularFile.java)
* use the "Error Reporter" for non-http errors
* rewrite network state checking and add better support for API 21 (Lollipop) or higher
* implement "metered networks"
* add buttons in "Downloads" activity to start/pause all pending downloads, ignoring the queue flag or if the network is "metered"
* add workaround for VPN connections and/or network switching. Example: switching WiFi to 3G
* rewrite DataReader ¡Webm muxer is now 57% more faster!
* rewrite CircularFile, use file buffers instead of memory buffers. Less troubles in low-end devices
* fix missing offset for KaxCluster (WebMWriter.java), manifested as no thumbnails on file explorers

Download queue:
* remember queue status, unless the user pause the download (un-queue)
* semi-automatic downloads, between networks. Effective if the user create a new download or the downloads activity is starts
* allow enqueue failed downloads
* new option, queue limit, enabled by default. Used to allow one or multiple downloads at same time

Miscellaneous:
* fix crash while selecting details/error menu (mistake on MissionFragment.java)
* misc serialize changes (DownloadMission.java)
* minor UI tweaks
* allow overwrite paused downloads
* fix wrong icons for grid/list button in downloads
* add share option
* implement #2006
* correct misspelled word in strings.xml (es) (cmn)
* fix MissionAdapter crash during device shutdown

New Mp4Muxer + required changes:
* new mp4 muxer (from dash only) with this, muxing on Android 7 is possible now!!!
* re-work in SharpStream
* drop mp4 dash muxer
* misc changes: add warning in SecondaryStreamHelper.java,
* strip m4a DASH files to normal m4a format (youtube only)

Fix storage issues:
* warn to the user if is choosing a "read only" download directory (for external SD Cards), useless is rooted :)
* "write proof" allow post-processing resuming only if the device ran out of space
* implement "insufficient storage" error for downloads
2019-06-03 18:09:43 -03:00
Stypox 6f028ecb19
Remove unused imports from modified files 2019-05-29 20:45:05 +02:00
Stypox 8695466690
Make subscription long-press menu consistant in local sub list
Inverted unsubscribe with share, since share has always been put after content-specific actions.
2019-05-29 20:39:17 +02:00
Stypox bdb1be9967
Remove useless overrides of showStreamDialog
They were exactly the same as the base class function
2019-05-29 20:25:44 +02:00
Stypox 30eeef46c2
Removed unused showStreamDialog from VideoDetailFragment
VideoDetailFragment already borrows a consistant menu from the stream list it holds.
2019-05-29 16:25:23 +02:00
Stypox 8b584f3922
Make long-press menu consistent across views: fix #2354
Also made the code that creates the menus consistent across files.
2019-05-29 16:22:01 +02:00
sherlockbeard 43b859f778
Merge branch 'dev' into removeextra 2019-05-07 13:59:32 +05:30
Robin 0763280196 Readd CustomTrackSelector 2019-04-28 01:45:19 +02:00
Vasiliy 93f2518159
Animate states changed 2019-04-27 22:27:08 +03:00
Vasiliy 273f731dd5
Refactor adapter 2019-04-27 21:23:52 +03:00
Vasiliy c7cd9e86ac
Option to disable states indicators 2019-04-27 19:04:13 +03:00
Vasiliy 41fb6f5464
Update states in lists 2019-04-27 18:12:00 +03:00
Vasiliy 03b1a8bd41
Merge branch 'dev' into playback_state_list 2019-04-27 17:37:43 +03:00
sherlock 1edfa78a05 removed the gena strings. 2019-04-17 16:45:40 +05:30
Vasiliy a48cbc6971
Show streams states for local lists 2019-04-15 22:18:24 +03:00
Vasiliy 73be8cf074
Base implementation of showing playback positions in lists 2019-04-15 21:37:36 +03:00
Tobias Groza e99714eba6 Merge remote-tracking branch 'TeamNewPipe/dev' into close_button 2019-04-13 18:18:17 +02:00
Vasiliy 4e1423d224
Implement playback state management 2019-04-13 13:34:36 +03:00
Stypox 40957c445f
Implemented share button in MainVideoPlayer
Android Studio also decided to change the indentation of some lines
2019-04-06 20:27:13 +02:00
Stypox aadc8168be
Remove share utilities from BaseStateFragment
Replaced by ShareUtils
2019-04-06 20:17:04 +02:00
Stypox cb33f04bfc
Add ShareUtils class to share videos or open urls in browser. 2019-04-06 20:11:23 +02:00
Tobias Groza 9ed1fb2588
Merge branch 'dev' into preferredTabState 2019-04-04 15:22:57 +02:00
Tobias Groza bf845be727
Merge branch 'dev' into timestampClickFix 2019-03-26 23:20:55 +01:00
yausername 657125f43c save selected tab sate in stream detail fragment, fixes #2238 2019-03-24 06:31:28 +05:30
yausername 039a8e0b87 reordered services 2019-03-23 19:49:37 +05:30
yausername d6cc6ba144 fix empty author endpoint 2019-03-23 00:22:59 +05:30
yausername 07f8dcb3ca use ellipsis character 2019-03-22 05:56:56 +05:30
yausername a026143a84 linkify optimizations 2019-03-22 04:57:33 +05:30
Ritvik Saraf 6421d3017e seek on clicking timestamp links in comments 2019-03-13 07:01:24 +05:30
Tobias Groza 09456ce421
Merge branch 'dev' into directOnBackground 2019-03-12 13:36:14 +01:00
Ritvik Saraf 76f7165462 Merge remote-tracking branch 'upstream/dev' into defaultTrending 2019-03-12 06:17:21 +05:30
Ritvik Saraf fdf0d8e9c8 fixed memory leak 2019-03-12 06:07:56 +05:30
Ritvik Saraf 58e562f7d4 added default kiosk 2019-03-11 03:08:30 +05:30
Ritvik Saraf 2581fa4176 init services in app onCreate 2019-03-10 17:30:21 +05:30
Ritvik Saraf d90b1ca5be merged upstream/dev, changes for peertube support 2019-03-10 01:02:25 +05:30
Robin cc7e342ab7 Merge remote-tracking branch 'upstream/dev' into directOnBackground 2019-03-08 23:02:47 +01:00
Robin 5b64743987 Directplay on Background 2019-03-08 22:52:17 +01:00
Robin a84ad031d9 Merge remote-tracking branch 'upstream/dev' into exoplayerupdate 2019-03-07 16:06:02 +01:00
Tobias Groza 8ccaef454c
Merge branch 'dev' into dev 2019-03-07 15:20:42 +01:00
Robin 7877b107c1 Merge branch 'exoplayerupdate' of https://github.com/Redirion/NewPipe into exoplayerupdate 2019-03-06 09:38:17 +01:00
Robin a2aa0aa9a8 Fix for wrong case after language normalization 2019-03-06 09:37:55 +01:00
Redirion b3475d30c0
Merge branch 'dev' into exoplayerupdate 2019-03-05 21:44:27 +01:00
Tobias Groza 31c4ed7d0e
Update app/src/main/java/org/schabi/newpipe/player/BackgroundPlayer.java
Co-Authored-By: Redirion <redirion@web.de>
2019-03-05 20:57:05 +01:00
Robin 7f246b2d3d Removed unused import 2019-03-05 19:54:37 +01:00
Robin 7d68cff700 NOTE for legacy version: Removed Lint markers and completely dropped Jelly Bean workarounds 2019-03-05 19:48:39 +01:00
Robin 4d80bdcc9f Update ExoPlayer to 2.9.6, including httook dependency and deprecations 2019-03-05 18:05:44 +01:00
Redirion 111ad14ad3
Merge branch 'dev' into patch-1 2019-03-05 17:57:52 +01:00
Redirion d8b80f961a
Improved performance of getTimeString
This pull requests complements pull request  #2178 by reducing general computational time for the method getTimeString.

On my local machine (Desktop PC with Java) my tests with a sample size of 10000 calls to the method with param 86400001 showed a performance improvement of about 50%.

See sample code below to reproduce:

    private static final StringBuilder stringBuilder = new StringBuilder();
    private static final Formatter stringFormatter = new Formatter(stringBuilder, Locale.getDefault());
    
    public static String getTimeString(int milliSeconds) {
        int seconds = (milliSeconds % 60000) / 1000;
        int minutes = (milliSeconds % 3600000) / 60000;
        int hours = (milliSeconds % 86400000) / 3600000;
        int days = (milliSeconds % (86400000 * 7)) / 86400000;

        stringBuilder.setLength(0);
        return days > 0 ? stringFormatter.format("%d:%02d:%02d:%02d", days, hours, minutes, seconds).toString()
                : hours > 0 ? stringFormatter.format("%d:%02d:%02d", hours, minutes, seconds).toString()
                : stringFormatter.format("%02d:%02d", minutes, seconds).toString();
    }
    
    public static String getTimeStringL(int milliSeconds) {
        long seconds = (milliSeconds % 60000L) / 1000L;
        long minutes = (milliSeconds % 3600000L) / 60000L;
        long hours = (milliSeconds % 86400000L) / 3600000L;
        long days = (milliSeconds % (86400000L * 7L)) / 86400000L;

        stringBuilder.setLength(0);
        return days > 0 ? stringFormatter.format("%d:%02d:%02d:%02d", days, hours, minutes, seconds).toString()
                : hours > 0 ? stringFormatter.format("%d:%02d:%02d", hours, minutes, seconds).toString()
                : stringFormatter.format("%02d:%02d", minutes, seconds).toString();
    }
    
	public static void main(String[] args) throws Exception {
		final int SAMPLE_SIZE = 25000;
		long[] results = new long[SAMPLE_SIZE];
		for(int i = 0; i < SAMPLE_SIZE; i++) {
			long now = System.nanoTime();
			getTimeString(86400001);
			results[i] = System.nanoTime() - now;
		}
		long sum = 0;
		for(int i = 0; i < SAMPLE_SIZE; i++) {
			sum += results[i];
		}
		System.out.println("Average execution time: " + (sum/SAMPLE_SIZE));
		results = new long[SAMPLE_SIZE];
		for(int i = 0; i < SAMPLE_SIZE; i++) {
			long now = System.nanoTime();
			getTimeStringL(86400001);
			results[i] = System.nanoTime() - now;
		}
		sum = 0;
		for(int i = 0; i < SAMPLE_SIZE; i++) {
			sum += results[i];
		}
		System.out.println("Average execution time: " + (sum/SAMPLE_SIZE));
2019-03-04 15:45:59 +01:00
Redirion 6aebbc3109
Cache duration String to improve performance
In VideoPlayer the Duration String is cached effectively by setting it to the playbackSeekBar. As the playbackSeekBar doesn't exist in BackgroundPlayer, using two addition variables will reduce performance impact of notification updates by almost 50% and thus perform similar to VideoPlayer.

This addresses issue #2170
2019-03-04 10:24:08 +01:00
Christian Schabesberger fb4cd98014
Merge branch 'dev' into enqueue-playlist 2019-03-03 20:53:17 +01:00
Christian Schabesberger d8039fb542
Merge branch 'dev' into enqueue-playlist 2019-03-03 20:50:00 +01:00
Christian Schabesberger 5e06d19d77
Merge branch 'dev' into commentSizeAndLinks 2019-03-03 20:46:03 +01:00
Ritvik Saraf 2309e15261 fixed scroll w/ comments and related streams disabled 2019-03-03 18:20:15 +05:30
Ritvik Saraf 4d4107aefc Merge remote-tracking branch 'upstream/dev' into commentSizeAndLinks 2019-03-03 04:32:19 +05:30
Ritvik Saraf 67d2b9131e handling timestamp links in comments 2019-03-02 05:12:06 +05:30
Christian Schabesberger da8644168c Merge branch 'master' into dev 2019-03-01 09:53:43 +01:00
Ritvik Saraf c0004e988a make links in comments clickable, increase text size 2019-03-01 13:28:32 +05:30
Redirion 3e54cd7284
Update CheckForNewAppVersionTask.java 2019-02-26 19:33:01 +01:00
Redirion a7afc23a9a
Fixed Asynctask being executed when it shouldn't
#1 check if cancel was called in onPrepare
#2 if we currently don't have a Connection, don't show crash report dialogue to user
2019-02-26 19:23:54 +01:00
Christian Schabesberger f24fab0fa2 fix brake when selecting a mediaccc channel form subscription page 2019-02-25 12:24:48 +01:00
Christian Schabesberger 84894a557a
Merge branch 'dev' into patch1_ui 2019-02-24 22:27:06 +01:00
Vasiliy 15142c1ec3
Fix AudioManager memory leak 2019-02-24 10:51:30 +02:00
Vasiliy 4587428d13
Merge branch 'dev' into close_button 2019-02-23 13:19:09 +02:00
Vasiliy 5318e77035
Merge branch 'dev' into patch1_ui 2019-02-23 13:18:14 +02:00
Christian Schabesberger eafceb8a6c
Merge branch 'dev' into dev 2019-02-19 17:35:49 +01:00
Christian Schabesberger 4b5591d884 move firetv utils into utils package 2019-02-19 14:57:49 +01:00
Christian Schabesberger c08197f025
Merge branch 'dev' into feature/amazonfiretv-search-support 2019-02-19 14:54:48 +01:00
Christian Schabesberger 9cdaa37519
Merge branch 'dev' into patch-1 2019-02-19 14:29:34 +01:00
kapodamy 4dd572063e fix crash while switching from popup to fullscreen player, or closing the popup player. 2019-02-17 16:59:35 -03:00
Ritvik Saraf df6bae4712 merged upstream/dev 2019-02-16 02:06:18 +05:30
Ritvik Saraf 56cb8209b8 refactored comments capability 2019-02-16 01:23:26 +05:30
Redirion 9437f057d0
Fix delayed ducking of Audio
Scenario: listening to a video on NewPipe over Bluetooth and a Notification Sound causes audio focus event AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK.

Problem: With the current implementation animateAudio would cause the audio to reach the target volume AFTER the notification sound is played, which is irritating and annoying.

Solution: animateAudio should just be used on focusGain where it is sensible to increase audio gradually. On ducking event the reaction should be immediate.

This very simple fix does this. Please approve.
2019-02-14 09:52:46 +01:00
Vasiliy 0cb5197ccf
Merge remote-tracking branch 'upstream/dev' into patch1_ui 2019-02-12 10:21:03 +02:00
Alec Holmes ed4b4a1a3c Updated search fragment to be amazon fire tv friendly 2019-02-01 13:02:28 +00:00
Christian Schabesberger 58f2c4d8e6
Merge branch 'dev' into ccc 2019-01-31 16:48:22 +01:00
Robin 2c2c61b2fc Add Artist and Duration to MediaDescription 2019-01-31 16:47:33 +01:00
Christian Schabesberger 14043c86f5 fix backstack issue with mediaccc 2019-01-31 13:24:02 +01:00
Ritvik Saraf 77c6d3d576 merged upstream/dev 2019-01-29 22:32:58 +05:30
Christian Schabesberger 6edbfe2a6f add content filter to mediaccc 2019-01-29 17:20:30 +01:00
Christian Schabesberger d8c76d4c21 add conferences 2019-01-29 15:39:18 +01:00
Christian Schabesberger a1cc0897df make frontend not crash on scrolling on ccc search 2019-01-29 15:39:18 +01:00
Christian Schabesberger e88a90f242 add theming to mediaccc 2019-01-29 15:39:18 +01:00
Christian Schabesberger 1ae54f6f8c further compatiblity fix for meadic.ccc 2019-01-29 15:39:18 +01:00
Christian Schabesberger 338893ded4 fix merge conflict 2019-01-23 16:12:21 +01:00
kapodamy f2285c0b19 MP4 muxer +misc modifications
* allow retry downloads with "post-processing failed" error in the new muxer
* MPEG-4 muxer  ¡¡ no DASH output!!
* keep the progress if download fails
* remove TODO in SecondaryStreamHelper.java
* misc clean-up
* delete TestAlgo.java
* delete ExtSDDownloadFailedActivity.java and remove it from AndroidManifest.xml
* use hardcored version for changing icon colors
2019-01-22 18:53:31 -03:00
dotvirus c0aca723da Update PlaylistFragment.java 2019-01-18 23:58:24 +01:00
dotvirus 28e5ee51ec Add playlist to queue when long click on 'Background' 2019-01-18 23:16:02 +01:00
Vasily 7ab10aeb80 Remove search history items using swipe 2018-12-29 20:55:24 +02:00
Vasily 9316962e47 Clear history option menu item 2018-12-29 20:55:10 +02:00
Ritvik Saraf 845663f80f added themeing for peertube, change peertube instance 2018-12-29 23:06:39 +05:30
krtkush b674006fcc Conflict resolution. 2018-12-28 18:07:54 +05:30
Vasily 505c528194 Show close button when playing completed 2018-12-27 16:51:48 +02:00
Ritvik Saraf 9530af95f4 Merge branch 'dev' into peertube 2018-12-25 20:18:39 +05:30
Ritvik Saraf 559c397b2f more NPE fix 2018-12-25 20:17:56 +05:30
Ritvik Saraf c1efa78820 Merge branch 'dev' into peertube 2018-12-25 20:00:56 +05:30
Ritvik Saraf 646698f1ed fixed NPE in soundcloud 2018-12-25 19:59:03 +05:30
Ritvik Saraf d61797fa3a merged dev 2018-12-25 19:31:25 +05:30
Ritvik Saraf c9b938ae55 readded animations 2018-12-25 15:36:15 +05:30
Klearchos-K e4409e8ea4
Update RouterActivity.java
Add dunction handleText() for #1951 issue
2018-12-24 20:11:21 +02:00
Ritvik Saraf f19cfb75e6 merged upstream/dev 2018-12-20 08:51:44 +05:30
Ritvik Saraf ceaacc771d removed jerky animations 2018-12-19 10:58:59 +05:30
Christian Schabesberger 6035be9ce6
Merge branch 'dev' into giga-postprocessing 2018-12-10 12:12:38 +01:00
Ritvik Saraf 222c8fdb62 tablet ui support for comments 2018-12-09 03:21:55 +05:30
Ritvik Saraf 1a62b9a161 removed dislike button, added comment published time 2018-12-08 20:32:28 +05:30
Ritvik Saraf ccb9bceecc removed unused imports 2018-12-07 08:42:05 +05:30
Ritvik Saraf c1a67ff1f8 minor scrolling fix and ellipsize fix 2018-12-07 06:45:33 +05:30
kapodamy 8746e7c9ad
Merge branch 'dev' into giga-postprocessing 2018-12-05 01:15:39 -03:00
Ritvik Saraf ff90f257cc removed useless log statement 2018-12-04 23:37:02 +05:30
Ritvik Saraf 9b84046865 merged upstream/dev 2018-12-04 23:19:57 +05:30
Shivanju Awasthi 51434a39f8
Merge branch 'dev' into auto_queue_logic 2018-12-04 16:22:18 +00:00
Christian Schabesberger feb8c27f1f
Merge branch 'dev' into giga-postprocessing 2018-12-01 09:30:38 +01:00
Christian Schabesberger c20ebd66e5
Merge branch 'dev' into auto_queue_logic 2018-12-01 09:29:25 +01:00
Akash Agarwal c69b224c65 Issue 1505: Delete on right swipe 2018-12-01 00:42:56 +05:30
kapodamy 7e9bcff0f3
Merge branch 'dev' into giga-postprocessing 2018-11-28 22:53:29 -03:00
kapodamy eba3b32708 misc improvements
* don't show notifications while download activity
* proper icon in failed download notifications
* re-write list auto-refresh (MissionAdapter.java)
* improve I/O performance (CircularFile.java)
* fix implementation of "save thread position" on multi-thread downloads
2018-11-28 22:24:52 -03:00
Shivanju Awasthi e911dbb9d4
Merge branch 'dev' into auto_queue_logic 2018-11-26 22:56:01 +05:30
Ping20002015 e26d123f67
Merge branch 'dev' into master 2018-11-26 18:00:22 +01:00
krtkush c864b15c34 Test code revert. 2018-11-26 01:18:33 +05:30
krtkush 069654c5f9 vector -> png 2018-11-26 01:18:02 +05:30
kapodamy f3d4d4747a and more fixes
* fix content length reading
* use float overflow. Expensive, double is used instead
* fix invalid cast after click the mission body
* use a list for maximum attemps (downloads)
* minor clean up (DownloadManager.java)
* dont pass SharedPreferences instace to DownloadManager
* use a switch instead of checkbox for cross_network_downloads
* notify media scanner after deleting a finished download
2018-11-24 20:13:18 -03:00
shivanju 5bbb0cd666 issue:1336 Remove auto queued stream if a new stream gets appended 2018-11-24 17:35:17 +05:30
Ping20002015 7b5ba3bdc2 Fix NPE for issue #1901 2018-11-23 19:38:01 +01:00
kapodamy d647555e3a more fixes
* use bold style in status (mission_item_linear.xml)
* fix download attemps not begin updated
* dont stop the queue if a download fails
* implement partial wake-lock & wifi-lock
* show notifications for failed downloads
* ¿proper bitmap dispose? (DownloadManagerService.java)
* improve buffer filling (CircularFile.java)
* [Mp4Dash] increment reserved space from 2MiB to 15MiB. This is expensive but useful for devices with low ram
* [WebM] use 2MiB of reserved space
* fix debug warning if one thread is used
* fix wrong download speed when the activity is suspended
* Fix "Queue" menu item that appears in post-processing errors
* fix mission length dont being updated (missing commit)
2018-11-22 23:33:34 -03:00
krtkush 26e22f97ee Conflict resolution 2018-11-23 01:41:47 +05:30
kapodamy fef9d541ed misc fixes
* use getPreferredLocalization() instead of getLocalization()
* use lastest commit in build.gradle
* fix missing cast in MissionAdapter.java
2018-11-19 15:50:15 -03:00
krtkush ad5535af81 Code refactoring, PR changes. 2018-11-19 23:27:13 +05:30
krtkush 939cc56951 Pull request changes v2. 2018-11-18 19:18:16 +05:30
krtkush 23309e6fdf Pull request changes. 2018-11-18 19:15:50 +05:30
kapodamy 6784522195
Merge branch 'dev' into giga-postprocessing 2018-11-15 20:53:30 -03:00
kapodamy f42d077f30
misc utils
Also this include:
* Mp4 DASH reader/writter
* WebM reader/writter
* a subtitle converter for Timed Text Markup Language v1 and TranScript (v1, v2 and v3)
* SharpStream to wrap IntputStream and OutputStream in one interface
* custom implementation of DataInputStream
2018-11-15 20:17:22 -03:00
Christian Schabesberger 25d6806ebd set minSdk to 19 and deprecate old player 2018-11-13 17:27:47 +01:00
shivanju 47c3da131c issue:1336 Fix for inserting new streams when auto queuing is enabled 2018-11-11 16:24:49 +05:30
kapodamy eb1f56488f resbase (08/11/2018) 2018-11-08 22:00:13 -03:00
kapodamy 5825843f68 main commit
Post-processing infrastructure
* remove interfaces with one implementation
* fix download resources with unknow length
* marquee style for ProgressDrawable
* "view details" option in mission context menu
* notification for finished downloads
* postprocessing infrastructure: sub-missions, circular file, layers for layers of abstractions for Java IO streams
* Mp4 muxing (only DASH brand)
* WebM muxing
* Captions downloading
* alert dialog for overwrite existing downloads finished or not.

Misc changes
* delete SQLiteDownloadDataSource.java
* delete DownloadMissionSQLiteHelper.java
* implement Localization from #114

Misc fixes (this branch)
* restore old mission listeners variables. Prevents registered listeners get de-referenced on low-end devices
* DownloadManagerService.checkForRunningMission() now return false if the mission has a error.
* use Intent.FLAG_ACTIVITY_NEW_TASK when launching an activity from gigaget threads (apparently it is required in old versions of android)

More changes
* proper error handling "infrastructure"
* queue instead of multiple downloads
* move serialized pending downloads (.giga files) to app data
* stop downloads when swicthing to mobile network (never works, see 2nd point)
* save the thread count for next downloads
* a lot of incoherences fixed
* delete DownloadManagerTest.java (too many changes to keep this file updated)
2018-11-08 19:00:44 -03:00
Nitin Khanna 86f82c0e61 pop-up player crash fixed 2018-11-07 22:01:39 +05:30
Ritiek Malhotra 642b499e70 Fix crash with default resolution best on mobile data 2018-10-31 21:44:12 +05:30
Christian Schabesberger d82274f5d4 fucking android bullshit 2018-10-27 09:57:11 +02:00
Christian Schabesberger e1cc006db7 fix race condition when returning to main player 2018-10-26 14:59:49 +02:00
krtkush 96dac0f979 Code review suggested changes. 2018-10-22 23:12:25 +05:30
Christian Schabesberger fa3aebb7b1 localisation to localization 2018-10-22 12:25:50 +02:00
Ritvik Saraf fa5896ee5b fixed screen rotation for viewpager 2018-10-19 18:44:03 +05:30
krtkush 8ef702fa07 Removed updates options from settings in case of non github apk. 2018-10-18 22:59:33 +05:30
Ritvik Saraf 9fc38b5bb8 improved fling behavior, added tab indicator dots, added next video in related videos 2018-10-17 00:23:02 +05:30
Christian Schabesberger a7f5ea865e
Merge branch 'dev' into lang 2018-10-16 03:47:11 +02:00
krtkush 54ac5e8940 Merge branch '1520_app_update_notif' of https://github.com/krtkush/NewPipe into 1520_app_update_notif 2018-10-14 19:16:59 +05:30
krtkush e2341363d4 Added check for SHA1 key. 2018-10-14 19:16:28 +05:30
Ritvik Saraf fc31458cc4 added peertube 2018-10-12 02:34:30 +05:30
Ritiek Malhotra 046740f10b
Merge branch 'dev' into separate-gesture-options 2018-10-10 08:41:42 -07:00
Christian Schabesberger dc6108c970
Merge branch 'dev' into tablet_ui 2018-10-08 11:56:25 +02:00
Christian Schabesberger d107fe19f7
Merge branch 'dev' into LongTapInSubs 2018-10-07 13:59:39 +02:00
Christian Schabesberger 38e4249182
Merge branch 'dev' into lang 2018-10-07 13:25:35 +02:00
Christian Schabesberger f1aa3d8c90
Merge branch 'dev' into 1520_app_update_notif 2018-10-06 18:04:39 +02:00
Christian Schabesberger 9d63e2ae97
Merge branch 'dev' into enqueue-autoplay 2018-10-06 17:35:55 +02:00
Christian Schabesberger fdd8060296
Merge branch 'dev' into lang 2018-10-06 17:29:42 +02:00
Christian Schabesberger efb8ea4c25 make local settings be live updated 2018-10-05 16:31:23 +02:00
Christian Schabesberger 52bf5690c0 add support for content language and content country 2018-10-05 16:20:27 +02:00
Coin 0510db75fb Enqueuing now triggers video playing if the play queue has done playing 2018-10-03 00:31:28 +08:00
Ritvik Saraf cf3e53eb71 update notify on dataset change 2018-10-02 21:30:11 +05:30
Ritvik Saraf b8865e925d added content setting to disable comments 2018-10-02 20:56:14 +05:30
Ritvik Saraf 2e9a860aaa added viewpager. changed from parallaxscrollview to coordinate layout 2018-10-02 20:39:16 +05:30
MaX 7e48648f9e
Merge branch 'dev' into store_last_aspect_ratio 2018-09-29 12:45:10 +02:00
Ritvik Saraf e4bef056e6 merged upstream/dev 2018-09-29 15:46:47 +05:30
Ritvik Saraf 4e6722f201 updated extractor and downloader 2018-09-27 04:20:57 +05:30
Ritvik Saraf a29e2116a7 handling error while loading comments 2018-09-27 00:53:36 +05:30
Ritvik Saraf 515be677a9 no comments 2018-09-24 14:53:43 +05:30
Ritvik Saraf d694c5f511 smoother transition to comments fragment 2018-09-23 19:45:26 +05:30
Ritvik Saraf 66c753f3a3 changed comments fragment loading animation 2018-09-23 15:22:45 +05:30
Ritvik Saraf 7047b62442 added comments fragment 2018-09-23 07:02:19 +05:30
MaX-Lo 6092f06d46 store the last used aspect ratio in SharedPreferences and reload them on
resuming the VideoPlayer Activity (similar to storing/reloading the last used: screen rotation)
2018-09-22 11:32:13 +02:00
Ritvik Saraf 219922cd82 added commentsInfo in streamInfo 2018-09-19 05:13:55 +05:30
Kartikey Kushwaha 7124d9bca5 Removed flvor checks. Added update settings under main settings. 2018-09-15 20:51:17 +05:30