kunfei %!s(int64=3) %!d(string=hai) anos
pai
achega
b363cc742a
Modificáronse 28 ficheiros con 71 adicións e 39 borrados
  1. 5 5
      app/src/main/java/io/legado/app/ui/about/AboutFragment.kt
  2. 1 1
      app/src/main/java/io/legado/app/ui/about/AppLogDialog.kt
  3. 1 1
      app/src/main/java/io/legado/app/ui/book/import/remote/RemoteBookActivity.kt
  4. 1 1
      app/src/main/java/io/legado/app/ui/book/read/ReadBookActivity.kt
  5. 1 1
      app/src/main/java/io/legado/app/ui/book/read/config/HttpTtsEditDialog.kt
  6. 5 5
      app/src/main/java/io/legado/app/ui/book/source/debug/BookSourceDebugActivity.kt
  7. 1 1
      app/src/main/java/io/legado/app/ui/book/source/edit/BookSourceEditActivity.kt
  8. 1 2
      app/src/main/java/io/legado/app/ui/book/source/manage/BookSourceActivity.kt
  9. 1 1
      app/src/main/java/io/legado/app/ui/config/BackupConfigFragment.kt
  10. 2 2
      app/src/main/java/io/legado/app/ui/main/MainActivity.kt
  11. 1 1
      app/src/main/java/io/legado/app/ui/main/explore/ExploreAdapter.kt
  12. 1 1
      app/src/main/java/io/legado/app/ui/main/my/MyFragment.kt
  13. 1 1
      app/src/main/java/io/legado/app/ui/replace/ReplaceRuleActivity.kt
  14. 1 1
      app/src/main/java/io/legado/app/ui/replace/edit/ReplaceEditActivity.kt
  15. 2 2
      app/src/main/java/io/legado/app/ui/rss/source/debug/RssSourceDebugActivity.kt
  16. 1 1
      app/src/main/java/io/legado/app/ui/rss/source/edit/RssSourceEditActivity.kt
  17. 1 1
      app/src/main/java/io/legado/app/ui/rss/source/manage/RssSourceActivity.kt
  18. 14 1
      app/src/main/java/io/legado/app/ui/widget/dialog/TextDialog.kt
  19. 1 1
      app/src/main/res/layout/dialog_click_action_config.xml
  20. 13 2
      app/src/main/res/layout/dialog_text_view.xml
  21. 9 0
      app/src/main/res/menu/dialog_text.xml
  22. 1 1
      app/src/main/res/values-es-rES/strings.xml
  23. 1 1
      app/src/main/res/values-ja-rJP/strings.xml
  24. 1 1
      app/src/main/res/values-pt-rBR/strings.xml
  25. 1 1
      app/src/main/res/values-zh-rHK/strings.xml
  26. 1 1
      app/src/main/res/values-zh-rTW/strings.xml
  27. 1 1
      app/src/main/res/values-zh/strings.xml
  28. 1 1
      app/src/main/res/values/strings.xml

+ 5 - 5
app/src/main/java/io/legado/app/ui/about/AboutFragment.kt

