refactor: 显示帮助信息相关
This commit is contained in:
@@ -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.addJsPattern
|
||||||
import io.legado.app.ui.widget.code.addJsonPattern
|
import io.legado.app.ui.widget.code.addJsonPattern
|
||||||
import io.legado.app.ui.widget.code.addLegadoPattern
|
import io.legado.app.ui.widget.code.addLegadoPattern
|
||||||
import io.legado.app.ui.widget.dialog.TextDialog
|
import io.legado.app.utils.GSON
|
||||||
import io.legado.app.utils.*
|
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
|
import io.legado.app.utils.viewbindingdelegate.viewBinding
|
||||||
|
|
||||||
class HttpTtsEditDialog() : BaseDialogFragment(R.layout.dialog_http_tts_edit, true),
|
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)
|
initView(it)
|
||||||
}
|
}
|
||||||
R.id.menu_log -> showDialogFragment<AppLogDialog>()
|
R.id.menu_log -> showDialogFragment<AppLogDialog>()
|
||||||
R.id.menu_help -> help()
|
R.id.menu_help -> showHelp("httpTTSHelp")
|
||||||
}
|
}
|
||||||
return true
|
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))
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -29,7 +29,6 @@ import io.legado.app.lib.theme.primaryColor
|
|||||||
import io.legado.app.ui.association.ImportTxtTocRuleDialog
|
import io.legado.app.ui.association.ImportTxtTocRuleDialog
|
||||||
import io.legado.app.ui.file.HandleFileContract
|
import io.legado.app.ui.file.HandleFileContract
|
||||||
import io.legado.app.ui.qrcode.QrCodeResult
|
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.ItemTouchCallback
|
||||||
import io.legado.app.ui.widget.recycler.VerticalDivider
|
import io.legado.app.ui.widget.recycler.VerticalDivider
|
||||||
import io.legado.app.utils.ACache
|
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.readText
|
||||||
import io.legado.app.utils.setLayout
|
import io.legado.app.utils.setLayout
|
||||||
import io.legado.app.utils.showDialogFragment
|
import io.legado.app.utils.showDialogFragment
|
||||||
|
import io.legado.app.utils.showHelp
|
||||||
import io.legado.app.utils.splitNotBlank
|
import io.legado.app.utils.splitNotBlank
|
||||||
import io.legado.app.utils.toastOnUi
|
import io.legado.app.utils.toastOnUi
|
||||||
import io.legado.app.utils.viewbindingdelegate.viewBinding
|
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_onLine -> showImportDialog()
|
||||||
R.id.menu_import_qr -> qrCodeResult.launch()
|
R.id.menu_import_qr -> qrCodeResult.launch()
|
||||||
R.id.menu_import_default -> viewModel.importDefault()
|
R.id.menu_import_default -> viewModel.importDefault()
|
||||||
R.id.menu_help -> showTxtTocRuleHelp()
|
R.id.menu_help -> showHelp("txtTocRuleHelp")
|
||||||
}
|
}
|
||||||
return false
|
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) :
|
inner class TocRegexAdapter(context: Context) :
|
||||||
RecyclerAdapter<TxtTocRule, ItemTocRegexBinding>(context),
|
RecyclerAdapter<TxtTocRule, ItemTocRegexBinding>(context),
|
||||||
ItemTouchCallback.Callback {
|
ItemTouchCallback.Callback {
|
||||||
|
|||||||
@@ -35,9 +35,17 @@ import io.legado.app.lib.prefs.fragment.PreferenceFragment
|
|||||||
import io.legado.app.lib.theme.primaryColor
|
import io.legado.app.lib.theme.primaryColor
|
||||||
import io.legado.app.ui.about.AppLogDialog
|
import io.legado.app.ui.about.AppLogDialog
|
||||||
import io.legado.app.ui.file.HandleFileContract
|
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.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
|
||||||
import kotlinx.coroutines.Dispatchers.Main
|
import kotlinx.coroutines.Dispatchers.Main
|
||||||
import kotlinx.coroutines.Job
|
import kotlinx.coroutines.Job
|
||||||
@@ -150,7 +158,7 @@ class BackupConfigFragment : PreferenceFragment(),
|
|||||||
listView.setEdgeEffectColor(primaryColor)
|
listView.setEdgeEffectColor(primaryColor)
|
||||||
activity?.addMenuProvider(this, viewLifecycleOwner)
|
activity?.addMenuProvider(this, viewLifecycleOwner)
|
||||||
if (!LocalConfig.backupHelpVersionIsLast) {
|
if (!LocalConfig.backupHelpVersionIsLast) {
|
||||||
showHelp()
|
showHelp("webDavHelp")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -162,7 +170,7 @@ class BackupConfigFragment : PreferenceFragment(),
|
|||||||
override fun onMenuItemSelected(menuItem: MenuItem): Boolean {
|
override fun onMenuItemSelected(menuItem: MenuItem): Boolean {
|
||||||
when (menuItem.itemId) {
|
when (menuItem.itemId) {
|
||||||
R.id.menu_help -> {
|
R.id.menu_help -> {
|
||||||
showHelp()
|
showHelp("webDavHelp")
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -171,11 +179,6 @@ class BackupConfigFragment : PreferenceFragment(),
|
|||||||
return false
|
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() {
|
override fun onDestroy() {
|
||||||
super.onDestroy()
|
super.onDestroy()
|
||||||
preferenceManager.sharedPreferences?.unregisterOnSharedPreferenceChangeListener(this)
|
preferenceManager.sharedPreferences?.unregisterOnSharedPreferenceChangeListener(this)
|
||||||
|
|||||||
@@ -29,7 +29,6 @@ import io.legado.app.ui.dict.rule.DictRuleActivity
|
|||||||
import io.legado.app.ui.file.FileManageActivity
|
import io.legado.app.ui.file.FileManageActivity
|
||||||
import io.legado.app.ui.main.MainFragmentInterface
|
import io.legado.app.ui.main.MainFragmentInterface
|
||||||
import io.legado.app.ui.replace.ReplaceRuleActivity
|
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.LogUtils
|
||||||
import io.legado.app.utils.getPrefBoolean
|
import io.legado.app.utils.getPrefBoolean
|
||||||
import io.legado.app.utils.observeEventSticky
|
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.putPrefBoolean
|
||||||
import io.legado.app.utils.sendToClip
|
import io.legado.app.utils.sendToClip
|
||||||
import io.legado.app.utils.setEdgeEffectColor
|
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.startActivity
|
||||||
import io.legado.app.utils.viewbindingdelegate.viewBinding
|
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) {
|
override fun onCompatOptionsItemSelected(item: MenuItem) {
|
||||||
when (item.itemId) {
|
when (item.itemId) {
|
||||||
R.id.menu_help -> {
|
R.id.menu_help -> showHelp("appHelp")
|
||||||
val text = String(requireContext().assets.open("web/help/md/appHelp.md").readBytes())
|
|
||||||
showDialogFragment(TextDialog(getString(R.string.help), text, TextDialog.Mode.MD))
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -12,6 +12,8 @@ import androidx.annotation.DrawableRes
|
|||||||
import androidx.core.content.edit
|
import androidx.core.content.edit
|
||||||
import androidx.fragment.app.DialogFragment
|
import androidx.fragment.app.DialogFragment
|
||||||
import androidx.fragment.app.Fragment
|
import androidx.fragment.app.Fragment
|
||||||
|
import io.legado.app.R
|
||||||
|
import io.legado.app.ui.widget.dialog.TextDialog
|
||||||
|
|
||||||
inline fun <reified T : DialogFragment> Fragment.showDialogFragment(
|
inline fun <reified T : DialogFragment> Fragment.showDialogFragment(
|
||||||
arguments: Bundle.() -> Unit = {}
|
arguments: Bundle.() -> Unit = {}
|
||||||
@@ -76,4 +78,9 @@ inline fun <reified T : Activity> Fragment.startActivity(
|
|||||||
configIntent: Intent.() -> Unit = {}
|
configIntent: Intent.() -> Unit = {}
|
||||||
) {
|
) {
|
||||||
startActivity(Intent(requireContext(), T::class.java).apply(configIntent))
|
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))
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user