Commit Graph

446 Commits

Author SHA1 Message Date
Stypox 750c4ffbd3
Add preference to hide description tab in video details 2021-01-17 15:36:42 +01:00
Stypox 4c3ba0fe3d
Add icons to VideoDetailFragment tab layout for better accessibility 2021-01-17 15:34:24 +01:00
Stypox a314f55a17
Move description to a tab alongside related streams and comments 2021-01-17 15:26:25 +01:00
Stypox 78a9811fe3
Add a secondary control panel to video detail fragment
It is shown when the user expands the description
It contains share, open in browser and play in kodi
2021-01-17 15:12:29 +01:00
Isira Seneviratne fe92abde0e Use view binding in VideoDetailFragment. 2021-01-17 09:57:40 +05:30
Stypox 594f0b10ba
Move TextLinkifier computation out of main thread 2021-01-16 13:23:42 +01:00
TiA4f8R 79e98db3bd
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
TiA4f8R a57fd69fb4
External sharing improvements
Improve NewPipe's share on some devices + fix crash when no browser is set on some devices

Catching ActivityNotFoundException when trying to open the default browser
Use an ACTION_CHOOSER intent and put as an extra intent the intent to
open an URI / share an URI when no default app is set.

Add a LinkHelper class which set a custom action when clicking web links
in the description of a content. This class also helps to implement a confirmation dialog when trying to open web links in an external app.
2021-01-16 13:23:06 +01:00
Isira Seneviratne 920e560b4b Convert AnimationUtils functions to extension functions. 2021-01-16 14:49:37 +05:30
vkay94 37aa41afae Add stream segments to player 2021-01-14 21:58:19 +01:00
Tobias Groza 8fd48a88be
Merge pull request #4939 from Atemu/dont-exit-fullscreen-on-rotation
VideoDetailFragment: Don't exit fullscreen on rotation in tablet UI
2021-01-14 16:25:51 +01:00
Stypox 4a12b0ab2d
Revert hiding detail fragment tabs when in fullscreen 2021-01-14 10:25:48 +01:00
Stypox f6e2dd1480
Merge player classes into a single one 2021-01-14 10:25:44 +01:00
Mikhail Barashkov 907106156f When in Fullscreen playback mode, toggle play/pause with the hardware Space button. 2021-01-07 17:32:16 +02:00
Stypox 1b4bde4e78
Merge pull request #5221 from B0pol/notifications
Dynamically get package name
2021-01-01 18:05:43 +01:00
urlordjames d45ce19b04 Fix #4481 2020-12-28 09:46:10 -05:00
Stypox 19f9b4f502
Improve meta info layout and merge duplicate code 2020-12-20 15:10:18 +01:00
bopol 2b8837609b dynamically get package name
it fixes issues with forks or debug builds, e.g. when you open two newpipe apps (with debug or fork apps), close one notification, it closes all newpipe notifications
fixes https://github.com/TeamNewPipe/NewPipe/issues/4653
2020-12-20 13:52:20 +01:00
TobiGr 0a831ec84e
Display meta info about search query, stream creator or topic
Closes #4614
2020-12-20 11:56:22 +01:00
Stypox f0ca916432
Update most dependencies 2020-11-22 14:03:10 +01:00
Isira Seneviratne 340b92e32b Convert ErrorInfo to Kotlin and use the Parcelize annotation. 2020-11-21 12:47:35 +05:30
Atemu c0ff1e86b9 VideoDetailFragment: Don't exit fullscreen on rotation in tablet UI
Fixes https://github.com/TeamNewPipe/NewPipe/issues/4936

