diff --git a/app/src/main/java/io/legado/app/ui/book/read/config/HttpTtsEditDialog.kt b/app/src/main/java/io/legado/app/ui/book/read/config/HttpTtsEditDialog.kt index ba075ffc8..3be519462 100644 --- a/app/src/main/java/io/legado/app/ui/book/read/config/HttpTtsEditDialog.kt +++ b/app/src/main/java/io/legado/app/ui/book/read/config/HttpTtsEditDialog.kt @@ -17,8 +17,14 @@ import io.legado.app.ui.login.SourceLoginActivity import io.legado.app.ui.widget.code.addJsPattern import io.legado.app.ui.widget.code.addJsonPattern import io.legado.app.ui.widget.code.addLegadoPattern -import io.legado.app.ui.widget.dialog.TextDialog -import io.legado.app.utils.* +import io.legado.app.utils.GSON +import io.legado.app.utils.applyTint +import io.legado.app.utils.sendToClip +import io.legado.app.utils.setLayout +import io.legado.app.utils.showDialogFragment +import io.legado.app.utils.showHelp +import io.legado.app.utils.startActivity +import io.legado.app.utils.toastOnUi import io.legado.app.utils.viewbindingdelegate.viewBinding class HttpTtsEditDialog() : BaseDialogFragment(R.layout.dialog_http_tts_edit, true), @@ -111,7 +117,7 @@ class HttpTtsEditDialog() : BaseDialogFragment(R.layout.dialog_http_tts_edit, tr initView(it) } R.id.menu_log -> showDialogFragment() - R.id.menu_help -> help() + R.id.menu_help -> showHelp("httpTTSHelp") } return true } @@ -130,11 +136,4 @@ class HttpTtsEditDialog() : BaseDialogFragment(R.layout.dialog_http_tts_edit, tr ) } - private fun help() { - val helpStr = String( - requireContext().assets.open("web/help/md/httpTTSHelp.md").readBytes() - ) - showDialogFragment(TextDialog(getString(R.string.help), helpStr, TextDialog.Mode.MD)) - } - } \ No newline at end of file diff --git a/app/src/main/java/io/legado/app/ui/book/toc/rule/TxtTocRuleDialog.kt b/app/src/main/java/io/legado/app/ui/book/toc/rule/TxtTocRuleDialog.kt index 7519155e3..28d087f0f 100644 --- a/app/src/main/java/io/legado/app/ui/book/toc/rule/TxtTocRuleDialog.kt +++ b/app/src/main/java/io/legado/app/ui/book/toc/rule/TxtTocRuleDialog.kt @@ -29,7 +29,6 @@ import io.legado.app.lib.theme.primaryColor import io.legado.app.ui.association.ImportTxtTocRuleDialog import io.legado.app.ui.file.HandleFileContract import io.legado.app.ui.qrcode.QrCodeResult -import io.legado.app.ui.widget.dialog.TextDialog import io.legado.app.ui.widget.recycler.ItemTouchCallback import io.legado.app.ui.widget.recycler.VerticalDivider import io.legado.app.utils.ACache @@ -38,6 +37,7 @@ import io.legado.app.utils.launch import io.legado.app.utils.readText import io.legado.app.utils.setLayout import io.legado.app.utils.showDialogFragment +import io.legado.app.utils.showHelp import io.legado.app.utils.splitNotBlank import io.legado.app.utils.toastOnUi import io.legado.app.utils.viewbindingdelegate.viewBinding @@ -152,7 +152,7 @@ class TxtTocRuleDialog() : BaseDialogFragment(R.layout.dialog_toc_regex), R.id.menu_import_onLine -> showImportDialog() R.id.menu_import_qr -> qrCodeResult.launch() R.id.menu_import_default -> viewModel.importDefault() - R.id.menu_help -> showTxtTocRuleHelp() + R.id.menu_help -> showHelp("txtTocRuleHelp") } return false } @@ -197,11 +197,6 @@ class TxtTocRuleDialog() : BaseDialogFragment(R.layout.dialog_toc_regex), } } - private fun showTxtTocRuleHelp() { - val text = String(requireContext().assets.open("web/help/md/txtTocRuleHelp.md").readBytes()) - showDialogFragment(TextDialog(getString(R.string.help), text, TextDialog.Mode.MD)) - } - inner class TocRegexAdapter(context: Context) : RecyclerAdapter(context), ItemTouchCallback.Callback { diff --git a/app/src/main/java/io/legado/app/ui/config/BackupConfigFragment.kt b/app/src/main/java/io/legado/app/ui/config/BackupConfigFragment.kt index 6e3b868f7..9f291543d 100644 --- a/app/src/main/java/io/legado/app/ui/config/BackupConfigFragment.kt +++ b/app/src/main/java/io/legado/app/ui/config/BackupConfigFragment.kt @@ -35,9 +35,17 @@ import io.legado.app.lib.prefs.fragment.PreferenceFragment import io.legado.app.lib.theme.primaryColor import io.legado.app.ui.about.AppLogDialog import io.legado.app.ui.file.HandleFileContract -import io.legado.app.ui.widget.dialog.TextDialog import io.legado.app.ui.widget.dialog.WaitDialog -import io.legado.app.utils.* +import io.legado.app.utils.applyTint +import io.legado.app.utils.checkWrite +import io.legado.app.utils.getPrefString +import io.legado.app.utils.isContentScheme +import io.legado.app.utils.launch +import io.legado.app.utils.setEdgeEffectColor +import io.legado.app.utils.showDialogFragment +import io.legado.app.utils.showHelp +import io.legado.app.utils.toEditable +import io.legado.app.utils.toastOnUi import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers.Main import kotlinx.coroutines.Job @@ -150,7 +158,7 @@ class BackupConfigFragment : PreferenceFragment(), listView.setEdgeEffectColor(primaryColor) activity?.addMenuProvider(this, viewLifecycleOwner) if (!LocalConfig.backupHelpVersionIsLast) { - showHelp() + showHelp("webDavHelp") } } @@ -162,7 +170,7 @@ class BackupConfigFragment : PreferenceFragment(), override fun onMenuItemSelected(menuItem: MenuItem): Boolean { when (menuItem.itemId) { R.id.menu_help -> { - showHelp() + showHelp("webDavHelp") return true } @@ -171,11 +179,6 @@ class BackupConfigFragment : PreferenceFragment(), return false } - private fun showHelp() { - val text = String(requireContext().assets.open("web/help/md/webDavHelp.md").readBytes()) - showDialogFragment(TextDialog(getString(R.string.help), text, TextDialog.Mode.MD)) - } - override fun onDestroy() { super.onDestroy() preferenceManager.sharedPreferences?.unregisterOnSharedPreferenceChangeListener(this) diff --git a/app/src/main/java/io/legado/app/ui/main/my/MyFragment.kt b/app/src/main/java/io/legado/app/ui/main/my/MyFragment.kt index b9b439b6b..e60e77441 100644 --- a/app/src/main/java/io/legado/app/ui/main/my/MyFragment.kt +++ b/app/src/main/java/io/legado/app/ui/main/my/MyFragment.kt @@ -29,7 +29,6 @@ import io.legado.app.ui.dict.rule.DictRuleActivity import io.legado.app.ui.file.FileManageActivity import io.legado.app.ui.main.MainFragmentInterface import io.legado.app.ui.replace.ReplaceRuleActivity -import io.legado.app.ui.widget.dialog.TextDialog import io.legado.app.utils.LogUtils import io.legado.app.utils.getPrefBoolean import io.legado.app.utils.observeEventSticky @@ -37,7 +36,7 @@ import io.legado.app.utils.openUrl import io.legado.app.utils.putPrefBoolean import io.legado.app.utils.sendToClip import io.legado.app.utils.setEdgeEffectColor -import io.legado.app.utils.showDialogFragment +import io.legado.app.utils.showHelp import io.legado.app.utils.startActivity import io.legado.app.utils.viewbindingdelegate.viewBinding @@ -68,10 +67,7 @@ class MyFragment() : BaseFragment(R.layout.fragment_my_config), MainFragmentInte override fun onCompatOptionsItemSelected(item: MenuItem) { when (item.itemId) { - R.id.menu_help -> { - val text = String(requireContext().assets.open("web/help/md/appHelp.md").readBytes()) - showDialogFragment(TextDialog(getString(R.string.help), text, TextDialog.Mode.MD)) - } + R.id.menu_help -> showHelp("appHelp") } } diff --git a/app/src/main/java/io/legado/app/utils/FragmentExtensions.kt b/app/src/main/java/io/legado/app/utils/FragmentExtensions.kt index 994a80c40..ed76e3469 100644 --- a/app/src/main/java/io/legado/app/utils/FragmentExtensions.kt +++ b/app/src/main/java/io/legado/app/utils/FragmentExtensions.kt @@ -12,6 +12,8 @@ import androidx.annotation.DrawableRes import androidx.core.content.edit import androidx.fragment.app.DialogFragment import androidx.fragment.app.Fragment +import io.legado.app.R +import io.legado.app.ui.widget.dialog.TextDialog inline fun Fragment.showDialogFragment( arguments: Bundle.() -> Unit = {} @@ -76,4 +78,9 @@ inline fun Fragment.startActivity( configIntent: Intent.() -> Unit = {} ) { startActivity(Intent(requireContext(), T::class.java).apply(configIntent)) +} + +fun Fragment.showHelp(fileName: String) { + val mdText = String(requireContext().assets.open("web/help/md/${fileName}.md").readBytes()) + showDialogFragment(TextDialog(getString(R.string.help), mdText, TextDialog.Mode.MD)) } \ No newline at end of file