diff --git a/app/src/main/java/com/github/libretube/ui/fragments/AudioPlayerFragment.kt b/app/src/main/java/com/github/libretube/ui/fragments/AudioPlayerFragment.kt index a0ec7e3e9..9190e8402 100644 --- a/app/src/main/java/com/github/libretube/ui/fragments/AudioPlayerFragment.kt +++ b/app/src/main/java/com/github/libretube/ui/fragments/AudioPlayerFragment.kt @@ -12,6 +12,7 @@ import android.text.format.DateUtils import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import androidx.navigation.fragment.findNavController import com.github.libretube.R import com.github.libretube.api.obj.StreamItem import com.github.libretube.databinding.FragmentAudioPlayerBinding @@ -24,6 +25,7 @@ import com.github.libretube.ui.base.BaseFragment import com.github.libretube.ui.dialogs.ShareDialog import com.github.libretube.ui.sheets.PlaybackOptionsSheet import com.github.libretube.ui.sheets.PlayingQueueSheet +import com.github.libretube.util.BackgroundHelper import com.github.libretube.util.ImageHelper import com.github.libretube.util.NavigationHelper import com.github.libretube.util.PlayingQueue @@ -101,6 +103,17 @@ class AudioPlayerFragment : BaseFragment() { } } + binding.openVideo.setOnClickListener { + NavigationHelper.navigateVideo( + context = requireContext(), + videoId = PlayingQueue.getCurrent()?.url?.toID(), + keepQueue = true, + forceVideo = true + ) + BackgroundHelper.stopBackgroundPlay(requireContext()) + findNavController().popBackStack() + } + binding.share.setOnClickListener { val currentVideo = PlayingQueue.getCurrent() ?: return@setOnClickListener ShareDialog( diff --git a/app/src/main/java/com/github/libretube/util/NavigationHelper.kt b/app/src/main/java/com/github/libretube/util/NavigationHelper.kt index ef8f30cd3..44e659d42 100644 --- a/app/src/main/java/com/github/libretube/util/NavigationHelper.kt +++ b/app/src/main/java/com/github/libretube/util/NavigationHelper.kt @@ -60,11 +60,12 @@ object NavigationHelper { playlistId: String? = null, channelId: String? = null, keepQueue: Boolean = false, - timeStamp: Long? = null + timeStamp: Long? = null, + forceVideo: Boolean = false ) { if (videoId == null) return - if (PreferenceHelper.getBoolean(PreferenceKeys.AUDIO_ONLY_MODE, false)) { + if (PreferenceHelper.getBoolean(PreferenceKeys.AUDIO_ONLY_MODE, false) && !forceVideo) { BackgroundHelper.stopBackgroundPlay(context) BackgroundHelper.playOnBackground( context, diff --git a/app/src/main/res/drawable/ic_video.xml b/app/src/main/res/drawable/ic_video.xml index 154eca5b5..d8424bad1 100644 --- a/app/src/main/res/drawable/ic_video.xml +++ b/app/src/main/res/drawable/ic_video.xml @@ -1,5 +1,10 @@ - - + + diff --git a/app/src/main/res/layout/fragment_audio_player.xml b/app/src/main/res/layout/fragment_audio_player.xml index 1ee209686..e88be5878 100644 --- a/app/src/main/res/layout/fragment_audio_player.xml +++ b/app/src/main/res/layout/fragment_audio_player.xml @@ -84,7 +84,8 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" - android:layout_marginVertical="36dp"> + android:layout_marginTop="24dp" + android:layout_marginBottom="36dp">