添加自动完成开关

pull/1660/head
kunfei 3 years ago
parent f45aed28ac
commit a4f10211f3
  1. 24
      app/src/main/java/io/legado/app/ui/book/source/edit/BookSourceEditActivity.kt
  2. 24
      app/src/main/java/io/legado/app/ui/rss/source/edit/RssSourceEditActivity.kt
  3. 7
      app/src/main/java/io/legado/app/ui/rss/source/edit/RssSourceEditViewModel.kt

@ -329,11 +329,14 @@ class BookSourceEditActivity :
"searchUrl" -> source.searchUrl = it.value "searchUrl" -> source.searchUrl = it.value
"checkKeyWord" -> searchRule.checkKeyWord = it.value "checkKeyWord" -> searchRule.checkKeyWord = it.value
"bookList" -> searchRule.bookList = it.value ?: "" "bookList" -> searchRule.bookList = it.value ?: ""
"name" -> searchRule.name = viewModel.ruleComplete(it.value, searchRule.bookList) "name" -> searchRule.name =
viewModel.ruleComplete(it.value, searchRule.bookList)
"author" -> searchRule.author = "author" -> searchRule.author =
viewModel.ruleComplete(it.value, searchRule.bookList) viewModel.ruleComplete(it.value, searchRule.bookList)
"kind" -> searchRule.kind = viewModel.ruleComplete(it.value, searchRule.bookList) "kind" -> searchRule.kind =
"intro" -> searchRule.intro = viewModel.ruleComplete(it.value, searchRule.bookList) viewModel.ruleComplete(it.value, searchRule.bookList)
"intro" -> searchRule.intro =
viewModel.ruleComplete(it.value, searchRule.bookList)
"updateTime" -> searchRule.updateTime = "updateTime" -> searchRule.updateTime =
viewModel.ruleComplete(it.value, searchRule.bookList) viewModel.ruleComplete(it.value, searchRule.bookList)
"wordCount" -> searchRule.wordCount = "wordCount" -> searchRule.wordCount =
@ -350,10 +353,12 @@ class BookSourceEditActivity :
when (it.key) { when (it.key) {
"exploreUrl" -> source.exploreUrl = it.value "exploreUrl" -> source.exploreUrl = it.value
"bookList" -> exploreRule.bookList = it.value ?: "" "bookList" -> exploreRule.bookList = it.value ?: ""
"name" -> exploreRule.name = viewModel.ruleComplete(it.value, exploreRule.bookList) "name" -> exploreRule.name =
viewModel.ruleComplete(it.value, exploreRule.bookList)
"author" -> exploreRule.author = "author" -> exploreRule.author =
viewModel.ruleComplete(it.value, exploreRule.bookList) viewModel.ruleComplete(it.value, exploreRule.bookList)
"kind" -> exploreRule.kind = viewModel.ruleComplete(it.value, exploreRule.bookList) "kind" -> exploreRule.kind =
viewModel.ruleComplete(it.value, exploreRule.bookList)
"intro" -> exploreRule.intro = "intro" -> exploreRule.intro =
viewModel.ruleComplete(it.value, exploreRule.bookList) viewModel.ruleComplete(it.value, exploreRule.bookList)
"updateTime" -> exploreRule.updateTime = "updateTime" -> exploreRule.updateTime =
@ -374,8 +379,10 @@ class BookSourceEditActivity :
"name" -> bookInfoRule.name = viewModel.ruleComplete(it.value, bookInfoRule.init) "name" -> bookInfoRule.name = viewModel.ruleComplete(it.value, bookInfoRule.init)
"author" -> bookInfoRule.author = "author" -> bookInfoRule.author =
viewModel.ruleComplete(it.value, bookInfoRule.init) viewModel.ruleComplete(it.value, bookInfoRule.init)
"kind" -> bookInfoRule.kind = viewModel.ruleComplete(it.value, bookInfoRule.init) "kind" -> bookInfoRule.kind =
"intro" -> bookInfoRule.intro = viewModel.ruleComplete(it.value, bookInfoRule.init) viewModel.ruleComplete(it.value, bookInfoRule.init)
"intro" -> bookInfoRule.intro =
viewModel.ruleComplete(it.value, bookInfoRule.init)
"updateTime" -> bookInfoRule.updateTime = "updateTime" -> bookInfoRule.updateTime =
viewModel.ruleComplete(it.value, bookInfoRule.init) viewModel.ruleComplete(it.value, bookInfoRule.init)
"wordCount" -> bookInfoRule.wordCount = "wordCount" -> bookInfoRule.wordCount =
@ -406,7 +413,8 @@ class BookSourceEditActivity :
} }
contentEntities.forEach { contentEntities.forEach {
when (it.key) { when (it.key) {
"content" -> contentRule.content = viewModel.ruleComplete(it.value) "content" -> contentRule.content =
viewModel.ruleComplete(it.value)
"nextContentUrl" -> contentRule.nextContentUrl = "nextContentUrl" -> contentRule.nextContentUrl =
viewModel.ruleComplete(it.value, type = 2) viewModel.ruleComplete(it.value, type = 2)
"webJs" -> contentRule.webJs = it.value "webJs" -> contentRule.webJs = it.value

@ -84,12 +84,12 @@ class RssSourceEditActivity :
override fun onCompatCreateOptionsMenu(menu: Menu): Boolean { override fun onCompatCreateOptionsMenu(menu: Menu): Boolean {
menuInflater.inflate(R.menu.source_edit, menu) menuInflater.inflate(R.menu.source_edit, menu)
menu.findItem(R.id.menu_login).isVisible = false
return super.onCompatCreateOptionsMenu(menu) return super.onCompatCreateOptionsMenu(menu)
} }
override fun onMenuOpened(featureId: Int, menu: Menu): Boolean { override fun onMenuOpened(featureId: Int, menu: Menu): Boolean {
menu.findItem(R.id.menu_login)?.isVisible = !viewModel.rssSource.loginUrl.isNullOrBlank() menu.findItem(R.id.menu_login)?.isVisible = !viewModel.rssSource.loginUrl.isNullOrBlank()
menu.findItem(R.id.menu_auto_complete)?.isChecked = viewModel.autoComplete
return super.onMenuOpened(featureId, menu) return super.onMenuOpened(featureId, menu)
} }
@ -124,6 +124,7 @@ class RssSourceEditActivity :
} }
} }
} }
R.id.menu_auto_complete -> viewModel.autoComplete = !viewModel.autoComplete
R.id.menu_copy_source -> sendToClip(GSON.toJson(getRssSource())) R.id.menu_copy_source -> sendToClip(GSON.toJson(getRssSource()))
R.id.menu_qr_code_camera -> qrCodeResult.launch() R.id.menu_qr_code_camera -> qrCodeResult.launch()
R.id.menu_paste_source -> viewModel.pasteSource { upRecyclerView(it) } R.id.menu_paste_source -> viewModel.pasteSource { upRecyclerView(it) }
@ -202,13 +203,20 @@ class RssSourceEditActivity :
"concurrentRate" -> source.concurrentRate = it.value "concurrentRate" -> source.concurrentRate = it.value
"sortUrl" -> source.sortUrl = it.value "sortUrl" -> source.sortUrl = it.value
"ruleArticles" -> source.ruleArticles = it.value "ruleArticles" -> source.ruleArticles = it.value
"ruleNextPage" -> source.ruleNextPage = it.value "ruleNextPage" -> source.ruleNextPage =
"ruleTitle" -> source.ruleTitle = it.value viewModel.ruleComplete(it.value, source.ruleArticles, 2)
"rulePubDate" -> source.rulePubDate = it.value "ruleTitle" -> source.ruleTitle =
"ruleDescription" -> source.ruleDescription = it.value viewModel.ruleComplete(it.value, source.ruleArticles)
"ruleImage" -> source.ruleImage = it.value "rulePubDate" -> source.rulePubDate =
"ruleLink" -> source.ruleLink = it.value viewModel.ruleComplete(it.value, source.ruleArticles)
"ruleContent" -> source.ruleContent = it.value "ruleDescription" -> source.ruleDescription =
viewModel.ruleComplete(it.value, source.ruleArticles)
"ruleImage" -> source.ruleImage =
viewModel.ruleComplete(it.value, source.ruleArticles, 3)
"ruleLink" -> source.ruleLink =
viewModel.ruleComplete(it.value, source.ruleArticles)
"ruleContent" -> source.ruleContent =
viewModel.ruleComplete(it.value, source.ruleArticles)
"style" -> source.style = it.value "style" -> source.style = it.value
} }
} }

