Support a swipe down to dismiss video (#2879)

* Support a swipe down to dismiss video

Images can already be dismissed with a swipe, this adds the same
functionality to videos.

- Add a VideoActionsListener interface for the hosting activity to dismiss
  the fragment
- Add a gesture listener for swipes
- Dismiss the fragment if a swipe has a greated Y component than X

Fixes https://github.com/tuskyapp/Tusky/issues/2833

* Scale the video view when dragging

Provides identical visual feedback to the same operation on images.
This commit is contained in:
Nik Clayton 2022-12-05 14:33:38 +01:00 committed by GitHub
commit 64a06bfbe2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 65 additions and 1 deletions

View file

@ -52,6 +52,7 @@ import com.keylesspalace.tusky.components.viewthread.ViewThreadActivity
import com.keylesspalace.tusky.databinding.ActivityViewMediaBinding
import com.keylesspalace.tusky.entity.Attachment
import com.keylesspalace.tusky.fragment.ViewImageFragment
import com.keylesspalace.tusky.fragment.ViewVideoFragment
import com.keylesspalace.tusky.pager.ImagePagerAdapter
import com.keylesspalace.tusky.pager.SingleImagePagerAdapter
import com.keylesspalace.tusky.util.getTemporaryMediaFilename
@ -68,7 +69,7 @@ import java.util.Locale
typealias ToolbarVisibilityListener = (isVisible: Boolean) -> Unit
class ViewMediaActivity : BaseActivity(), ViewImageFragment.PhotoActionsListener {
class ViewMediaActivity : BaseActivity(), ViewImageFragment.PhotoActionsListener, ViewVideoFragment.VideoActionsListener {
private val binding by viewBinding(ActivityViewMediaBinding::inflate)