mirror of
https://github.com/libre-tube/LibreTube.git
synced 2024-12-14 06:10:31 +05:30
commit
a6328533d6
@ -6,6 +6,7 @@ import android.app.PictureInPictureParams
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.content.pm.ActivityInfo
|
||||
import android.graphics.Color
|
||||
import android.graphics.Rect
|
||||
import android.net.Uri
|
||||
import android.os.Build
|
||||
@ -336,7 +337,7 @@ class PlayerFragment : Fragment() {
|
||||
binding.linLayout.visibility = View.GONE
|
||||
playerBinding.fullscreen.setImageResource(R.drawable.ic_fullscreen_exit)
|
||||
playerBinding.exoTitle.visibility = View.VISIBLE
|
||||
if (chapters.isNotEmpty()) playerBinding.chapterLL.visibility = View.VISIBLE
|
||||
playerBinding.chapterLL.isClickable = true
|
||||
|
||||
val mainActivity = activity as MainActivity
|
||||
val fullscreenOrientationPref = PreferenceHelper
|
||||
@ -373,7 +374,7 @@ class PlayerFragment : Fragment() {
|
||||
binding.linLayout.visibility = View.VISIBLE
|
||||
playerBinding.fullscreen.setImageResource(R.drawable.ic_fullscreen)
|
||||
playerBinding.exoTitle.visibility = View.INVISIBLE
|
||||
playerBinding.chapterLL.visibility = View.INVISIBLE
|
||||
playerBinding.chapterLL.isClickable = false
|
||||
|
||||
scaleControls(1F)
|
||||
|
||||
@ -685,7 +686,6 @@ class PlayerFragment : Fragment() {
|
||||
setShowSubtitleButton(true)
|
||||
setShowNextButton(false)
|
||||
setShowPreviousButton(false)
|
||||
setRepeatToggleModes(RepeatModeUtil.REPEAT_TOGGLE_MODE_ALL)
|
||||
// controllerShowTimeoutMs = 1500
|
||||
controllerHideOnTouch = true
|
||||
useController = false
|
||||
@ -715,6 +715,8 @@ class PlayerFragment : Fragment() {
|
||||
if (response.chapters != null) {
|
||||
chapters = response.chapters
|
||||
initializeChapters()
|
||||
// disabling chapterName click in portrait mode
|
||||
playerBinding.chapterLL.isClickable = false
|
||||
}
|
||||
|
||||
// set default playback speed
|
||||
@ -806,6 +808,18 @@ class PlayerFragment : Fragment() {
|
||||
}
|
||||
})
|
||||
|
||||
// repeat toggle button
|
||||
playerBinding.repeatToggle.setOnClickListener {
|
||||
if (exoPlayer.repeatMode == RepeatModeUtil.REPEAT_TOGGLE_MODE_ALL) {
|
||||
// turn off repeat mode
|
||||
exoPlayer.repeatMode = RepeatModeUtil.REPEAT_TOGGLE_MODE_NONE
|
||||
playerBinding.repeatToggle.setColorFilter(Color.GRAY)
|
||||
} else {
|
||||
exoPlayer.repeatMode = RepeatModeUtil.REPEAT_TOGGLE_MODE_ALL
|
||||
playerBinding.repeatToggle.setColorFilter(Color.WHITE)
|
||||
}
|
||||
}
|
||||
|
||||
// share button
|
||||
binding.relPlayerShare.setOnClickListener {
|
||||
val shareDialog = ShareDialog(videoId!!, false)
|
||||
@ -976,11 +990,12 @@ class PlayerFragment : Fragment() {
|
||||
binding.chaptersRecView.adapter = ChaptersAdapter(chapters, exoPlayer)
|
||||
binding.chaptersRecView.visibility = View.VISIBLE
|
||||
|
||||
// enable chapters in the player
|
||||
// enable the chapters dialog in the player
|
||||
val titles = mutableListOf<String>()
|
||||
chapters.forEach {
|
||||
titles += it.title!!
|
||||
}
|
||||
playerBinding.chapterLL.visibility = View.VISIBLE
|
||||
playerBinding.chapterLL.setOnClickListener {
|
||||
MaterialAlertDialogBuilder(requireContext())
|
||||
.setTitle(R.string.chapters)
|
||||
@ -1213,6 +1228,7 @@ class PlayerFragment : Fragment() {
|
||||
}
|
||||
}
|
||||
|
||||
// lock the player
|
||||
private fun lockPlayer(isLocked: Boolean) {
|
||||
val visibility = if (isLocked) View.VISIBLE else View.GONE
|
||||
|
||||
|
10
app/src/main/res/drawable/ic_repeat.xml
Normal file
10
app/src/main/res/drawable/ic_repeat.xml
Normal file
@ -0,0 +1,10 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:tint="?android:attr/colorControlNormal"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M7,7h10v3l4,-4 -4,-4v3L5,5v6h2L7,7zM17,17L7,17v-3l-4,4 4,4v-3h12v-6h-2v4z" />
|
||||
</vector>
|
@ -75,7 +75,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="5dp"
|
||||
android:background="#00FFFFFF"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:padding="@dimen/exo_icon_padding"
|
||||
android:src="@drawable/ic_aspect_ratio" />
|
||||
|
||||
@ -83,8 +83,9 @@
|
||||
android:id="@+id/speed_text"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="5dp"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginHorizontal="5dp"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:padding="@dimen/exo_icon_padding"
|
||||
android:text="1x"
|
||||
android:textColor="#FFFFFF" />
|
||||
@ -93,8 +94,9 @@
|
||||
android:id="@+id/quality_text"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="5dp"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginHorizontal="5dp"
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:padding="@dimen/exo_icon_padding"
|
||||
android:text="@string/hls"
|
||||
android:textColor="#FFFFFF" />
|
||||
@ -114,7 +116,7 @@
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="-10dp"
|
||||
android:layout_marginBottom="-5dp"
|
||||
android:paddingStart="@dimen/exo_styled_bottom_bar_time_padding"
|
||||
android:paddingLeft="@dimen/exo_styled_bottom_bar_time_padding"
|
||||
android:paddingEnd="@dimen/exo_styled_bottom_bar_time_padding"
|
||||
@ -125,7 +127,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginLeft="5dp">
|
||||
android:layout_marginStart="5dp">
|
||||
|
||||
<TextView
|
||||
android:id="@id/exo_position"
|
||||
@ -162,7 +164,6 @@
|
||||
android:layout_height="15dp"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginStart="3dp"
|
||||
android:layout_marginTop="2dp"
|
||||
android:src="@drawable/ic_arrow_right" />
|
||||
|
||||
</LinearLayout>
|
||||
@ -173,16 +174,18 @@
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<ImageButton
|
||||
android:id="@id/exo_repeat_toggle"
|
||||
style="@style/ExoStyledControls.Button.Bottom.RepeatToggle" />
|
||||
android:id="@+id/repeat_toggle"
|
||||
style="@style/PlayerButton"
|
||||
android:src="@drawable/ic_repeat"
|
||||
app:tint="@android:color/darker_gray"/>
|
||||
|
||||
<ImageButton
|
||||
android:id="@id/exo_subtitle"
|
||||
style="@style/ExoStyledControls.Button.Bottom.CC" />
|
||||
style="@style/PlayerButton" />
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/fullscreen"
|
||||
style="@style/ExoStyledControls.Button.Bottom.FullScreen"
|
||||
style="@style/PlayerButton"
|
||||
android:src="@drawable/ic_fullscreen"
|
||||
app:tint="@android:color/white" />
|
||||
|
||||
|
@ -49,7 +49,7 @@
|
||||
android:id="@+id/player_description_arrow"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_centerInParent="true"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginEnd="8dp"
|
||||
@ -73,7 +73,7 @@
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="3dp"
|
||||
android:layout_marginStart="3dp"
|
||||
android:layout_marginTop="2dp">
|
||||
|
||||
<ImageView
|
||||
@ -93,7 +93,7 @@
|
||||
android:layout_width="12dp"
|
||||
android:layout_height="12dp"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginLeft="5dp"
|
||||
android:layout_marginStart="5dp"
|
||||
android:rotation="180"
|
||||
android:src="@drawable/ic_like" />
|
||||
|
||||
@ -119,7 +119,6 @@
|
||||
android:id="@+id/chapters_recView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/comments_toggle"
|
||||
android:layout_marginHorizontal="3dp"
|
||||
android:layout_marginTop="20dp"
|
||||
android:nestedScrollingEnabled="false"
|
||||
@ -245,7 +244,7 @@
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginLeft="5dp"
|
||||
android:layout_marginStart="5dp"
|
||||
android:layout_toStartOf="@+id/player_subscribe"
|
||||
android:layout_toEndOf="@+id/player_channelImage"
|
||||
android:ellipsize="end"
|
||||
@ -297,7 +296,7 @@
|
||||
android:id="@+id/commentsToggle_textView"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="8dp"
|
||||
android:layout_marginStart="8dp"
|
||||
android:text="@string/comments"
|
||||
android:textSize="17sp"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
@ -307,7 +306,7 @@
|
||||
android:id="@+id/commentsToggle_imageView"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginRight="3dp"
|
||||
android:layout_marginEnd="3dp"
|
||||
android:src="@drawable/ic_arrow_up_down"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
|
@ -114,4 +114,14 @@
|
||||
|
||||
</style>
|
||||
|
||||
<style name="PlayerButton">
|
||||
|
||||
<item name="android:padding">6dp</item>
|
||||
<item name="android:layout_height">36dp</item>
|
||||
<item name="android:layout_width">36dp</item>
|
||||
<item name="android:layout_gravity">center</item>
|
||||
<item name="android:background">?attr/selectableItemBackground</item>
|
||||
|
||||
</style>
|
||||
|
||||
</resources>
|
Loading…
Reference in New Issue
Block a user