Commit graph

1880 commits

Author SHA1 Message Date
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
wb9688
b990f30a09
Merge pull request #3545 from Stypox/kore
Fix Kodi button showing up with unsupported services
2020-05-07 21:44:09 +02:00
Stypox
5c711322d4
In player hide kodi button if service unsupported 2020-05-07 21:11:34 +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
2d0bc05488 Add sub-channel details to channel fragment 2020-05-07 20:39:32 +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
d1c94f5120 adapt CommentsInfoItemExtractorRefactoring 2020-05-05 15:03:59 +02:00
wb9688
b630f269c4
Merge pull request #3511 from wb9688/ktlint
Ktlint
2020-05-04 15:13:07 +02:00
wb9688
40b1cd82b1
Merge pull request #2727 from vnagel/ageRestrictedContent
Restricted mode setting for youtube
2020-05-04 15:05:11 +02:00
Tobias Groza
cb5e7532ab
Merge pull request #3480 from wb9688/update-nanojson
Use our nanojson fork
2020-05-02 16:17:29 +02:00
wb9688
81c3e7e7f6 Use our nanojson fork 2020-05-02 16:03:15 +02:00
wb9688
b0415a5289 Auto-format using Ktlint 2020-05-01 20:13:21 +02:00
wb9688
ff7344438b Optimize imports 2020-05-01 20:13:01 +02:00
Stypox
b4ddc8f96c
Update to ExoPlayer 2.11.4 2020-05-01 15:03:54 +02:00
Tobias Groza
f4f4f062cf
Merge pull request #3495 from Stypox/fix-rotation
Fix rotation
2020-04-27 09:18:08 +02:00
Stypox
d8d9c7e171
Fix crashes on rotation by checking for null 2020-04-27 09:01:24 +02:00
bopol
77597b329e store isTv value to prevent calculating it again and again 2020-04-26 00:36:45 +02:00
bopol
f62f00b4ad Fix crash on Android 4.4 and surely other sdk versions 2020-04-25 23:38:34 +02:00
TheLastGimbus
1975973ff2 Update progress bar on fast forward/rewind 2020-04-25 15:46:56 +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
Stypox
2db0d63c97
Merge pull request #3065 from GradyClark/dev
Added the ability to remove all watched videos from a local playlist
2020-04-23 23:52:28 +02:00
Stypox
437b86d1a7
Use centralized CompositeDisposable instead of custom Disposable
Also do not show any dialog if the user is aready removing watched videos in a local playlist
2020-04-23 23:35:00 +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
Stypox
0ec22c7a6e
Fix pause button is not focused on player control activation 2020-04-21 09:25:09 +02:00
Grady Clark
73611004a0
Code cleanup, and best practices 2020-04-21 01:57:23 -05:00
Grady Clark
776ddddc83
fixed naming and formatting issues 2020-04-21 01:03:42 -05:00
Vincent Nagel
f60cce54ea rename setting to "YouTube restricted mode" 2020-04-20 21:47:32 -05:00
Vincent Nagel
63087a4311 renamed to "restricted mode" 2020-04-20 21:46:40 -05:00
Vincent Nagel
5a193d50f6 remove duplicate line 2020-04-20 21:45:32 -05:00
Vincent Nagel
08a6e999b9 fix checkstyle errors 2020-04-20 21:45:32 -05:00
Vincent Nagel
e33cdca1ef added logging when context null in onPrefTreeClick 2020-04-20 21:45:32 -05:00
Vincent Nagel
9ede7a3c42 setupTabs() if ageRestrictedContent pref changed 2020-04-20 21:45:32 -05:00
Vincent Nagel
430d4e1ccd ageRestrictedContent cookie only sent for youtube
Now the age restricted content cookie is only sent when sending a
request to youtube. There's no need to remove the cookie when the
service changes because whether to add the cookie is determined by
looking at the url the request is being sent to.
2020-04-20 21:45:32 -05:00
Vincent Nagel
de4d6037d3 ageRestrictedContent first draft
Cookie updated whenever ageRestrictedContent setting is changed or
service is changed. Right now there is only a cookie for youtube, but
cookies for other services could be added in the future.

