diff --git a/app/src/main/java/net/bible/android/control/speak/SpeakControl.kt b/app/src/main/java/net/bible/android/control/speak/SpeakControl.kt index 2c4e410207..2420aabaad 100644 --- a/app/src/main/java/net/bible/android/control/speak/SpeakControl.kt +++ b/app/src/main/java/net/bible/android/control/speak/SpeakControl.kt @@ -147,7 +147,13 @@ class SpeakControl @Inject constructor( MediaButtonHandler.release() } + private var speakBook: Book? = null + private var speakKey: Key? = null + val speakBookAndKey: BookAndKey? get() = speakKey?.let {BookAndKey(it, speakBook) } + fun onEventMainThread(event: SpeakProgressEvent) { + speakKey = event.key + speakBook = event.book if (AdvancedSpeakSettings.synchronize || event.forceFollow) { val book = speakPageManager.currentPage.currentDocument speakPageManager.setCurrentDocumentAndKey(book, event.key) diff --git a/app/src/main/java/net/bible/android/view/activity/page/screen/SplitBibleArea.kt b/app/src/main/java/net/bible/android/view/activity/page/screen/SplitBibleArea.kt index ccaf5babdb..e9363fb779 100644 --- a/app/src/main/java/net/bible/android/view/activity/page/screen/SplitBibleArea.kt +++ b/app/src/main/java/net/bible/android/view/activity/page/screen/SplitBibleArea.kt @@ -863,7 +863,7 @@ class SplitBibleArea(private val mainBibleActivity: MainBibleActivity): FrameLay } }), launch = { _, _, _ -> - speakControl.speakPageManager.currentPage.bookAndKey?.let { + speakControl.speakBookAndKey?.let { if (it.document?.bookCategory == BookCategory.BIBLE && window.pageManager.isVersePageShown) { window.pageManager.setCurrentDocumentAndKey(null, it.key) } else {