Going from portrait to landscape doesn't toggle fullscreen in tablet mode, so
the reverse action shouldn't do it either.
2020-11-20 21:52:27 +01:00
TacoTheDank 2669ba944d Correct some other small lints 2020-11-19 18:54:27 -05:00
TacoTheDank ad2ea0b807 Lint: 'if' replaceable with 'switch' 2020-11-18 17:58:41 -05:00
TacoTheDank 773bde14ab Lint: 'size() == 0' replaceable with 'isEmpty()' 2020-11-18 17:54:16 -05:00
Stypox 4c7b5d44a0
[Regression] Fix videos added multiple times to detail fragment stack 2020-11-15 22:23:47 +01:00
Stypox 1b47a1a994
Fix switching to main player when MainActivity is closed 2020-11-08 10:00:28 +01:00
Stypox 00a178f7d3
Fix tapping on video thumbnail does nothing 2020-11-08 10:00:28 +01:00
Stypox 2a2c82e73b
More fixes with opening VideoDetailFragment 2020-11-08 10:00:28 +01:00
Stypox 1d42e45d78
Unify all ways of opening VideoDetailFragment 2020-11-08 10:00:27 +01:00
Tobias Groza f4435f9031
Merge pull request #4555 from Stypox/playqueue-crash
Fix NullPointerException in queue handling
2020-11-08 01:19:38 +01:00
Isira Seneviratne c745b845c5 Switch to the Java 8 Date/Time API. 2020-11-05 15:02:51 +05:30
TacoTheDank 31cffa68c5 Push conditionals inside branch expressions 2020-10-31 15:57:26 -04:00
Stypox e406b6f780
Fix NullPointerException in queue handling 2020-10-26 18:15:59 +01:00
bopol 2dad9666a9 polish strings, fix build error 2020-10-26 17:01:55 +01:00
vkay94 32a142bf79 Fix PlaylistAppendDialog: Renamed method and replaced with Runnable 2020-10-23 09:44:26 +02:00
vkay94 2680d41a3d Fix PlaylistAppendDialog showing when no local playlists exist 2020-10-23 09:44:26 +02:00
Tobias Groza 6fce06906d
Merge pull request #4354 from Stypox/restriction-strings
Improve age restriction and yt restricted content strings
2020-10-11 12:14:13 +02:00
Stypox 84694a8bbd
Improve age restriction and yt restricted content strings 2020-10-11 12:06:36 +02:00
opusforlife2 b3555385e6
Ask for confirmation before clearing queue...
Even when there is only one video in it.
2020-10-09 14:46:42 +00:00
Stypox dbb86d25e1
Fix video detail controls visibility set inconsistently 2020-10-02 16:03:43 +02:00
Avently 6665d630ec Added comments and improved the code 2020-09-30 00:49:34 +03:00
Avently c1d5a5cd98 Player will be rebound when needed, prev/next/queue buttons, preserving paused state
- each time something starts to play in any player VideoDetailFragment will be started (if not yet started) and mini player will show up. It makes possible to see a playing stream in mini player even if the stream was started without using fragment or after player service was closed somehow
- play/next/queue buttons will be updated in realtime when stream was added/removed from queue instead of waiting for a onPlay/onPause action to happen
- when popup or background players start the stream will start playing only if paused state wasn't requested. Which means, for example, if a user opens popup it will be started when START_PAUSED is false. If, for example, the stream was played in main player and then popup was started the stream will still be playing, but if it was paused it still be paused in popup (or background) in APPEND_ONLY mode (but will be playing on new queue initialization)
2020-09-29 06:22:53 +03:00
Avently 0370fa6c00 Merged 'dev' branch 2020-09-27 18:02:31 +03:00
Avently 609bf64856 Merged 'dev' branch 2020-09-27 15:04:20 +03:00
Avently d0fc9fda71 Fixed player's ZOOM mode for KitKat devices 2020-09-27 04:25:06 +03:00
Avently df9823988e Changes for tablets and device's orientation behavior
- the app will not rotate the screen to portrait after video completes, it will just exit from fullscreen mode
- ability to rotate the orientation via fullscreen button from landscape to portrait when device has locked orientation in landscape
- ability to enter/exit to/from fullscreen on tablets with unlocked global orientation in portrait mode
2020-09-27 04:11:38 +03:00
TobiGr 0e5f85db95
Remove "Detail Page" open action from share dialog under certain circumstances
With the new application workflow and unified player, video detail page and video player are the same activity. So show only one of these options based on whether autoplay is enabled or not, and show both if using external player
2020-09-26 21:58:34 +02:00
Avently 3add24b8aa Merged 'dev' branch 2020-09-26 02:42:26 +03:00
Tobias Groza e0f02d4080
Merge pull request #4246 from avently/preloading
Disabled preloading when switching streams
2020-09-25 21:22:31 +02:00
Avently 5b8eda4805 Increased performance of the UI. main thread is not as busy as before 2020-09-17 23:42:35 +03:00
Avently 92e13dafe5 Correct exit from fullscreen in case of error or close from notification, 2020-09-17 19:01:20 +03:00
Avently 5ada0ae2c7 Hiding controls when orientation changes to landscape 2020-09-15 22:10:38 +03:00
Avently a5312c1341 Perfect shadow 2020-09-15 19:50:46 +03:00
Avently 150e156d26 Reimagined player positioning 2020-09-15 14:43:43 +03:00
Avently 6d38615ea8 Android 11: transparent navigation and status bars 2020-09-14 11:30:41 +03:00
Avently 883e4fcd7c Small fixes of issues with old devices support, brightness, etc 2020-09-11 20:52:38 +03:00
Stypox 530f745e44
Merge pull request #4154 from avently/video-placement
Prevent jumping of the player and wrong padding on devices with cutout
2020-09-08 19:47:09 +02:00
Avently 31814b70da Disabled preloading when switching streams 2020-09-07 19:34:10 +03:00
Stypox 5b631e0387
Revert to deprecated BEHAVIOR_SET_USER_VISIBLE_HINT in TabAdapter
Also added comment explaining why
2020-09-06 14:02:25 +02:00
TacoTheDank 6c5ef567ed
Replace deprecated Html#fromHtml with HtmlCompat#fromHtml 2020-09-06 12:55:30 +02:00
TacoTheDank f86b40302d
Some general-purpose lint cleanup 2020-09-06 12:55:26 +02:00
TacoTheDank ba6c7de35a
Use AndroidX preference 2020-09-06 12:52:42 +02:00
Avently 0a22f21410 Small fixes of issues with brightness, background playback, gestures 2020-09-04 05:39:55 +03:00
Avently 8030312924 Prevent jumping of the player on devices with cutout 2020-09-03 15:48:17 +03:00
wb9688 b7f50c3e12
Merge pull request #4080 from avently/cpu-usage-improvement
Reduced CPU usage when playing a video by 7-10%
2020-08-17 09:46:07 +02:00
Avently aed1687a45 Improved an animation logic 2020-08-16 22:44:27 +03:00
Tobias Groza e9d4303fdb
Merge pull request #4134 from avently/bottom-space
Set bottom padding of the main fragment when the mini player is visible
2020-08-16 12:15:08 +02:00
wb9688 87228673b4 Use final where possible 2020-08-16 10:25:09 +02:00
Avently d3d65c8e3a Set bottom padding of the main fragment when the mini player is visible 2020-08-15 20:51:52 +03:00
Avently d7574973e9 Reduced CPU usage when playing a video by 7-10% 2020-08-05 12:46:25 +03:00
Tobias Groza eb2f75579a
Merge pull request #3892 from wb9688/fix-local-playlist-tab
Fix crash when opening video in local playlist tab
2020-08-03 15:49:06 +02:00
wb9688 5fd7ae33b4 Replace getFragmentManager() with getFM() 2020-08-03 14:47:10 +02:00
Avently 45408caf33 Removed java.util.Objects calls 2020-08-03 03:33:51 +03:00
Avently f2e4b69466 Another part of UI improvements for Android TV
- focus will be hidden right after start of a video; fullscreen works like this too
- back button will not needed to be pressed one more time like before
- prev & next buttons for playqueue will be hidden with play/pause button before video be ready to play
2020-07-25 07:00:53 +03:00
Avently 08db1d59e5 Android TV: ability to select all buttons in the main player, as well as in the main fragment 2020-07-25 04:14:29 +03:00
Avently 7c79d421e8 Quality selector for external playback and better fullscreen mode for old devices 2020-07-24 00:43:09 +03:00
Avently 7aa8a5c368 Fixed a situation when background playback could use a video stream instead of an audio stream 2020-07-22 02:20:58 +03:00
Avently 3ecbbea7cb Better TV support, icons, activity_main refactoring
- on Android TV you'll be able to navigate with D-pad in main fragment and in the player. But not between them for now
- play/pause/next/previous buttons are smaller now
- replaced ic_list with previous version of it
- activity_main looks better which helps with Android TV support
2020-07-22 01:20:30 +03:00
Avently c7ccf9bab8 AndroidTvUtils -> DeviceUtils 2020-07-21 01:43:49 +03:00
Avently 06e70abb86 Merged the latest changes 2020-07-21 01:37:36 +03:00
Tobias Groza 19e152a54b
Merge pull request #3689 from wb9688/next-stream
Remove calls to getNextStream()
2020-07-18 11:59:04 +02:00
Tobias Groza 2898bead66
Merge pull request #3902 from wb9688/null-description
Check for description == null
2020-07-18 11:54:10 +02:00
wb9688 e028a63f30 Check for description == null 2020-07-18 10:01:44 +02:00
Avently d196f8b4b2 New icons 2020-07-16 01:15:24 +03:00
wb9688 7a30f4a7d2 Remove calls to getNextStream() 2020-07-14 21:27:59 +02:00
wb9688 d0c03a0211 Use androidx.annotation.NonNull instead of io.reactivex.annotations.NonNull 2020-07-14 21:15:29 +02:00
Avently 08412d6108 Mini player slide to botom fix, buttons size fix 2020-07-14 21:52:55 +03:00
Avently d8f7db4715 Made checkStyle happy 2020-07-14 20:21:32 +03:00
Avently bff238774e Small fixes of issues 2020-07-13 23:28:39 +03:00
Avently d2aaa6f691 Merged the latest changes 2020-07-13 04:17:21 +03:00
Avently b2164ce5fc Marked many (too many) variables as final 2020-07-12 03:59:47 +03:00
Avently a7fbe05a73 Changes for review 2020-06-27 06:25:50 +03:00
adinilfeld 0d29e66092 removed unnecessary setLongClickable 2020-06-11 09:33:05 -07:00
adinilfeld 267e114354 added a copyToClipboard method to ShareUtils, and modified CommentsMiniInfoItemHolder and VideoDetailFragment to use the new method. 2020-06-10 15:14:08 -07:00
adinilfeld b5375396d2 allowed user to copy video title to clipboard (from detail screen) 2020-06-10 14:17:43 -07:00
adinilfeld e34f666b70 set an OnLongClickListener 2020-06-10 14:11:06 -07:00
Stypox bbd0df08d3
Add shadow behind play icon in video detail fragment 2020-05-21 15:39:36 +02:00
Stypox 9e57195e14
Fix checkstyle issues
Also replace all tabs with 4 spaces
2020-05-21 15:39:36 +02:00
Stypox e3e2028153
Use AppCompatResources instead of ContextCompat 2020-05-21 15:39:36 +02:00
Stypox 158727e2f2
Replace hardcoded white drawable with themed one 2020-05-21 15:39:36 +02:00
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
Tobias Groza 9cf76a918e
Merge pull request #3430 from Royosef/DisplayParentChannelDetails
Display parent channel details
2020-05-08 23:29:28 +02:00
wb9688 ae437b1510 Bump NewPipeExtractor 2020-05-08 18:07:52 +02:00
wb9688 235394d96c Don't show sub-channel thumbnail by default 2020-05-08 15:51:21 +02:00
Roy Yosef b7d4a4f604 Navigate to parent(uploader) channel from the uploader section on long click 2020-05-07 20:40:17 +02:00
Roy Yosef cc8874b687 Fix PR review
Make all of the uploader section on stream page navigate to the channel page
Extract hard coded strings
Remove redundant spaces
Fix open streams from a channel
Rename "ParentChannel" to "SubChannel"
Config royosef:NewPipeExtractor in app/build.gradle
2020-05-07 20:40:17 +02:00
Roy Yosef 1429774487 Add sub-channel details to video detail fragment 2020-05-07 20:39:32 +02:00
Stypox 9ca6cfd637
Fix Kodi button showing up in unsupported services 2020-05-06 20:55:53 +02:00
bopol 00262b4a49 Better detection of TV devices
Some devices were not detected as TV even though they are
2020-04-25 12:04:44 +02:00
TobiGr 04ab753b26 Merge pull request Android TV support #2806
Closes #2806
2020-04-23 22:33:20 +02:00
TobiGr 651cdec9b5 Fix button ripples in VideoDetailFragment 2020-04-22 22:35:41 +02:00
wb9688 70ede70ea8 Hide tabs when a video is age restricted 2020-04-11 09:30:12 +02:00
Alexander-- 53b3bda909 Comply with Checkstyle rules 2020-04-11 09:02:22 +06:59
Alexander-- c42f5eca87 Merge remote-tracking branch 'newpipe/dev' into rebase 2020-04-11 08:24:05 +06:59
wb9688 90f9819cbd Show error when video has age limit and setting is disabled 2020-04-10 15:29:48 +02:00
wb9688 63bcc04eff Move things back to its original place 2020-04-02 15:57:50 +02:00
wb9688 fda5405e48 Improve code style to be more consistent 2020-04-02 15:57:50 +02:00
Alexander-- 6a84f433ea Merge remote-tracking branch 'newpipe/dev' into rebase 2020-03-30 16:54:51 +06:59
Mauricio Colli b4cabe23e3
Handle content not available exception more comprehensively 2020-03-28 14:54:52 -03:00
Alexander-- 6aca344bf7 Merge remote-tracking branch 'newpipe/dev' into rebase 2020-03-15 09:08:01 +06:59
Mauricio Colli b2f317ab7c
Load only the selected group and customizable updated status timeout
Now only the subscriptions from the selected group by the user will be
loaded.