@ -5,6 +5,7 @@ import android.content.Intent
import io.legado.app.base.BaseViewModel import io.legado.app.base.BaseViewModel
import io.legado.app.data.appDb import io.legado.app.data.appDb
import io.legado.app.data.entities.RssSource import io.legado.app.data.entities.RssSource
import io.legado.app.help.RuleComplete
import io.legado.app.utils.getClipText import io.legado.app.utils.getClipText
import io.legado.app.utils.msg import io.legado.app.utils.msg
import io.legado.app.utils.printOnDebug import io.legado.app.utils.printOnDebug
@ -14,7 +15,7 @@ import kotlinx.coroutines.Dispatchers
class RssSourceEditViewModel(application: Application) : BaseViewModel(application) { class RssSourceEditViewModel(application: Application) : BaseViewModel(application) {
var autoComplete = false
var rssSource: RssSource = RssSource() var rssSource: RssSource = RssSource()
private var oldSourceUrl: String = "" private var oldSourceUrl: String = ""
@ -76,4 +77,8 @@ class RssSourceEditViewModel(application: Application) : BaseViewModel(applicati
} }
} }
fun ruleComplete(rule: String?, preRule: String? = null, type: Int = 1): String? {
return RuleComplete.autoComplete(rule, preRule, type, autoComplete)
}
} }
Loading…
Cancel
Save