Problems with this approach: Even when the service is set to youtube,
the downloader doesn't only request youtube urls e.g. it also sends
reqeusts to i.ytimg.com, suggestqueries.google.com, and yt3.ggpht.com.
The ageRestrictedContent cookie is not normally sent when sending
requests to these other urls, so doing so might have unknown effects.
2020-04-20 21:45:32 -05:00
wb9688
aa1cc32d17 Open comment author on TV at long press 2020-04-20 13:37:35 +02:00
bopol
b22398ae6c use nanojson instead of org.json 2020-04-20 11:02:45 +02:00
Tobias Groza
cd53518897
Merge pull request #3345 from mitosagi/error-with-bookmarks
Fix repeated exceptions in Bookmarked Playlists
2020-04-19 22:00:31 +02:00
wb9688
8e9b1b7213
Merge pull request #3414 from Stypox/recaptcha
Fix ReCaptcha Activity for another type of recaptcha page
2020-04-19 19:49:01 +02:00
Stypox
34aa3d3e00
Enqueue on long click on background/popup in channel 2020-04-19 10:34:07 +02:00
Grady Clark
db335d5cec
Removed redundant code
reorganized code
2020-04-16 12:58:16 -05:00
Stypox
ee5ce0c809
Save and restore cookies to/from preferences
So that the user does not have to solve a recaptcha every time he opens the app
2020-04-15 13:30:27 +02:00
Stypox
b8efef7c7a
Remove duplicate check if cookies are already present 2020-04-15 13:30:27 +02:00
Stypox
e2cbf40957
Fix recaptcha activity for another type of recaptcha page
Try to get cookies from pages even when they start loading, because non-html pages like ones with `pbj=1` never stop loading.
Try to extract the cookie directly from the redirection url, by looking at the field "google_abuse=".
Add `GOOGLE_ABUSE_EXEMPTION=` to the youtube recaptcha cookies.
2020-04-15 13:30:27 +02:00
TheLastGimbus
63afacc067 Add listeners in activity 2020-04-14 22:06:32 +02:00
Grady Clark
1d0c3de65f
Merge branch 'dev' of https://github.com/TeamNewPipe/NewPipe into dev 2020-04-14 13:24:57 -05:00
Grady Clark
fe1646caa0
Changed "Remove Watched":
- Will now execute on the io thread
- Added confirmation dialog
  - Warning the user, and asking if they also want to remove partially watched videos