Also add an option to decide how much time have to pass since the last
refresh before the subscription is deemed as not up to date. This helps
when a subscription appear in multiple groups, since updating in one
will not require to be fetched again in the others.
2020-03-14 00:12:38 -03:00
Avently 398cbe9284 Better backstack, better tablet support, switching players confirmation, fix for background playback 2020-03-10 12:06:38 +03:00
Avently 5c2ff9b777 Better implementation of old code 2020-02-29 02:57:54 +03:00
Alexander-- 56544802e8 Merge remote-tracking branch 'newpipe/dev' into rebase 2020-02-26 05:56:09 +06:59
Avently 6d7e37610c Vertical videos in portrait & fullscreen, UI enhancements for tablets and phones, fixes
- vertical videos now work ok in portrait and fullscreen mode at the same time
- auto pause on back press is disabled for large tablets
- large dragable area for swipe to bottom in fullscreen mode in place of top controls
- appbar will be scrolled to top when entering in fullscreen mode
2020-02-25 02:15:22 +03:00
Stypox c7b4705538
Implement Settings buttons 2020-02-22 10:36:10 +01:00
bopol f089cd027e Multiple localization fixes
With the extractor PR, fixes title & description shown in the wrong language.
Fixed views / spectators counts possibly in the wrong language
Fixed live spectators not showing full count on detail page
Fixed LIVE shown on players, it shows translated instead

