Resume streams where you stopped last time
Use Storage Access Framework to store downloads on external SD-cards
Corresponding PR: #2482
Corresponding PR for the extractor: https://github.com/TeamNewPipe/NewPipeExtractor/pull/179
NewPipe-v0.17.0_RC4:
Please report all new bugs below.
I'd also open an issue for this, as I think people read more issues than pull requests.
Also remember to merge weblate:
Also remember to merge weblate:
Done.
Found an issue, the history does not show up directly after you opened the history view, and if you do anything it will immediately disappear again.
Yes it takes quite way to long to load. But on my device nothing disappears.
I think its a little weird that not even the loading cycle is shown during that time.
export settings database to external sd crashes due to missing permission although write access to storage in general is allowed (Android 6). Maybe also use SAF like when asking for the audio / video download folder?
Crash log
java.io.FileNotFoundException: /storage/8900-7EE7/NewPipeData-20190801_093211.zip: open failed: EACCES (Permission denied)
at libcore.io.IoBridge.open(IoBridge.java:452)
at java.io.FileOutputStream.(FileOutputStream.java:87)
at java.io.FileOutputStream.(FileOutputStream.java:127)
at java.io.FileOutputStream.(FileOutputStream.java:116)
at org.schabi.newpipe.settings.ContentSettingsFragment.exportDatabase(ContentSettingsFragment.java:154)
at org.schabi.newpipe.settings.ContentSettingsFragment.onActivityResult(ContentSettingsFragment.java:139)
at android.support.v4.app.FragmentActivity.onActivityResult(FragmentActivity.java:160)
at android.app.Activity.dispatchActivityResult(Activity.java:6497)
at android.app.ActivityThread.deliverResults(ActivityThread.java:3695)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:3742)
at android.app.ActivityThread.access$1400(ActivityThread.java:150)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1393)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Caused by: android.system.ErrnoException: open failed: EACCES (Permission denied)
at libcore.io.Posix.open(Native Method)
at libcore.io.BlockGuardOs.open(BlockGuardOs.java:186)
at libcore.io.IoBridge.open(IoBridge.java:438)
... 17 more
I've found an error unfortunately I can't reproduce it :/. I was opening a youtube link in another app with newpipe -> show info and then i went into to the settings and when i went back to the video i got this error:
edit: this was the video url: https://www.youtube.com/watch?v=XrTDkTKkZ0E
Crash log
java.lang.RuntimeException: Unable to resume activity {org.schabi.newpipe/org.schabi.newpipe.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'java.util.List org.schabi.newpipe.extractor.stream.StreamInfo.getVideoStreams()' on a null object reference
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3790)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3830)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1746)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6944)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.util.List org.schabi.newpipe.extractor.stream.StreamInfo.getVideoStreams()' on a null object reference
at org.schabi.newpipe.fragments.detail.VideoDetailFragment.setupActionBar(VideoDetailFragment.java:659)
at org.schabi.newpipe.fragments.detail.VideoDetailFragment.onResume(VideoDetailFragment.java:250)
at android.support.v4.app.Fragment.performResume(Fragment.java:2498)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1501)
at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1784)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1852)
at android.support.v4.app.FragmentManagerImpl.dispatchStateChange(FragmentManager.java:3269)
at android.support.v4.app.FragmentManagerImpl.dispatchResume(FragmentManager.java:3241)
at android.support.v4.app.FragmentController.dispatchResume(FragmentController.java:223)
at android.support.v4.app.FragmentActivity.onResumeFragments(FragmentActivity.java:538)
at android.support.v4.app.FragmentActivity.onPostResume(FragmentActivity.java:527)
at android.support.v7.app.AppCompatActivity.onPostResume(AppCompatActivity.java:172)
at android.app.Activity.performResume(Activity.java:7385)
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3765)
... 8 more
java.lang.NullPointerException: Attempt to invoke virtual method 'java.util.List org.schabi.newpipe.extractor.stream.StreamInfo.getVideoStreams()' on a null object reference
at org.schabi.newpipe.fragments.detail.VideoDetailFragment.setupActionBar(VideoDetailFragment.java:659)
at org.schabi.newpipe.fragments.detail.VideoDetailFragment.onResume(VideoDetailFragment.java:250)
at android.support.v4.app.Fragment.performResume(Fragment.java:2498)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1501)
at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1784)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1852)
at android.support.v4.app.FragmentManagerImpl.dispatchStateChange(FragmentManager.java:3269)
at android.support.v4.app.FragmentManagerImpl.dispatchResume(FragmentManager.java:3241)
at android.support.v4.app.FragmentController.dispatchResume(FragmentController.java:223)
at android.support.v4.app.FragmentActivity.onResumeFragments(FragmentActivity.java:538)
at android.support.v4.app.FragmentActivity.onPostResume(FragmentActivity.java:527)
at android.support.v7.app.AppCompatActivity.onPostResume(AppCompatActivity.java:172)
at android.app.Activity.performResume(Activity.java:7385)
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3765)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3830)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1746)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6944)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)
I found out why my chonnic is so slow: I have a huge amout of data in there. So its underperforming dramatically. However it used to work well before the update, so there must be something new that has bad runtime. One should run the profiler on this.
Found another bug:
Importing settings from an exported database file is not getting applied.
As you can see in the video, I've set the default resolution to 720p, and exported the database, and on import I said "yes" when NP asked me to restore the settings, however the 720p did not get restored, which also applied to all other settings:
First, this update looks great. All these fixes and improvements are very exciting.
Second, is there any way #2309 could be implemented as an experimental setting?
In "whats new" if the list is loaded quicky (previuosly browing all channels on the feed). The empty list message is displayed

