mirror of
https://github.com/gedoor/legado.git
synced 2025-08-10 00:52:30 +00:00
fix:更改单本书的tts后,朗读设置界面的朗读引擎没有改变
This commit is contained in:
@@ -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()
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user