Commit graph

452 commits

Author SHA1 Message Date
Tobi
9b0c7c24bf Merge pull request #8734 from Stypox/feed-group-factory
Improve `FeedGroupDialogViewModel` factory
2022-10-09 19:35:47 +02:00
Stypox
f2fa9e7e21 Fix feed menu tooltips (silly copy-paste error) 2022-09-19 11:21:42 +02:00
Stypox
4c537a7dbc Show correct tooltips for actions in feed 2022-09-13 15:26:04 +02:00
Stypox
9bfea8082c Keep strong references to Picasso notification icon loading targets
Before the Target would sometimes be garbage collected before being called with the loaded channel icon, since Picasso holds weak references to targets. This meant that sometimes a new streams notification  would not be shown, because the lambda that should have shown it had already been garbage collected.
2022-08-25 16:41:51 +02:00
Isira Seneviratne
cf52c320fc Remove unused methods in HistoryRecordManager. 2022-08-06 05:09:54 +05:30
Stypox
682bc2f453 Improve FeedGroupDialogViewModel factory 2022-08-04 10:49:33 +02:00
Isira Seneviratne
12f042bfd5 Merge branch 'dev' into OnClickGesture_interface 2022-08-04 06:10:39 +05:30
Isira Seneviratne
00fe0ff879 Make OnClickGesture an interface. 2022-08-01 06:47:00 +05:30
Isira Seneviratne
4b37750156 Use Application instead of Context in FeedViewModel. 2022-07-31 08:37:16 +05:30
Stypox
ac279c6147 Improve FeedViewModel factory 2022-07-31 08:30:17 +05:30
Isira Seneviratne
356bdb26e1 Update Lifecycle to 2.5.1. 2022-07-31 08:30:17 +05:30
litetex
e2f5b521bb Merge pull request #8621 from Stypox/deduplicate-feed
Deduplicate SQL queries to get feed streams
2022-07-24 14:52:35 +02:00
Stypox
47c66c3431 Fix wrong thumbnail used as placeholder for channel 2022-07-22 15:13:47 +02:00
Stypox
808935152b Deduplicate SQL queries to get feed streams 2022-07-18 23:39:57 +02:00
litetex
c32fd9a20c Changed the code accordingly
+ Removed some unused code
2022-07-15 19:55:19 +02:00
litetex
1706856f24 Merge pull request #8170 from Stypox/player-refactor
Refactor player and extract UI components
2022-07-15 19:41:23 +02:00
Stypox
a6cc11225d Rename dummy_* and more to placeholder_* 2022-07-14 14:27:33 +02:00
Stypox
067239b4f7 Merge pull request #8542 from carmebar/share-playlist
Add 'Share playlist' option to Playlist fragment
2022-07-13 23:45:08 +02:00
Stypox
d71da66cc5 Move PlayerType into its own class and add documentation
Also replace some `isPlayerOpen` with direct `playerType == null` checks.
2022-07-13 23:33:18 +02:00
Stypox
65651e0302 Some refactorings after review comments 2022-07-13 23:33:18 +02:00
Stypox
b3201b20c7 Solve some Sonarlint warnings 2022-07-13 23:33:16 +02:00
Stypox
5ba14c4b7c Refactor player: separate UIs and more 2022-07-13 23:25:26 +02:00
litetex
4a4ca3c18e Clean up pre-Lollipop checks 2022-07-13 19:02:24 +02:00
Carlos Melero
98f9b6f258 Add Share option to local playlists
A newline-separated text is shared
2022-07-13 14:32:23 +02:00
Stypox
b6d746d1c9 Merge pull request #8545 from carmebar/hide-future-videos
Add option to hide future videos in feed
2022-07-13 11:07:38 +02:00
litetex
eff828aeea Fix compile errors 2022-07-04 23:19:41 +02:00
Stypox
0581ad0075 Actually fix wrong view count 2022-07-01 16:07:19 +02:00
Carlos Melero
4e77c9f721 Add option to hide future videos in feed 2022-06-24 18:03:48 +02:00
AudricV
f7d2975ad1 Add support of other delivery methods than progressive HTTP (in the player only)
Detailed changes:

- External players:

  - Add a message instruction about stream selection;
  - Add a message when there is no stream available for external players;
  - Return now HLS, DASH and SmoothStreaming URL contents, in addition to progressive HTTP ones.

- Player:

  - Support DASH, HLS and SmoothStreaming streams for videos, whether they are content URLs or the manifests themselves, in addition to progressive HTTP ones;
  - Use a custom HttpDataSource to play YouTube contents, based of ExoPlayer's default one, which allows better spoofing of official clients (custom user-agent and headers (depending of the client used), use of range and rn (set dynamically by the DataSource) parameters);
  - Fetch YouTube progressive contents as DASH streams, like official clients, support fully playback of livestreams which have ended recently and OTF streams;
  - Use ExoPlayer's default retries count for contents on non-fatal errors (instead of Integer.MAX_VALUE for non-live contents and 5 for live contents).

