Commit graph

678 commits

Author SHA1 Message Date
Zhiheng Xu
acbe0bfc94 Change shuffle() guard to check for size <= 2
After testing the app, I realized that shuffling a queue with size 2
does nothing
2021-05-24 12:20:19 -04:00
Zhiheng Xu
6da5d1585d Remove redundant clearing of list 2021-05-24 12:20:19 -04:00
Zhiheng Xu
e29058412e Refactor shuffle and update documentation
- Add early return for invalid sizes to shuffle

 - Rename variables to be more descriptive

 - Refactor moving list element, removing unnecessary operations

 - Unwrap if clause for adding to history because the condition is
   guaranteed by the guard clause

 - Inline the value 0 for the ReorderEvent

 - Update documentation to reflect new changes
2021-05-24 12:20:19 -04:00
Eric Xu
3a8aa90c72 Rearrange fields
Final fields should be arranged first
2021-05-24 12:20:19 -04:00
Eric Xu
158791043e Resolve TODO in indexOf(...)
PlayQueueItem overrides equals and hashCode, so using indexOf is
perfectly fine.
2021-05-24 12:20:19 -04:00
Eric Xu
784c78c89e Rewrite setIndex(int) to pass unit tests
Original did not cover the case of when streams is empty and
documentation does not specify any input restrictions.

There's an ambiguity with broadcasting an event between the
documentation and the actual code (see TODO).
2021-05-24 12:20:19 -04:00
Eric Xu
55da632641 Refactor assignments to field declaration
Assignments that don't require the constructor can be moved out.
2021-05-24 12:20:19 -04:00
Eric Xu
78ff6485a2 Add hashCode() to match equals(other) 2021-05-24 12:20:19 -04:00
Eric Xu
61e2ab4d80 Refactor streams to initialize with values 2021-05-24 12:20:19 -04:00
Eric Xu
8b2b3f8fe2 Refactor ArrayList fields to List 2021-05-24 12:20:19 -04:00
Eric Xu
b4b6726ec8 Refactor and optimize equals
- Remove multiple casts of obj

 - Simply use object equals on the streams because PlayQueueItem’s
   equals already compares urls
