Skip to content

Commit 32c7222

Browse files
nikita.artikhovichNullPointerException
authored andcommitted
Add download option to long-press menu
1 parent a245ba6 commit 32c7222

2 files changed

Lines changed: 12 additions & 0 deletions

File tree

app/src/main/java/org/schabi/newpipe/info_list/dialog/InfoItemDialog.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -323,6 +323,7 @@ public Builder addDefaultBeginningEntries() {
323323
*/
324324
public Builder addDefaultEndEntries() {
325325
addAllEntries(
326+
StreamDialogDefaultEntry.DOWNLOAD,
326327
StreamDialogDefaultEntry.APPEND_PLAYLIST,
327328
StreamDialogDefaultEntry.SHARE,
328329
StreamDialogDefaultEntry.OPEN_IN_BROWSER

app/src/main/java/org/schabi/newpipe/info_list/dialog/StreamDialogDefaultEntry.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import static org.schabi.newpipe.util.NavigationHelper.openChannelFragment;
44
import static org.schabi.newpipe.util.SparseItemUtil.fetchItemInfoIfSparse;
5+
import static org.schabi.newpipe.util.SparseItemUtil.fetchStreamInfoAndSaveToDatabase;
56
import static org.schabi.newpipe.util.SparseItemUtil.fetchUploaderUrlIfSparse;
67

78
import android.net.Uri;
@@ -11,6 +12,7 @@
1112

1213
import org.schabi.newpipe.R;
1314
import org.schabi.newpipe.database.stream.model.StreamEntity;
15+
import org.schabi.newpipe.download.DownloadDialog;
1416
import org.schabi.newpipe.local.dialog.PlaylistAppendDialog;
1517
import org.schabi.newpipe.local.dialog.PlaylistDialog;
1618
import org.schabi.newpipe.local.history.HistoryRecordManager;
@@ -110,6 +112,15 @@ public enum StreamDialogDefaultEntry {
110112
ShareUtils.shareText(fragment.requireContext(), item.getName(), item.getUrl(),
111113
item.getThumbnailUrl())),
112114

115+
DOWNLOAD(R.string.download, (fragment, item) ->
116+
fetchStreamInfoAndSaveToDatabase(fragment.requireContext(), item.getServiceId(),
117+
item.getUrl(), info -> {
118+
final DownloadDialog downloadDialog
119+
= DownloadDialog.newInstance(fragment.requireContext(), info);
120+
downloadDialog.show(fragment.getChildFragmentManager(), "downloadDialog");
121+
})
122+
),
123+
113124
OPEN_IN_BROWSER(R.string.open_in_browser, (fragment, item) ->
114125
ShareUtils.openUrlInBrowser(fragment.requireContext(), item.getUrl())),
115126

0 commit comments

Comments
 (0)