@@ -54,14 +54,14 @@ class AboutFragment : PreferenceFragmentCompat() {
     override fun onPreferenceTreeClick(preference: Preference): Boolean {
         when (preference.key) {
             "contributors" -> openUrl(R.string.contributors_url)
-            "update_log" -> showMdFile("updateLog.md")
+            "update_log" -> showMdFile(getString(R.string.update_log),"updateLog.md")
             "check_update" -> checkUpdate()
             "mail" -> requireContext().sendMail(getString(R.string.email))
             "sourceRuleSummary" -> openUrl(R.string.source_rule_url)
             "git" -> openUrl(R.string.this_github_url)
             "home_page" -> openUrl(R.string.home_page_url)
             "license" -> openUrl(R.string.license_url)
-            "disclaimer" -> showMdFile("disclaimer.md")
+            "disclaimer" -> showMdFile(getString(R.string.disclaimer),"disclaimer.md")
             "qq" -> showQqGroups()
             "gzGzh" -> requireContext().sendToClip(getString(R.string.legado_gzh))
             "crashLog" -> showCrashLogs()
@@ -80,9 +80,9 @@ class AboutFragment : PreferenceFragmentCompat() {
     /**
      * 显示md文件
      */
-    private fun showMdFile(FileName: String) {
+    private fun showMdFile(title: String, FileName: String) {
         val mdText = String(requireContext().assets.open(FileName).readBytes())
-        showDialogFragment(TextDialog(mdText, TextDialog.Mode.MD))
+        showDialogFragment(TextDialog(title, mdText, TextDialog.Mode.MD))
     }
 
     /**
@@ -151,7 +151,7 @@ class AboutFragment : PreferenceFragmentCompat() {
             }
             context?.selector(R.string.crash_log, crashLogNames) { _, select ->
                 crashLogs?.getOrNull(select)?.let { logFile ->
-                    showDialogFragment(TextDialog(logFile.readText()))
+                    showDialogFragment(TextDialog("Crash log", logFile.readText()))
                 }
             }
         }

+ 1 - 1
app/src/main/java/io/legado/app/ui/about/AppLogDialog.kt

@@ -79,7 +79,7 @@ class AppLogDialog : BaseDialogFragment(R.layout.dialog_recycler_view),
             binding.root.onClick {
                 getItem(holder.layoutPosition)?.let { item ->
                     item.third?.let {
-                        showDialogFragment(TextDialog(it.stackTraceToString()))
+                        showDialogFragment(TextDialog("Log", it.stackTraceToString()))
                     }
                 }
             }

+ 1 - 1
app/src/main/java/io/legado/app/ui/book/import/remote/RemoteBookActivity.kt

@@ -192,6 +192,6 @@ class RemoteBookActivity : BaseImportBookActivity<ActivityImportBookBinding, Rem
     private fun showHelp(fileName: String) {
         //显示目录help下的帮助文档
         val mdText = String(assets.open("help/${fileName}.md").readBytes())
-        showDialogFragment(TextDialog(mdText, TextDialog.Mode.MD))
+        showDialogFragment(TextDialog(getString(R.string.help), mdText, TextDialog.Mode.MD))
     }
 }

+ 1 - 1
app/src/main/java/io/legado/app/ui/book/read/ReadBookActivity.kt

@@ -858,7 +858,7 @@ class ReadBookActivity : BaseReadBookActivity(),
 
     override fun showReadMenuHelp() {
         val text = String(assets.open("help/readMenuHelp.md").readBytes())
-        showDialogFragment(TextDialog(text, TextDialog.Mode.MD))
+        showDialogFragment(TextDialog(getString(R.string.help), text, TextDialog.Mode.MD))
     }
 
     /**

+ 1 - 1
app/src/main/java/io/legado/app/ui/book/read/config/HttpTtsEditDialog.kt

@@ -134,7 +134,7 @@ class HttpTtsEditDialog() : BaseDialogFragment(R.layout.dialog_http_tts_edit, tr
         val helpStr = String(
             requireContext().assets.open("help/httpTTSHelp.md").readBytes()
         )
-        showDialogFragment(TextDialog(helpStr, TextDialog.Mode.MD))
+        showDialogFragment(TextDialog(getString(R.string.help), helpStr, TextDialog.Mode.MD))
     }
 
 }

+ 5 - 5
app/src/main/java/io/legado/app/ui/book/source/debug/BookSourceDebugActivity.kt

@@ -179,10 +179,10 @@ class BookSourceDebugActivity : VMBaseActivity<ActivitySourceDebugBinding, BookS
     override fun onCompatOptionsItemSelected(item: MenuItem): Boolean {
         when (item.itemId) {
             R.id.menu_scan -> qrCodeResult.launch()
-            R.id.menu_search_src -> showDialogFragment(TextDialog(viewModel.searchSrc))
-            R.id.menu_book_src -> showDialogFragment(TextDialog(viewModel.bookSrc))
-            R.id.menu_toc_src -> showDialogFragment(TextDialog(viewModel.tocSrc))
-            R.id.menu_content_src -> showDialogFragment(TextDialog(viewModel.contentSrc))
+            R.id.menu_search_src -> showDialogFragment(TextDialog("html", viewModel.searchSrc))
+            R.id.menu_book_src -> showDialogFragment(TextDialog("html", viewModel.bookSrc))
+            R.id.menu_toc_src -> showDialogFragment(TextDialog("html", viewModel.tocSrc))
+            R.id.menu_content_src -> showDialogFragment(TextDialog("html", viewModel.contentSrc))
             R.id.menu_help -> showHelp()
         }
         return super.onCompatOptionsItemSelected(item)
@@ -190,7 +190,7 @@ class BookSourceDebugActivity : VMBaseActivity<ActivitySourceDebugBinding, BookS
 
     private fun showHelp() {
         val text = String(assets.open("help/debugHelp.md").readBytes())
-        showDialogFragment(TextDialog(text, TextDialog.Mode.MD))
+        showDialogFragment(TextDialog(getString(R.string.help), text, TextDialog.Mode.MD))
     }
 
 }

+ 1 - 1
app/src/main/java/io/legado/app/ui/book/source/edit/BookSourceEditActivity.kt

@@ -573,7 +573,7 @@ class BookSourceEditActivity :
     private fun showHelp(fileName: String) {
         //显示目录help下的帮助文档
         val mdText = String(assets.open("help/${fileName}.md").readBytes())
-        showDialogFragment(TextDialog(mdText, TextDialog.Mode.MD))
+        showDialogFragment(TextDialog(getString(R.string.help), mdText, TextDialog.Mode.MD))
     }
 
     private fun setSourceVariable() {

+ 1 - 2
app/src/main/java/io/legado/app/ui/book/source/manage/BookSourceActivity.kt

@@ -5,7 +5,6 @@ import android.os.Bundle
 import android.view.*
 import androidx.activity.viewModels
 import androidx.appcompat.app.AlertDialog
-import androidx.appcompat.app.AppCompatActivity
 import androidx.appcompat.widget.PopupMenu
 import androidx.appcompat.widget.SearchView
 import androidx.core.os.bundleOf
@@ -286,7 +285,7 @@ class BookSourceActivity : VMBaseActivity<ActivityBookSourceBinding, BookSourceV
 
     private fun showHelp() {
         val text = String(assets.open("help/SourceMBookHelp.md").readBytes())
-        showDialogFragment(TextDialog(text, TextDialog.Mode.MD))
+        showDialogFragment(TextDialog(getString(R.string.help), text, TextDialog.Mode.MD))
     }
 
     private fun sortCheck(sort: Sort) {

+ 1 - 1
app/src/main/java/io/legado/app/ui/config/BackupConfigFragment.kt

@@ -167,7 +167,7 @@ class BackupConfigFragment : PreferenceFragment(),
 
     private fun showHelp() {
         val text = String(requireContext().assets.open("help/webDavHelp.md").readBytes())
-        showDialogFragment(TextDialog(text, TextDialog.Mode.MD))
+        showDialogFragment(TextDialog(getString(R.string.help), text, TextDialog.Mode.MD))
     }
 
     override fun onDestroy() {

+ 2 - 2
app/src/main/java/io/legado/app/ui/main/MainActivity.kt

@@ -181,14 +181,14 @@ class MainActivity : VMBaseActivity<ActivityMainBinding, MainViewModel>(),
         viewModel.upVersion()
         if (LocalConfig.isFirstOpenApp) {
             val help = String(assets.open("help/appHelp.md").readBytes())
-            val dialog = TextDialog(help, TextDialog.Mode.MD)
+            val dialog = TextDialog(getString(R.string.help), help, TextDialog.Mode.MD)
             dialog.setOnDismissListener {
                 block.resume(Unit)
             }
             showDialogFragment(dialog)
         } else if (!BuildConfig.DEBUG) {
             val log = String(assets.open("updateLog.md").readBytes())
-            val dialog = TextDialog(log, TextDialog.Mode.MD)
+            val dialog = TextDialog(getString(R.string.update_log), log, TextDialog.Mode.MD)
             dialog.setOnDismissListener {
                 block.resume(Unit)
             }

+ 1 - 1
app/src/main/java/io/legado/app/ui/main/explore/ExploreAdapter.kt

@@ -98,7 +98,7 @@ class ExploreAdapter(context: Context, val callBack: CallBack) :
                 } else {
                     tv.setOnClickListener {
                         if (kind.title.startsWith("ERROR:")) {
-                            it.activity?.showDialogFragment(TextDialog(kind.url))
+                            it.activity?.showDialogFragment(TextDialog("ERROR", kind.url))
                         } else {
                             callBack.openExplore(sourceUrl, kind.title, kind.url)
                         }

+ 1 - 1
app/src/main/java/io/legado/app/ui/main/my/MyFragment.kt

@@ -53,7 +53,7 @@ class MyFragment : BaseFragment(R.layout.fragment_my_config) {
         when (item.itemId) {
             R.id.menu_help -> {
                 val text = String(requireContext().assets.open("help/appHelp.md").readBytes())
-                showDialogFragment(TextDialog(text, TextDialog.Mode.MD))
+                showDialogFragment(TextDialog(getString(R.string.help), text, TextDialog.Mode.MD))
             }
         }
     }

+ 1 - 1
app/src/main/java/io/legado/app/ui/replace/ReplaceRuleActivity.kt

@@ -298,7 +298,7 @@ class ReplaceRuleActivity : VMBaseActivity<ActivityReplaceRuleBinding, ReplaceRu
 
     private fun showHelp() {
         val text = String(assets.open("help/replaceRuleHelp.md").readBytes())
-        showDialogFragment(TextDialog(text, TextDialog.Mode.MD))
+        showDialogFragment(TextDialog(getString(R.string.help), text, TextDialog.Mode.MD))
     }
 
     override fun onQueryTextChange(newText: String?): Boolean {

+ 1 - 1
app/src/main/java/io/legado/app/ui/replace/edit/ReplaceEditActivity.kt

@@ -155,7 +155,7 @@ class ReplaceEditActivity :
     private fun showHelp(fileName: String) {
         //显示目录help下的帮助文档
         val mdText = String(assets.open("help/${fileName}.md").readBytes())
-        showDialogFragment(TextDialog(mdText, TextDialog.Mode.MD))
+        showDialogFragment(TextDialog(getString(R.string.help), mdText, TextDialog.Mode.MD))
     }
 
 }

+ 2 - 2
app/src/main/java/io/legado/app/ui/rss/source/debug/RssSourceDebugActivity.kt

@@ -49,8 +49,8 @@ class RssSourceDebugActivity : VMBaseActivity<ActivitySourceDebugBinding, RssSou
 
     override fun onCompatOptionsItemSelected(item: MenuItem): Boolean {
         when (item.itemId) {
-            R.id.menu_list_src -> showDialogFragment(TextDialog(viewModel.listSrc))
-            R.id.menu_content_src -> showDialogFragment(TextDialog(viewModel.contentSrc))
+            R.id.menu_list_src -> showDialogFragment(TextDialog("Html", viewModel.listSrc))
+            R.id.menu_content_src -> showDialogFragment(TextDialog("Html", viewModel.contentSrc))
         }
         return super.onCompatOptionsItemSelected(item)
     }

+ 1 - 1
app/src/main/java/io/legado/app/ui/rss/source/edit/RssSourceEditActivity.kt

@@ -283,7 +283,7 @@ class RssSourceEditActivity :
     private fun showHelp(fileName: String) {
         //显示目录help下的帮助文档
         val mdText = String(assets.open("help/${fileName}.md").readBytes())
-        showDialogFragment(TextDialog(mdText, TextDialog.Mode.MD))
+        showDialogFragment(TextDialog(getString(R.string.help), mdText, TextDialog.Mode.MD))
     }
 
 }

+ 1 - 1
app/src/main/java/io/legado/app/ui/rss/source/manage/RssSourceActivity.kt

@@ -325,7 +325,7 @@ class RssSourceActivity : VMBaseActivity<ActivityRssSourceBinding, RssSourceView
 
     private fun showHelp() {
         val text = String(assets.open("help/SourceMRssHelp.md").readBytes())
-        showDialogFragment(TextDialog(text, TextDialog.Mode.MD))
+        showDialogFragment(TextDialog(getString(R.string.help), text, TextDialog.Mode.MD))
     }
 
     override fun upCountView() {

+ 14 - 1
app/src/main/java/io/legado/app/ui/widget/dialog/TextDialog.kt

@@ -6,6 +6,8 @@ import android.view.ViewGroup
 import io.legado.app.R
 import io.legado.app.base.BaseDialogFragment
 import io.legado.app.databinding.DialogTextViewBinding
+import io.legado.app.lib.theme.primaryColor
+import io.legado.app.utils.applyTint
 import io.legado.app.utils.setHtml
 import io.legado.app.utils.setLayout
 import io.legado.app.utils.viewbindingdelegate.viewBinding
@@ -24,12 +26,14 @@ class TextDialog() : BaseDialogFragment(R.layout.dialog_text_view) {
     }
 
     constructor(
+        title: String,
         content: String?,
         mode: Mode = Mode.TEXT,
         time: Long = 0,
         autoClose: Boolean = false
     ) : this() {
         arguments = Bundle().apply {
+            putString("title", title)
             putString("content", content)
             putString("mode", mode.name)
             putLong("time", time)
@@ -48,7 +52,17 @@ class TextDialog() : BaseDialogFragment(R.layout.dialog_text_view) {
     }
 
     override fun onFragmentCreated(view: View, savedInstanceState: Bundle?) {
+        binding.toolBar.setBackgroundColor(primaryColor)
+        binding.toolBar.inflateMenu(R.menu.dialog_text)
+        binding.toolBar.menu.applyTint(requireContext())
+        binding.toolBar.setOnMenuItemClickListener {
+            when (it.itemId) {
+                R.id.menu_close -> dismissAllowingStateLoss()
+            }
+            true
+        }
         arguments?.let {
+            binding.toolBar.title = it.getString("title")
             val content = it.getString("content") ?: ""
             when (it.getString("mode")) {
                 Mode.MD.name -> binding.textView.post {
@@ -82,7 +96,6 @@ class TextDialog() : BaseDialogFragment(R.layout.dialog_text_view) {
         } else {
             view.post {
                 dialog?.setCancelable(true)
-                if (autoClose) dialog?.cancel()
             }
         }
     }

+ 1 - 1
app/src/main/res/layout/dialog_click_action_config.xml

@@ -34,7 +34,7 @@
             android:id="@+id/iv_close"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:contentDescription="@string/colse"
+            android:contentDescription="@string/close"
             android:src="@drawable/ic_baseline_close"
             app:tint="@color/white" />
 

+ 13 - 2
app/src/main/res/layout/dialog_text_view.xml

@@ -5,13 +5,24 @@
     android:layout_height="match_parent"
     android:background="@color/background">
 
+    <androidx.appcompat.widget.Toolbar
+        android:id="@+id/tool_bar"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:theme="?attr/actionBarStyle"
+        app:popupTheme="@style/AppTheme.PopupOverlay"
+        app:titleTextAppearance="@style/ToolbarTitle"
+        app:layout_constraintTop_toTopOf="parent" />
+
     <io.legado.app.ui.widget.text.ScrollTextView
         android:id="@+id/text_view"
         android:layout_width="match_parent"
-        android:layout_height="match_parent"
+        android:layout_height="0dp"
         android:padding="12dp"
         android:textColor="@color/secondaryText"
-        android:textIsSelectable="true" />
+        android:textIsSelectable="true"
+        app:layout_constraintTop_toBottomOf="@+id/tool_bar"
+        app:layout_constraintBottom_toBottomOf="parent"/>
 
     <io.legado.app.ui.widget.text.BadgeView
         android:id="@+id/badge_view"

+ 9 - 0
app/src/main/res/menu/dialog_text.xml

@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<menu xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <item
+        android:id="@+id/menu_close"
+        android:title="@string/close"
+        app:showAsAction="always"/>
+</menu>

+ 1 - 1
app/src/main/res/values-es-rES/strings.xml

@@ -795,7 +795,7 @@
     <string name="no_book">No hay libros</string>
     <string name="keep_original_name">Conservar el nombre original</string>
     <string name="click_regional_config">El control de la pantalla táctil</string>
-    <string name="colse">Cerrar</string>
+    <string name="close">Cerrar</string>
     <string name="next_page">Página siguiente</string>
     <string name="prev_page">Página anterior</string>
     <string name="non_action">Sin acciones</string>

+ 1 - 1
app/src/main/res/values-ja-rJP/strings.xml

@@ -798,7 +798,7 @@
     <string name="no_book">No books</string>
     <string name="keep_original_name">Keep the original name</string>
     <string name="click_regional_config">Screen touch control</string>
-    <string name="colse">Close</string>
+    <string name="close">Close</string>
     <string name="next_page">Next page</string>
     <string name="prev_page">Prior page</string>
     <string name="non_action">None</string>

+ 1 - 1
app/src/main/res/values-pt-rBR/strings.xml

@@ -796,7 +796,7 @@
     <string name="no_book">Sem livros</string>
     <string name="keep_original_name">Manter o nome original</string>
     <string name="click_regional_config">O controle de toque da tela</string>
-    <string name="colse">Fechar</string>
+    <string name="close">Fechar</string>
     <string name="next_page">Próxima página</string>
     <string name="prev_page">Página anterior</string>
     <string name="non_action">Nenhuma Ação</string>

+ 1 - 1
app/src/main/res/values-zh-rHK/strings.xml

@@ -796,7 +796,7 @@
     <string name="no_book">冇書</string>
     <string name="keep_original_name">保留原名</string>
     <string name="click_regional_config">點擊區域設定</string>
-    <string name="colse">閂咗</string>
+    <string name="close">閂咗</string>
     <string name="next_page">下一頁</string>
     <string name="prev_page">上一頁</string>
     <string name="non_action">無操作</string>

+ 1 - 1
app/src/main/res/values-zh-rTW/strings.xml

@@ -799,7 +799,7 @@
     <string name="no_book">沒有書籍</string>
     <string name="keep_original_name">保留原名</string>
     <string name="click_regional_config">點擊區域設定</string>
-    <string name="colse">關閉</string>
+    <string name="close">關閉</string>
     <string name="next_page">下一頁</string>
     <string name="prev_page">上一頁</string>
     <string name="non_action">無操作</string>

+ 1 - 1
app/src/main/res/values-zh/strings.xml

@@ -801,7 +801,7 @@
     <string name="no_book">没有书籍</string>
     <string name="keep_original_name">保留原名</string>
     <string name="click_regional_config">点击区域设置</string>
-    <string name="colse">关闭</string>
+    <string name="close">关闭</string>
     <string name="next_page">下一页</string>
     <string name="prev_page">上一页</string>
     <string name="non_action">无操作</string>

+ 1 - 1
app/src/main/res/values/strings.xml

@@ -800,7 +800,7 @@
     <string name="no_book">No books</string>
     <string name="keep_original_name">Keep the original name</string>
     <string name="click_regional_config">Screen touch control</string>
-    <string name="colse">Close</string>
+    <string name="close">Close</string>
     <string name="next_page">Next page</string>
     <string name="prev_page">Prior page</string>
     <string name="non_action">None</string>