diff --git a/app/src/main/java/com/github/libretube/fragments/PlayerFragment.kt b/app/src/main/java/com/github/libretube/fragments/PlayerFragment.kt
index 7f4171127..466ecf12f 100644
--- a/app/src/main/java/com/github/libretube/fragments/PlayerFragment.kt
+++ b/app/src/main/java/com/github/libretube/fragments/PlayerFragment.kt
@@ -21,6 +21,7 @@ import android.view.View
import android.view.ViewGroup
import android.widget.Toast
import androidx.constraintlayout.motion.widget.MotionLayout
+import androidx.constraintlayout.widget.ConstraintLayout
import androidx.core.net.toUri
import androidx.core.os.bundleOf
import androidx.core.view.isVisible
@@ -75,6 +76,7 @@ import com.google.android.exoplayer2.upstream.DataSource
import com.google.android.exoplayer2.upstream.DefaultDataSource
import com.google.android.exoplayer2.upstream.DefaultHttpDataSource
import com.google.android.exoplayer2.util.RepeatModeUtil
+import com.google.android.exoplayer2.video.VideoSize
import com.google.android.material.button.MaterialButton
import com.google.android.material.dialog.MaterialAlertDialogBuilder
import com.squareup.picasso.Picasso
@@ -169,6 +171,7 @@ class PlayerFragment : Fragment() {
mainActivity.binding.container.visibility = View.VISIBLE
exoPlayerView = binding.player
+ binding.mainContainer.visibility = View.GONE
binding.playerMotionLayout.addTransitionListener(object : MotionLayout.TransitionListener {
override fun onTransitionStarted(
@@ -671,6 +674,24 @@ class PlayerFragment : Fragment() {
}
}
+ override fun onVideoSizeChanged(
+ videoSize: VideoSize
+ ) {
+ // Set new width/height of view
+ // height or width must be cast to float as int/int will give 0
+
+ val currentWidth = binding.mainContainer.height
+ // Redraw myView
+ (binding.mainContainer.layoutParams as ConstraintLayout.LayoutParams).apply {
+ matchConstraintPercentHeight = (
+ videoSize.height / videoSize.width * currentWidth
+ ).toFloat()
+ }
+ binding.mainContainer.requestLayout()
+
+ // FIXME and make me work :/
+ }
+
@Deprecated(message = "Deprecated", level = DeprecationLevel.HIDDEN)
override fun onPlayerStateChanged(
playWhenReady: Boolean,
@@ -835,7 +856,7 @@ class PlayerFragment : Fragment() {
// append hls to list if available
if (response.hls != null) {
- videosNameArray += "HLS"
+ videosNameArray += getString(R.string.hls)
videosUrlArray += response.hls.toUri()
}
@@ -916,7 +937,7 @@ class PlayerFragment : Fragment() {
) { _, which ->
whichQuality = which
if (
- videosNameArray[which] == "HLS" ||
+ videosNameArray[which] == getString(R.string.hls) ||
videosNameArray[which] == "LBRY HLS"
) {
// no need to merge sources if using hls
diff --git a/app/src/main/res/layout/exo_styled_player_control_view.xml b/app/src/main/res/layout/exo_styled_player_control_view.xml
index d0f2f93f2..4198611ec 100644
--- a/app/src/main/res/layout/exo_styled_player_control_view.xml
+++ b/app/src/main/res/layout/exo_styled_player_control_view.xml
@@ -110,7 +110,7 @@
android:layout_height="wrap_content"
android:layout_gravity="center"
android:padding="@dimen/exo_icon_padding"
- android:text="HLS"
+ android:text="@string/hls"
android:textColor="#FFFFFF" />
- - HLS
+ - @string/hls
- 1080p
- 720p
- 480p
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 85e2da13d..d31c6745f 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -213,4 +213,5 @@
Authentication instance
Use a different instance for authenticated calls.
Choose an auth instance
+ Auto
\ No newline at end of file