2021-05-24 12:20:19 -04:00
TobiGr
14a6130a44 Add support for PeerTube HLS streams 2021-05-23 11:53:35 +02:00
Robin
6debb784b7 TEST: Downgrade ExoPlayer to 2.12 2021-05-14 14:47:53 +02:00
Robin
c1dc93e2d7 Fixed checkstyle 2021-05-14 12:15:48 +02:00
Robin
9cbcb38f47 Add debug option to disable media tunneling 2021-05-14 12:05:52 +02:00
litetex
63bfdfc242 Fixed player not automatically playing (#6266)
* Fixed player not automatically playing

Should also fix https://github.com/TeamNewPipe/NewPipe/issues/6179

* Added comment
2021-05-12 10:20:39 +02:00
Robin
7210546d6e Fix: fragmentSize is below the minimum (#6238)
noticed logs " CacheDataSink: fragmentSize is below the minimum recommended value of 2097152. This may cause poor cache performance.

this fixes the issue by using ExoPlayers MIN_RECOMMENDED_FRAGMENT_SIZE. Unfortunately that field is private:
aeb306a164/library/core/src/main/java/com/google/android/exoplayer2/upstream/cache/CacheDataSink.java (L123)
2021-05-04 19:08:25 +02:00
TobiGr
a6c1598c32 Fix invisible buffering / loading indicator in player 2021-04-25 11:36:00 +02:00
Tom
c70ade0681 Add queue time (#6023)
* Add queue time
2021-04-08 10:41:41 +02:00
krlvm
ef0999b9c3 Merge branch 'dev' into daynight 2021-04-03 00:08:26 +03:00
Fynn Godau
36177cefaa Rename related streams to related items 2021-03-31 22:33:22 +02:00
Robin
fb49dda602 Disabled tunneling on Hi3798MV200 2021-03-31 16:38:50 +02:00
Stypox
6ee9ed9afa Merge pull request #5856 from Redirion/exo213
Update to ExoPlayer 2.13.2
2021-03-31 14:29:16 +02:00
wangear
abf7847743 Fix overlapping fonts and crash on tapping anywhere on video after long-pressing 'Popup' button (#5813)
* Overlapping fonts #5096
issue : #5096

* Overlapping fonts #5096
issue : #5096
changed :
- If additional textView is overlapped, only title view shows.

* Overlapping fonts #5096
issue : #5096
changed :
- Remove treeObserve and hiding logic.
- RelativeLayout -> ConstraintLayout.
- layout size fixed -> wrap_content.
- if text size is bigger, layout height bigger too.

* Overlapping fonts #5096
issue : #5096
changed :
- remove unusable variable

* Crash on tapping anywhere on video after long-pressing 'Popup' button #5804
issue : #5804
changed :
- checked null
- fixed NullPointerException.
2021-03-31 10:10:14 +02:00
Robin
34786ff077 Update to ExoPlayer 2.13.2 2021-03-31 10:05:44 +02:00
Tom
d913782da8 Allow the user to pause while a video is buffering (#5929)
Fix pause while buffering
Use getPlayWhenReady wrapper everywhere playWhenReady is checked
Remove duplicate `playPause()` code
2021-03-29 18:00:00 +02:00
krlvm
f4eef209ce Fix Repeat Button color in Player 2021-03-28 22:04:54 +03:00
krlvm
0afceeeb87 Fix Light Player Popups in Dark Theme, make Player Controls Overlay always Dark 2021-03-28 18:48:51 +03:00
krlvm
a8de222577 Fix Dark elements in Light Theme 2021-03-27 17:46:05 +03:00
Stypox
0c6539d147 Merge pull request #5457 from Redirion/exo123
Update to ExoPlayer 2.12.3
2021-03-18 18:59:56 +01:00
Stypox
fde897e4c0 Merge pull request #5792 from TeamNewPipe/resize_mode
Fix last resize mode not being restored correctly
2021-03-17 09:07:44 +01:00
TobiGr
3d713a27a5 Fix bottom controls being out of the screen
This was caused by too large end screen thumbnails enlarging the whole palyer. Fixed by scaling the thumbnail.

Ensure that the player does not use the whole screen height in detail fragment to keep the additional content like title, comments, etc. available.
2021-03-14 17:52:15 +01:00
TobiGr
f4499de605 Fix last resize mode not being restored correctly
I think the settings key "last_resize_mode" is ambiguous. While it is used to get the recently used resize mode, someone thought while working on the resize mode switcher, that the old (to be replaced) resize mode should be stored. 
Fixes #5613
2021-03-08 09:46:33 +01:00
Stypox
0299efa06f Improve code style and fix some warnings
Removed a textTrack null check on a now- NonNull method
Added a error type switch case (TIMEOUT)
2021-02-16 16:54:44 +01:00
Robin
4a7ef34288 Update to ExoPlayer 2.12.3 2021-02-16 16:42:51 +01:00
karol
6de40e68a9 removed resizig text from popup player, as requested in #5514 2021-02-11 11:20:27 +01:00
Stypox
3d6c34b896 Add Objects.requireNotNull to warning which is surely not null 2021-01-28 14:35:47 +01:00
Stypox
6d7e6d50b2 Remove useless getString for default setting value 2021-01-28 14:35:00 +01:00
Stypox
075e74073d Use PlayerHelper.retrieveResizeModeFromPrefs in Player 2021-01-28 14:33:50 +01:00
Stypox
e091a2ff36 Fix always minimizing to popup player 2021-01-28 14:33:12 +01:00
Stypox
287324e455 Fix popup closing x button animation 2021-01-19 09:34:21 +01:00
XiangRongLin
f92e7ae794 Merge pull request #5442 from Stypox/fix-close-popup
Prevent IllegalArgumentException when closing popup
2021-01-18 09:39:02 +01:00
Stypox
1522eae016 Prevent IllegalArgumentException when closing popup 2021-01-18 08:27:49 +01:00
Stypox
923a68beaf Add icons to VideoDetailFragment tab layout for better accessibility 2021-01-17 15:34:24 +01:00
Isira Seneviratne
8c73c2fe86 Use view binding in VideoDetailFragment. 2021-01-17 09:57:40 +05:30
TiA4f8R
e44495af9a Apply the requested changes and little improvements
Apply the requested changes, use ShareUtils.shareText to share an stream in the play queue and optimize imports for Java files, using Android Studio functionality.

Apply the requested changes and do little improvements
Apply the requested changes, use ShareUtils.shareText to share an stream in the play queue and optimize imports for Java files, using Android Studio functionality.
2021-01-16 13:23:42 +01:00
Isira Seneviratne
0f66853a9a Convert AnimationUtils functions to extension functions. 2021-01-16 14:49:37 +05:30
vkay94
c775ab64ef Add stream segments to player 2021-01-14 21:58:19 +01:00
Stypox
b191847331 Merge and rename into PlayQueueActivity 2021-01-14 10:25:48 +01:00
Stypox
c2d53bb072 Fix wrong speed indicator in queue activity 2021-01-14 10:25:48 +01:00