Fixed Videos string in search / three dots not available in Weblate
(because it was videos, but there already was a plural string named videos, in Weblate)

Subscriber count is always giving the short count.
We can't get exact number since this YouTube update: https://support.google.com/youtube/thread/6543166
But only short count (B, M, k), so showing full number, eg for 1.9M: 1,900,000, is wrong because the number could be 1,923,490 or 1,897,789…

Added a « sytem default » option to content language and country language selector.
It's the one selected by default (not en-GB anymore then), and correspond to the
language of the system / country of the system
By system I mean phone, tablet, TV…

Fixed russian showing - before time ago (eg 19hrs ago)
This is a workaround fix, I opened an issue on prettytime library repo.

Fixed russian plurals:
other was used instead of many for videos and subscribers

Fixed seek_duration english only
2020-02-15 12:40:23 +01:00
Avently a47e6dd8c5 AppBarLayout scrolling awesomeness, PlayQueue layout touches interception, player's controls' margin
- made scrolling in appBarLayout awesome
- PlayQueue layout was intercepting touches while it was in GONE visibility state. Now it's not gonna happen
- removed margin between two lines of player's controls
- when a user leaves the app with two back presses the app will not stop MainPlayer service if popup or background players play
2020-02-12 22:33:23 +03:00
Alexander-- 5bd0c701c7 Merge remote-tracking branch 'newpipe/dev' into rebase 2020-02-11 08:01:05 +06:59
bopol 2d62fa401d real markdown support for descriptions
and update third-party licences in about page
2020-02-08 10:48:36 +01:00
bopol badaff8ebc refactor Description 2020-02-07 14:14:55 +01:00
bopol 7045f9711c fix thumbnail for PeerTube, and description changes
description:
- PeerTube: it's now full description (it cut at 250 characters before), and it displays ok (newlines are ok, but markdown isn't)
- MediaCCC: descriptions are now displayed well (newlines added)
- YouTube: timestamps in descriptions are clickable and work