- Download dialog:

  - Add message about support of progressive HTTP streams only for downloading;
  - Remove several duplicated code and update relevant usages;
  - Support downloading of contents with an unknown media format.

- ListHelper:

  - Catch NumberFormatException when trying to compare two video streams between them.

- Tests:

  - Update ListHelperTest and StreamItemAdapterTest to fix breaking changes in the extractor.

- Other places:

  - Fixes deprecation of changes made in the extractor;
  - Improve some code related to the files changed.

- Issues fixed and/or improved with the changes:

  - Seeking of PeerTube HLS streams (the duration shown was the one from the stream duration and not the one parsed, incomplete because HLS streams are fragmented MP4s with multiple sidx boxes, for which seeking is not supported by ExoPlayer) (the app now uses the HLS manifest returned for each quality, in the master playlist (not fetched and computed by the extractor));
  - Crash when loading PeerTube streams with a separated audio;
  - Lack of some streams on some YouTube videos (OTF streams);
  - Loading times of YouTube streams, after a quality change or a playback start;
  - View count of YouTube ended livestreams interpreted as watching count (this type of streams is not interpreted anymore as livestreams);
  - Watchable time of YouTube ended livestreams;
  - Playback of SoundCloud HLS-only tracks (which cannot be downloaded anymore because the workaround which was used is being removed by SoundCloud, so it has been removed from the extractor).
2022-06-17 22:00:22 +02:00
Isira Seneviratne
c06115fc85 Merge branch 'dev' into Use_AppCompatResources
# Conflicts:
#	app/src/main/java/org/schabi/newpipe/fragments/list/playlist/PlaylistFragment.java
2022-05-16 12:36:00 +05:30
Isira Seneviratne
d02b988138 Use AppCompatResources. 2022-05-16 12:27:44 +05:30
litetex
300349ade2 Use better way to get services 2022-05-09 20:58:10 +02:00
litetex
388fa300ed Remove not required use of supplier
from code review
2022-05-07 15:08:38 +02:00
litetex
89d4d1d777 Icons for import/export 2022-05-07 15:08:36 +02:00
litetex
8f0e71e6fb Used service icons for import 2022-05-07 15:08:36 +02:00
litetex
e8763e7017 Moved import/export options to menu 2022-05-07 15:08:34 +02:00
Stypox
70bf99810b Readd spaces 2022-05-05 18:04:33 +02:00
LingYinTianMeng
68a2350290 Update LocalPlaylistFragment.java 2022-05-03 09:37:35 +08:00
LingYinTianMeng
0fe7cf5d13 Merge branch 'TeamNewPipe:dev' into dev 2022-05-03 09:26:32 +08:00
LingYinTianMeng
89a98c9f23 Update LocalPlaylistFragment.java 2022-05-03 09:21:43 +08:00
LingYinTianMeng
be4ddf6db6 fix issue #7563 2022-04-17 22:23:03 +08:00
litetex
284b44414b Merged `DrawableResolver into ThemeHelper` 2022-04-16 21:21:57 +02:00
litetex
e6f59612b0 Use better Kotlin syntax
From the PR review
2022-04-16 21:21:54 +02:00
litetex
7723a51c9c Reworked switching to semitones
Using an expandable Tab-like component instead of a combobox
2022-04-16 21:21:51 +02:00
GGAutomaton
922a145c06 Use newInstance in PlaylistDialog 2022-04-04 13:50:27 +08:00
Stypox
6ead95b5d2 Merge branch 'dev' into pr2335 2022-03-19 22:29:10 +01:00
Stypox
ac91f1541a Remove backoff criteria: it never kicked in
It never kicked in since we are never returning a retry() Result, but always either success() or failure() (see createWork() function). Also, there is already a default (exponential backoff starting from 30 seconds), so no need to override it.
2022-03-19 21:55:00 +01:00
litetex
22bdcde527 Merge pull request #8073 from Stypox/bump-checkstyle
Update checkstyle to 10.0 and fix various related issues
2022-03-19 14:37:52 +01:00
Stypox
8cc890d799 Use @SuppressWarnings for checkstyle suppressions & warnings
It's better to use @SuppressWarnings instead of the suppressions file, so that the warning suppression is at the place where it acts.
2022-03-18 23:57:11 +01:00
TacoTheDank
141ad361b0 Annotate some NonNulls, some lint cleaning 2022-03-18 13:15:44 -04:00