Commit graph

709 commits

Author SHA1 Message Date
TobiGr
9f3031bc3a Refactor generating InfoItemDialog's
This commit refactors the way `InfoItemDialog`s are generated. This is necessary because the old way used  the `StreamDialogEntry` enum for most of the dialogs' content generation process. This required static variables and methods to store the entries which are used for the dialog to be build (See e.g.`enabledEntries` and methods like `generateCommands()`). In other words, `StreamDialogEntry` wasn't an enumeration anymore.

To address this issue, a `Builder` is introduced for the `InfoItemDialog`'s genration. The builder also comes with some default entries and and a specific order. Both can be used, but are not enforced. 

A second problem that introduced a structure which was atypical for an enumeration was the usage of non-final attributes within `StreamDialogEntry` instances. These were needed, because the default actions needed to overriden in some cases.

To address this problem, the `StreamDialogEntry` enumeration was renamed to `StreamDialogDefaultEntry` and a new `StreamDialogEntry` class is used instead.
2022-02-20 20:17:04 +01:00
litetex
afe11d4b0f Fixed scrolling not working when rotating device 2022-02-17 20:59:41 +01:00
litetex
ea84f69406 Fixed listener not re-registering after e.g. a new search is started 2022-02-17 20:59:38 +01:00
litetex
4413d617bf Reverted to loading behavior of #7638 and improved it
The previous/reverted behavior caused unwanted data transmission:
* Removed loading via handleResults/loadMoreItems-callback because the RecyclerView is apparently not immediately updated in the UI when the data is set which causes one load of data to much.
2022-02-17 20:59:38 +01:00
litetex
48f47b27c7 Tried to repair #4475 and #3368
* Always recreate the footer so that it's not possible to attach the same instance twice
* Removed support for creating a custom footer as it's never used
* Supply the header with an supplier
  * This might not fix the problem completely as we currently can only create the header once inside Channel, Playlist and RelatedItems-Fragment - allowing creation of multiple headers might be done in the future if the issues still arise