more PeerTube fixes:
thumbnail is now high quality
age limit is now handled
upload date in «recently added» feed is good now (it was one hour delayed)
all fixes come from https://github.com/TeamNewPipe/NewPipeExtractor/pull/239, so it need to be merged before this PR
2020-02-06 22:42:09 +01:00
Avently f334a2740f Mini player, ExpandableSurfaceView with ZOOM support, popup
- mini player's title, image and author information will be updated in many situations but the main idea is that the info will be the same as currently playing stream. If nothing played then you'll see the info about currently opened stream in fragment. When MainPlayer service stops the info updates too
- made ExpandableSurfaceView to replace AspectRatioFrameLayout. The reason for that is to make possible to use aspect ratio mode ZOOM. It's impossible to show a stream inside AspectRatioFrameLayout with ZOOM mode and to fit the video view to a screen space at the same time. Now the new view able to do that and to show vertical videos in a slightly wide space for them
- refactored some methods to make the code more understandable
- made fixes for player view for landscape-to-landscape orientation change
- added Java docs
- adapted swipe tracking inside bottom sheet
- fixed PlayQueue crashes on clearing
- paddings for popup player now as small as possible
2020-02-05 08:59:30 +03:00
Alexander-- fac13fb8cb Merge remote-tracking branch 'newpipe/dev' into rebase 2020-01-29 03:10:16 +06:59
Christophe 94403a9c3c Add send to Kodi button to player next to share button 2020-01-27 10:27:24 +01:00
Avently 26e487c01a Hotfix 2020-01-26 07:33:52 +03:00
Avently cc438fdb7b Player's elements positioning is better for tablet and in multiWindow mode
- status bar got a fix for situation when a phone vendor did not provide status bar height for landscape orientation
- popup will not be init'd twice
- also fixed some non-reproduceable bugs
2020-01-17 17:37:53 +03:00
Avently 92ff98d99a New logic for handling global orientation
- added a button to manually change an orientation of a video
- adapted UI for an automatic global orientation too
2020-01-16 14:20:22 +03:00
Avently d1609cba90 Enhancements to background playback and media button handling 2020-01-15 21:32:29 +03:00
Avently 0c394b123c Another fix of VideoDetailFragment 2020-01-13 19:24:28 +03:00
Avently 421b8214cb Fixes of VideoDetailFragment 2020-01-10 17:32:05 +03:00
Avently 22bb129bd9 Autoplay enhancement and new button at the top left corner
- added a video close button to the top left corner
- autoplay will not work if stream plays in background or popup players
2020-01-09 18:28:06 +03:00
Avently 4c57893312 New features and fixes
- added autoplay options inside settings: always, only on wifi, never
- now statusbar will be shown in fullscreen mode
- playlists, channels can be autoplayed too (if enabled)
- changed title of background activity to Play queue
- fixed a crash
2020-01-08 19:16:50 +03:00
Avently a2d5314cf7 Fourth block of fixes for review
- wrote more methods to PlayQueue. Now it supports internal history of played items with ability to play previous() item. Also it has equals() to check whether queues has the same content or not
- backstack in fragment is more powerful now with help of PlayQueue's history and able to work great with playlists' PlayQueue and SinglePlayQueue at the same time
- simplified logic inside fragment. Easy to understand. New PlayQueue will be added in backstack from only one place; less number of setInitialData() calls
- BasePlayer now able to check PlayQueue and compare it with currently playing. And if it is the same queue it tries to not init() it twice. It gives possibility to have a great backstack in fragment since the same queue will not be played from two different instances and will not be added to backstack twice  with duplicated history inside
- better support of Player.STATE_IDLE
- worked with layouts of player and made them better and more universal
- service will be stopped when activity finishes by a user decision
- fixed a problem related to ChannelPlayQueue and PlaylistPlayQueue in initial start of fragment
- fixed crash in popup
2020-01-06 13:39:01 +03:00
Avently e063967734 Third block of fixes for review
- audio-only streams plays the same way as video streams
- fullscreen mode for tablet with controls on the right place
- hidden controls while swiping mini player down
- mini player works better
2020-01-03 19:19:14 +03:00
Avently 4519dd010d Second block of fixes for review
- hide/show controls with respect of SystemUI. In fullscreen mode controls will stay away from NavigationBar
- notification from running service will be hidden if a user disabled background playback
- fixed incorrect handling of a system method in API 19
- better MultiWindow support
2020-01-03 08:05:31 +03:00
Avently bc2dc8d933 First block of fixes for review
- popup player click event changed to show/hide buttons
- queue panel WORKS. Finally
- removed theme overriding in fragment
- added scroll to top after stream selection
- adjusted padding/margin of buttons in player
- player will itself in fullscreen after user hides it in fullscreen mode and then expands it again while video still playing
2019-12-31 19:06:39 +03:00
Avently fc9b63298c Optimizations and fixes of rare situations
- popup after orientation change had incorrect allowed bounds for swiping
- popup could cause a crash after many quick switches to main player and back
- better method of setting fullscreen/non-fullscreen layout using thumbnail view. Also fixed thumbnail height in fullscreen layout
- global settings observer didn't work when a user closed a service manually via notification because it checked for service existing
- app will now exits from fullscreen mode when the user switches players
- playQueuePanel has visibility "gone" by default (not "invisible") because "invisible" can cause problems
2019-12-31 05:07:07 +03:00
Avently c45514b989 All players in one place
- main, background, popup players now connected via one service, one view, one fragment, one activity and one gesture listener
- playback position is synchronized between players. Easy to switch from one to another
- expandable player at the bottom of the screen with cool animation and additional features like long click to open channel of a video, play/pause/close buttons and swipe down to dismiss
- in-player integrated buttons for opening in browser, playing with Kodi, sharing a video
- better background playback that can be activated in settings. Allows to automatically switch to audio-only mode when going to background and then switching to video-mode when returning to the app.
2019-12-30 00:15:01 +03:00
Alexander-- 7bb5cacb0d Special MovementMethod for video description
Video descriptions can be very long. Some of them are
basically walls of text with couple of lines at top or bottom.
They are also not scrolled within TextView itself, - instead
NewPipe expects user to scroll their containing ViewGroup.
This renders all builtin MovementMethod implementations useless.