2020-04-14 13:15:07 -05:00
Alexander--
850f51a156 When drawer opens, always place focus at it's start 2020-04-12 09:39:32 +06:59
Alexander--
54ceb85ebe Don't break navigation if player Views other than controls are focused 2020-04-11 16:04:38 +06:59
wb9688
b7ef60eedd
Merge pull request #3410 from wb9688/fix-restricted
Show error when video has age limit and setting is disabled
2020-04-11 09:44:25 +02:00
wb9688
70ede70ea8 Hide tabs when a video is age restricted 2020-04-11 09:30:12 +02:00
Alexander--
d1d942f3fd Fix Checkstyle violations in MediaSourceManager 2020-04-11 09:51:50 +06:59
Alexander--
53b3bda909 Comply with Checkstyle rules 2020-04-11 09:02:22 +06:59
Alexander--
ac5571a363 Merge remote-tracking branch 'newpipe/dev' into rebase 2020-04-11 08:30:40 +06:59
Alexander--
c42f5eca87 Merge remote-tracking branch 'newpipe/dev' into rebase 2020-04-11 08:24:05 +06:59
Tobias Groza
9cb6816b3c
Merge pull request #3294 from mauriciocolli/fix-network-issues-detection
Fix detection of network related exceptions
2020-04-10 23:10:34 +02:00
Stypox
a50e430cd9
Fix checkstyle issues and improve code formatting
Also calculate differently the moved distance of a pointer: use euclidean and not manhattan geometry
2020-04-10 22:12:45 +02:00
Harshal Lele
46918ee907
formatting changes 2020-04-10 22:10:32 +02:00
Harshal Lele
fe1889653e
made formatting changes 2020-04-10 22:10:32 +02:00
Harshal Lele
9487b5367d
changed popup resizing 2020-04-10 22:10:32 +02:00
Tobias Groza
6b47df75a7
Merge pull request #3412 from mauriciocolli/improve-drawer-title-size-handling
Improve size handling of the drawer header title
2020-04-10 22:04:53 +02:00
Mauricio Colli
506d1dc1f2
Improve size handling of the drawer header title
Some devices, specially with custom fonts that changed the font width,
weren't being correctly adjusted before.
2020-04-10 10:31:28 -03:00
wb9688
90f9819cbd Show error when video has age limit and setting is disabled 2020-04-10 15:29:48 +02:00
wb9688
2852815e1a Use suggested layout for search filters 2020-04-10 10:35:54 +02:00
wb9688
41a100613f Add ability to translate YouTube Music search options 2020-04-10 10:35:54 +02:00
Stypox
63e489f134 Use ITEM_COUNT_UNKNOWN 2020-04-10 10:35:54 +02:00
Stypox
914d3c4a66 Use "mini" stream count alternatives for info items
Note: more_than_100_videos_mini and infinite_videos_mini are untranslatable
2020-04-10 10:35:54 +02:00
Stypox
2b47a1b06a Also use localizeStreamCount() in local items 2020-04-10 10:35:54 +02:00
Stypox
625419a7db Detect ITEM_COUNT_* in localizeStreamCount()
ITEM_COUNT_INFINITE and ITEM_COUNT_MORE_THAN_100.
Use localizeStreamCount in PlaylistFragment and PlaylistItemHolder
2020-04-10 10:35:54 +02:00
Stypox
2710d9de5b Add support for INFINITE_ and MORE_THAN_100_ITEMS in playlists 2020-04-10 10:35:53 +02:00
bopol
4c128d837c handle ContentNotSupportedException for Channel Fragment (when an user has no video tab) 2020-04-10 09:12:29 +02:00
bopol
c392804f47 handle ContentNotSupportedException in ExtractorHelper.handleGeneralException() 2020-04-09 23:58:01 +02:00
bopol
cc7a25d9ce handle ContentNotSupportedException in BaseStateFragment
thus not supported soundcloud streams (e.g. hls streams) don't crash
anyore
2020-04-09 23:58:01 +02:00
wb9688
36b2bea25f
Merge pull request #3395 from kapodamy/checkstyle-warnings
remove some warnings issued by checkstyle
2020-04-09 21:08:53 +02:00
Mauricio Colli
913796ff0f
Use exception utils in network error detection throughout the app 2020-04-09 13:22:24 -03:00
Mauricio Colli
a1b9892c77
Move exception utils to a separate class and add tests for it 2020-04-09 13:22:18 -03:00
wb9688
03de4b29ea Suppress remaining Checkstyle errors 2020-04-09 17:24:43 +02:00
Tobias Groza
65cd9751d8
Merge pull request #3288 from XiangRongLin/save-playback
Save and restore playback parameters into/from preferences
2020-04-08 21:38:53 +02:00
kapodamy
ff9a1ebb1b checkstyle
* drop unused methods
* split blobs
* make no final parameters
2020-04-08 12:08:01 -03:00
wb9688
e4a4af34c5
Merge pull request #3276 from lnjX/fix/the-the-typo
ThemeHelper: Fix 'the the' typo
2020-04-07 09:25:00 +02:00
wb9688
b047e562ca
Merge branch 'dev' into fix/the-the-typo 2020-04-07 09:17:10 +02:00
Mauricio Colli
225b9e1b15
Fix visibility of group sort button in the subscriptions fragment 2020-04-05 16:57:28 -03:00
Xiang Rong Lin
3855e488cb Save and restore playback parameters into/from preferences
Playback parameters are speed, pitch and skip silence.
Remove parameters being passed on as intent to the player, since the parameters can be restored from the preferences instead.

