Add button to close audio player

This commit is contained in:
Bnyro 2023-05-08 17:24:59 +02:00
parent a5a3a552e6
commit c0a1deaa8a
3 changed files with 61 additions and 25 deletions

View File

@ -38,6 +38,7 @@ import com.github.libretube.helpers.WindowHelper
import com.github.libretube.services.ClosingService
import com.github.libretube.ui.base.BaseActivity
import com.github.libretube.ui.dialogs.ErrorDialog
import com.github.libretube.ui.fragments.AudioPlayerFragment
import com.github.libretube.ui.fragments.DownloadsFragment
import com.github.libretube.ui.fragments.PlayerFragment
import com.github.libretube.ui.models.PlayerViewModel
@ -444,6 +445,7 @@ class MainActivity : BaseActivity() {
getConstraintSet(R.id.start).constrainHeight(R.id.player, 0)
enableTransition(R.id.yt_transition, true)
}
(fragment as? AudioPlayerFragment)?.binding?.playerMotionLayout?.transitionToEnd()
}
val playerViewModel = ViewModelProvider(this)[PlayerViewModel::class.java]

View File

@ -43,7 +43,7 @@ import kotlin.math.abs
class AudioPlayerFragment : Fragment(), AudioPlayerOptions {
private var _binding: FragmentAudioPlayerBinding? = null
private val binding get() = _binding!!
val binding get() = _binding!!
private lateinit var audioHelper: AudioHelper
private val mainActivity get() = context as MainActivity
@ -101,6 +101,16 @@ class AudioPlayerFragment : Fragment(), AudioPlayerOptions {
binding.title.isSelected = true
binding.uploader.isSelected = true
binding.minimizePlayer.setOnClickListener {
val mainMotionLayout = mainActivity.binding.mainMotionLayout
mainMotionLayout.transitionToStart()
binding.playerMotionLayout.transitionToEnd()
}
binding.dropdownMenu.setOnClickListener {
onLongTap()
}
binding.prev.setOnClickListener {
val currentIndex = PlayingQueue.currentIndex()
if (!PlayingQueue.hasPrev()) return@setOnClickListener

View File

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<com.github.libretube.ui.views.SingleViewTouchableMotionLayout xmlns:android="http://schemas.android.com/apk/res/android"
<com.github.libretube.ui.views.SingleViewTouchableMotionLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/playerMotionLayout"
@ -26,6 +27,29 @@
app:layout_constraintStart_toStartOf="@id/audio_player_container"
app:layout_constraintTop_toTopOf="@id/audio_player_container">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="20dp">
<ImageView
android:layout_gravity="center|start"
android:id="@+id/minimize_player"
android:src="@drawable/ic_arrow_down"
android:background="?selectableItemBackgroundBorderless"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<ImageView
android:id="@+id/dropdown_menu"
android:src="@drawable/ic_three_dots"
android:layout_gravity="center|end"
android:background="?selectableItemBackgroundBorderless"
android:layout_width="20dp"
android:layout_height="20dp"/>
</FrameLayout>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="0dp"