Horis 4 yıl önce
ebeveyn
işleme
8329f28168

+ 1 - 1
app/src/main/java/io/legado/app/model/analyzeRule/AnalyzeUrl.kt

@@ -289,7 +289,7 @@ class AnalyzeUrl(
     private fun fetchStart(): ConcurrentRecord? {
         source ?: return null
         val concurrentRate = source.concurrentRate
-        if (concurrentRate.isNullOrEmpty()) {
+        if (concurrentRate.isNullOrEmpty() || concurrentRate == "0") {
             return null
         }
         val rateIndex = concurrentRate.indexOf("/")

+ 11 - 1
app/src/main/java/io/legado/app/ui/association/ImportHttpTtsDialog.kt

@@ -25,7 +25,8 @@ import io.legado.app.utils.viewbindingdelegate.viewBinding
 import io.legado.app.utils.visible
 import splitties.views.onClick
 
-class ImportHttpTtsDialog() : BaseDialogFragment(R.layout.dialog_recycler_view) {
+class ImportHttpTtsDialog() : BaseDialogFragment(R.layout.dialog_recycler_view),
+    CodeDialog.Callback {
 
     constructor(source: String, finishOnDismiss: Boolean = false) : this() {
         arguments = Bundle().apply {
@@ -176,4 +177,13 @@ class ImportHttpTtsDialog() : BaseDialogFragment(R.layout.dialog_recycler_view)
         }
 
     }
+
+    override fun onCodeSave(code: String, requestId: String?) {
+        requestId?.toInt()?.let {
+            HttpTTS.fromJson(code).getOrNull()?.let { source ->
+                viewModel.allSources[it] = source
+                adapter.setItem(it, source)
+            }
+        }
+    }
 }

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

@@ -73,6 +73,7 @@ class HttpTtsEditDialog() : BaseDialogFragment(R.layout.dialog_http_tts_edit, tr
         binding.tvName.setText(httpTTS.name)
         binding.tvUrl.setText(httpTTS.url)
         binding.tvContentType.setText(httpTTS.contentType)
+        binding.tvConcurrentRate.setText(httpTTS.concurrentRate)
         binding.tvLoginUrl.setText(httpTTS.loginUrl)
         binding.tvLoginUi.setText(httpTTS.loginUi)
         binding.tvLoginCheckJs.setText(httpTTS.loginCheckJs)
@@ -121,6 +122,7 @@ class HttpTtsEditDialog() : BaseDialogFragment(R.layout.dialog_http_tts_edit, tr
             name = binding.tvName.text.toString(),
             url = binding.tvUrl.text.toString(),
             contentType = binding.tvContentType.text?.toString(),
+            concurrentRate = binding.tvConcurrentRate.text?.toString(),
             loginUrl = binding.tvLoginUrl.text?.toString(),
             loginUi = binding.tvLoginUi.text?.toString(),
             loginCheckJs = binding.tvLoginCheckJs.text?.toString(),

+ 5 - 9
app/src/main/java/io/legado/app/ui/book/toc/TocActivity.kt

@@ -85,6 +85,11 @@ class TocActivity : VMBaseActivity<ActivityChapterListBinding, TocViewModel>() {
                     return false
                 }
             })
+            setOnQueryTextFocusChangeListener { v, hasFocus ->
+                if (!hasFocus) {
+                    searchView?.isIconified = true
+                }
+            }
         }
         return super.onCompatCreateOptionsMenu(menu)
     }
@@ -116,15 +121,6 @@ class TocActivity : VMBaseActivity<ActivityChapterListBinding, TocViewModel>() {
         return super.onCompatOptionsItemSelected(item)
     }
 
-    override fun finish() {
-        if (tabLayout.isGone) {
-            searchView?.onActionViewCollapsed()
-            tabLayout.visible()
-        } else {
-            super.finish()
-        }
-    }
-
     @Suppress("DEPRECATION")
     private inner class TabFragmentPageAdapter :
         FragmentPagerAdapter(supportFragmentManager, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT) {

+ 14 - 0
app/src/main/res/layout/dialog_http_tts_edit.xml

@@ -75,6 +75,20 @@
 
                 </io.legado.app.ui.widget.text.TextInputLayout>
 
+                <io.legado.app.ui.widget.text.TextInputLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:hint="@string/concurrent_rate"
+                    tools:ignore="HardcodedText">
+
+                    <io.legado.app.ui.widget.code.CodeView
+                        android:id="@+id/tv_concurrent_rate"
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        tools:ignore="TouchTargetSizeCheck,SpeakableTextPresentCheck" />
+
+                </io.legado.app.ui.widget.text.TextInputLayout>
+
                 <io.legado.app.ui.widget.text.TextInputLayout
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"