Commit Graph

2909 Commits

Author SHA1 Message Date
Stypox 397f93b079
Prevent exception from being serialized in ErrorInfo
The wrong @Decorator was put in the wrong place to mark the throwable fieldd as transient, now this is fixed and the exception is not serialized. So if a non-serializable throwable is passed, that's not an issue, since it's not going to be serialized. The need for EnsureExceptionSerializable is also gone.
2021-12-04 10:36:36 +01:00
Stypox 09d137f740
Add PendingIntent to ErrorUtil.createNotification 2021-12-04 10:36:36 +01:00
Stypox 81f740d409
Replace ErrorActivity with ErrorUtil 2021-12-04 10:36:36 +01:00
Stypox 1d2642f1e3
Create ErrorUtil class with three ways to report errors
Activity, snackbar and notification
2021-12-04 10:36:31 +01:00
Douile 7cd3603bbb
Fetch sparse items when playing in background or popup 2021-12-03 22:38:03 +00:00
Douile ec7de2a6dc
Fix StreamType check, missing import, and styling errors 2021-12-03 21:53:36 +00:00
Tom 3d1a3606c9
Remove unused variable
Co-authored-by: Stypox <stypox@pm.me>
2021-12-03 21:30:26 +00:00
Douile 6472e9b6b6
Remove unused code 2021-12-03 21:29:34 +00:00
litetex 744cfe5672 Removed unused import 2021-11-29 21:13:22 +01:00
litetex 17724a901c Removed annotations due to wrong warnings 2021-11-29 21:03:59 +01:00
litetex b2323859e5 Refactoring + deduplicated code 2021-11-28 14:07:45 +01:00
litetex 4c8dca5300 Fixed NPE + Problems with context 2021-11-28 13:42:26 +01:00
litetex 68e7fcf8ee Fixed typos 2021-11-27 23:39:17 +01:00
litetex f78983b16b Show an alert/dialog when no appropriate file-manager was found 2021-11-27 15:52:54 +01:00
litetex 2f99a217c3 Fixed build 2021-11-23 20:21:59 +01:00
litetex 0d51eefbb9 Refactoring 2021-11-23 20:12:16 +01:00
litetex aa28a85747 Added a workaround for not serializable exceptions 2021-11-23 20:12:14 +01:00
litetex f18ee8e83d Added a bit more documentation 2021-11-23 20:12:13 +01:00
litetex fb58967766 PlayerErrorHandler refactor + docs 2021-11-23 20:12:12 +01:00
litetex e5c00a7ef4 Added some doc 2021-11-23 20:12:10 +01:00
litetex 769791af7a Added a "Crash the player" debug option 2021-11-23 20:12:09 +01:00
litetex e632fab4d0 Added option to report player errors
* Added a new setting so that player errors are reported (under Video and Audio > Player)
* Moved the player error logic to separate class specially created for this purpose
2021-11-23 20:12:07 +01:00
Tom 91611fcae4
Don't fetch uneeded stream info for live streams
Co-authored-by: Stypox <stypox@pm.me>
2021-11-23 15:22:11 +00:00
Stypox 6cd25d7e55
Merge pull request #7412 from litetex/code-cleanup
Some code cleanup(s)
2021-11-23 08:59:34 +01:00
litetex c9488eb042
Removed useless lines 2021-11-22 19:49:52 +01:00
litetex c8516a04dc
Formatted code 2021-11-21 19:56:50 +01:00
litetex 02d1b98b1c
Removed useless doc 2021-11-21 19:46:11 +01:00
litetex d8236bbedd
Merge pull request #7406 from Redirion/usedefaultloadcontrol
Use DefaultLoadcontrol
2021-11-21 15:11:21 +01:00
XiangRongLin bd9dcfb28a
Merge pull request #7381 from litetex/prevent-automatic-replay-after-returning-from-background
Prevent automatic replay after returning from background
2021-11-17 09:38:09 +01:00
Robin d5199eac3e
Merge pull request #7050 from litetex/feed-refactor-new-items-handling
Rework feed new items handling
2021-11-15 23:20:07 +01:00
litetex 7638d229c0 Fixed typo 2021-11-15 20:24:40 +01:00
TacoTheDank a641c5bb58 Update Groupie to 2.9.0 2021-11-15 20:24:39 +01:00
litetex 1e0c9f46ad Improved highlighting in FeedFragment
Now keeps the ``selectableItemBackground`` when highligthing an item.
2021-11-15 20:22:23 +01:00
litetex 4eb02f584e Fixed default visibility of "new feed items" button
Fixed/Avoid NPEs
2021-11-15 20:22:22 +01:00
litetex 700c1b4b25 Removed unnecessary layout
Moved the feed button up a bit
2021-11-15 20:22:21 +01:00
litetex 4b4337e078 Used more understandable kotlin methods 2021-11-15 20:22:20 +01:00
litetex 38ce800685 Fixed feed when animations are off
Introduced a check if corresponding animations on the devices are enabled
2021-11-15 20:22:20 +01:00
litetex 2310e8c1d6 Made ``hideNewItemsLoaded`` more null safe 2021-11-15 20:22:19 +01:00
litetex 1b2b3a4f88 Make new feed items bold 2021-11-15 20:22:18 +01:00
litetex d11129a76b Fixed StackOverflow 2021-11-15 20:22:17 +01:00
litetex 02789122a0 Implemented UI highlighting and "new feed items"-notification
Fixed format
2021-11-15 20:22:17 +01:00
litetex 676bc02d52 No more reaction to unnecessary feed db-changes
This caused duplicate events (https://github.com/TeamNewPipe/NewPipe/pull/6686#issuecomment-909575283) and unnecessary processing of items
2021-11-15 20:21:23 +01:00
litetex 8b807b0706 Enhanced ``View.slideUp`` 2021-11-15 20:21:21 +01:00
litetex 316db0e4c6 setRecovery: Remove checks and use Math.min/max 2021-11-15 19:56:14 +01:00
litetex 010c607e40 Prevent automatic replay after returning from background
See also https://github.com/TeamNewPipe/NewPipe/pull/7195#issuecomment-962624380
2021-11-15 19:47:08 +01:00
Robin 3e099fb2a3 Fixed Period Transition 2021-11-14 21:19:36 +01:00
Robin 9c9730b152 Use DefaultLoadcontrol 2021-11-14 20:12:12 +01:00
Stypox 9e44053e22
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 dee32c3dc5 Factor out shouldAddMarkAsWatched as a shared function 2021-11-13 10:18:17 -07:00
Robin 344fbff59a
Merge pull request #7363 from litetex/playback-speed-ctrls-simple-landscape-improvements
Simple playback-speed-controls improvements
2021-11-12 21:19:17 +01:00
litetex 48a1ab64b0 Refactored ``PlaybackResolver``
* fixes the deprecation of ``setTag``
* makes the code more consistent
* de-duplicates some code
2021-11-12 20:14:39 +01:00
litetex dd2cde3c1a De-duplicated PlayerDataSource-code 2021-11-12 19:40:00 +01:00
Robin 1b9c2b37c5 Use Android11+ extractors 2021-11-12 19:17:52 +01:00
Robin eae1f8b597 Update ExoPlayer to 2.14.2 2021-11-12 19:17:51 +01:00
litetex adf9badbf6 Fixed toggle not in sync with list after app restart + refactored the code a bit 2021-11-11 19:46:15 +01:00
Baji Shaik c35fe4f3f1 moved preference key from viewmodel to settings_keys.xml 2021-11-10 16:16:17 -05:00
Baji Shaik 63291f8101 added show watched items toggle preference
default sharedpreference is used to persist and retrieve show watched menu option toggle state
2021-11-07 23:11:10 -05:00
litetex 62efb588ef Removed obvious title from the "Playback Speed Controls" 2021-11-07 13:51:43 +01:00
litetex 203ca9afc6 Removed unused imports 2021-11-06 21:07:00 +01:00
litetex a23f941ac8 Simplified some code and added some comments 2021-11-05 19:07:56 +01:00
litetex b0a10f0542 Merged extremely similar code together / parity between video and popup player
* Removed ``player.getPlayPauseButton().requestFocus();`` as there is no reason why it was introduced there documented
* Use the same delay to hide the controls on both players
2021-11-05 18:10:55 +01:00
litetex 478ad42977 De-Duplicated some code 2021-11-05 18:07:21 +01:00
litetex 0764983ac6 Why log double? 2021-11-05 18:06:32 +01:00
litetex 2b2f1ee8f5 Added some doc 2021-11-05 18:06:10 +01:00
litetex 28f167fd99 Removed dead code 2021-11-05 18:04:57 +01:00
litetex 272be36dd9 Removed ``e.printStacktrace`` and used an proper logger 2021-11-05 18:04:49 +01:00
litetex f933db8117 Added a custom title
to also save some margin/padding/etc
2021-11-04 19:47:08 +01:00
litetex 2e862b4ccc
Merge pull request #6844 from 0x416c6578/shuffle-mode-ui-fix
Fixed shuffle button opacity UI bug
2021-11-03 18:18:31 +01:00
litetex ecac897e7b
Fixed typo 2021-11-03 17:30:30 +01:00
litetex c0f7b123a3
Merge pull request #7296 from vhouriet/vhouriet_feature_issue6049
Add "Check for updates" button in update settings
2021-11-01 23:17:25 +01:00
Douile bc2f0f9f3e
Update stream state in database after loading 2021-10-28 01:11:53 +01:00
litetex e9e2afa61a
Merge pull request #7061 from TiA4f8R/custom-textview-edittext
Use custom TextViews and EditTexts in all XML resources
2021-10-27 20:47:15 +02:00
litetex 403154b2e1 Less indents and code -> better readable
Also removed a useless variable
2021-10-26 20:47:15 +02:00
litetex e5fd24b0d1 Make naming great again
When we build APKs in PRs it's also a GITHUB_APK...
2021-10-26 20:47:14 +02:00
litetex 8dc34274a1 Removed dead code 2021-10-26 20:47:13 +02:00
litetex 467bd21de2 Cleanup up some code 2021-10-26 20:47:13 +02:00
vhouriet 5c9705d94e Change check for updates button to trigger a version check 2021-10-26 20:47:12 +02:00
vhouriet 85fb5827aa Add Check for updates button 2021-10-26 20:47:11 +02:00
litetex 7067deb328
Merge pull request #7261 from TacoTheDank/bumpRecyclerView
Update RecyclerView & Groupie libraries
2021-10-24 21:22:04 +02:00
litetex af936bc646 Always create a backup list when shuffling
The backup-list has to be created at all cost (even when current list size <= 2). Otherwise it's not possible to enter shuffle-mode (as ``isShuffled()`` always returns false)!
2021-10-23 17:35:42 +02:00
litetex d66f933c69 Fixing the shuffle button on the UI is enough.
No need for doing the heavier method ``onShuffleModeEnabledChanged(false);``
2021-10-23 16:46:56 +02:00
0x416c6578 cf81c37683 Removed changes to the intent handler 2021-10-23 16:43:29 +02:00
0x416c6578 d2306b0fd7 Fixed shuffle button opacity bug
Parameterised shuffle state into initPlayback for potentially passing the shuffle state into the player in the future
2021-10-23 16:43:28 +02:00
Tobi 44cad27d0a
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
TobiGr 768bb0bbcd Start service for update checks in onPastCreate() 2021-10-20 23:55:18 +02:00
Stypox ac071b383f Revert part of #6872 and fix playback resuming 2021-10-20 23:20:26 +02:00
TacoTheDank b6b19b474e Update RecyclerView & Groupie 2021-10-19 17:31:59 -04:00
TobiGr 28c72e7f63 Fix new version check still occassionally started in background 2021-10-17 12:55:06 +02:00
TobiGr 5fcc3b4dab [Player] Fix resuming playback
This was caused by #6872
2021-10-17 12:13:38 +02:00
TacoTheDank 51837ce36f Get rid of setUserVisibleHint 2021-10-16 15:33:45 -04:00
TiA4f8R ddaafb68c8
Adress new requested changes 2021-10-16 15:32:56 +02:00
TiA4f8R a744775fe7
Adress requested changes and remove an unused return value in NewPipeTextViewHelper 2021-10-16 13:41:05 +02:00
TiA4f8R 50b85a7734
Simplify code 2021-10-16 13:41:05 +02:00
TiA4f8R aab09c0c65
Merge the Share process of the two classes into one
A new class has been added in the util package: NewPipeTextViewHelper.
It shares the selected text of a TextView with ShareUtils#shareText (with the created shareSelectedTextWithShareUtils static method).
Only this static method can be used by other classes, other methods are private.
2021-10-16 13:41:04 +02:00
TiA4f8R 3ded6feddb
Improve code of created views
Use the same logic as Android TextViews
2021-10-16 13:41:04 +02:00
TiA4f8R c8802fe5d0
Add JavaDocs on created views 2021-10-16 13:41:04 +02:00
TiA4f8R 411b3129f9
Use a custom EditText everywhere to be able to share with ShareUtils the selected text
This EditText class extends the AppCompatEditText class from androidx.

These changes (only in XML ressources) allow us to share the selected text by using ShareUtils.shareText, which opens the Android system chooser instead of the Huawei system chooser on EMUI devices.
2021-10-16 13:41:03 +02:00
TiA4f8R a55acd38df
Use a custom TextView everywhere to be able to share with ShareUtils the selected text
This TextView class extends the AppCompatTextView class from androidx.

These changes (only in XML ressources) allow us to share the selected text by using ShareUtils.shareText, which opens the Android system chooser instead of the Huawei system chooser on EMUI devices.
2021-10-16 13:40:54 +02:00
litetex 7edef8d5a2
Merge pull request #7222 from ktprograms/queue-menu-channel-details
Added the 'Show Channel Details' menu item to the Queue long press menu
2021-10-15 20:28:18 +02:00
litetex 03d2ca9f9f Fixed format of code 2021-10-15 20:18:52 +02:00
litetex 2271ea4281 Improved documentation 2021-10-15 20:16:34 +02:00
ktprograms afc8db8f81 Add reasoning for separate openChannelFragmentUsingIntent method 2021-10-14 09:51:25 +08:00
litetex 4af49ee5a6
Merge pull request #7194 from KalleStruik/add-to-playlist-in-share
Add a "add to playlist" option in the share menu
2021-10-13 20:34:07 +02:00
TobiGr d7b29aae5c Merge branch 'master' into dev 2021-10-12 20:03:42 +02:00
litetex 9f7a8407ca
Merge pull request #7224 from vhouriet/vhouriet_fix_check-background-player-type
Check if background player already active before displaying player toast
2021-10-12 19:47:50 +02:00
TobiGr 54d3bff26d Move checking for new version to MainAcitvity
When the service is started from the Application class, the app might be still in the background. This is definetly not the case when MainActivity.onCreate() is called.

Fixes #7227
2021-10-12 16:45:01 +02:00
litetex a2050a5211
Merge pull request #7215 from litetex/code-cleanup-drawer-main-activity
Deduplicated drawer code in MainActivity
2021-10-11 21:29:42 +02:00
litetex e9bd2934c3
Merge pull request #7202 from vhouriet/vhouriet_bug_issue-6662
Fix clicking timestamp shows Toast "Playing in popup mode"
2021-10-11 21:20:26 +02:00
vhouriet 50634eb2b3 Check player type before displaying background player toast 2021-10-11 19:41:22 +02:00
ktprograms a2ff770afc Added the 'Show Channel Details' menu item to the Queue long press menu
Created a method in NavigationHelper that opens the channel fragment using an Intent to MainActivity instead of replacing fragments.
2021-10-11 14:47:37 +08:00
TobiGr 658d988254 Simplify code and add annotations 2021-10-10 20:33:05 +02:00
Kalle Struik 9d7e9289bb Fix cursor color in PlaylistCreationDialog 2021-10-10 12:32:57 +02:00
litetex d7d87691cb Add to playlist - Showing toast that this may take a moment 2021-10-09 18:47:36 +02:00
litetex 731640997e Cleaned up PlaylistDialog-related code 2021-10-09 18:46:20 +02:00
litetex 64d7432852 Deduplicated drawer code in MainActivity 2021-10-09 16:37:34 +02:00
Robin e6fffc0d5b Fix crash on missing title when sharing livestream 2021-10-08 21:42:01 +02:00
vhouriet 1c9f68bcae Fix clicking timestamp shows Toast "Playing in popup mode"
Fixes #6662
2021-10-05 18:15:36 +02:00
litetex b633108a4c Use the correct TAG in NavigationHelper 2021-10-03 22:04:34 +02:00
Kalle Struik ceb55d0ede Set the theme for PlaylistCreationDialog explicitly. 2021-10-03 14:25:50 +02:00
Kalle Struik 87c958b2e7 Rename the "append_playlist" string to "add_to_playlist" 2021-10-03 13:27:24 +02:00
Kalle Struik d844e0aba6 Add a add to playlist option in the share menu. 2021-10-02 19:21:25 +02:00
Tobi 4fc9f2e5fd
Merge pull request #7176 from litetex/fix-progress-bar-end-not-synced
Fixed seekbar not completed after video end
2021-10-02 09:24:59 +02:00
Tobi ce592f4baf
Merge pull request #6980 from bravenewpipe/check-for-update-after-toggle-and-restart
resets the expire date for checking for updates
2021-10-02 09:07:05 +02:00
Tobi 2b3edcf2d1
Add a comment 2021-10-02 08:53:03 +02:00
litetex 672eb34049
Merge pull request #7150 from TacoTheDank/groupieBump
Update Groupie library to 2.9.0
2021-09-30 21:26:58 +02:00
Tobi b753705a84
Merge pull request #7178 from Redirion/dsblmdtnnelrealtekatv
Disable media tunneling on RealtekATV
2021-09-28 07:53:11 +02:00
Robin f48ff610a3
Merge pull request #7166 from litetex/various-fixes-for-mediasession-player
Various fixes related to MediasessionManager
2021-09-27 23:45:38 +02:00
Robin 3cf94382e6 Disable media tunneling on RealtekATV 2021-09-27 13:21:04 +02:00
Laksh f52cb3bbe0 Make requested changes 2021-09-27 01:45:33 +05:30
litetex d45182cb5c Referenced issue in code 2021-09-26 20:58:49 +02:00
litetex 22847c6c92 Fixed progress bar not completing after video end 2021-09-26 20:50:24 +02:00
Laksh bc3139e5f9 Fix Settings import 2021-09-25 15:37:07 +05:30
litetex 72dbb9441e Improved streamType check and documentation 2021-09-25 10:31:42 +02:00
litetex bbc13756f3 Removed useless check for livestreams 2021-09-25 00:04:53 +02:00
litetex ba0876b43b Reformatted MediaSessionManager code 2021-09-24 23:55:06 +02:00
litetex c0d41661e8 Fixed performance problems with mediaSessionManager
* Built on top of Redirons changes
* MediaSessionManager-Metadata get's only update when metadata changes - not every second as it only changes when the metadata changes
* Reworked mediasessionmanager
2021-09-24 23:40:12 +02:00
Robin b2e2551e33 Two fixes for setMetadata 2021-09-24 23:28:55 +02:00
Nathan Schulzke 108af48b76 Enable Mark as Watched in all the other playlist fragments. 2021-09-23 21:39:47 -06:00
TacoTheDank 920695f90a Regenerate some drawables to their latest design 2021-09-22 23:38:01 -04:00
TacoTheDank b61d44aaa6 Update Groupie to 2.9.0 2021-09-22 19:08:03 -04:00
Stypox 7e26748dc4
Merge branch 'master' into dev 2021-09-19 22:37:00 +02:00
Stypox 7667b2ce59
Fix restoring orientation in onBack 2021-09-19 19:09:11 +02:00
Douile 62d36126ea
Load full stream info when enqueuing a stream
This commit calls getStreamInfo causing a full network fetch of stream
info (I believe only if required) when adding a stream item to the
queue. This should prevent UI issues of missing metadata when queueing
videos that have been fast-loaded and are missing metadata.

Fixes #7035
2021-09-19 00:15:56 +01:00
z3r0r4 70354eb73e
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
Tobi a2887034a6
Merge pull request #7068 from litetex/fix-restart
Fixed restarting not working properly
2021-09-11 12:51:38 +02:00
Tobi 7eb5aa1bc5
Merge pull request #7056 from TeamNewPipe/fix/playOnPopup
Fix handling exception in `playOnPopup` and toggle description tab
2021-09-10 18:21:41 +02:00
thefalsedev 892b4a15f6
Change player progress bar update from 500 ms to 1 s
Just like in the issue 7062, https://github.com/TeamNewPipe/NewPipe/issues/7062, this doesn't affect UI as it updates every one second anyway, but reduces very heavy android widget progress bar high cpu usage. With every 500s there is 6% cpu usage and with 1s only 4%. However further changes will have to be made to disable updating of player progress bar when screen is off to further reduce power consumption. With this, total power savings would be 20% in mAh consumption.
2021-09-07 00:04:05 +02:00
litetex fda0a550fd Fixed the app restarting not working properly
* Using [``process-phoenix``](https://github.com/JakeWharton/ProcessPhoenix)
2021-09-06 20:47:44 +02:00
TobiGr 4d51ebc37a Fix a few SonarLint warnings 2021-09-05 19:54:28 +02:00
TobiGr 433c6dc33b Fix OnErrorNotImplementedException in SearchFragment.initSuggestionObserver()
Hopefully also fix the cause of the original error.
2021-09-05 19:54:28 +02:00