In "whats new" if the list is loaded quicky (previuosly browing all channels on the feed). The empty list message is displayed
Related issues -
I managed to fix it with https://github.com/yausername/NewPipe/commit/985f5f718051d20e74dd893c4390ff8367671f37 Not sure of any side effects though.
@nv95
What's new list: around the sixth entry a video is always shown twice (only one).
I found another issue: The player starts a video from the beginning when you switch away from it, to another activity, and then return.

some nit-picking. Is this watched duration thing really required? The red bar seems good enough to me.

I thought thats cool :D so you know exaclty the time where you are.
@tusch001 what you postet is not a regression and should therefore not be fixed now.
For me the only big issue now is that thing that when you return to the player the possition is lost. Can someone confirm that?
When thats done it consider release. @TobiGr ? What do u think?
@theScrabi I agree. Everything else can be fixed in a future version.
I am not able to clear playback position history. is there any option to do it. And also after turning off this feature the indicator doesn't show in list but when I click on the video it show up.And also video starts from saved position even feature is off.
I tried clearing history and cache(in app info too) but positions doesn't clear up.
is anyone having same problem.
newpipe : 17.0 R3
Android : 8.1
Language: en
I am not able to clear playback position history. is there any option to do it.
@thegodofplay The positions is only deleted when deleting the history.
I found another issue: The player starts a video from the beginning when you switch away from it, to another activity, and then return.
@theScrabi I am not able to reproduce this on Android, too. Only with Lineage 15.1. Which Lineage version is on your phone?
@TobiGr @theScrabi
check PR https://github.com/TeamNewPipe/NewPipe/pull/2496. I think this should be part of this release as it is a regression bug.
@TobiGr
My bad. After turning off playback position the position progress bar doesn't show up anywhere, its working fine. But it still logging positions even if feature is off and start showing previous positions(of time when feature is off) when you enable it again. And i mentioned above that i cleared history but it doesn't work. Here is the video:
https://streamable.com/olcvg
I found another issue: The player starts a video from the beginning when you switch away from it, to another activity, and then return.
@theScrabi I can reproduce this issue on Lineage 16.0
@TobiGr I have Lineage 16.0 aka Android 9.
More exact: 16.0-20190729-microG-bardock
@thegodofplay I know that some images might have problems, as do all Android phones have. But we try to make it work as well as possible. However Lineage is not one of the least used Roms.
But it still logging positions even if feature is off and start showing previous positions(of time when feature is off) when you enable it again
@thegodofplay This should not happen and is IMO a new blocker @theScrabi
Edit: I am working on a fix
@thegodofplay Fixed the history bug in https://github.com/TeamNewPipe/NewPipe/commit/3cd485069d19b681a29faefa8f1fda148a5976e8
I noticed that to but it happend not always
I was not able to fix the problem mentioned in https://github.com/TeamNewPipe/NewPipe/issues/2483#issuecomment-518660305
@nv95, @theScrabi, @yausername or @Stypox: Can one of you take a look at it please?
Awesome. :D Thx @TobiGr . I will build later. I gat quite some busy day yesterday.
I found another nasty bug: the local playlists content duplicates again and again and this is so bothering
How to reproduce:
1- open a playlist
2- long press the first element and click "enqueue in background"
3- skip the song from the notification
4- you are done ! You have all the songs twice. And i realized it just after skipping 3 songs so my playlists went from 15 songs to 45. But for a reason i still couldnt determine, this doesnt happen all the time, and if you leave the playlist and come back, everything come back as before - but sometimes not.
Edit: i found how i keep the new elements : you just have to delete an element of the playlist after the bug happens, and everything becomes "saved"
Dont try too much because its exponential 馃槀
Uploaded RC4.
@TobiGr the bug from https://github.com/TeamNewPipe/NewPipe/issues/2483#issuecomment-518660305 seems still to be there in RC4.
@justanidea I could not reproduce hits behaviour. Also did you test this with 0.16.4? If the bug exists there it's not a regression and should therefore not be fixed now.
@theScrabi that's why I asked for help
I see, I missread sorry. I was already taking a look into the code but could not find the cause yet as well.
@theScrabi @TobiGr @Stypox https://github.com/TeamNewPipe/NewPipe/issues/2483#issuecomment-518660305 seems to be caused by https://github.com/TeamNewPipe/NewPipe/pull/2482/commits/7c9ef58acd0971ef47c78f4d3247d388991044bc
It is working fine if I revert that commit (https://github.com/TeamNewPipe/NewPipe/pull/2482/commits/7c9ef58acd0971ef47c78f4d3247d388991044bc). Although I can't completely understand the reason behind this commit.
How about we release now, because 0.17.0 is less broken then 0.16.4. We could release now and fix on the master branch later. What do you think about that?
Sounds good!
All right
@theScrabi are you releasing today?
No I'm sick today. @TheAssassin you have the keys could you take care of it, otherwise I will tomorrow.
@yausername That commit fixed this problem. But what I did was just a workaround. I will now try harder and push directly to release_v0.17.0 (as it seems like I have the permission ;-))
Release it babieeeesssssss .
@yausername @theScrabi @nv95 I could not reproduce the issue, but I tried to fix it anyway. I'm now disposing stateLoader when the player is destroyed, and probably this is the correct way to do it. Check https://github.com/Stypox/NewPipe/commit/5191907af0f5abfcb45b6dcb09cc56a8924ce5db ; I will push to release_v0.17.0 after your feedback.
Here is the APK for testing:
app-debug_1.zip
@Stypox you fixed it :D
My machine is ready for take off now. @Stypox commit, and 0.17.0 is as good as launched.
I could not reproduce the issue
It was happening on android P.
Well done. Thank you very much, it has been a pleasure to work with all of you once more. :bowing_man: This is a very nice version :)

Actually the playlist bug doesnt happen anymore, i guess it was linked to the older version of Np 0.17.0, before all these fixes
I had to pull back 0.17.0 due to issues with the documents app on android 5.0, and the slow performance when having old databases that would need to be imported into 0.17.0.
Most helpful comment
I thought thats cool :D so you know exaclty the time where you are.