diff --git a/app/src/main/java/io/legado/app/ui/book/read/config/ReadAloudConfigDialog.kt b/app/src/main/java/io/legado/app/ui/book/read/config/ReadAloudConfigDialog.kt index cdc21cf921e7..c9db5b2d8207 100644 --- a/app/src/main/java/io/legado/app/ui/book/read/config/ReadAloudConfigDialog.kt +++ b/app/src/main/java/io/legado/app/ui/book/read/config/ReadAloudConfigDialog.kt @@ -103,7 +103,7 @@ class ReadAloudConfigDialog : DialogFragment() { override fun onPreferenceTreeClick(preference: Preference): Boolean { when (preference.key) { - PreferKey.ttsEngine -> showDialogFragment(SpeakEngineDialog(this)) + PreferKey.ttsEngine -> showDialogFragment(SpeakEngineDialog()) "sysTtsConfig" -> IntentHelp.openTTSSetting() } return super.onPreferenceTreeClick(preference) diff --git a/app/src/main/java/io/legado/app/ui/book/read/config/SpeakEngineDialog.kt b/app/src/main/java/io/legado/app/ui/book/read/config/SpeakEngineDialog.kt index e3cf4f23fdd6..54104ef310c4 100644 --- a/app/src/main/java/io/legado/app/ui/book/read/config/SpeakEngineDialog.kt +++ b/app/src/main/java/io/legado/app/ui/book/read/config/SpeakEngineDialog.kt @@ -54,7 +54,7 @@ import kotlinx.coroutines.launch /** * tts引擎管理 */ -class SpeakEngineDialog(val callBack: CallBack) : BaseDialogFragment(R.layout.dialog_recycler_view), +class SpeakEngineDialog() : BaseDialogFragment(R.layout.dialog_recycler_view), Toolbar.OnMenuItemClickListener { private val binding by viewBinding(DialogRecyclerViewBinding::bind) @@ -63,6 +63,7 @@ class SpeakEngineDialog(val callBack: CallBack) : BaseDialogFragment(R.layout.di private val adapter by lazy { Adapter(requireContext()) } private var ttsEngine: String? = ReadAloud.ttsEngine private val sysTtsViews = arrayListOf() + private val callBack: CallBack? get() = parentFragment as? CallBack private val importDocResult = registerForActivityResult(HandleFileContract()) { it.uri?.let { uri -> viewModel.importLocal(uri) @@ -140,7 +141,7 @@ class SpeakEngineDialog(val callBack: CallBack) : BaseDialogFragment(R.layout.di tvFooterLeft.visible() tvFooterLeft.setOnClickListener { ReadBook.book?.setTtsEngine(ttsEngine) - callBack.upSpeakEngineSummary() + callBack?.upSpeakEngineSummary() ReadAloud.upReadAloudClass() dismissAllowingStateLoss() } @@ -149,7 +150,7 @@ class SpeakEngineDialog(val callBack: CallBack) : BaseDialogFragment(R.layout.di tvOk.setOnClickListener { ReadBook.book?.setTtsEngine(null) AppConfig.ttsEngine = ttsEngine - callBack.upSpeakEngineSummary() + callBack?.upSpeakEngineSummary() ReadAloud.upReadAloudClass() dismissAllowingStateLoss() }