This commit adds a new MovementMethod, that uses requestRectangleOnScreen
to intelligently re-position the TextView within it's scrollable container.
2019-12-01 12:41:11 +06:59
Alexander 28fb864ed0 Focus video view thumbnail after it is loaded 2019-12-01 12:41:11 +06:59
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
Robin bf2a3ca043 Migrate to AndroidX 2019-10-04 14:59:08 +02:00
jimbo1qaz 942e042933 remove dead code 2019-08-17 23:21:06 -07: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
yausername 5aced46345 remove controls animation/flicker 2019-08-07 22:27:58 +05:30
kapodamy 2f66913813 drop unused popup storage permission request 2019-08-02 01:07:37 -03:00
Stypox d076fe72cd
Optimize imports in edited files 2019-07-25 11:47:38 +02:00
Stypox 064f0e414a
Merge branch 'dev' into menu-consistency 2019-07-21 11:11:06 +02:00
Christian Schabesberger e11df5bb49
Merge branch 'dev' into removeextra 2019-06-26 15:42:47 +02:00
Vasily 2a41802f36 Merge branch 'dev' into playback_state_list 2019-06-23 20:23:29 +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 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
Vasiliy 93f2518159
Animate states changed 2019-04-27 22:27:08 +03:00
sherlock 1edfa78a05 removed the gena strings. 2019-04-17 16:45:40 +05:30
Vasiliy 4e1423d224
Implement playback state management 2019-04-13 13:34:36 +03:00
Stypox aadc8168be
Remove share utilities from BaseStateFragment
Replaced by ShareUtils
2019-04-06 20:17:04 +02:00
yausername 657125f43c save selected tab sate in stream detail fragment, fixes #2238 2019-03-24 06:31:28 +05:30
Ritvik Saraf 2309e15261 fixed scroll w/ comments and related streams disabled 2019-03-03 18:20:15 +05:30
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
Christian Schabesberger 14043c86f5 fix backstack issue with mediaccc 2019-01-31 13:24:02 +01:00
Christian Schabesberger 1ae54f6f8c further compatiblity fix for meadic.ccc 2019-01-29 15:39:18 +01:00
Ritvik Saraf c9b938ae55 readded animations 2018-12-25 15:36:15 +05:30
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
Ritvik Saraf 222c8fdb62 tablet ui support for comments 2018-12-09 03:21:55 +05:30
Ritvik Saraf 9b84046865 merged upstream/dev 2018-12-04 23:19:57 +05:30
kapodamy 7e9bcff0f3
Merge branch 'dev' into giga-postprocessing 2018-11-28 22:53:29 -03: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
Christian Schabesberger 25d6806ebd set minSdk to 19 and deprecate old player 2018-11-13 17:27:47 +01:00
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
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 dc6108c970
Merge branch 'dev' into tablet_ui 2018-10-08 11:56:25 +02: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
Ritvik Saraf e4bef056e6 merged upstream/dev 2018-09-29 15:46:47 +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 7047b62442 added comments fragment 2018-09-23 07:02:19 +05:30
Ritvik Saraf 219922cd82 added commentsInfo in streamInfo 2018-09-19 05:13:55 +05:30
Ritvik Saraf 08127e5806 added basic/crappy comments support 2018-09-15 17:15:44 +05:30
BO41 0ab86937d2 data flow issue + declaration redundancy
make final
unused methods
make final

BUILD SUCCESSFUL in 0s
39 actionable tasks: 39 up-to-date
2018-09-11 19:18:41 +02:00
Vasily 1e53d6bfab Scroll top related streams when loading 2018-08-31 17:08:13 +03:00
Vasily 8aef24be1e Merge branch 'tablet_ui' of https://github.com/nv95/NewPipe into tablet_ui 2018-08-29 09:00:15 +03:00