# Conflicts:
#	app/src/main/java/org/schabi/newpipe/player/BasePlayer.java
2020-04-05 17:46:49 +02:00
Mauricio Colli
c726639484
Avoid unnecessary changes to the upload date of saved streams
The upload date was being updated regardless if the new one had more
precision or not, this caused items on the feed to jump around when the
user opened one of them.

This changes it to only update when the existent upload date is null or
the new one has a higher precision (i.e. is not an approximation).
2020-04-05 10:57:54 -03:00
mitosagi
4491b66872 Make null sortable 2020-04-05 17:26:00 +09:00
Tobias Groza
5653d443d9
Merge pull request #3344 from wb9688/checkfornewappversiontask-downloaderimpl
Use DownloaderImpl in CheckForNewAppVersionTask
2020-04-04 20:11:39 +02:00
wb9688
a5a497c4ea Clean up CheckForNewAppVersionTask 2020-04-04 19:34:13 +02:00
AioiLight
562754c0b9
Merge branch 'dev' into blocking-gesture-when-touch-from-navbar 2020-04-04 23:52:06 +09:00
Stypox
92ca1e6e09
Check if already running before removing watched 2020-04-03 20:41:21 +02:00
Stypox
6571fdbaa2
Fix checkstyle errors 2020-04-03 20:13:56 +02:00
Stypox
9c3f138b8e
Use binary search to remove watched items from playlists 2020-04-03 19:51:29 +02:00
developer
0ac2865b74
Optimised 'removeWatchedStreams'
Removed merge mistake
Reordered code
Refactored 'removeWatchedWorker' to 'removeWatchedDisposable'
2020-04-03 19:50:12 +02:00
Grady Clark
98fc88dec6
Simplified the removal of watched videos, into the function removeWatchedStreams
Replaced unnecessary nested class.
Fixed formating issues
2020-04-03 19:49:41 +02:00
Grady Clark
8cab790030
- Will now use ReactiveX instead of AsyncTask, when removing watched videos.
- Removed redundant file 'local_playlist_control'
- Fixed grammer issue
2020-04-03 19:49:41 +02:00
Grady Clark
954399b255
Moved the 'Remove Watched' button to the three dot menu button. 2020-04-03 19:49:01 +02:00
Grady Clark
66c95f901d
Added the ability to remove all watched videos from local playlists
Changes:
 - local_playlist_control.xml
   * A copy of playlist_control.xml
   * To hold the 'Remove Watched Videos' buttton

 - local_playlist_header.xml
   * Changed the include layout	to now include local_playlist_control.xml

 - strings.xml
   * added string 'remove_watched' with value 'Remove Watched'

 - LocalPlaylistFragment.java
   * Added the functionality to remove watched videos,
      to the 'Remove Watched Videos' button in local_playlist_control.xml.
      In the background via AsyncTask.
      This will also change the playlist's thumbnail, if the thumbnail video is removed.

Tested on:
 - Pixel
