BendyStraw
Added: 08-12-2023
Updated: 11-02-2024
BendyStraw
An app for managing NewPipe databases.
BendyStraw imports NewPipeData-*.zip
files and
lets you:
Open multiplezip
s at the same time, so you can combine data
from several devices
Delete
Copy
Move
Rename
your custom playlists
Delete
Copy
Move
streams from one
playlist to another
Delete
Copy
Move
channel
subscriptions between databases
Delete
Copy
Move
remote (bookmarked)
playlists
Re-order playlists, sorting the streams byTitle
,
Channel
orLength
(just tap the column headings in
the tables)
Streams (audio/video) can be opened directly from
BendyStraw, as the URLs are clickable
If you set video links (in your Android settings) to open in
NewPipe you can make a split-screen view and jump
around your playlists
Export playlist as raw text, for example to be used with
yt-dlp
- Dark/light themes
After editing simply export a new zip
file, then import it back
into NewPipe.
Note about Permissions
On Android 13+, BendyStraw asks for the
manage external storage permission, here's why:
A typical use-case for this app is to open severalzip
files,
concurrently, from multiple locations including
Download
directories (these files would be, for example,
multiple NewPipe exports from multiple devices, which you
want to combine).
Eachzip
is extracted so that its contained
newpipe.db
SQLite database can be read/written while you are
editing.
After editing, the extracted files are written back to a new
zip
, and/or overwrite the originalzip
s.
>I aim to minimise the permissions I request in everything I build
>. Android 13 introduced changes to make doing what I decribed above
difficult. I explored alternative methods requiring fewer permissions and felt
that it compromised the user experience for my (as the app's first user)
typical usage, making it more complicated and annoying.
I treat users as responsible human beings, so give you this info to allow you
to make an informed choice. If you are not happy with this, you can:
- Choose not to grant the permission, and uninstall the app.
Check the source code to see that I'm not doing anything nefarious, or ask
somebody to check it for you (at time of writing, everything related to
reading/writing files is in/lib/file_manager_widget.dart
).
Build the app yourself from the source using Flutter.