Skip to content

Commit b4615f7

Browse files
authored
Merge pull request #7355 from petlyh/append-remote-playlist
Add a "Add to playlist" item to the remote playlist menu
2 parents a4037a8 + fcaa787 commit b4615f7

2 files changed

Lines changed: 20 additions & 0 deletions

File tree

app/src/main/java/org/schabi/newpipe/fragments/list/playlist/PlaylistFragment.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import org.schabi.newpipe.NewPipeDatabase;
2929
import org.schabi.newpipe.R;
3030
import org.schabi.newpipe.database.playlist.model.PlaylistRemoteEntity;
31+
import org.schabi.newpipe.database.stream.model.StreamEntity;
3132
import org.schabi.newpipe.databinding.PlaylistControlBinding;
3233
import org.schabi.newpipe.databinding.PlaylistHeaderBinding;
3334
import org.schabi.newpipe.error.ErrorInfo;
@@ -41,6 +42,7 @@
4142
import org.schabi.newpipe.extractor.stream.StreamInfoItem;
4243
import org.schabi.newpipe.fragments.list.BaseListInfoFragment;
4344
import org.schabi.newpipe.info_list.dialog.InfoItemDialog;
45+
import org.schabi.newpipe.local.dialog.PlaylistDialog;
4446
import org.schabi.newpipe.local.playlist.RemotePlaylistManager;
4547
import org.schabi.newpipe.player.MainPlayer.PlayerType;
4648
import org.schabi.newpipe.player.playqueue.PlayQueue;
@@ -56,6 +58,7 @@
5658
import java.util.List;
5759
import java.util.concurrent.atomic.AtomicBoolean;
5860
import java.util.function.Supplier;
61+
import java.util.stream.Collectors;
5962

6063
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers;
6164
import io.reactivex.rxjava3.core.Flowable;
@@ -237,6 +240,17 @@ public boolean onOptionsItemSelected(final MenuItem item) {
237240
case R.id.menu_item_bookmark:
238241
onBookmarkClicked();
239242
break;
243+
case R.id.menu_item_append_playlist:
244+
disposables.add(PlaylistDialog.createCorrespondingDialog(
245+
getContext(),
246+
getPlayQueue()
247+
.getStreams()
248+
.stream()
249+
.map(StreamEntity::new)
250+
.collect(Collectors.toList()),
251+
dialog -> dialog.show(getFM(), TAG)
252+
));
253+
break;
240254
default:
241255
return super.onOptionsItemSelected(item);
242256
}

app/src/main/res/menu/menu_playlist.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,4 +28,10 @@
2828
android:orderInCategory="2"
2929
android:title="@string/open_in_browser"
3030
app:showAsAction="never" />
31+
32+
<item
33+
android:id="@+id/menu_item_append_playlist"
34+
android:orderInCategory="3"
35+
android:title="@string/add_to_playlist"
36+
app:showAsAction="never" />
3137
</menu>

0 commit comments

Comments
 (0)