2020-04-03 19:47:31 +02:00
wb9688
15a53d299d Revert some more changes 2020-04-03 15:48:38 +02:00
Alexander--
3c193dca58 Merge remote-tracking branch 'newpipe/dev' into rebase 2020-04-03 06:56:52 +06:59
AioiLight
d9c6f7acb6 Block the gesture when touch it from NavigationBar or StatusBar. 2020-04-03 05:11:36 +09:00
wb9688
41061d0289 Use DownloaderImpl in CheckForNewAppVersionTask 2020-04-02 20:13:05 +02:00
wb9688
b6c6dc7282 Use Checkstyle for org.schabi.newpipe.streams as well 2020-04-02 16:48:57 +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
kapodamy
96086b7733 code cleanup 2020-04-01 15:30:32 -03:00
Tobias Groza
182fc104bb
Merge pull request #3259 from mauriciocolli/improve-drawer-layout
Improvements for the drawer header layout
2020-04-01 18:47:53 +02:00
Stypox
00a8906128
Fix mute button causing crashes on API 19
Using rootView.getContext() because getApplicationContext() didn't work (it was probably missing information about theme)
2020-04-01 09:08:03 +02:00
TobiGr
f7697007e5 Merge branch 'master' into dev 2020-03-31 12:33:16 +02:00
TobiGr
a5153f5375 Improve database migration SQL statement 2020-03-31 00:20:13 +02:00
Mauricio Colli
053440c4a8
Fix handling of null values in database migration to version 3
Some values prior to this version could be null, this wasn't handled
properly before.
2020-03-30 15:50:46 -03:00
Alexander--
6a84f433ea Merge remote-tracking branch 'newpipe/dev' into rebase 2020-03-30 16:54:51 +06:59
Tobias Groza
5f549a8fc6
Merge pull request #3289 from B0pol/grid_moreinfo
add upload date on stream grid items
2020-03-29 23:49:39 +02:00
Tobias Groza
7c72f17fad
Merge pull request #3279 from mauriciocolli/fix-not-found-handling
Handle content not available exception more comprehensively
2020-03-28 19:10:43 +01:00
Mauricio Colli
b4cabe23e3
Handle content not available exception more comprehensively 2020-03-28 14:54:52 -03:00
Tobias Groza
40de014732
Merge pull request #3283 from Stypox/fix-mute-button
Fix mute button inflation problems on API<21
2020-03-28 18:38:36 +01:00
Mauricio Colli
f9b718f1eb
Use correct class for getting a vector drawable in older APIs 2020-03-28 14:30:47 -03:00
Mauricio Colli
4dc28989c8
Fix bug when searching for urls from shared content 2020-03-28 14:06:11 -03:00
Mauricio Colli
f133bbf499
Introduce a proper way to find urls in a string input 2020-03-28 14:06:09 -03:00
bopol
b995f39206 add upload date on stream grid items
fixes #3175
2020-03-28 14:19:57 +01:00
Mauricio Colli
d8e83dabc6
Temporary: Fix menu visibility when restoring state in the pager adapter
When restoring the state of the adapter, all the fragments' menu
visibility were set to false, effectively disabling the menu from the
user until he switched pages or another event that triggered the menu to
be visible again happened.

