Skip to content

Commit ee4d8b7

Browse files
authored
Merge branch 'develop' into feat/highlight-z-index
2 parents affc4d0 + 0bb690e commit ee4d8b7

File tree

1 file changed

+12
-5
lines changed
  • readium/navigators/media/tts/src/main/java/org/readium/navigator/media/tts/session

1 file changed

+12
-5
lines changed

readium/navigators/media/tts/src/main/java/org/readium/navigator/media/tts/session/TtsSessionAdapter.kt

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,8 @@ internal class TtsSessionAdapter<E : TtsEngine.Error>(
157157
COMMAND_SET_SPEED_AND_PITCH,
158158
COMMAND_GET_CURRENT_MEDIA_ITEM,
159159
COMMAND_GET_METADATA,
160-
COMMAND_GET_TEXT
160+
COMMAND_GET_TEXT,
161+
COMMAND_GET_TIMELINE
161162
).build()
162163

163164
override fun getApplicationLooper(): Looper {
@@ -457,11 +458,16 @@ internal class TtsSessionAdapter<E : TtsEngine.Error>(
457458

458459
override fun getCurrentTimeline(): Timeline {
459460
// MediaNotificationManager requires a non-empty timeline to start foreground playing.
460-
return TtsTimeline(mediaItems)
461+
// Report a single-item timeline in order to show a notification, but without skip buttons.
462+
return if (mediaItems.isNotEmpty()) {
463+
TtsTimeline(listOf(mediaItems[currentMediaItemIndex]))
464+
} else {
465+
TtsTimeline(emptyList())
466+
}
461467
}
462468

463469
override fun getCurrentPeriodIndex(): Int {
464-
return ttsPlayer.utterance.value.position.resourceIndex
470+
return 0
465471
}
466472

467473
@Deprecated("Deprecated in Java", ReplaceWith("currentMediaItemIndex"))
@@ -470,7 +476,8 @@ internal class TtsSessionAdapter<E : TtsEngine.Error>(
470476
}
471477

472478
override fun getCurrentMediaItemIndex(): Int {
473-
return ttsPlayer.utterance.value.position.resourceIndex
479+
// Reporting a single-item timeline, so index is always 0.
480+
return 0
474481
}
475482

476483
@Deprecated("Deprecated in Java", ReplaceWith("nextMediaItemIndex"))
@@ -575,7 +582,7 @@ internal class TtsSessionAdapter<E : TtsEngine.Error>(
575582

576583
override fun isCurrentMediaItemLive(): Boolean {
577584
val timeline = currentTimeline
578-
return !timeline.isEmpty && timeline.getWindow(currentMediaItemIndex, window).isLive()
585+
return !timeline.isEmpty && timeline.getWindow(currentMediaItemIndex, window).isLive
579586
}
580587

581588
override fun getCurrentLiveOffset(): Long {

0 commit comments

Comments
 (0)