From c0a1deaa8ac25bad2cc03a42ae2c28a8be059352 Mon Sep 17 00:00:00 2001 From: Bnyro Date: Mon, 8 May 2023 17:24:59 +0200 Subject: [PATCH] Add button to close audio player --- .../libretube/ui/activities/MainActivity.kt | 2 + .../ui/fragments/AudioPlayerFragment.kt | 12 +++- .../main/res/layout/fragment_audio_player.xml | 72 ++++++++++++------- 3 files changed, 61 insertions(+), 25 deletions(-) diff --git a/app/src/main/java/com/github/libretube/ui/activities/MainActivity.kt b/app/src/main/java/com/github/libretube/ui/activities/MainActivity.kt index 24ecbd7e4..61933b7b3 100644 --- a/app/src/main/java/com/github/libretube/ui/activities/MainActivity.kt +++ b/app/src/main/java/com/github/libretube/ui/activities/MainActivity.kt @@ -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] 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 dff6cc523..ed1ebac4b 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 @@ -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 diff --git a/app/src/main/res/layout/fragment_audio_player.xml b/app/src/main/res/layout/fragment_audio_player.xml index 3c26b1ba3..7846bb7f5 100644 --- a/app/src/main/res/layout/fragment_audio_player.xml +++ b/app/src/main/res/layout/fragment_audio_player.xml @@ -1,5 +1,6 @@ - + app:layout_constraintTop_toTopOf="parent"/> + + + + + + + + + tools:src="@tools:sample/backgrounds/scenic"/> + app:autoSizeTextType="uniform"/> + android:progressDrawable="@drawable/vertical_progressbar"/> + android:src="@drawable/ic_volume_up"/> @@ -82,7 +106,7 @@ android:id="@+id/progress" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_gravity="center" /> + android:layout_gravity="center"/> @@ -97,7 +121,7 @@ style="@style/TextViewMarquee" android:layout_width="match_parent" android:layout_height="wrap_content" - android:textSize="24sp" /> + android:textSize="24sp"/> + android:textSize="18sp"/> @@ -114,7 +138,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginHorizontal="20dp" - app:labelBehavior="gone" /> + app:labelBehavior="gone"/> + tools:text="00:00"/> + tools:text="10:15"/> @@ -151,7 +175,7 @@ android:layout_gravity="center" android:layout_marginHorizontal="20dp" android:background="?attr/selectableItemBackgroundBorderless" - android:src="@drawable/ic_prev" /> + android:src="@drawable/ic_prev"/> + app:shapeAppearanceOverlay="@style/ShapeAppearance.Material3.Corner.Full"/> + android:src="@drawable/ic_next"/> @@ -193,29 +217,29 @@ + android:src="@drawable/ic_queue"/> + android:src="@drawable/ic_speed"/> + android:src="@drawable/ic_video"/> + android:src="@drawable/ic_share"/> + android:src="@drawable/ic_close"/> @@ -239,7 +263,7 @@ android:layout_width="96dp" android:layout_height="match_parent" android:background="?attr/selectableItemBackgroundBorderless" - android:padding="8dp" /> + android:padding="8dp"/> + android:paddingVertical="15dp"/> + android:src="@drawable/ic_pause"/> + android:src="@drawable/ic_close"/>