* Other minor fixes
2022-02-17 20:59:36 +01:00
litetex
8bb2c89378 Code improvements
Removed - partial - stupid code.
2022-02-17 20:59:35 +01:00
litetex
b19bc31d05 Load enough initial data into BaseListFragment 2022-02-17 20:59:33 +01:00
TiA4f8R
b6731c2187 Set workaround for playback position reset when switching to main player with content thumbnail
The workaround set before was not applied when switching to main player with content thumbnail from popup or background player. This commit fixes this by applying the workaround when switching to main player with content thumbnail from popup or background player.
2022-02-11 19:32:13 +01:00
litetex
3ce8875b39 Merge pull request #7704 from Stypox/fix-stream-menu-crash
Fix crash when long-pressing stream while player is starting
2022-02-09 19:53:09 +01:00
Stypox
a9f6c8d726 Do not show enqueue button if play queue not ready 2022-01-27 17:11:16 +01:00
litetex
d094b4f11a Abstracted methods for the Android keyboard 2022-01-24 21:08:39 +01:00
XiangRongLin
6f9fd77015 Merge pull request #7668 from litetex/fix-video-reset-on-player-switch
Workaround: Set recovery before switching player
2022-01-19 16:45:10 +01:00
litetex
1f7c6dfdc9 Workaround: Set recovery before switching player
Quick fix
2022-01-17 20:52:07 +01:00
TiA4f8R
682877ea4f Fix NullPointerException when sharing a playlist which is loading
Prevent a NullPointerException by adding a null check for currentInfo when sharing a playlist.
2022-01-15 21:19:04 +01:00
litetex
4ae2c43d16 Fixed search not accepting key input after closing player overlay (#7607)
* Fixed search not accepting key input after closing player overlay

* Made comments easier to understand

* More comments
2022-01-03 11:52:08 +01:00
Jaspann
b7fb5081ba Move sub icon visibility line 2021-12-28 15:54:36 -05:00
William Parker
3fc1e1cb1d Fixed code styling 2021-12-26 00:12:48 -05:00
Jaspann
f15f2edc53 Fixes view of sub-channel icon when not in use 2021-12-25 18:10:05 -05:00
TobiGr
778f57b422 Small improvements to code quality and readability
Add annotations to methods and parameters.
Replace Jetbrains' @NotNull with Androidx' @NonNull annotatiation.
Make class variables static if possible.
Use constants for some Strings.
Simplify if conditions.
2021-12-21 20:55:41 +01:00
TobiGr
c12552f7e7 Make PlayerHolder.bound private 2021-12-21 20:51:18 +01:00
Robin
bfacb54792 Merge pull request #7451 from Cheechaii/respect-cutout-in-multiwindow
Respect cutouts when playing in MultiWindow
2021-12-19 13:23:28 +01:00
litetex
960cd67321 Merge pull request #7482 from TeamNewPipe/unify-error-reporting
Unify error reporting and add error notification
2021-12-14 19:58:41 +01:00
Cheechaii
81b3b6de34 Respect cutouts when playing in MultiWindow 2021-12-09 20:58:05 +01:00
Stypox
de83cff1e1 Fix order of local search results 2021-12-08 13:59:32 +01:00
Stypox
5583f71a8e Replace ErrorActivity with ErrorUtil 2021-12-04 10:36:36 +01:00
litetex
12a0db37a0 Fixed NPE + Problems with context 2021-11-28 13:42:26 +01:00
litetex
aef6bcf747 Fixed build 2021-11-23 20:21:59 +01:00
litetex
2dcb2452dd Refactoring 2021-11-23 20:12:16 +01:00
litetex
dad41074b3 Added a bit more documentation 2021-11-23 20:12:13 +01:00
litetex
99a2414f18 Added some doc 2021-11-23 20:12:10 +01:00
litetex
8e7de5a4a6 Added a "Crash the player" debug option 2021-11-23 20:12:09 +01:00
Stypox
f27bd764ec Merge pull request #7160 from nschulzke/mark-as-watched-everywhere
Enable Mark as Watched in all the other playlist fragments.
2021-11-13 20:37:59 +01:00
Nathan Schulzke
517a98bdf9 Factor out shouldAddMarkAsWatched as a shared function 2021-11-13 10:18:17 -07:00
litetex
623dff5c2a Merge pull request #7261 from TacoTheDank/bumpRecyclerView
Update RecyclerView & Groupie libraries
2021-10-24 21:22:04 +02:00
Tobi
0a15251ec4 Merge pull request #7268 from TeamNewPipe/release/0.21.13
Release 0.21.13
- Fix playback resume
- Ensure that the service for new version checks is not started in background
2021-10-21 20:51:01 +02:00
Stypox
a707961ef4 Revert part of #6872 and fix playback resuming 2021-10-20 23:20:26 +02:00
TacoTheDank
8f7a36dc48 Update RecyclerView & Groupie 2021-10-19 17:31:59 -04:00
TacoTheDank
53cc6737bc Get rid of setUserVisibleHint 2021-10-16 15:33:45 -04:00
litetex
2361d32f75 Cleaned up PlaylistDialog-related code 2021-10-09 18:46:20 +02:00
Nathan Schulzke
dfe72e0db1 Enable Mark as Watched in all the other playlist fragments. 2021-09-23 21:39:47 -06:00
Stypox
890b5b3895 Merge branch 'master' into dev 2021-09-19 22:37:00 +02:00
Stypox
b2a2984ffb Fix restoring orientation in onBack 2021-09-19 19:09:11 +02:00
z3r0r4
ac3a8214b2 Add play next to long press menu & refactor enqueue methods (#6872)
* added mvp play next button in long press menu; new intent handling, new long press dialog entry, new dialog functions, new strings

* changed line length for checkstyle pass

* cleaned comments, moved strings

* Update app/src/main/res/values/strings.xml

to make long press entry more descriptive

Co-authored-by: opusforlife2 <53176348+opusforlife2@users.noreply.github.com>

* Update app/src/main/res/values/strings.xml

Co-authored-by: Stypox <stypox@pm.me>

* replace redundant nextOnVideoPlayer methods

Co-authored-by: Stypox <stypox@pm.me>

* add enqueueNextOnPlayer and enqueueOnPlayer without selectOnAppend and RESUME_PLAYBACK/ deprecate enqueueNextOn*Player and enqueueOn*Player methods
add getPlayerIntent, getPlayerEnqueueIntent and getPlayerEnqueueNextIntent without selectOnAppend and RESUME_PLAYBACK/ deprecate those with
add section comments

* removed deprecated methods
removed redundant methods

* removed deprecated methods
removed redundant methods

* replaced APPEND_ONLY, removed SELECT_ON_APPEND / replaced remaining enqueueOn*Player methods

* now works with playlists

* renamed dialog entry

* checking for >1 items in the queue using the PlayerHolder

* making enqueue*OnPlayer safe to call when no video is playing (defaulting to audio)

* corrected strings

* improve getQueueSize in PlayerHolder

* long press to enqueue only if queue isnt empty

* add Whitespace

Co-authored-by: Stypox <stypox@pm.me>

* clarify comments / add spaces

* PlayerType as parameter of the enqueueOnPlayer method
add Helper method

* using the helper function everywhere (except for the background and popup long-press actions (also on playlists, history, ...)), so basically nowhere
/ passing checkstyle

* assimilated the enqueue*OnPlayer methods

* removed redundant comment, variable

* simplify code line

Co-authored-by: Stypox <stypox@pm.me>

* move if

* replace workaround for isPlayerOpen()

Co-authored-by: Stypox <stypox@pm.me>

* replaced workarounds (getType), corrected static access with getInstance

* remove unused imports

* changed method call to original, new method doesnt exist yet.

* Use getter method instead of property access syntax.

* improve conditional for play next entry

Co-authored-by: Stypox <stypox@pm.me>

* show play next btn in feed fragment

Co-authored-by: Stypox <stypox@pm.me>

* add play next to local playlist and statistics fragment

Co-authored-by: Stypox <stypox@pm.me>

* formating

Co-authored-by: Stypox <stypox@pm.me>

* correcting logic

Co-authored-by: Stypox <stypox@pm.me>

* remove 2 year old unused string, formating

Co-authored-by: Stypox <stypox@pm.me>

* correct enqueue (next) conditionals, default to background if no player is open. Dont generally default to background play.

* remove player open checks from button long press enqueue actions

* improve log msg

* Rename next to enqueue_next

* Refactor kotlin

Co-authored-by: opusforlife2 <53176348+opusforlife2@users.noreply.github.com>
Co-authored-by: Stypox <stypox@pm.me>
2021-09-18 11:22:49 +02:00
TobiGr
e4dc4c0049 Fix OnErrorNotImplementedException in SearchFragment.initSuggestionObserver()
Hopefully also fix the cause of the original error.
2021-09-05 19:54:28 +02:00
TobiGr
f9410ec0f1 Fix updating the wrong tabs when changing settings while running the minimized player in VideoDetailFragment
The comments tab was updated although the settings for the description tab were changed.
2021-09-04 22:36:47 +02:00
Stypox
a551cc72f6 Move fullscreen-related comments to javadocs 2021-09-01 20:13:27 +02:00
Stypox
e825e9db55 Completely close player when changing stream w/o autoplay 2021-09-01 20:13:27 +02:00
Stypox
e5e654043a Open fullscreen when switching from popup to main player 2021-09-01 20:13:24 +02:00
Stypox
635cd7e493 Fix bottom sheet state after automatic fullscreen 2021-09-01 20:12:14 +02:00
Stypox
70e8065ea6 Fix opening directly fullscreen on tablets 2021-09-01 20:12:09 +02:00