mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-22 18:00:02 +01:00
Allow seeking in video timeline.
This commit is contained in:
committed by
Cody Henthorne
parent
b38865bdc7
commit
c0cb2b5e12
@@ -25,6 +25,7 @@ import org.thoughtcrime.securesms.video.VideoPlayer.PlayerCallback
|
||||
import org.thoughtcrime.securesms.video.videoconverter.VideoThumbnailsRangeSelectorView
|
||||
import org.thoughtcrime.securesms.video.videoconverter.VideoThumbnailsRangeSelectorView.PositionDragListener
|
||||
import java.io.IOException
|
||||
import kotlin.time.Duration.Companion.microseconds
|
||||
|
||||
class VideoEditorFragment : Fragment(), PositionDragListener, MediaSendPageFragment {
|
||||
private val sharedViewModel: MediaSelectionViewModel by viewModels(ownerProducer = { requireActivity() })
|
||||
@@ -176,7 +177,7 @@ class VideoEditorFragment : Fragment(), PositionDragListener, MediaSendPageFragm
|
||||
if (slide.hasVideo()) {
|
||||
canEdit = true
|
||||
try {
|
||||
videoTimeLine.registerPlayerOnRangeChangeListener(this)
|
||||
videoTimeLine.registerPlayerDragListener(this)
|
||||
|
||||
hud.visibility = View.VISIBLE
|
||||
startPositionUpdates()
|
||||
@@ -293,7 +294,8 @@ class VideoEditorFragment : Fragment(), PositionDragListener, MediaSendPageFragm
|
||||
|
||||
videoScanThrottle.publish {
|
||||
player.pause()
|
||||
player.playbackPosition = position
|
||||
val milliseconds = position.microseconds.inWholeMilliseconds
|
||||
player.playbackPosition = milliseconds
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -543,8 +543,10 @@ class MediaReviewFragment : Fragment(R.layout.v2_media_review_fragment), Schedul
|
||||
return
|
||||
}
|
||||
val uri = mediaItem.uri
|
||||
videoTimeLine.unregisterPlayerOnRangeChangeListener()
|
||||
videoTimeLine.setInput(uri)
|
||||
val updatedInputInTimeline = videoTimeLine.setInput(uri)
|
||||
if (updatedInputInTimeline) {
|
||||
videoTimeLine.unregisterDragListener()
|
||||
}
|
||||
val size: Long = tryGetUriSize(requireContext(), uri, Long.MAX_VALUE)
|
||||
val maxSend = sharedViewModel.getMediaConstraints().getVideoMaxSize(requireContext())
|
||||
if (size > maxSend) {
|
||||
|
||||
Reference in New Issue
Block a user