Commit Graph

941 Commits

Author SHA1 Message Date
Stypox 78b4b9441e
Update NewPipeExtractor and adapt imports 2023-09-18 23:22:32 +02:00
Stypox c48e702a50
Improve placeholder channel banner handling
Now the placeholder gets hidden if there is no banner url or the user disabled images, to save space
2023-09-18 23:22:32 +02:00
Stypox 1061bce4f3
Add avatar and bannner URLs to channel About tab 2023-09-18 23:22:32 +02:00
Stypox 013d513450
Add space above channel description (About tab) 2023-09-18 23:22:32 +02:00
ThetaDev 753a92055c
feat: add playlist controls to channel tab 2023-09-18 23:22:32 +02:00
Stypox 371f986773
Fix some code smells 2023-09-18 23:22:32 +02:00
Stypox a1e8b9be4e
Fix channel tabs in main page setting title themselves 2023-09-18 23:22:32 +02:00
Stypox c076a0f771
Channels are now an Info
The previous "main" tab is now just a normal tab returned in getTabs().
Various part of the code that used to handle channels as ListInfo now either take the first (playable, i.e. with streams) tab (e.g. the ChannelTabPlayQueue), or take all of them combined (e.g. the feed).
2023-09-18 23:22:32 +02:00
ThetaDev b5893f3fa3
fix: notification menu option disappears when switching tabs 2023-09-18 23:22:32 +02:00
Stypox e3614cb932
Move channel header to collapsible app bar 2023-09-18 23:22:32 +02:00
ThetaDev 193c3e5b3d
fix: NPE in ChannelFragment::onSaveInstanceState 2023-09-18 23:22:32 +02:00
ThetaDev c03c344f49
refactor: rename ChannelInfo to ChannelAbout
fix: localize about tab name
2023-09-18 23:22:32 +02:00
ThetaDev 25e3031830
cleanup: remove empty constructor from ChannelFragment 2023-09-18 23:22:31 +02:00
ThetaDev 39b4ed082c
refactor: common code from ChannelInfo/Description -> BaseInfoFragment 2023-09-18 23:22:31 +02:00
ThetaDev be548dcb52
fix: channel tab title not being set 2023-09-18 23:22:31 +02:00
ThetaDev 4357a34339
fix: ChannelFragment: save last tab 2023-09-18 23:22:31 +02:00
ThetaDev 2c03ba204e
refactor: adjustments to updated tab extractor API 2023-09-18 23:22:31 +02:00
ThetaDev 2c98d079de
fix: cache channel data 2023-09-18 23:22:31 +02:00
ThetaDev c929f00456
fix: remember selected channel tab on screen rotation 2023-09-18 23:22:31 +02:00
ThetaDev bb062f07f9
feat: add option to hide channel tabs 2023-09-18 23:22:31 +02:00
ThetaDev 4859ab67d4
feat: prettier channel info page 2023-09-18 23:22:31 +02:00
ThetaDev 6d84d19520
fix: handle unsupported content 2023-09-18 23:22:31 +02:00
ThetaDev 8627efd0a1
fix: get notified menu option on all tabs 2023-09-18 23:22:31 +02:00
ThetaDev 6d13cf5e71
feat: add channel tabs 2023-09-18 23:22:31 +02:00
TobiGr 9118ecd68f Remove unnecessary debug warning and use JDoc instead 2023-08-17 16:51:31 +02:00
Yingwei Zheng ef40ac7bb3 Fix a typo 2023-08-16 22:02:12 +02:00
Yingwei Zheng 881d04ba1e Refactor database migration test and string trimming 2023-08-16 22:02:12 +02:00
TobiGr 4af5b5f6f2 Fix database migration and string trimming
Co-authored-by:  Yingwei Zheng <dtcxzyw@qq.com>
2023-08-16 22:02:12 +02:00
TobiGr 90f0809029 Trim search string and remove duplicate records from the database
Co-authored-by:  Yingwei Zheng <dtcxzyw@qq.com>
2023-08-16 21:26:35 +02:00
Stypox bef79e77aa
Update app/src/main/java/org/schabi/newpipe/fragments/list/BaseListInfoFragment.java 2023-08-06 10:07:13 +02:00
TobiGr 32f74273f0 Adjust empty state message for ListInfoFragments depending on Info stream type
Show "no streams" for SoundClound.
Show "no live streams" for MeidaCCCLiveStreamKiosk.
Otherwise show "no videos"
2023-08-05 03:50:28 +02:00
Tobi 471137093a
Merge pull request #9719 from Marius1501/tabs_on_bottom
Added bottom main-tabs feature
2023-07-18 22:03:47 +02:00
TacoTheDank c1f0a945c0 Clean up AlertDialogs 2023-07-11 21:54:10 -04:00
Stypox 10c42de2f1
Fix uploader and subchannel avatars swapped 2023-05-03 10:35:28 +02:00
AudricV 023f6166ab
Add Open in browser button to audio external players dialog
This change makes the dialog consistent with the video one.
2023-05-02 00:18:46 +02:00
ThetaDev 365bb2d0e4 Merge branch 'dev' of github.com:TeamNewPipe/NewPipe into alang-selector 2023-04-05 14:06:14 +02:00
Marius Wagner 3c72992c39 Update app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java
Co-authored-by: Stypox <stypox@pm.me>
2023-04-04 09:57:06 +02:00
ge78fug 32cec6c9a7 Changed the naming 2023-04-04 09:57:06 +02:00
Marius Wagner 72ca52a29b Made the requested changes 2023-04-04 09:57:06 +02:00
ge78fug 2ded8c7cc1 Made two list options 2023-04-04 09:57:06 +02:00
ThetaDev d010384c88 Merge branch 'dev' of github.com:TeamNewPipe/NewPipe into alang-selector 2023-04-03 22:13:16 +02:00
Stypox 02906e8132
Merge pull request #9812 from TeamNewPipe/revert-8894-WindowCompat
Revert "Use WindowCompat."
2023-04-03 14:23:17 +02:00
ThetaDev ef0a4cf8b2 feat: add external audio playback language selector 2023-03-19 21:05:48 +01:00
Stypox 65680b2ccf
Only update main tabs position when it changes 2023-02-26 15:58:09 +01:00
Stypox c8ffe65acf
Simplify code to set tab layout position 2023-02-26 15:42:49 +01:00
Stypox 097c2368f4
Merge pull request #8180 from Trust04zh/fix-4053-8176
Make UI behavior for playback information display more consistent
2023-02-26 13:22:13 +01:00
Stypox 600ebdae18
Correctly open urls in browser on Android 11+
- Fix misconfiguration in manifest ('http|https|market' is not valid)
- Split ShareUtils functions taking a boolean parameter into pairs of functions with better names and less runtime checks
- Move all Kore-related functions to KoreUtils
- Remove the toast_no_player string
2023-02-25 09:13:59 +01:00
Stypox 39c500f33c
Revert "Use WindowCompat." 2023-02-14 08:27:04 +01:00
ge78fug 26b29ca78d Made the requested color changes 2023-02-07 18:46:40 +01:00
Trust_04zh e947e86eae
Make positions in list depend on watch history, remove confusing animations
The following is the list of all commits squashed together:

