1
0
mirror of https://github.com/TeamNewPipe/NewPipe synced 2024-07-01 09:33:19 +00:00
Commit Graph

3018 Commits

Author SHA1 Message Date
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
TobiGr
ed4fdadd4d Fix OnErrorNotImplementedException in playOnPopup 2021-09-05 19:54:28 +02:00
TobiGr
298e96b821 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
Tobi
8dd617fc6b
Merge pull request #7043 from Stypox/optimize-resources
Remove unused resources
2021-09-04 20:57:07 +02:00
Stypox
3a09039b93
Remove unused resources 2021-09-02 21:13:54 +02:00
evermind
669a35bc78 check immediately for updates if user enables 'check for updates setting'
- Convert CheckForNewAppVersion to IntentService
- reset expire date to 0 after user enables check for updates setting
2021-09-02 07:20:35 +02:00
Stypox
ed408b2094
Move fullscreen-related comments to javadocs 2021-09-01 20:13:27 +02:00
Stypox
3bc661f583
Fix null pointer exception in player initialization 2021-09-01 20:13:27 +02:00
Stypox
cf9b482be2
Completely close player when changing stream w/o autoplay 2021-09-01 20:13:27 +02:00
Stypox
1d935b46f9
Open fullscreen when switching from popup to main player 2021-09-01 20:13:24 +02:00
Stypox
520ac2e935
Fix bottom sheet state after automatic fullscreen 2021-09-01 20:12:14 +02:00
Stypox
c6316abbce
Fix opening directly fullscreen on tablets 2021-09-01 20:12:09 +02:00
Stypox
2dfe837c35
Extract isLandscape and isInMultiWindow to DeviceUtils 2021-09-01 20:09:08 +02:00
Stypox
3c2ea7697c
Add option to directly open fullscreen when the main player starts 2021-09-01 20:08:37 +02:00
Stypox
faa7a91764
Merge pull request #7004 from litetex/fix-showTextError-and-rework-ErrorPanel
Reworked the ErrorPanel
2021-08-31 18:26:51 +02:00
Robin
f629a4d206
Merge pull request #6993 from Redirion/closeaudioeffectsession
Close audio effect control session properly
2021-08-31 12:37:20 +02:00
Stypox
4b7c37e919
Merge pull request #6955 from ktprograms/queue-long-press-menu
Show popup menu when long pressing in play queue (Full screen player)
2021-08-31 12:22:59 +02:00
Stypox
f8f2dfce4b
Merge pull request #6882 from talanc/dev
Add support for CSV+ZIP subscriptions (Google Takeout)
2021-08-31 12:10:12 +02:00
Stypox
5284072b8d
Improve mime type deduction on subscription import 2021-08-31 12:07:34 +02:00
talanc
e603dddc54
Added support for CSV+ZIP subscriptions
Updated import instructions string
2021-08-31 12:07:34 +02:00
Stypox
a555aab3e7
Merge pull request #7024 from Stypox/string-fixes
Never use ``android.R.string``s; remove unused ``add`` string
2021-08-31 12:00:07 +02:00
Stypox
88f1c3a808
Merge pull request #6985 from litetex/set-seekbarjump-when-using-dpad-to-seek-duration-from-preferences
Set ``KeyProgressIncrement`` manually / Fix long seekbar jumps when using a DPad
2021-08-30 23:36:29 +02:00
Tobi
0e6668636d
Merge pull request #6986 from litetex/fix-build-problems-update-kotlin
Fix build problems and updated kotlin
2021-08-30 21:20:45 +02:00
Stypox
cfdcb92fa3
Always use our strings, not android ones 2021-08-30 16:37:01 +02:00
Stypox
039bd5d413
Rename string finish to ok, as its content was "OK" 2021-08-30 16:36:57 +02:00
Robin
57ca281c80
Merge pull request #6634 from Isira-Seneviratne/Use_PackageInfoCompat
Use PackageInfoCompat.getSignatures().
2021-08-29 23:13:12 +02:00
litetex
703f1550d8 Fixed double tapping the replay button 2021-08-29 17:53:09 +02:00
Robin
8bfd380b89
Merge pull request #6515 from Redirion/buffersharmonization
Use ExoPlayer default values for buffers
2021-08-29 17:44:43 +02:00
Agnieszka C
43e91ae4ae
Added plural forms for download related strings (#6930)
Co-authored-by: Tobi <TobiGr@users.noreply.github.com>
2021-08-29 13:28:01 +02:00
litetex
d931d058d9 Reworked the ErrorPanel
* All element on the error panel are now hidden by default (expect for the ``errorTextView``) as they are only optional shown
  * Added a method to ensure the above
  * This deduplicates a lot of code
* Fixed format of some LoC
* Added new method: ``showAndSetErrorButtonAction``
* Fixed  ``showTextError``
* Named buttons more logically: ``errorButtonAction`` -> ``errorActionButton``
2021-08-28 17:05:12 +02:00
acti0
d9086300f3
Re-add sharing of the content name with the "Share" command (#6957)
The title of the content is re-added as the EXTRA_SUBJECT of the share intent.
2021-08-27 19:26:32 +02:00
litetex
f18a7c91ca Suppressed warning
There seems to be a bug in the kotlin plugin as it tells you when building that this can't be null:
"Condition 'throwable != null' is always 'true'"
However it can indeed be null as seen in https://github.com/TeamNewPipe/NewPipe/pull/6986#issuecomment-906822218
2021-08-27 16:32:59 +02:00
Robin
43d0543b9f close audio effect control session properly 2021-08-27 10:53:44 +02:00
Tobi
0787d62254
Merge pull request #6820 from Stypox/picker-mime-type
Provide mime type to file picker to gray out unselectable files
2021-08-26 21:39:35 +02:00
litetex
b061423847 Changed package as the old one is deprecated 2021-08-26 18:09:27 +02:00
litetex
c6ead351c0 Set `KeyProgressIncrement` manually
* Set ``KeyProgressIncrement`` manually to the value of the seek duration in the settings so that it works when using the DPad
* consolidated code inside a new method to avoid duplication
2021-08-26 17:16:51 +02:00
ktprograms
a4503eb609 Remove TAG parameter, refactor method calls 2021-08-25 17:04:15 +08:00
ktprograms
a1cb3e59d6 Move opening popup menu to utility class 2021-08-25 09:30:40 +08:00
ktprograms
1b05c404d5 Remove Details option in Main Player Queue menu 2021-08-25 08:56:26 +08:00
ktprograms
5de455bb86 Change type of themeWrapper to ContextThemeWrapper 2021-08-25 08:56:26 +08:00
ktprograms
acdfee5c25 Show popup menu when long pressing in play queue (Full screen player) 2021-08-25 08:56:26 +08:00
Stypox
87e7d95966
Do not show suggestions error snackbar for interrupted I/O
Fix formatting
2021-08-24 18:16:17 +02:00
Stypox
d37ee1e0dc
First run migrations, then setDefaultValues, since the latter requires the correct types 2021-08-24 18:16:17 +02:00
Stypox
1d33e7ab49
Allow choosing which types of search suggestions to show
local, remote, both, none
Replacing the old on-off setting
2021-08-24 18:16:16 +02:00
Stypox
2027b743b4
Merge pull request #6919 from ktprograms/channel-details-all-places
Add Show Channel Details where it's missing
2021-08-24 16:43:21 +02:00
ktprograms
2928df0cc9 Fix checkstyle ParenPad error 2021-08-24 21:17:08 +08:00
Stypox
44128f9145
Remove placeholder image while loading thumbnails 2021-08-24 10:56:25 +02:00
Stypox
6eaff5ca6a
Apply review: move thumbnail loading out of Player 2021-08-24 10:56:25 +02:00
Stypox
c0664c1cb6
Add Picasso to licences and remove Universal Image Loader 2021-08-24 10:56:25 +02:00
Stypox
e229e5355d
Always create new bitmap when resizing thumbnail
This prevents strange crashes on some devices, fixes #4638
2021-08-24 10:56:25 +02:00
Stypox
52189fc5df
Add debug setting to enable Picasso indicators 2021-08-24 10:56:25 +02:00
Stypox
314964c5f9
Recycle Bitmap in transformation 2021-08-24 10:56:25 +02:00
Stypox
fcef783bbb
Replace UniversalImageLoader with Picasso 2021-08-24 10:56:25 +02:00
Tobi
bdbb9bead2
Merge pull request #6848 from Stypox/somali-cancel
Use custom cancel string everywhere
2021-08-22 22:36:14 +02:00
TobiGr
6fbb601802 Merge branch 'master' into dev 2021-08-22 22:22:37 +02:00
TobiGr
8715e7dd98 Only show "mark as watched" context menu entry when watch history is enabled 2021-08-22 22:15:05 +02:00
ktprograms
a209e87c69 Add Loading Channel Details Toast 2021-08-21 09:30:40 +08:00
ktprograms
967bdf8f08 Remove migration test, add manual testing reminder to Migrations.java 2021-08-17 08:57:03 +08:00
ktprograms
712985ced1 Save uploader url when adding from PlayQueueItem 2021-08-16 08:08:50 +08:00
litetex
0683dafa55
Merge pull request #6851 from litetex/make-parsing-of-timestamp-links-more-robust
Catch errors while processing timestamp-links
2021-08-14 21:10:20 +02:00
ktprograms
6f1958d398 Remove setting uploaderUrl to empty string if null 2021-08-14 20:59:38 +08:00
ktprograms
21bcadeecb Make uploader_url column nullable 2021-08-14 17:48:35 +08:00
ktprograms
bd0427c79f Refactor duplicated code into method 2021-08-14 17:32:38 +08:00
ktprograms
241054fd26 Remove hardcoded string 2021-08-14 15:38:57 +08:00
ktprograms
d8888e3495 Catch error from ExtractorHelper.getStreamInfo, remove blockingGet 2021-08-14 09:07:27 +08:00
ktprograms
76803bfcb1 Save channelUrl to Database if it doesn't exist 2021-08-13 18:02:53 +08:00
ktprograms
c248741c00 Add Show Channel Details to Subscription Feed & History 2021-08-13 17:04:10 +08:00
ktprograms
759a078ce0 Add uploader_url column to StreamEntity 2021-08-13 16:44:50 +08:00
evermind-zz
a536311d56
name the regions according to the comments (#6854)
if a region is named android studio will show its name in the structure view.
2021-08-10 22:38:23 +00:00
litetex
5f3b8bea52 Fixed format 2021-08-06 22:12:49 +02:00
litetex
f9ab23bb4a Removed useless fiedl 2021-08-06 22:08:42 +02:00
litetex
9f8b2264a2 Use better pattern for matching timestamp in text and some reworks
Also extracted overhead code into ``TimestampExtractor``
2021-08-06 22:08:29 +02:00
litetex
1d61bb58f5
Set loglevel to error
Co-authored-by: Stypox <stypox@pm.me>
2021-08-05 20:26:17 +02:00
Stypox
a3440cc8ef
Merge pull request #6814 from Stypox/channel-grid-span-count
Fix channel item span count for SubscriptionFragment
2021-08-05 14:25:39 +02:00
litetex
51c60e5261 Catch errors while processing timestamp-links
Otherwise the complete app crashes, which is bad
2021-08-04 22:35:41 +02:00
Stypox
f8caed139a
Use custom cancel string everywhere
to fix missing somali translation for android.R.string.cancel
2021-08-04 18:58:35 +02:00
Stypox
a2297fb5b8
Fix play queue theme 2021-08-04 18:41:23 +02:00
Stypox
32dffb577c
Provide mime type to file picker to gray out unselectable files 2021-08-01 13:52:32 +02:00
Stypox
a9623f8e6a
Merge pull request #6550 from Douile/fix/clickthrough-feed-refresh
Disable feed click events while refresh overlay is shown
2021-08-01 13:11:24 +02:00
Isira Seneviratne
d32450255c Use NotificationChannelCompat. 2021-08-01 14:59:30 +05:30
Robin
896aec5295
Merge pull request #6719 from TacoTheDank/core-lifecycle-bump
Update some AndroidX libraries
2021-08-01 11:24:33 +02:00
Stypox
d42a534fc3
Merge pull request #6741 from KalleStruik/comment-hearts
Show hearts in comments
2021-08-01 11:12:58 +02:00
Stypox
551e8df8b8
Merge pull request #6773 from nschulzke/mark-as-played
Add ability to mark an item as played
2021-08-01 10:30:36 +02:00
Nathan Schulzke
dc0a28b93d Upsert the complete info if we fetch it for marking as watched 2021-07-31 09:50:41 -06:00
Stypox
644396149b
Fix channel item span count for SubscriptionFragment 2021-07-31 11:02:57 +02:00
Nathan Schulzke
0e12cdea7c Save the fetched duration to the database so that it can render the view correctly. 2021-07-29 20:59:23 -06:00
Tobi
cd713db029
Merge pull request #6778 from Stypox/invalid-storage-npe
Fix NullPointerException when checking if storage exists
2021-07-28 16:54:57 +02:00
Nathan Schulzke
bdd16e06e0 Add comments describing the purpose of the markAsWatched method 2021-07-28 08:25:39 -06:00
Nathan Schulzke
4c632810ec Fetch the stream info via a network request if no duration is found when attempting to mark as watched. 2021-07-27 15:21:56 -06:00
Nathan Schulzke
f451bdbfa4 Do not add Mark as Watched to a live stream. 2021-07-27 15:21:56 -06:00
Kalle Struik
bfac73b992 Make heart visible in android studio and move logic to the right file. 2021-07-27 22:34:59 +02:00
Nathan Schulzke
2b41f710a8 Change played to watched 2021-07-27 13:26:51 -06:00
Stypox
5ceec31adf
Merge pull request #6720 from TacoTheDank/alertdialog-edittext
Consolidate edittext alert dialogs into one common layout
2021-07-27 19:42:51 +02:00
TacoTheDank
50f3b08c59 Consolidate edittext alert dialogs into one layout 2021-07-27 13:31:58 -04:00
Stypox
2aebf6ceaf
Add log when existsAsFile() is called on an invalid StoredFileHelper 2021-07-27 17:56:41 +02:00
Stypox
0cb801179c
Merge pull request #6733 from Douile/fix/recaptcha-webview-background-activity
Prevent recaptcha webview from keeping youtube loaded in background
2021-07-27 11:41:17 +02:00
Stypox
1822d21676
Fix NullPointerException when checking if storage exists 2021-07-27 11:36:14 +02:00
Nathan Schulzke
7fd2ebc252 Add ability to mark an item as played 2021-07-26 20:51:41 -06:00
Kalle Struik
74173317de Change heart color to be red, add else clause for non hearted comments, and apply some code style suggestions. 2021-07-23 19:43:25 +02:00
Kalle Struik
3874e16187 Added support for showing when a comment has received a heart from the creator of a video. 2021-07-23 17:30:47 +02:00
Tom
52c136439e
Use loadUrl instead of loadData
Co-authored-by: Stypox <stypox@pm.me>
2021-07-22 10:47:47 +00:00
Douile
cd86ed3877
Prevent recaptcha webview from keeping youtube loaded in background
After the cookies are extracted from the recaptcha webview make it load an empty
page to prevent youtube being loaded unecessarily in the background.
2021-07-22 02:41:01 +01:00
TacoTheDank
1d85661ab9 Update some AndroidX libraries 2021-07-21 19:31:41 -04:00
Stypox
fa8630ddae
Use url comparison between queue items when disabling preloading
From #4562: Disable player stream preloading only if the current stream is going to be replaced for sure (see this). equals() was implemented for PlayQueueItems, so that (only) the url is compared when checking them.
2021-07-21 18:09:18 +02:00
Stypox
4a2bd7bd7b
Remove equals() method from PlayQueueItem 2021-07-21 18:09:18 +02:00
Tobi
63fdc100d6
Merge pull request #6705 from Stypox/big-text-info-items
Fix grid span count calculation
2021-07-19 22:45:48 +02:00
Tobi
9e2ece78dd
Merge pull request #6701 from Stypox/dismiss-download-dialog
Dismiss download dialog correctly
2021-07-19 21:47:12 +02:00
Stypox
4a242e43a7
Merge pull request #6689 from Isira-Seneviratne/Use_WindowInsetsCompat_getInsets
Use WindowInsetsCompat's getInsets() method.
2021-07-19 21:19:06 +02:00
Stypox
5ba3ef0a25
Fix grid span count calculation; remove duplicate methods 2021-07-19 20:47:50 +02:00
Isira Seneviratne
9458b9f37d Use PackageInfoCompat.getSignatures(). 2021-07-19 19:48:24 +05:30
Stypox
ca282f2be8
Merge pull request #6675 from Isira-Seneviratne/Use_Kotlin_methods
Use Kotlin methods in LicenseFragment.
2021-07-19 13:19:02 +02:00
Stypox
46e7da4e21
Merge pull request #6688 from litetex/fix-some-build-warnings
Fix some build warnings
2021-07-19 11:52:24 +02:00
Isira Seneviratne
1721817fdb Use WindowInsetsCompat's getInsets() method. 2021-07-19 15:17:44 +05:30
Stypox
d57bfde604
Merge pull request #6434 from litetex/playerSeekbarPreview
Player seekbar thumbnail preview
2021-07-19 11:42:10 +02:00
Stypox
8f559965f6
Call DownloadDialog dismiss() in the correct way 2021-07-19 10:59:45 +02:00
Stypox
35e005caaa
Improve method order in DownloadDialog and add separator comments 2021-07-18 14:23:38 +02:00
Stypox
baa12c7069
Merge pull request #6536 from TacoTheDank/moar-onactivityresult
More onActivityResult deprecation fixes
2021-07-18 10:24:00 +02:00
Isira Seneviratne
e2b044d2ee Use Kotlin methods in LicenseFragment. 2021-07-18 07:47:12 +05:30
litetex
621af8d812 Removed unused import (rebasing/merge problem) 2021-07-17 16:52:24 +02:00
litetex
a9b5ef3bd3 Set minWidth to 10dp so that the popup player works (mostly) correctly 2021-07-17 16:43:03 +02:00
litetex
384d964827 Added seekbarThumbnailPreview 2021-07-17 16:43:00 +02:00
litetex
36c198fc33
One textview is enough for disabled comments
Ref: https://github.com/TeamNewPipe/NewPipe/pull/6483#discussion_r654793920
2021-07-17 13:14:50 +02:00
litetex
81107df53f
Added comments disabled functionallity 2021-07-17 13:10:44 +02:00
Stypox
a932bc2503
Merge pull request #6637 from Isira-Seneviratne/Use_GestureDetectorCompat
Use GestureDetectorCompat.
2021-07-17 12:58:43 +02:00
litetex
f4e2eca256 Simplified code and adjusted the style so that it's similar to FeedFragment 2021-07-16 21:21:10 +02:00
litetex
08d5dfa49c Removed updateRelativeTimeViews when the activity is paused
We don't need to call ``updateRelativeTimeViews`` when the activity is paused, because the user likely won't  notice it.
Despite that onResume already calls ``updateRelativeTimeViews`` so there is no need to do that twice.
2021-07-16 21:04:32 +02:00
Tobi
dfa941a9e7
Merge pull request #6503 from evermind-zz/fixes-for-upstream
Prevent error msg: 'Unrecoverable player error occurred' while playin…
2021-07-14 09:53:30 +02:00
Tobi
1584028995
Merge pull request #6531 from XiangRongLin/immediat_pref_commit
Remove option to immediately commit pref changes on import
2021-07-14 09:48:58 +02:00
Tobi
14dab85ff0
Merge pull request #6566 from evermind-zz/various-fixes-for-upstream
Convert PlayerHolder to Singleton; cleanup in VideoDetailFragment; Player/MainPlayer do not call onDestroy() directly
2021-07-14 09:46:04 +02:00
Tobi
96f5cd9f17
Merge pull request #6463 from Stypox/metadata-tags
Improved metadata layout, better tags accessibility
2021-07-12 16:18:11 +02:00
Douile
2e053ea25a
Fix crash when refreshing feed 2021-07-11 03:00:32 +01:00
TobiGr
9ca2691a2c Add close() method to NewPipeDatabase 2021-07-10 14:46:51 +02:00
TobiGr
7c3f5a62c5 Fix crash when refreshing feed after importing database or subscriptions
The database was not closed correctly
2021-07-10 13:09:01 +02:00
Isira Seneviratne
6711dae4e0 Use GestureDetectorCompat. 2021-07-10 15:35:11 +05:30
evermind
f78d2a5ed8 Prevent error msg: 'Unrecoverable player error occurred' while playing video during rotation (#6502)
Playing a video in VideoDetailFragment and rotating the screen to landscape (back and forth more often)
can trigger this error message. Especially if rotation for whatever reason takes long or
playing a high resolution (1080p) video.

The underlying logcat error messages:
05-12 16:38:38.251 24920 26037 E Surface : getSlotFromBufferLocked: unknown buffer: 0x923fc810
05-12 16:38:38.251 24920 26037 W ACodec  : [OMX.qcom.video.decoder.avc] can not return buffer 35 to native window

The problem is that that Exoplayer is trying to write to our -- during rotation -- no longer existant
(VideoDetailFragment) SurfaceView.

Solution:
Implementing SurfaceHolder.Callback and using DummySurface we can now handle the lifecycle of the Surface.

How?: In case we are no longer able to write to the Surface eg. through rotation/putting in
background we can set a DummySurface. Although it only works on API >= 23.
Result: we get a little video interruption (audio is still fine) but we won't get the
'Unrecoverable player error occurred' error message.

This implementation is based on and more background information:
 'ExoPlayer stuck in buffering after re-adding the surface view a few time 2703'

 -> exoplayer fix suggestion link
  https://github.com/google/ExoPlayer/issues/2703#issuecomment-300599981
2021-07-06 12:49:56 +02:00
evermind
48c2c156cb convert PlayerHolder to Singleton, handle context within, bugfix ServiceConnection leak
- bugfix: have ServiceConnection created only once!

- select the context within the PlayerHolder to start, stop, bind or unbind the service
  -> we have to make sure the Service is started AND stopped within the same context
  -> so let PlayerHolder be the one to select the context

- remove removeListener() and replace the call with setListener(null)
- Compatibility: use ContextCompat.startForegroundService instead of startService()
2021-07-06 12:31:26 +02:00
evermind
435813355f use viewBinding correctly 2021-07-06 07:56:05 +02:00
evermind
e30a552b6c remove duplicated code for toggle Fullscreen 2021-07-06 07:56:00 +02:00
evermind
22a4a4b2df move null checks for player and playerService to helper methods
- code is easier to read
- duplication of code reduced
2021-07-06 07:55:52 +02:00
Robin
201e5ee09d Fix NPE when connecting via BT 2021-06-25 09:14:15 +02:00
evermind
aaa3e20c5a service.onDestroy() should only be called from the system and not manually
instead use service.stopService() which inturn calls stopSelf() and
triggers hopefully onDestroy() to be called. Eventually we have to make
sure that all ServiceConnections are closed to successfully stop the service
now!

Cleanup within stopService() and not only onDestroy()

So we make sure that all listeners can react to onServiceStopped()
and close their ServiceConnections. Afterwards the android framework
is ready to stop the Service.
2021-06-24 10:15:07 +02:00
bopol
0da8e28651
Merge pull request #6558 from Douile/fix/searchfragment-null-service
Fix null pointer exception when displaying SearchFragment
2021-06-24 09:16:00 +02:00
bopol
25cf8dc20a Refactoring by Android Studio 2021-06-23 14:30:01 +02:00
Douile
cb1a138140
#6081: Disable feed click handlers during refresh
This patch changes click handlers for feed (Whats new) so that they do
nothing while the feed is refreshing and the items being clicked are not
visible.
2021-06-22 19:42:20 +01:00
Douile
384ca66205
#6522: Fix null pointer exception when displaying SearchFragment
It seems due to #6394 updating the FragmentX library there was a
change to the order of lifecycle calls, as such onResume() was no longer
before onCreateOptionsMenu() creating a null pointer exception when
using service in onCreateOptionsMenu() as it is only set in onResume().

By moving the initialization of service to onStart() which still happens
before onCreateOptionsMenu() this crash can be avoided. This commit also
adds a check for a null service to prevent future crashes for similar
issues.
2021-06-22 16:52:02 +01:00
Mohammed Anas
62b4f333bb
Don't enable SAF on Fire TV (#6516) 2021-06-20 19:01:06 +00:00
TacoTheDank
ae39b31c68 Fix onActivityResult deprecation in DownloadDialog 2021-06-20 14:14:44 -04:00
TacoTheDank
e5a1438673 Fix onActivityResult deprecation in DownloadSettingsFragment 2021-06-20 14:11:00 -04:00
XiangRongLin
785c0376f8 Remove variable ContentSettingsFragment.lastImportExportDataUri
Instead pass the value through the methods as parameter
2021-06-20 09:30:59 +02:00
XiangRongLin
0bdf8de38e Resolve sonar issues in ContentSettingsFragment
https://sonarcloud.io/organizations/teamnewpipe/rules?open=java%3AS2885&rule_key=java%3AS2885

https://sonarcloud.io/organizations/teamnewpipe/rules?open=java%3AS112&rule_key=java%3AS112
2021-06-20 09:30:59 +02:00
XiangRongLin
9767e98e50 Remove option to immediately commit pref changes on import
System is now not restarted with `System.exit(0)`.
Instead it is done properly by finishing the activity and restarting the activity. This allows preference changes which are queued up asynchronously through `apply` to be applied.
2021-06-20 09:17:55 +02:00
TacoTheDank
79deff3261 Annotate some overridden methods and parameters as NonNull 2021-06-19 18:37:02 -04:00
Robin
f5d015e8f9 Use ExoPlayer default values for buffers 2021-06-18 20:18:24 +02:00
Stypox
74ad488f4a
Merge pull request #6394 from TacoTheDank/androidx-fragment-134
Update AndroidX Fragment to 1.3.4
2021-06-18 13:14:30 +02:00
Tobi
be676ad93c
Merge pull request #3371 from mauriciocolli/feed-hide-played-items
Add ability to hide played items in a feed
2021-06-18 09:18:48 +02:00
Robin
0803d9f2b5
Merge pull request #6504 from evermind-zz/fixes-choice-dialog
dismiss choice dialog in onStop() to avoid a leaked window Exception:
2021-06-17 21:17:35 +02:00
Stypox
841fb4cfc5
Merge pull request #6495 from danielmbutler/Replace-System.exit-calls
Replace the System.exit calls with getActivity.finishAffinity()
2021-06-17 21:07:48 +02:00
danielmbutler
90de75968d Replaced System.Exit calls with FinishAffinity and Start Activity calls
Implemented "RestartApp" method defined in NavigationHelper.java.
 This method is used in ExitActivity.java and ContentSettingsFragment.java
2021-06-17 17:18:15 +01:00
evermind
a9ab2f54ea dismiss choice dialog in onStop() to avoid a leaked window Exception:
E/WindowManager: android.view.WindowLeaked: Activity org.schabi.newpipe.RouterActivity has leaked window DecorView@d99fe3b[] that was originally added here
        at android.view.ViewRootImpl.<init>(ViewRootImpl.java:418)
2021-06-17 06:53:47 +02:00
TacoTheDank
a1432e939f Fix onActivityResult deprecation in SubscriptionFragment 2021-06-15 22:09:19 -04:00
TacoTheDank
cae160b5be Fix onActivityResult deprecation in SubscriptionsImportFragment 2021-06-15 22:09:07 -04:00
TacoTheDank
aa4e5da146 Fix onActivityResult deprecation in ContentSettingsFragment 2021-06-15 22:08:55 -04:00
TacoTheDank
1061fca6a3 Add super.onRequestPermissionsResult where missing 2021-06-15 22:08:41 -04:00
TacoTheDank
e4885e3c52 Fix some older deprecations from previous Fragment versions 2021-06-15 22:08:25 -04:00
Stypox
d6e0bd8c26
Merge pull request #6059 from Dakkaron/manual-tablet-mode-setting
Adds manual tablet mode setting
2021-06-15 21:46:19 +02:00
Dakkaron
e01ef42d31
Adds manual tablet mode setting
Co-authored-by: TiA4f8R <74829229+TiA4f8R@users.noreply.github.com>
2021-06-15 21:43:06 +02:00
Stypox
32df4d39a4
Reshow feed if grid/list view mode changed 2021-06-15 18:40:25 +02:00
Stypox
7145b117cc
Fix long press menu in feed 2021-06-14 19:02:57 +02:00
Stypox
4698d07323
Do not hide feed buttons (show/hide & help) behind three-dots menu 2021-06-14 19:02:57 +02:00
Stypox
2142f05a88
Fix hiding finished streams in groups; new stream state validity condition
Consider stream state valid also if >1/4 of video was watched
2021-06-14 19:01:01 +02:00
Stypox
40a2df847b
Move tags layout at the bottom, use multiple lines 2021-06-13 21:56:06 +02:00
TiA4f8R
4eef498d24
Only call addClickListenersOnTimestamps if relatedInfo is instance of StreamInfo 2021-06-11 14:08:08 +02:00
TiA4f8R
32b0bdb98c
Fix the compile error 2021-06-11 12:19:29 +02:00
Stypox
edfe0f9c30
Fix disposables handling for text linkifier
also use differently Markwon methods to convert plain text to markdown
2021-06-11 12:12:12 +02:00
Stypox
eef418a757
Improve text linkifier function parameters 2021-06-11 12:12:11 +02:00
TiA4f8R
218f25c171
Annotate params and methods with NonNull 2021-06-11 12:12:10 +02:00
TiA4f8R
f02df6d80c
Fix an error and add a new method in the ShareUtils class
Fix the error due to the rebase on the dev branch of this branch
Add a shareText method in the ShareUtils class which has 3 parameters and calls
the original shareText method with an empty string for the
imagePreviewUrl param.
2021-06-11 12:12:09 +02:00
TiA4f8R
da4d379b22
Initial work: use disposables for timestamps parsing in YouTube video descriptions and YouTube comments 2021-06-11 12:12:08 +02:00
TiA4f8R
f13f4cc5d2
Split handleUrl method into two methods
Split handleURL method, now private, into two methods:
handleUrlCommentsTimestamp and handleUrlDescriptionTimestamp. Code is
now more proper.
2021-06-11 12:12:07 +02:00
TiA4f8R
a79badd783
Adress requested changes and try some cleanup in handleUrl method of InternalUrlsHandler class 2021-06-11 12:12:06 +02:00
TiA4f8R
2702700d10
Don't use a chooser for other intents than opening a content in a browser or sharing a content to other apps
Use an ACTION_CHOOSER intent has a negative impact for user experience, because user cannot set as default an activity for an intent
2021-06-11 12:12:05 +02:00
TiA4f8R
267686fd37
Initial work: add support for opening hashtags in plain text descriptions
This commit adds supports for opening hashtags in plain text descriptions, using the same logic as timestamps.
Every hashtag opens a search on the current service with the text in the hashtag.
Also use a better regular expression for parsing timestamps.
2021-06-11 12:12:04 +02:00
TiA4f8R
e5df2f65b8
Move some classes to a new subpackage and adress requested changes
Rename URLHandler and KoreUtil classes to InternalUrlsHandler and KoreUtils.
Move InternalUrlsHandler, KoreUtils, TextLinkfier, ShareUtils classes to external_communication subpackage.
Remove unused param showPreviewText in shareText method of ShareUtils class.
Add initial work to be able to display an image preview of the content shared (not for downloads).
Use a better regular expression to parse timestamps in plain text descriptions.
2021-06-11 12:12:03 +02:00
TiA4f8R
d6decc05d7
Move some classes to a new subpackage and adress requested changes
Rename URLHandler and KoreUtil classes to InternalUrlsHandler and KoreUtils.
Move InternalUrlsHandler, KoreUtils, TextLinkfier, ShareUtils classes to external_communication subpackage.
Remove unused param showPreviewText in shareText method of ShareUtils class.
Add initial work to be able to display an image preview of the content shared (not for downloads).
Use a better regular expression to parse timestamps in plain text descriptions.
2021-06-11 12:12:02 +02:00
TiA4f8R
d85afd6435
Initial work to add the image of the content in the share sheet
Also do some fixes when sharing a file in downloads and some improvements in JavaDocs of ShareUtils class.
2021-06-11 12:12:00 +02:00
TiA4f8R
2fb86364ab
Fix title of the subject when sharing an URL 2021-06-11 12:11:59 +02:00
TiA4f8R
c972940338
Apply suggested changes and fix some warnings 2021-06-11 12:11:58 +02:00
TiA4f8R
6abdd2a6d8
Try to change message of the system chooser for the update notification
This commit tries to change the title of the system chooser shown, which is from Android System ("Open links with"), when no defaut browser is present, for the update notification.
2021-06-11 12:11:57 +02:00
TiA4f8R
9e9d1a04e4
Fix toast shown when falling back to Google Play Store URL and the action of Open with Kodi button in the player
Add a boolean param, showToast, in ShareUtils.openIntentInApp and only show toast "No app on your device can open this" if this boolean is true.
Fix the action of play with Kodi button by applying the fix provided in #5599 (adding the flag Intent.FLAG_ACTIVITY_NEW_TASK to the intent in NavigationHelper.playWithKore method).
Do also some cleanup in viewWithFileProvider and shareFile methods of MissionAdapter class.
2021-06-11 12:11:56 +02:00
TiA4f8R
ae9349e36c
Initial work: add support for opening timestamps in plain text descriptions
This commit adds support for opening plain text timestamps by parsing the description text using a regular expression, add a click listener for each timestamp which opens the popup player at the indicated time in the timestamp.
In order to do this, playOnPopup method of the URLHandler class. Also, handleUrl method of this class has been renamed to canHandleUrl.
2021-06-11 12:11:55 +02:00
TiA4f8R
4031777606
Open recognized timestamps in the description of contents in the popup player
This commit adds support of opening recognized timestamps in the popup
player instead of starting an intent which opens the YouTube website with
the video timestamp.
2021-06-11 12:11:44 +02:00
Stypox
06d10cf9aa
Merge pull request #6313 from Isira-Seneviratne/Update_Room_to_2.3.0
Update Room to 2.3.0.
2021-06-09 16:28:55 +02:00
Stypox
0113ad5e14
Correctly save stream progress at the end of a video 2021-06-09 15:53:51 +02:00
Stypox
e58feadba9
Remove IN HISTORY label on stream info items 2021-06-09 15:53:51 +02:00
Stypox
360f5ac6f7
Save playback state even if stream is finished and add isFinished() 2021-06-09 15:53:51 +02:00
Mauricio Colli
e846f69e38
Add ability to hide played items in a feed
- Use components from the new Groupie list library for displaying the
feed list.
2021-06-09 15:53:51 +02:00
Tobi
56cd84c1fe
Merge pull request #6444 from TeamNewPipe/increasebufferafterdepletion
Increase buffer for playback after rebuffer
2021-06-08 17:02:18 +02:00
Stypox
a2eead521f
Merge pull request #6346 from Imericxu/tabs-style-check
Resolve Tabs style checks
2021-06-08 14:49:14 +02:00
Stypox
a2fd5ae20c
Update app/src/main/java/org/schabi/newpipe/settings/tabs/Tab.java 2021-06-08 14:45:00 +02:00
Stypox
543440e38d
Update app/src/main/java/org/schabi/newpipe/settings/tabs/Tab.java 2021-06-08 14:44:54 +02:00
Stypox
bede758507
Use url at current time for long click on player share button 2021-06-08 14:34:51 +02:00
Abanoub Sameh
5532666ad5
Long press on player share button to copy url to clipboard 2021-06-08 14:23:33 +02:00
Stypox
63cff25616
Merge pull request #6314 from Peyman-hme/Add-Open-website-button-to-webview-in-license-fragment-issue-#6296
Add "Open website" button to WebView in license fragment
2021-06-08 11:37:06 +02:00
Stypox
5e2735aaa2
Merge pull request #5462 from Isira-Seneviratne/Convert_abstract_classes_to_interfaces
Convert the abstract class DAOs to interfaces.
2021-06-08 11:32:10 +02:00
Peyman-hme
6fc0d8fce4
Add Open website string resources 2021-06-08 11:29:25 +02:00
Peyman-hme
e0c1ca1209
Change "Ok" Button to "Dismiss" and also change "Open Website" button to neutral button 2021-06-08 11:29:00 +02:00
Peyman-hme
3dc4ed1764
Add "Open website" button in webview in license fragment, issue #6296 2021-06-08 11:29:00 +02:00
Tobi
f63a4ee2ae
Merge pull request #5876 from TeamNewPipe/terminated-channels
Better error handling of terminated channels
2021-06-08 10:57:24 +02:00
Stypox
2a99e0e435
Reimplement storing backup import/export path
#6319 and #6402 were reverted before adding SAF changes, and have been readded at the end of SAF changes
2021-06-08 10:41:24 +02:00
Stypox
5ffc667bea
Remove misplaced comment 2021-06-08 10:40:45 +02:00
Stypox
21b8df0375
Check if file really exists before asking user to overwrite it 2021-06-08 10:40:45 +02:00
Stypox
b78ac7d2e9
Fix strange behaviour when app loses access to saf download folder 2021-06-08 10:40:45 +02:00
Stypox
114dc8ffa0
Pass mime type so that SAF treats file extension correctly 2021-06-08 10:40:45 +02:00
Stypox
eea43d5a73
Add comments to SharpStreams 2021-06-08 10:40:45 +02:00
Stypox
bcb1cf6603
Improve SAF switch descriptions in settings 2021-06-08 10:40:45 +02:00
Stypox
1e8b3826dc
Add setting migration to promote using SAF 2021-06-08 10:40:45 +02:00
wb9688
7efe62ee80
Only ask for storage permissions when not using SAF 2021-06-08 10:40:45 +02:00
wb9688
febb21a01d
Fix non-SAF actions 2021-06-08 10:40:44 +02:00
wb9688
cb4e6159c4
Use file picker for export DB 2021-06-08 10:40:44 +02:00
wb9688
1164ea52f9
Move Stored(File|Directory)Helper into NewPipe 2021-06-08 10:40:44 +02:00
wb9688
0f75024e03
Support SAF properly 2021-06-08 10:40:44 +02:00
Stypox
1e09a1768e
Revert all commits related to ContentSettingsFragment
Revert "Annotate methode parameters as NonNull"
This reverts commit 004907d306.

Revert "Commit path immediately when import backup"
This reverts commit 05eb0d0fbe.

Revert "Set ImportExportDataPath only on successful import"
This reverts commit f13a1b04e6.

Revert "Set ImportExportDataPath only on successful export"
This reverts commit fd4408e572.

Revert "Invert if condition in ContentSettingsFragment.setImportExportDataPath for better readability"
This reverts commit 92ab9cae27.

Revert "Move ContentSettingsFragment.isValidPath to helpers and add unit test for it."
This reverts commit fa2b11b768.

Revert "Save backup import/export location for feature import/exports"
This reverts commit 82f43ac6a6.

Remove FilePathHelperTest file
2021-06-08 10:40:44 +02:00
TobiGr
b57ecae565 Fix getting error cause
Fix error dialog not shown when getting elemets from first subscription failed.
2021-06-08 10:12:36 +02:00
Stypox
89317d4abc Fix feed loading and show a dialog for each invalid subscription 2021-06-08 10:12:36 +02:00
TobiGr
c5dd3dc7a9 Improve error message when loading feed
Add name of unavailable channel
2021-06-08 10:12:36 +02:00
TobiGr
ccc46971b4 Show detailed error message when an account has been terminated by the service 2021-06-08 10:12:36 +02:00
TobiGr
6ad4b425e4 Better error handling of terminated channels when loading feed 2021-06-08 10:12:36 +02:00
Robin
3b0045917c
Increase buffer for playback after rebuffer 2021-06-07 09:25:49 +02:00
Stypox
a102fc9cad
Use constraint layout for play queue item
Also remove invalid ic_selected attribute
2021-06-07 08:07:27 +02:00
Douile
d921e2e61b
Hide queue duration when displaying segment panel
Fixes #6441
2021-06-07 02:10:44 +01:00
TobiGr
7e3b3453c0 Suppress a warning 2021-06-05 16:13:12 +02:00
TobiGr
abc354f516 Use reqireContext(), requireActivity() instead of getters 2021-06-05 16:13:12 +02:00
Tobi
932eb94f9d
Merge pull request #6429 from TiA4f8R/fix-play-with-kodi-player-button
Fix Play with Kodi button in Player always prompts to install Kore
2021-06-05 14:32:09 +02:00
TiA4f8R
9fc3ddeab7
Fix Play with Kodi button in Player always prompts to install Kore 2021-06-05 12:48:34 +02:00
TobiGr
98fdbec442 Fix playback speed not being updated in PlayQueuAcitvity
Fixes #6419
2021-06-05 12:24:59 +02:00
bopol
332b90d6c1
Merge pull request #6337 from litetex/fix-broken-yt-liked-comments
[YouTube] Fix broken likes in comments
2021-06-04 22:32:48 +02:00
Tobi
db2e03eb14
Merge pull request #6402 from XiangRongLin/save_backup_bug
Fix and improve setting import and export paths
2021-06-04 22:22:09 +02:00
Tobi
63c9308f59
Merge pull request #5946 from Stypox/metadata
Show content metadata below the description
2021-06-03 20:51:33 +02:00
litetex
1306a777fc Using Localization.shortCount() and old likeCount 2021-06-03 14:40:00 +02:00
TiA4f8R
b4d6015464
Add the Open in browser option when long-pressing a stream for local and online playlists and for history 2021-06-03 13:21:31 +02:00
TiA4f8R
b9aaafdb30
Add Open in browser option to long-press menu
Add Open in browser option to long-press menu when long pressing a stream and a subscription
2021-06-03 13:15:08 +02:00
Tobi
71aa6c6e92
Merge pull request #6309 from mhmdanas/fix-channel-details-long-press-menu-on-feeds
Add "Show channel details" option in remote (non-local) playlists
2021-06-03 12:25:50 +02:00
Tobi
f98d2631e5
Merge pull request #6242 from evermind-zz/fixes-for-upstream
fix Rotation crash on „Video not available“ page (#5941)
2021-06-03 12:22:23 +02:00
Stypox
d025ef11f8
Sort tags in metadata section 2021-06-02 21:23:42 +02:00
Stypox
14256137e8
Use chips to show tags in metadata section
Clicking on chips opens the search fragment
Long clicking copies to clipboard
2021-06-02 16:15:02 +02:00
Stypox
bc3e43ac58
Add button to allow selecting text in the description
Since now selection is disabled by default, this fixes #5453
2021-06-02 14:36:34 +02:00
Stypox
d0d5373be9
Allow copying metadata to clipboard 2021-06-02 14:19:25 +02:00
Stypox
997267bad1
Show video metadata below the decription 2021-06-02 14:19:25 +02:00
XiangRongLin
004907d306 Annotate methode parameters as NonNull 2021-05-31 15:09:57 +02:00
XiangRongLin
05eb0d0fbe Commit path immediately when import backup 2021-05-31 12:40:14 +02:00
XiangRongLin
f13a1b04e6 Set ImportExportDataPath only on successful import
Also set the folder instead of the file itself as path
2021-05-31 12:38:21 +02:00
XiangRongLin
fd4408e572 Set ImportExportDataPath only on successful export 2021-05-31 12:36:21 +02:00
Tobi
62b593da08
Merge pull request #6118 from sauravrao637/errorHandlingInSubcribe
Error handling in subscribe() in DownloadDialog
2021-05-29 11:30:36 +02:00
Tobi
0eb69b6659
Merge pull request #6353 from Imericxu/fix-pasting-rich-text-in-search
Fix unwanted rich text formatting when pasting
2021-05-29 09:12:07 +02:00
Tobi
f134e2d02a
Merge pull request #6385 from sauravrao637/6371
Option for download is redundant and thus removed when linkType is CHANNEL or PLAYLIST
2021-05-28 14:23:04 +02:00
camo0112
b564433ff6 Option for download is redundant and thus removed when linkType is CHANNEL or PLAYLIST 2021-05-28 03:38:53 +05:30
Zhiheng Xu
ea1b910d7e Simplify code 2021-05-26 12:01:58 -04:00
Zhiheng Xu
8f4c6fb6ac Add comment 2021-05-26 12:01:58 -04:00
Zhiheng Xu
9b1861417c Add formatting removal on paste for search
Closes #5912
2021-05-26 12:01:58 -04:00
Eric Xu
448989f32f Add PlaylistTab.hashCode() matching equals 2021-05-26 12:01:30 -04:00
Eric Xu
2fc26bc154 Refactor PlaylistTab.equals 2021-05-26 12:01:30 -04:00
Eric Xu
1812249d37 Add ChannelTab.hashCode() matching equals 2021-05-26 12:01:30 -04:00
Eric Xu
14bbaccb9f Refactor ChannelTab.equals 2021-05-26 12:01:30 -04:00
Eric Xu
d2b03afcf4 Add KioskTab.hashCode() matching equals 2021-05-26 12:01:30 -04:00
Eric Xu
1cac3895dc Refactor KioskTab.equals 2021-05-26 12:01:30 -04:00
Eric Xu
01aab25889 Add Tab.hashCode() to go with equals 2021-05-26 12:01:30 -04:00
Eric Xu
96d731dfc7 Refactor equals method 2021-05-26 12:01:30 -04:00
Zhiheng Xu
2e161a1f45 Change shuffle() guard to check for size <= 2
After testing the app, I realized that shuffling a queue with size 2
does nothing
2021-05-24 12:20:19 -04:00
Zhiheng Xu
5ab6e84044 Remove redundant clearing of list 2021-05-24 12:20:19 -04:00
Zhiheng Xu
e1a6347c4e Refactor shuffle and update documentation
- Add early return for invalid sizes to shuffle

 - Rename variables to be more descriptive

 - Refactor moving list element, removing unnecessary operations

 - Unwrap if clause for adding to history because the condition is
   guaranteed by the guard clause

 - Inline the value 0 for the ReorderEvent

 - Update documentation to reflect new changes
2021-05-24 12:20:19 -04:00
Eric Xu
92a67bb8cb Rearrange fields
Final fields should be arranged first
2021-05-24 12:20:19 -04:00
Eric Xu
e8eeac6735 Resolve TODO in indexOf(...)
PlayQueueItem overrides equals and hashCode, so using indexOf is
perfectly fine.
2021-05-24 12:20:19 -04:00
Eric Xu
775fbc9a75 Rewrite setIndex(int) to pass unit tests
Original did not cover the case of when streams is empty and
documentation does not specify any input restrictions.

There's an ambiguity with broadcasting an event between the
documentation and the actual code (see TODO).
2021-05-24 12:20:19 -04:00
Eric Xu
8efe2859b8 Refactor assignments to field declaration
Assignments that don't require the constructor can be moved out.
2021-05-24 12:20:19 -04:00
Eric Xu
441c68ead2 Add hashCode() to match equals(other) 2021-05-24 12:20:19 -04:00
Eric Xu
4cd1f201f5 Refactor streams to initialize with values 2021-05-24 12:20:19 -04:00
Eric Xu
013c59f904 Refactor ArrayList fields to List 2021-05-24 12:20:19 -04:00
Eric Xu
57474e2dab Refactor and optimize equals
- Remove multiple casts of obj

 - Simply use object equals on the streams because PlayQueueItem’s
   equals already compares urls
2021-05-24 12:20:19 -04:00
TobiGr
87d2f33e55 Add support for PeerTube HLS streams 2021-05-23 11:53:35 +02:00
XiangRongLin
fc7944d287
Merge pull request #6319 from ATofighi/feat-6039-store-backup-location
Save backup import/export location for future import/exports
2021-05-21 21:08:33 +02:00
Alireza Tofighi
92ab9cae27 Invert if condition in ContentSettingsFragment.setImportExportDataPath for better readability 2021-05-21 20:24:57 +04:30
Alireza Tofighi
fa2b11b768 Move ContentSettingsFragment.isValidPath to helpers and add unit test for it. 2021-05-21 20:21:58 +04:30
Alireza Tofighi
82f43ac6a6 Save backup import/export location for feature import/exports 2021-05-17 21:57:27 +04:30
XiangRongLin
847831c195
Merge pull request #6308 from mhmdanas/make-minor-changes
Make some minor changes
2021-05-17 12:14:00 +02:00
XiangRongLin
e0b246431f
Merge pull request #6312 from ATofighi/fix-6298-report-page-back-not-working
Fix ErrorActivity actionbar back button not working
2021-05-17 12:12:12 +02:00
Isira Seneviratne
3b1c4b043d Convert Converters to a Kotlin object. 2021-05-16 11:14:15 +05:30
Isira Seneviratne
e8b8391868 Rename .java to .kt 2021-05-16 11:14:15 +05:30
Alireza Tofighi
c808beec30 Fix ErrorActivity actionbar back button not working
The issue is because of R.id.home != android.R.id.home
2021-05-16 02:19:52 +04:30
mhmdanas
b2b9938484 Put show channel details option in more long-press menus 2021-05-15 19:20:27 +03:00
mhmdanas
eb1cefe2fa Make some minor changes 2021-05-15 18:48:16 +03:00
Robin
95f61542b5 TEST: Downgrade ExoPlayer to 2.12 2021-05-14 14:47:53 +02:00
Robin
98ccd577d6 Fixed checkstyle 2021-05-14 12:15:48 +02:00
Robin
1d43a2362c Add debug option to disable media tunneling 2021-05-14 12:05:52 +02:00
Saurav Rao
5b4fbe32b1
Fix trying to delete object not in list (#6127)
* fix trying to delete object by index -1

* correction in checkstyle-supressions.xml

Co-authored-by: camo0112 <56369484+camo0112@users.noreply.github.com>
2021-05-12 14:33:00 +02:00
litetex
31ea44ccf1
Fixed player not automatically playing (#6266)
* Fixed player not automatically playing

Should also fix https://github.com/TeamNewPipe/NewPipe/issues/6179

* Added comment
2021-05-12 10:20:39 +02:00
evermind
a012e26d63 fix Rotation crash on „Video not available“ page (#5941)
The EmptyFragment should not have a constructor at all.
Now a static methods creates the Fragment and arguments
are handled via a Bundle.
2021-05-05 08:55:54 +02:00
Tobi
72ee4be495
Merge pull request #6152 from Isira-Seneviratne/Use_Animator_addListener
Use Animator.addListener() extension.
2021-05-04 19:37:03 +02:00
Robin
c85b97a484
Fix: fragmentSize is below the minimum (#6238)
noticed logs " CacheDataSink: fragmentSize is below the minimum recommended value of 2097152. This may cause poor cache performance.

this fixes the issue by using ExoPlayers MIN_RECOMMENDED_FRAGMENT_SIZE. Unfortunately that field is private:
aeb306a164/library/core/src/main/java/com/google/android/exoplayer2/upstream/cache/CacheDataSink.java (L123)
2021-05-04 19:08:25 +02:00
Tobi
c7510c628f
Merge pull request #6189 from mhmdanas/fix-some-warnings
Fix some warnings
2021-05-04 18:54:17 +02:00
Tobi
3ca1e550fe
Merge pull request #5997 from TeamNewPipe/reChaptcha
Do not set reCaptcha cookie when there is no cookie stored
2021-05-04 18:53:12 +02:00
mhmdanas
2c1df5f875 Actually fix the parentFile warning 2021-04-30 01:02:46 +03:00
mhmdanas
e7ae215ab0 Fix some warnings 2021-04-28 00:28:36 +03:00
TobiGr
4a9c790652 Merge branch 'master' into dev 2021-04-26 19:13:17 +02:00
Tobi
bacb35fb1c
Merge pull request #6151 from TeamNewPipe/share-dialog-color
Fix black drawables in night themes in share dialog (RouterActivity)
2021-04-26 11:51:50 +02:00
TobiGr
e70c153cd3 Fix black drawables in night themes in share dialog (RouterActivity) 2021-04-25 11:36:40 +02:00
TobiGr
b54c2b7f57 Fix invisible buffering / loading indicator in player 2021-04-25 11:36:00 +02:00
Isira Seneviratne
3fe80ec5ac Use Animator.addListener() extension. 2021-04-24 07:45:12 +05:30
Sub Raizada
e775037366
Only show 'download has started' toast when a download has started 2021-04-22 02:45:04 +00:00
camo0112
4357e02c58 user can report the error 2021-04-20 16:21:20 +05:30
camo0112
67c0ceedc9 Error handling in subscribe() in DownloadDialog 2021-04-20 13:06:40 +05:30
Robin
0039312a64
Merge pull request #6109 from sauravrao637/codeImrovement
Replaced if/else with switch in ErrorActivity, supress false lint warning
2021-04-19 16:45:45 +02:00
camo0112
fc4dd4524a Replaced if/else with switch 2021-04-19 10:52:52 +05:30
TobiGr
e5457e5029 [Bandcamp] Add Radio stream segments
Display channel / creator / artist name when given
2021-04-11 23:14:23 +02:00
XiangRongLin
c9e0bf4f02
Merge pull request #5963 from sauravrao637/IssueFix#5959
Fix display of channel details when it has no videos
2021-04-09 11:15:51 +02:00
camo0112
8f9eaa22e6 Fix display of channel details when it has no videos 2021-04-09 12:45:43 +05:30
Tom
3fcd580491
Add queue time (#6023)
* Add queue time
2021-04-08 10:41:41 +02:00
Davide Beatrici
cf3cc2e984
Disable media tunneling on cvt_mt5886_eu_1g (#6024)
* Disable media tunneling on cvt_mt5886_eu_1g

Follow-up to 4a9d21062a.
2021-04-08 05:21:57 +02:00
Robin
9e29d8d692
Merge pull request #6001 from TacoTheDank/appcompat-alertdialog
Migrate rest of AlertDialogs to AppCompat
2021-04-07 05:07:24 +02:00
wangear
5d5f8b4d51
Fix NullPointerException: Attempt to get length of null array in MainActivity (#5999)
* Fixed Unable to start activity ComponentInfo{org.schabi.newpipe/org.schabi.newpipe.MainActivity}: java.lang.NullPointerException: Attempt to get length of null array #5996
issue : #5996
changed :
- Checked null
2021-04-06 14:13:13 +02:00
TacoTheDank
e75d0de135 Migrate rest of AlertDialogs to AppCompat 2021-04-04 10:26:38 -04:00
TobiGr
c0c78ae9bb Do not set reChaptache cookie when there is no cookie stored
In DownloaderImpl#getCookies(String url) the reChaptcha cookie is set if it is not null. For this reason, the cookie was set in every request.
2021-04-04 12:27:12 +02:00
krlvm
e484339cca
Merge branch 'dev' into daynight 2021-04-03 00:08:26 +03:00
Stypox
2af20d5c40
Merge pull request #5974 from fynngodau/related-items
Rename related streams to related items
2021-04-02 20:34:39 +02:00
PulkitGarg67
e1a6b69f9a
Functionality to rename playlist name from playlist interface 2021-04-01 21:30:15 +02:00
Saurav Rao
8df935f5fe
NullPointerException on screen rotation during exit fix (#5976) 2021-04-01 15:07:21 +02:00
Fynn Godau
c9766d25ef Rename related streams to related items 2021-03-31 22:33:22 +02:00
krlvm
7061859112
Fix subscription picker colors on API 19 2021-03-31 20:17:58 +03:00
Tobi
66c24af3d2
Merge pull request #5969 from Redirion/tnnlwrkarnd
Disable media tunneling on Hi3798MV200
2021-03-31 19:02:00 +02:00
camo0112
856a39855e IssueFixed#5968 2021-03-31 20:48:02 +05:30
Robin
4a9d21062a Disabled tunneling on Hi3798MV200 2021-03-31 16:38:50 +02:00
Stypox
43f85408be
Merge pull request #5944 from Stypox/fix-search-menu
Fix some random NullPointerExceptions
2021-03-31 15:21:13 +02:00
Stypox
5739caaa5a
Merge pull request #5856 from Redirion/exo213
Update to ExoPlayer 2.13.2
2021-03-31 14:29:16 +02:00
wangear
73cfa5499d
Fix overlapping fonts and crash on tapping anywhere on video after long-pressing 'Popup' button (#5813)
* Overlapping fonts #5096
issue : #5096

* Overlapping fonts #5096
issue : #5096
changed :
- If additional textView is overlapped, only title view shows.

* Overlapping fonts #5096
issue : #5096
changed :
- Remove treeObserve and hiding logic.
- RelativeLayout -> ConstraintLayout.
- layout size fixed -> wrap_content.
- if text size is bigger, layout height bigger too.

* Overlapping fonts #5096
issue : #5096
changed :
- remove unusable variable

* Crash on tapping anywhere on video after long-pressing 'Popup' button #5804
issue : #5804
changed :
- checked null
- fixed NullPointerException.
2021-03-31 10:10:14 +02:00
Robin
83d16932a4 Update to ExoPlayer 2.13.2 2021-03-31 10:05:44 +02:00
Stypox
84e3f6ca18
Merge pull request #5881 from TacoTheDank/about_revamp
About package internal revamp
2021-03-31 09:56:12 +02:00
Stypox
5d6a568308
Fix random NullPointerException in NotificationActionsPreference 2021-03-31 09:12:47 +02:00
Stypox
3e8cba745a
Fix random NullPointerException in PlaylistFragment 2021-03-31 09:12:47 +02:00
Stypox
be4d12789d
Fix random NullPointerException in SearchFragment 2021-03-31 09:12:45 +02:00
TacoTheDank
27d0f7f277 Convert AboutFragment clickListeners to a function extension 2021-03-29 19:07:12 -04:00
TacoTheDank
fb1aab2a49 Converted the about package to Kotlin 2021-03-29 19:06:32 -04:00
TacoTheDank
cc72fa4793 Renamed things pertaining to the about package 2021-03-29 19:05:57 -04:00
krlvm
e9c60eff85
Cleanup 2021-03-30 00:03:30 +03:00
krlvm
c8b4685fc9
Fix ErrorActivity colors 2021-03-29 22:48:28 +03:00
krlvm
c906cb57ee
Fix colors in setting fragments, cleanup 2021-03-29 21:19:17 +03:00
Tom
84de865daf
Allow the user to pause while a video is buffering (#5929)
Fix pause while buffering
Use getPlayWhenReady wrapper everywhere playWhenReady is checked
Remove duplicate `playPause()` code
2021-03-29 18:00:00 +02:00
krlvm
80d1c5b9f5
Fix Repeat Button color in Player 2021-03-28 22:04:54 +03:00
krlvm
67942a906a
Fix colors in PeerTube Settings Fragment 2021-03-28 19:36:07 +03:00
Mohammed Anas
6a9cae3de8
Add channel details option to long-press menu (#5851)
Add dialog item to open channel details
Use `List` as type of `entries`
Put channel details item last
Only show channel option when channel is present
2021-03-28 18:32:40 +02:00
krlvm
0afdac5683
Fix Light Player Popups in Dark Theme, make Player Controls Overlay always Dark 2021-03-28 18:48:51 +03:00
krlvm
609d09a8e2
Remove unused SuggestionListAdapter.resolveResourceIdFromAttr 2021-03-28 15:12:59 +03:00
krlvm
01e8654fbd
Fix Search colors on KitKat 2021-03-28 14:55:54 +03:00
krlvm
f477ab84d5
Fix tab highlight opacity on KitKat 2021-03-28 14:43:11 +03:00
krlvm
a9e8b3e06b
Remove ThemeHelper.resolveResourceIdFromAttr 2021-03-28 12:23:52 +03:00
Stypox
daa5b7827a
Merge pull request #5879 from TacoTheDank/clean-oncreatepreferences
Clean up unnecessary onCreate in settings fragments
2021-03-28 10:48:10 +02:00
krlvm
df52a6ea6b
Update app/src/main/java/org/schabi/newpipe/local/subscription/item/FeedImportExportItem.kt
Co-authored-by: Stypox <stypox@pm.me>
2021-03-28 00:15:22 +03:00
krlvm
fd14c8cdce
Fix Dark elements in Light Theme 2021-03-27 17:46:05 +03:00
Stypox
08d8f2564a
Merge pull request #5882 from TacoTheDank/fragmentcontainerview
Replace FrameLayout with FragmentContainerView where applicable
2021-03-27 08:31:32 +01:00
krlvm
b3e2418b93
Migrate to DayNight Theme 2021-03-26 23:08:25 +03:00
Tobi
80d6fff0ca
Merge pull request #5649 from FireMasterK/ff-ua
Change UA to privacy.resistFingerprinting.
2021-03-24 17:59:17 +01:00
Tobi
fe43b4da39
Merge pull request #5896 from Stypox/fix-error-panel
Fix error panel created in onViewCreated() but disposed in onDestroy()
2021-03-24 11:32:07 +01:00
Stypox
0fcaf20221
Fix settings switches are not red anymore
Reverts part of 731c65cd59
2021-03-24 10:16:24 +01:00
Stypox
0277b94b37
Fix error panel created in onViewCreated() but disposed in onDestroy() 2021-03-24 09:27:17 +01:00
TacoTheDank
6a9d5fd4cc Replace FrameLayout with FragmentContainerView where applicable 2021-03-22 17:46:06 -04:00
TacoTheDank
a83106f717 Clean up unnecessary onCreate in settings fragments 2021-03-22 16:38:36 -04:00
Matskidis Giannis
bf6645e829
Show Toast when download starts
Add toast to inform the user that download started and add the right string in values.
2021-03-20 22:18:01 +01:00
Stypox
86381696f4
Merge pull request #5457 from Redirion/exo123
Update to ExoPlayer 2.12.3
2021-03-18 18:59:56 +01:00
Stypox
731c65cd59
Refactor ThemeHelper 2021-03-18 12:39:29 +01:00
bopol
a85e8a29ff
Use a list for night themes
Also remove unused strings
2021-03-18 12:12:04 +01:00
bopol
22b2f52f8c
Use a switch preference to follow device theme 2021-03-18 11:23:55 +01:00
bopol
a713ce2126
Add settings for device theme (dark & black)
fix bugs related to isLightThemeSelected not handling device themes
such as license having dark background when it should be white
2021-03-18 11:17:06 +01:00
Stypox
4fac3cf304
Merge pull request #5230 from Isira-Seneviratne/Update_prettytime
Update prettytime.
2021-03-18 08:59:40 +01:00
Isira Seneviratne
74e20a8c52 Use PrettyTime's new formatUnrounded(OffsetDateTime) method.
Also change the types of the relevant variables from Calendar to OffsetDateTime.
2021-03-18 06:38:12 +05:30
Stypox
feb65cf8f3
Merge pull request #5792 from TeamNewPipe/resize_mode
Fix last resize mode not being restored correctly
2021-03-17 09:07:44 +01:00
Stypox
93592d23f4
Merge pull request #5820 from TeamNewPipe/mini_player_title
Fix empty stream title in minimized player
2021-03-17 08:56:50 +01:00
TobiGr
71d3227791 Fix bottom controls being out of the screen
This was caused by too large end screen thumbnails enlarging the whole palyer. Fixed by scaling the thumbnail.

Ensure that the player does not use the whole screen height in detail fragment to keep the additional content like title, comments, etc. available.
2021-03-14 17:52:15 +01:00
TobiGr
292e103073 Ignore ContentNotSupportedException caused by Bandcamp fan pages 2021-03-14 17:52:15 +01:00
Fynn Godau
39a3f03e79 Bandcamp support 2021-03-14 17:52:15 +01:00
Tobi
404a6c12a6
Merge pull request #5148 from Stypox/error-panel
Show improved error panel instead of annoying snackbar or crashing
2021-03-14 17:41:27 +01:00
Tobi
8271409afe
Merge pull request #5562 from mbarashkov/hardware_keyboard_space_shortcut_v2
Implement "pause/play" toggle on hardware keyboard space button.
2021-03-14 13:08:44 +01:00
TobiGr
985f659026 Fix empty stream title in minimized player 2021-03-13 20:12:57 +01:00
Stypox
285ea4e3fd
Better handle url not supported in RouterActivity
Make sure the url not supported dialog is only shown when the url is really not supported, not on any ExtractionException
2021-03-12 23:21:54 +01:00
Stypox
8ce18647f1
Improve email subject for error reporting 2021-03-12 23:21:54 +01:00
Stypox
aee0478235
FeedFragment: fix view binding and show loading indicator correctly 2021-03-12 23:21:54 +01:00
Stypox
c3cf1d81c2
Fix error panel and search fragment state saving 2021-03-12 23:21:54 +01:00
Stypox
c2b6cec37d
Hide meta info panel in search when starting a new search 2021-03-12 23:21:54 +01:00
Stypox
b265cabc22
Fix views not scrollable when showing error panel 2021-03-12 23:21:54 +01:00
Stypox
463dd8ea74
Completely remove return activity, now outdated 2021-03-12 23:21:54 +01:00
Stypox
1fc8e4c148
Optimize imports and solve checkstyle issues 2021-03-12 23:21:53 +01:00
Stypox
c43bca6007
Add report/solve-recaptcha button in error panel
It will be shown even when nothing could be loaded not due to a network error, and the user can choose to ignore or report it.

Also improve error reporting arguments
Also completely refactor error activity
Also improve some code here and there
2021-03-12 23:21:49 +01:00
TobiGr
86fa629591 Fix last resize mode not being restored correctly
I think the settings key "last_resize_mode" is ambiguous. While it is used to get the recently used resize mode, someone thought while working on the resize mode switcher, that the old (to be replaced) resize mode should be stored. 
Fixes #5613
2021-03-08 09:46:33 +01:00
Stypox
553b80164b
Move all error-related classes into error package 2021-03-07 17:49:28 +01:00
TiA4f8R
37a96d063f
Add different error messages for SoundCloud and YouTube unavailable contents
Add new error strings for the six new exceptions created in the extractor and catch these exceptions. Extractor is, of course, updated with this PR.
2021-03-07 15:33:25 +01:00