fix:更改单本书的tts后,朗读设置界面的朗读引擎没有改变

pull/1606/head
Xwite 3 years ago
parent 8b615fd4ee
commit 1801211c86
  1. 17
      app/src/main/java/io/legado/app/ui/book/read/config/ReadAloudConfigDialog.kt
  2. 7
      app/src/main/java/io/legado/app/ui/book/read/config/SpeakEngineDialog.kt

@ -56,6 +56,7 @@ class ReadAloudConfigDialog : DialogFragment() {
}
class ReadAloudPreferenceFragment : BasePreferenceFragment(),
SpeakEngineDialog.CallBack,
SharedPreferences.OnSharedPreferenceChangeListener {
private val speakEngineSummary: String
@ -72,10 +73,7 @@ class ReadAloudConfigDialog : DialogFragment() {
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
addPreferencesFromResource(R.xml.pref_config_aloud)
upPreferenceSummary(
findPreference(PreferKey.ttsEngine),
speakEngineSummary
)
upSpeakEngineSummary()
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
@ -95,7 +93,7 @@ class ReadAloudConfigDialog : DialogFragment() {
override fun onPreferenceTreeClick(preference: Preference): Boolean {
when (preference.key) {
PreferKey.ttsEngine -> showDialogFragment(SpeakEngineDialog())
PreferKey.ttsEngine -> showDialogFragment(SpeakEngineDialog(this))
}
return super.onPreferenceTreeClick(preference)
}
@ -110,9 +108,6 @@ class ReadAloudConfigDialog : DialogFragment() {
postEvent(EventBus.MEDIA_BUTTON, false)
}
}
PreferKey.ttsEngine -> {
upPreferenceSummary(findPreference(key), speakEngineSummary)
}
}
}
@ -128,5 +123,11 @@ class ReadAloudConfigDialog : DialogFragment() {
}
}
override fun upSpeakEngineSummary() {
upPreferenceSummary(
findPreference(PreferKey.ttsEngine),
speakEngineSummary
)
}
}
}

@ -33,7 +33,7 @@ import kotlinx.coroutines.launch
/**
* tts引擎管理
*/
class SpeakEngineDialog : BaseDialogFragment(R.layout.dialog_recycler_view),
class SpeakEngineDialog(val callBack: CallBack) : BaseDialogFragment(R.layout.dialog_recycler_view),
Toolbar.OnMenuItemClickListener {
private val binding by viewBinding(DialogRecyclerViewBinding::bind)
@ -104,6 +104,7 @@ class SpeakEngineDialog : BaseDialogFragment(R.layout.dialog_recycler_view),
tvFooterLeft.visible()
tvFooterLeft.setOnClickListener {
ReadBook.book?.setTtsEngine(ttsEngine)
callBack.upSpeakEngineSummary()
dismissAllowingStateLoss()
}
tvOk.setText(R.string.general)
@ -230,4 +231,8 @@ class SpeakEngineDialog : BaseDialogFragment(R.layout.dialog_recycler_view),
}
interface CallBack {
fun upSpeakEngineSummary()
}
}
Loading…
Cancel
Save