mirror of
				https://github.com/TeamNewPipe/NewPipe
				synced 2025-10-31 15:23:00 +00:00 
			
		
		
		
	Added sharing a link with timestamp from a chapter into the long click for each chapter
This commit is contained in:
		| @@ -61,5 +61,6 @@ class StreamSegmentAdapter( | ||||
|  | ||||
|     interface StreamSegmentListener { | ||||
|         fun onItemClick(item: StreamSegmentItem, seconds: Int) | ||||
|         fun onItemLongClick(item: StreamSegmentItem, seconds: Int) | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -41,6 +41,7 @@ class StreamSegmentItem( | ||||
|         viewHolder.root.findViewById<TextView>(R.id.textViewStartSeconds).text = | ||||
|             Localization.getDurationString(item.startTimeSeconds.toLong()) | ||||
|         viewHolder.root.setOnClickListener { onClick.onItemClick(this, item.startTimeSeconds) } | ||||
|         viewHolder.root.setOnLongClickListener { onClick.onItemLongClick(this, item.startTimeSeconds); true } | ||||
|         viewHolder.root.isSelected = isSelected | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -52,6 +52,7 @@ import org.schabi.newpipe.extractor.stream.StreamSegment; | ||||
| import org.schabi.newpipe.fragments.OnScrollBelowItemsListener; | ||||
| import org.schabi.newpipe.fragments.detail.VideoDetailFragment; | ||||
| import org.schabi.newpipe.info_list.StreamSegmentAdapter; | ||||
| import org.schabi.newpipe.info_list.StreamSegmentItem; | ||||
| import org.schabi.newpipe.ktx.AnimationType; | ||||
| import org.schabi.newpipe.local.dialog.PlaylistDialog; | ||||
| import org.schabi.newpipe.player.Player; | ||||
| @@ -69,6 +70,7 @@ import org.schabi.newpipe.player.playqueue.PlayQueueItemTouchCallback; | ||||
| import org.schabi.newpipe.util.DeviceUtils; | ||||
| import org.schabi.newpipe.util.NavigationHelper; | ||||
| import org.schabi.newpipe.util.external_communication.KoreUtils; | ||||
| import org.schabi.newpipe.util.external_communication.ShareUtils; | ||||
|  | ||||
| import java.util.List; | ||||
| import java.util.Objects; | ||||
| @@ -644,7 +646,7 @@ public final class MainPlayerUi extends VideoPlayerUi implements View.OnLayoutCh | ||||
|     private void buildSegments() { | ||||
|         binding.itemsList.setAdapter(segmentAdapter); | ||||
|         binding.itemsList.setClickable(true); | ||||
|         binding.itemsList.setLongClickable(false); | ||||
|         binding.itemsList.setLongClickable(true); | ||||
|  | ||||
|         binding.itemsList.clearOnScrollListeners(); | ||||
|         if (itemTouchHelper != null) { | ||||
| @@ -696,10 +698,24 @@ public final class MainPlayerUi extends VideoPlayerUi implements View.OnLayoutCh | ||||
|     } | ||||
|  | ||||
|     private StreamSegmentAdapter.StreamSegmentListener getStreamSegmentListener() { | ||||
|         return (item, seconds) -> { | ||||
|             segmentAdapter.selectSegment(item); | ||||
|             player.seekTo(seconds * 1000L); | ||||
|             player.triggerProgressUpdate(); | ||||
|         return new StreamSegmentAdapter.StreamSegmentListener() { | ||||
|             @Override | ||||
|             public void onItemClick(@NonNull final StreamSegmentItem item, final int seconds) { | ||||
|                 segmentAdapter.selectSegment(item); | ||||
|                 player.seekTo(seconds * 1000L); | ||||
|                 player.triggerProgressUpdate(); | ||||
|             } | ||||
|  | ||||
|             @Override | ||||
|             public void onItemLongClick(@NonNull final StreamSegmentItem item, final int seconds) { | ||||
|                 final PlayQueueItem currentItem = player.getCurrentItem(); | ||||
|                 if (currentItem != null) { | ||||
|                     String videoUrl = player.getVideoUrl(); | ||||
|                     videoUrl += ("&t=" + seconds); | ||||
|                     ShareUtils.shareText(context, currentItem.getTitle(), | ||||
|                             videoUrl, currentItem.getThumbnailUrl()); | ||||
|                 } | ||||
|             } | ||||
|         }; | ||||
|     } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Daniel M
					Daniel M