diff --git a/app/src/main/java/org/schabi/newpipe/ui/components/menu/LongPressAction.kt b/app/src/main/java/org/schabi/newpipe/ui/components/menu/LongPressAction.kt index 77482d5ac..4f2030a27 100644 --- a/app/src/main/java/org/schabi/newpipe/ui/components/menu/LongPressAction.kt +++ b/app/src/main/java/org/schabi/newpipe/ui/components/menu/LongPressAction.kt @@ -21,6 +21,7 @@ import androidx.compose.ui.graphics.vector.ImageVector import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers import org.schabi.newpipe.R import org.schabi.newpipe.database.stream.model.StreamEntity +import org.schabi.newpipe.download.DownloadDialog import org.schabi.newpipe.error.ErrorInfo import org.schabi.newpipe.error.ErrorUtil import org.schabi.newpipe.error.UserAction @@ -110,7 +111,16 @@ data class LongPressAction( return buildPlayerActionList { SinglePlayQueue(item) } + buildShareActionList(item) + listOf( - Type.Download.buildAction { context -> /* TODO */ }, + Type.Download.buildAction { context -> + SparseItemUtil.fetchStreamInfoAndSaveToDatabase( + context, item.serviceId, item.url + ) { info -> + val downloadDialog = DownloadDialog(context, info) + val fragmentManager = context.findFragmentActivity() + .supportFragmentManager + downloadDialog.show(fragmentManager, "downloadDialog") + } + }, Type.AddToPlaylist.buildAction { context -> PlaylistDialog.createCorrespondingDialog( context,