Regain function for option `Positions in lists`

use option `Resume playback` to control display of progress info in VideoDetailFragment, remove this (extra) function from option `Positions in lists`.
remove extra check for live streams, live streams updates just as non-live streams.

fix #8176 by eliminating exit delay

Regain function for option `Positions in lists`

update code with developer's comments

 apply static import to methods in util class DependentPreferenceHelper

Regain function for option `Positions in lists`

use option `Resume playback` to control display of progress info in VideoDetailFragment, remove this (extra) function from option `Positions in lists`.
remove extra check for live streams, live streams updates just as non-live streams.

fix behavior for displaying progress bar when autoplay off but video resume on

not to retrieve unnecessary states when position in lists disabled

fix mistake in code

simplify conditional logic

update doc comment and remove unused method

Fix not showing duration if position indicators disabled

Positions in lists only depends on watch history
2023-02-07 09:48:18 +01:00
ge78fug 38db0cc713 Changed the color 2023-01-31 16:07:57 +01:00
Stypox cd12503f99
Merge pull request #9631 from TeamNewPipe/update-npe
Update NewPipeExtractor and properly linkify comments
2023-01-28 22:40:19 +01:00
Stypox 1e724eba6c
Merge pull request #9706 from Jared234/9131_bug_background_player
Fixed a bug that caused the background player to stop working
2023-01-28 21:56:00 +01:00
ge78fug 0821f6463a Added bottom main-tabs feature 2023-01-25 19:25:57 +01:00
Jared Fantaye 5b3f8a3d30 Replaced the equals method 2023-01-21 14:56:55 +01:00
Stypox b9378a7c1f
Fix NPEs after OnSharedPreferenceChangeListener changes
Apps targeting {@link android.os.Build.VERSION_CODES#R} on devices running OS versions {@link android.os.Build.VERSION_CODES#R Android R} or later, will receive a {@code null} value when preferences are cleared.
2023-01-16 22:30:28 +01:00
Stypox abe6dfb99c
Merge pull request #9671 from Stypox/fix-toast-crash-api33
Fix popup enablement toast crash on API 33
2023-01-15 21:05:05 +01:00
Stypox 489df0ed7d
Update NewPipeExtractor and properly linkify comments 2023-01-15 19:27:56 +01:00
Mahendran 7924bb5b6b Thumbnails used in NewPipe are small (list/grid) mode. This PR facilitates full width thumbnails and dubbed as card mode. 2023-01-15 22:32:03 +05:30
Stypox 51af961e0d
Merge pull request #8894 from Isira-Seneviratne/WindowCompat
Use WindowCompat.
2023-01-15 15:14:05 +01:00
Stypox 22c201be39
Create text subpackage in util 2023-01-15 11:51:07 +01:00
AudricV cdd5e89b86
Add ability to copy hashtags, URLs and timestamps in descriptions on long-press
This commit adds the ability to copy to clipboard hashtags, URLs and timestamps
when long-pressing them.

Some changes in our TextView class related to text setting have been required
and metadata items are now using a NewPipeTextView instead of a standard
TextView.

Six new classes have been added:

- a custom LinkMovementMethod class;
- a custom ClickableSpan class, LongPressClickableSpan, in order to set a long
  press event;
- a class to avoid code duplication in CommentTextOnTouchListener, TouchUtils;
- three implementations of LongPressClickableSpan used when linkifying text:
  - HashtagLongPressClickableSpan for hashtags;
  - TimestampLongPressClickableSpan for timestamps;
  - UrlLongPressClickableSpan for URLs.
2023-01-15 11:40:27 +01:00
Isira Seneviratne f766ef2033 Replace the system UI visibility flags with WindowCompat calls. 2023-01-15 05:44:45 +05:30
Stypox b6e6d39985
Fix toast crash on API 33
You shouldn't call getView() on toasts.
Also simplified some duplicate code.
2023-01-12 11:39:25 +01:00
Stypox ad605e2c5a
Actually there is no need to use flatMap
`null` values returned in the lambda are converted to empty `Optional`s in the `map` method: https://developer.android.com/reference/java/util/Optional#map(java.util.function.Function%3C?%20super%20T,%20?%20extends%20U%3E)
2023-01-11 15:26:46 +01:00
Stypox 9c7ed80662
Use Optional.map correctly and other improvements 2023-01-11 14:47:53 +01:00
Isira Seneviratne e3062d7c66 Use Optional chaining. 2023-01-04 05:16:21 +05:30
Isira Seneviratne fd55d85bbf Remove SimplifyOptionalCallChains. 2023-01-04 05:16:21 +05:30
Stypox 7454b31788
Merge pull request #9562 from bravenewpipe/use-videostream-for-audio-only-background-playback
Support audio only background for services only supporting video streams
2023-01-02 17:51:10 +01:00
evermind f4a5b3bcbf set 'playback in background button' visible if there are videostreams 2023-01-01 21:55:03 +01:00
Stypox 6af2242d5d
Merge pull request #9521 from pratyaksh1610/branch-9518
Fixes #9518: Crash fix when click "Add to playlist" while the current list is still loading
2022-12-31 23:31:58 +01:00
Stypox d21fac658b
Remove playlist details toasts 2022-12-31 23:30:17 +01:00
Stypox be856f71c8
Merge pull request #8847 from Isira-Seneviratne/Refactor_VideoDetailFragment
Refactor VideoDetailFragment.
2022-12-31 18:41:06 +01:00
Stypox 97978033dd
Activate on click listeners only when not loading
For consistency with long click listeners, in VideoDetailFragment
2022-12-31 17:49:10 +01:00
Stypox 413a1b504a
Refactor constrolsTouchListener code 2022-12-31 17:47:57 +01:00
Stypox 231e677b16
Merge pull request #8895 from Isira-Seneviratne/SparseArrayCompat
Use SparseArrayCompat.
2022-12-28 20:37:05 +01:00
pratyaksh1610 c537776826 Fixes #9518
- Crash fix on clicking on add to playlist.
- Added toast when clicked on share button for better UI.
2022-12-09 14:09:40 +05:30
Isira Seneviratne c7d392e77e Merge branch 'dev' into Refactor_VideoDetailFragment 2022-12-06 20:21:28 +05:30
Stypox a6f57a8665
Merge pull request #9173 from Theta-Dev/video-sub-count
Show subscriber count on video details page
2022-12-04 20:50:13 +01:00
ThetaDev 86ee94eb04
show subscriber count on player page 2022-12-04 20:45:09 +01:00
Stypox 9c4d5526f4
Merge pull request #8810 from Isira-Seneviratne/Math_floorDiv
Use Math.floorDiv().
2022-12-04 18:08:12 +01:00
Isira Seneviratne 8db90ba449 Use SparseArrayCompat for thumbnails. 2022-11-22 17:51:54 +05:30
Isira Seneviratne a40f035810 Merge branch 'dev' into Refactor_VideoDetailFragment 2022-11-14 08:58:45 +05:30
Tobi 627c6e29a2
Merge pull request #8316 from han-sz/fix_video_mouse_hover_overlay
Fix persistent hover overlay when in desktop/DeX mode or using a mouse/non-touch input
2022-11-09 17:10:01 +01:00
Hanif Shersy a1773d166f
Fix JSDoc checkstyle warning 2022-11-09 15:44:36 +01:00
Hanif Shersy ff774a1870
Fix persistent hover overlay when mouse connected 2022-11-09 15:44:27 +01:00
Isira Seneviratne feb03f7e30 Use Math.floorDiv(). 2022-11-09 20:01:40 +05:30
Stypox 9472c36cbd
Merge pull request #9109 from TeamNewPipe/fix/overlayPlayQueueButton
Hide play queue button in VideoDetailsFragment when queue is empty
2022-11-05 20:28:14 +01:00
Isira Seneviratne e4f97465a4 Use lambdas for VideoDetailFragment listeners. 2022-11-03 20:15:17 +05:30
Stypox ea875c59af
Deduplicate isGridLayout calls 2022-10-27 17:25:06 +02:00
TobiGr 4a278ef102 Hide play queue button in VideoDetailsFragment mini player when the play queue is empty
Related PR introducing the button: #8946
2022-10-11 21:27:04 +02:00
Tobi 8bc8355b68
Merge pull request #8946 from HybridAU/add_play_queue_button_to_video_details_fragment
Add play queue button to video details fragment
2022-10-06 18:55:50 +02:00
HybridAU 9db0133a5b
Add play queue button to video details fragment
* Add play queue button to video details fragment

* Use existing ic_list icon

* Still open play queue even when queue is empty

* Change app:srcCompat to android:src
2022-09-14 21:00:44 +08:00
Stypox 28b34f3796
Fix scroll issues in suggestion list
Before if the list before updating contained item 'test' at position 0 and after updating that value went to the bottom, the list would incorrectly scroll to the bottom to follow that item. Now the scrolling is done after the list is updated.
2022-09-14 14:39:32 +02:00
Stypox 1f57c87859
Disable suggestion list animations: not meaningful
The animations were just in the way and did not help in choosing items, since the suggestion items keep changing too much.
2022-09-14 14:04:22 +02:00
Stypox fbf5549182
Fix wrong icons being set on suggestion items
The diff util wrongly considered as equal two items with the same text but with different `fromHistory` value
2022-09-14 14:01:59 +02:00
Stypox f9994abb94
Prevent tapping on thumbnail if video details are not loaded 2022-08-26 18:54:51 +02:00
Stypox ca0f56eea8
Avoid setting invalid states to bottom sheet callback 2022-08-26 18:54:51 +02:00
Stypox 500acce178
Fix regression in screen rotation animation 2022-08-26 18:54:51 +02:00
Stypox 6805c75c9c
Fix surface view not resizing video correctly
Also fix yet another random null pointer exception that could happen when adding the video player view
2022-08-26 18:54:51 +02:00