FragmentStatePagerAdapter is deprecated and should be replaced with its
ViewPager2 counterpart, until then, this should do it.
2020-03-27 11:30:38 -03:00
Mauricio Colli
10faa45182
Align and enable autosizing for the app name text view in drawer header
- Use a proper drop up/down arrow icon.
- Move selected service views for better visibility.
- Show the selected service icon next to its name.
- Add a subtle fade background to the service name/icon for better
readability.
2020-03-26 19:21:30 -03:00
Linus Jahn
edff3c35f2
ThemeHelper: Fix 'the the' typo 2020-03-26 01:50:32 +01:00
TobiGr
55c577e76e Seek duration should not be rounded up when opening the settings, even if inexact seek is disabled 2020-03-25 22:34:02 +01:00
Tobias Groza
5a8b565199
Merge pull request #3252 from B0pol/mute_button
Change mute button color for more visibility
2020-03-23 23:10:48 +01:00
bopol
8d068b339a remove unused imports 2020-03-21 21:54:40 +01:00
bopol
c54ac32732 mute button color for queue 2020-03-21 21:51:11 +01:00
bopol
47c5008871 Change mute button color for more visibility 2020-03-21 16:58:53 +01:00
Tobias Groza
27156d74da
Merge pull request #3220 from kapodamy/webm-seek-fix
fix for #3204
2020-03-20 11:49:39 +01:00
Mauricio Colli
27fc0d5900
Make duration plurals naming consistent 2020-03-19 09:44:13 -03:00
bopol
85e16afaa0 use val instead of val, make sentence more natural 2020-03-19 09:44:12 -03:00
bopol
0ae4d1369d use plural string for feed_group_dialog_selection_count 2020-03-19 09:44:11 -03:00
bopol
d0f2a02277 delete «seconds» plural string in favor of «dynamic_seek_duration_description» to avoid weblate conflicts 2020-03-19 09:44:10 -03:00
Alexander--
381b491845 Prevent foocus from escaping open navigation drawer
When contents of NewPipe navigation drawer change, NavigationMenuView
(which is actually a RecyclerView) removes and re-adds all its adapter
children, which leads to temporary loss of focus on currently focused drawer
child. This situation was not anticipated by developers of original
support library DrawerLayout: while NavigationMenuView itself is able
to keep focus from escaping via onRequestFocusInDescendants(),
the implementation of that method in DrawerLayout does not pass focus
to previously focused View. In fact it does not pass focus correctly at all
because the AOSP implementation of that method does not call addFocusables()
and simply focuses the first available VISIBLE View, without regard
to state of drawers.
2020-03-15 09:37:29 +06:59
Alexander--
6aca344bf7 Merge remote-tracking branch 'newpipe/dev' into rebase 2020-03-15 09:08:01 +06:59
Mauricio Colli
97f5490c13
Add help dialog to feed screen
Help to a possible confusion or simply awareness that NewPipe has both
ways to load the feed.
2020-03-14 13:24:25 -03:00
Alexander--
512046e300 Fix navigating to action bar buttons on API 28
Keyboard focus clusters prevent that from working, so
we simply remove all focus clusters.

While they are generally a good idea, focus clusters were created
with Chrome OS and it's keyboard-driven interface in mind - there is no
documented way to move focus between clusters using only IR remote.
As such, there are no negative consequences to disabling them on Android TV.
2020-03-14 14:47:02 +06:59
Mauricio Colli
ac44ed0862
Localize duration strings used in feed settings using plurals 2020-03-14 00:12:53 -03:00
Mauricio Colli
b62142db82
Detect if the subscription list should be shown as a grid
Also used proper string keys for the preferences, left a TODO to fix it
in other places later.
2020-03-14 00:12:52 -03:00
Mauricio Colli
f01e40e671
Simplify screen handling in feed group dialog 2020-03-14 00:12:51 -03:00
Mauricio Colli
d8b9d353aa
Add a confirmation dialog when deleting a feed group 2020-03-14 00:12:50 -03:00
Mauricio Colli
98c65d8ddb
Don't expose MutableLiveData in view models 2020-03-14 00:12:48 -03:00
Mauricio Colli
597859eb23
Disable buttons when processing actions in the feed dialogs 2020-03-14 00:12:47 -03:00
Mauricio Colli
d1d5f6821f
Implement feed groups manual sorting
Now, the user can sort its groups to his liking even after he created
them.

Also updated the database diagram to reflect the table's new column.
2020-03-14 00:12:45 -03:00
Mauricio Colli
50714c3006
Add ability to cancel a feed update through a notification action
- Change prefetch value default so each parallel rail buffers less
items.
2020-03-14 00:12:44 -03:00
Mauricio Colli
18a40168d9
Add Groupie library to the credit list in the about page 2020-03-14 00:12:43 -03:00
Mauricio Colli
2c783ff911
Stick info header when selecting subscriptions in the feed group dialog
- Avoid creating plural translation by using a different wording
2020-03-14 00:12:42 -03:00
Mauricio Colli
3f32573638
Replace hardcoded value that represents the group "All" with a constant 2020-03-14 00:12:41 -03:00