mirror of
				https://github.com/TeamNewPipe/NewPipe
				synced 2025-10-31 23:32:59 +00:00 
			
		
		
		
	| @@ -31,6 +31,7 @@ import org.schabi.newpipe.info_list.InfoItemDialog; | ||||
| import org.schabi.newpipe.info_list.InfoListAdapter; | ||||
| import org.schabi.newpipe.player.helper.PlayerHolder; | ||||
| import org.schabi.newpipe.report.ErrorActivity; | ||||
| import org.schabi.newpipe.util.KoreUtil; | ||||
| import org.schabi.newpipe.util.NavigationHelper; | ||||
| import org.schabi.newpipe.util.OnClickGesture; | ||||
| import org.schabi.newpipe.util.StateSaver; | ||||
| @@ -359,6 +360,12 @@ public abstract class BaseListFragment<I, N> extends BaseStateFragment<I> | ||||
|                     StreamDialogEntry.share | ||||
|             )); | ||||
|         } | ||||
|         final boolean enableKodiEntry = KoreUtil.isServiceSupportedByKore(item.getServiceId()) | ||||
|                 && PreferenceManager.getDefaultSharedPreferences(context) | ||||
|                 .getBoolean(context.getString(R.string.show_play_with_kodi_key), false); | ||||
|         if (enableKodiEntry) { | ||||
|             entries.add(StreamDialogEntry.play_on_kodi); | ||||
|         } | ||||
|         StreamDialogEntry.setEnabledEntries(entries); | ||||
|  | ||||
|         new InfoItemDialog(activity, item, StreamDialogEntry.getCommands(context), | ||||
|   | ||||
| @@ -17,6 +17,7 @@ import androidx.annotation.NonNull; | ||||
| import androidx.annotation.Nullable; | ||||
| import androidx.appcompat.app.AppCompatActivity; | ||||
| import androidx.appcompat.content.res.AppCompatResources; | ||||
| import androidx.preference.PreferenceManager; | ||||
|  | ||||
| import org.reactivestreams.Subscriber; | ||||
| import org.reactivestreams.Subscription; | ||||
| @@ -42,6 +43,7 @@ import org.schabi.newpipe.report.ErrorActivity; | ||||
| import org.schabi.newpipe.report.UserAction; | ||||
| import org.schabi.newpipe.util.ExtractorHelper; | ||||
| import org.schabi.newpipe.util.ImageDisplayConstants; | ||||
| import org.schabi.newpipe.util.KoreUtil; | ||||
| import org.schabi.newpipe.util.Localization; | ||||
| import org.schabi.newpipe.util.NavigationHelper; | ||||
| import org.schabi.newpipe.util.ShareUtils; | ||||
| @@ -174,6 +176,12 @@ public class PlaylistFragment extends BaseListInfoFragment<PlaylistInfo> { | ||||
|                     StreamDialogEntry.share | ||||
|             )); | ||||
|         } | ||||
|         final boolean enableKodiEntry = KoreUtil.isServiceSupportedByKore(item.getServiceId()) | ||||
|                 && PreferenceManager.getDefaultSharedPreferences(context) | ||||
|                 .getBoolean(context.getString(R.string.show_play_with_kodi_key), false); | ||||
|         if (enableKodiEntry) { | ||||
|             entries.add(StreamDialogEntry.play_on_kodi); | ||||
|         } | ||||
|         StreamDialogEntry.setEnabledEntries(entries); | ||||
|  | ||||
|         StreamDialogEntry.start_here_on_background.setCustomAction((fragment, infoItem) -> | ||||
|   | ||||
| @@ -17,6 +17,7 @@ import android.widget.Toast; | ||||
| import androidx.annotation.NonNull; | ||||
| import androidx.annotation.Nullable; | ||||
| import androidx.appcompat.app.AlertDialog; | ||||
| import androidx.preference.PreferenceManager; | ||||
|  | ||||
| import com.google.android.material.snackbar.Snackbar; | ||||
|  | ||||
| @@ -37,6 +38,7 @@ import org.schabi.newpipe.report.ErrorActivity; | ||||
| import org.schabi.newpipe.report.ErrorInfo; | ||||
| import org.schabi.newpipe.report.UserAction; | ||||
| import org.schabi.newpipe.settings.SettingsActivity; | ||||
| import org.schabi.newpipe.util.KoreUtil; | ||||
| import org.schabi.newpipe.util.NavigationHelper; | ||||
| import org.schabi.newpipe.util.OnClickGesture; | ||||
| import org.schabi.newpipe.util.StreamDialogEntry; | ||||
| @@ -413,6 +415,12 @@ public class StatisticsPlaylistFragment | ||||
|                     StreamDialogEntry.share | ||||
|             )); | ||||
|         } | ||||
|         final boolean enableKodiEntry = KoreUtil.isServiceSupportedByKore(infoItem.getServiceId()) | ||||
|                 && PreferenceManager.getDefaultSharedPreferences(context) | ||||
|                 .getBoolean(context.getString(R.string.show_play_with_kodi_key), false); | ||||
|         if (enableKodiEntry) { | ||||
|             entries.add(StreamDialogEntry.play_on_kodi); | ||||
|         } | ||||
|         StreamDialogEntry.setEnabledEntries(entries); | ||||
|  | ||||
|         StreamDialogEntry.start_here_on_background.setCustomAction((fragment, infoItemDuplicate) -> | ||||
|   | ||||
| @@ -20,6 +20,7 @@ import android.widget.Toast; | ||||
| import androidx.annotation.NonNull; | ||||
| import androidx.annotation.Nullable; | ||||
| import androidx.appcompat.app.AlertDialog; | ||||
| import androidx.preference.PreferenceManager; | ||||
| import androidx.recyclerview.widget.ItemTouchHelper; | ||||
| import androidx.recyclerview.widget.RecyclerView; | ||||
|  | ||||
| @@ -41,6 +42,7 @@ import org.schabi.newpipe.player.helper.PlayerHolder; | ||||
| import org.schabi.newpipe.player.playqueue.PlayQueue; | ||||
| import org.schabi.newpipe.player.playqueue.SinglePlayQueue; | ||||
| import org.schabi.newpipe.report.UserAction; | ||||
| import org.schabi.newpipe.util.KoreUtil; | ||||
| import org.schabi.newpipe.util.Localization; | ||||
| import org.schabi.newpipe.util.NavigationHelper; | ||||
| import org.schabi.newpipe.util.OnClickGesture; | ||||
| @@ -781,6 +783,12 @@ public class LocalPlaylistFragment extends BaseLocalListFragment<List<PlaylistSt | ||||
|                     StreamDialogEntry.share | ||||
|             )); | ||||
|         } | ||||
|         final boolean enableKodiEntry = KoreUtil.isServiceSupportedByKore(infoItem.getServiceId()) | ||||
|                 && PreferenceManager.getDefaultSharedPreferences(context) | ||||
|                 .getBoolean(context.getString(R.string.show_play_with_kodi_key), false); | ||||
|         if (enableKodiEntry) { | ||||
|             entries.add(StreamDialogEntry.play_on_kodi); | ||||
|         } | ||||
|         StreamDialogEntry.setEnabledEntries(entries); | ||||
|  | ||||
|         StreamDialogEntry.start_here_on_background.setCustomAction((fragment, infoItemDuplicate) -> | ||||
|   | ||||
| @@ -1,6 +1,7 @@ | ||||
| package org.schabi.newpipe.util; | ||||
|  | ||||
| import android.content.Context; | ||||
| import android.net.Uri; | ||||
|  | ||||
| import androidx.fragment.app.Fragment; | ||||
|  | ||||
| @@ -70,6 +71,15 @@ public enum StreamDialogEntry { | ||||
|         } | ||||
|     }), | ||||
|  | ||||
|     play_on_kodi(R.string.play_with_kodi_title, (fragment, item) -> { | ||||
|         final Uri videoUrl = Uri.parse(item.getUrl()); | ||||
|         try { | ||||
|             NavigationHelper.playWithKore(fragment.getContext(), videoUrl); | ||||
|         } catch (final Exception e) { | ||||
|             KoreUtil.showInstallKoreDialog(fragment.getActivity()); | ||||
|         } | ||||
|     }), | ||||
|  | ||||
|     share(R.string.share, (fragment, item) -> | ||||
|             ShareUtils.shareUrl(fragment.getContext(), item.getName(), item.getUrl())); | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 khimaros
					khimaros