Skip to content

Commit 310b49f

Browse files
committed
fix(audio player): chapters button is always visible
1 parent 79d7df7 commit 310b49f

1 file changed

Lines changed: 10 additions & 9 deletions

File tree

app/src/main/java/com/github/libretube/ui/fragments/AudioPlayerFragment.kt

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ import androidx.constraintlayout.motion.widget.MotionLayout
1414
import androidx.constraintlayout.motion.widget.TransitionAdapter
1515
import androidx.core.math.MathUtils.clamp
1616
import androidx.core.os.bundleOf
17-
import androidx.core.os.postDelayed
1817
import androidx.core.view.isGone
1918
import androidx.core.view.isVisible
2019
import androidx.fragment.app.Fragment
@@ -23,7 +22,6 @@ import androidx.fragment.app.commit
2322
import androidx.lifecycle.lifecycleScope
2423
import androidx.media3.common.MediaMetadata
2524
import androidx.media3.common.Player
26-
import androidx.media3.common.util.Log
2725
import androidx.media3.common.util.UnstableApi
2826
import androidx.media3.session.MediaController
2927
import com.github.libretube.R
@@ -196,13 +194,11 @@ class AudioPlayerFragment : Fragment(R.layout.fragment_audio_player), AudioPlaye
196194
playerController?.seekTo(bundle.getLong(IntentData.currentPosition))
197195
}
198196

199-
binding.openChapters.setOnClickListener {
200-
// JSON-encode as work-around for https://github.com/androidx/media/issues/564
201-
chaptersModel.chaptersLiveData.value =
202-
playerController?.mediaMetadata?.extras?.getString(IntentData.chapters)?.let {
203-
JsonHelper.json.decodeFromString(it)
204-
}
197+
chaptersModel.chaptersLiveData.observe(viewLifecycleOwner) { chapters ->
198+
_binding?.openChapters?.isVisible = !chapters.isNullOrEmpty()
199+
}
205200

201+
binding.openChapters.setOnClickListener {
206202
ChaptersBottomSheet()
207203
.apply {
208204
arguments = bundleOf(
@@ -458,10 +454,15 @@ class AudioPlayerFragment : Fragment(R.layout.fragment_audio_player), AudioPlaye
458454
mediaMetadata.extras?.getString(IntentData.chapters)?.let {
459455
JsonHelper.json.decodeFromString(it)
460456
}
461-
_binding?.openChapters?.isVisible = !chapters.isNullOrEmpty()
457+
chaptersModel.chaptersLiveData.value = chapters
462458
}
463459
})
464460
playerController?.mediaMetadata?.let { updateStreamInfo(it) }
461+
// JSON-encode as work-around for https://github.com/androidx/media/issues/564
462+
chaptersModel.chaptersLiveData.value =
463+
playerController?.mediaMetadata?.extras?.getString(IntentData.chapters)?.let {
464+
JsonHelper.json.decodeFromString(it)
465+
}
465466

466467
initializeSeekBar()
467468
}

0 commit comments

Comments
 (0)