pull/48/head
Celeter 6 years ago
parent a978467944
commit 6b420d80e2
  1. 19
      app/src/main/java/io/legado/app/help/storage/OldRule.kt
  2. 1
      app/src/main/java/io/legado/app/model/analyzeRule/AnalyzeRule.kt
  3. 2
      app/src/main/java/io/legado/app/model/webbook/BookChapterList.kt
  4. 11
      app/src/main/java/io/legado/app/ui/book/source/edit/BookSourceEditActivity.kt
  5. 2
      app/src/main/java/io/legado/app/ui/main/my/MyFragment.kt
  6. 2
      app/src/main/java/io/legado/app/ui/main/rss/RssFragment.kt
  7. 7
      app/src/main/res/menu/main_rss.xml
  8. 4
      app/src/main/res/values/strings.xml
  9. 9
      app/src/main/res/xml/pref_main.xml

@ -91,17 +91,16 @@ object OldRule {
return source return source
} }
private fun toNewUrls(oldUrl: String?): String? { private fun toNewUrls(oldUrls: String?): String? {
if (oldUrl == null) return null if (oldUrls == null) return null
if (!oldUrl.contains("\n") && !oldUrl.contains("&&")) if (!oldUrls.contains("\n") && !oldUrls.contains("&&"))
return toNewUrl(oldUrl) return toNewUrl(oldUrls)
val urls = oldUrl.split("(&&|\n)+".toRegex()) val urls = oldUrls.split("(&&|\n)+".toRegex())
var newUrl = "" val newUrls = urls.map {
for (url in urls) { toNewUrl(it)?.replace("\n\\s*".toRegex(),"")
newUrl += toNewUrl(url)?.replace("\\n\\s*".toRegex(),"") + "\n" }.joinToString("\n")
} return newUrls
return newUrl
} }
private fun toNewUrl(oldUrl: String?): String? { private fun toNewUrl(oldUrl: String?): String? {

@ -15,7 +15,6 @@ import javax.script.SimpleBindings
import kotlin.collections.HashMap import kotlin.collections.HashMap
import java.text.SimpleDateFormat import java.text.SimpleDateFormat
/** /**
* Created by REFGD. * Created by REFGD.
* 统一解析接口 * 统一解析接口

@ -179,6 +179,8 @@ object BookChapterList {
SourceDebug.printLog(bookSource.bookSourceUrl, "${chapterList[0].title}", printLog) SourceDebug.printLog(bookSource.bookSourceUrl, "${chapterList[0].title}", printLog)
SourceDebug.printLog(bookSource.bookSourceUrl, "┌获取首章链接", printLog) SourceDebug.printLog(bookSource.bookSourceUrl, "┌获取首章链接", printLog)
SourceDebug.printLog(bookSource.bookSourceUrl, "${chapterList[0].url}", printLog) SourceDebug.printLog(bookSource.bookSourceUrl, "${chapterList[0].url}", printLog)
SourceDebug.printLog(bookSource.bookSourceUrl, "┌获取首章信息", printLog)
SourceDebug.printLog(bookSource.bookSourceUrl, "${chapterList[0].tag}", printLog)
} }
return ChapterData(chapterList, nextUrlList) return ChapterData(chapterList, nextUrlList)
} }

@ -4,7 +4,9 @@ import android.app.Activity
import android.content.ClipData import android.content.ClipData
import android.content.ClipboardManager import android.content.ClipboardManager
import android.content.Context import android.content.Context
import android.content.Intent
import android.graphics.Rect import android.graphics.Rect
import android.net.Uri
import android.os.Bundle import android.os.Bundle
import android.view.Gravity import android.view.Gravity
import android.view.Menu import android.view.Menu
@ -85,6 +87,15 @@ class BookSourceEditActivity :
} }
} }
R.id.menu_paste_source -> viewModel.pasteSource { upRecyclerView(it) } R.id.menu_paste_source -> viewModel.pasteSource { upRecyclerView(it) }
R.id.menu_rule_summary -> {
try {
val intent = Intent(Intent.ACTION_VIEW)
intent.data = Uri.parse(getString(R.string.source_rule_url))
startActivity(intent)
} catch (e: Exception) {
toast(R.string.can_not_open)
}
}
} }
return super.onCompatOptionsItemSelected(item) return super.onCompatOptionsItemSelected(item)
} }

@ -26,6 +26,7 @@ import io.legado.app.utils.LogUtils
import io.legado.app.utils.startActivity import io.legado.app.utils.startActivity
import kotlinx.android.synthetic.main.view_title_bar.* import kotlinx.android.synthetic.main.view_title_bar.*
import org.jetbrains.anko.startActivity import org.jetbrains.anko.startActivity
import io.legado.app.ui.rss.source.manage.RssSourceActivity
class MyFragment : BaseFragment(R.layout.fragment_my_config) { class MyFragment : BaseFragment(R.layout.fragment_my_config) {
@ -93,6 +94,7 @@ class MyFragment : BaseFragment(R.layout.fragment_my_config) {
override fun onPreferenceTreeClick(preference: Preference?): Boolean { override fun onPreferenceTreeClick(preference: Preference?): Boolean {
when (preference?.key) { when (preference?.key) {
"bookSourceManage" -> context?.startActivity<BookSourceActivity>() "bookSourceManage" -> context?.startActivity<BookSourceActivity>()
"RssSourceManage" -> context?.startActivity<RssSourceActivity>()
"replaceManage" -> context?.startActivity<ReplaceRuleActivity>() "replaceManage" -> context?.startActivity<ReplaceRuleActivity>()
"setting" -> context?.startActivity<ConfigActivity>( "setting" -> context?.startActivity<ConfigActivity>(
Pair("configType", ConfigViewModel.TYPE_CONFIG) Pair("configType", ConfigViewModel.TYPE_CONFIG)

@ -12,7 +12,6 @@ import io.legado.app.base.BaseFragment
import io.legado.app.data.entities.RssSource import io.legado.app.data.entities.RssSource
import io.legado.app.lib.theme.ATH import io.legado.app.lib.theme.ATH
import io.legado.app.ui.rss.article.RssArticlesActivity import io.legado.app.ui.rss.article.RssArticlesActivity
import io.legado.app.ui.rss.source.manage.RssSourceActivity
import io.legado.app.utils.startActivity import io.legado.app.utils.startActivity
import kotlinx.android.synthetic.main.fragment_rss.* import kotlinx.android.synthetic.main.fragment_rss.*
import kotlinx.android.synthetic.main.view_title_bar.* import kotlinx.android.synthetic.main.view_title_bar.*
@ -35,7 +34,6 @@ class RssFragment : BaseFragment(R.layout.fragment_rss),
override fun onCompatOptionsItemSelected(item: MenuItem) { override fun onCompatOptionsItemSelected(item: MenuItem) {
super.onCompatOptionsItemSelected(item) super.onCompatOptionsItemSelected(item)
when (item.itemId) { when (item.itemId) {
R.id.menu_rss_config -> startActivity<RssSourceActivity>()
R.id.menu_rss_star -> { R.id.menu_rss_star -> {
} }
} }

@ -9,11 +9,4 @@
android:icon="@drawable/ic_star" android:icon="@drawable/ic_star"
app:showAsAction="always" /> app:showAsAction="always" />
<item
android:id="@+id/menu_rss_config"
android:title="@string/setting"
android:icon="@drawable/ic_settings"
app:showAsAction="always"
tools:ignore="AlwaysShowAction" />
</menu> </menu>

@ -382,8 +382,8 @@
<string name="rule_chapter_list">目录列表规则(chapterList)</string> <string name="rule_chapter_list">目录列表规则(chapterList)</string>
<string name="rule_chapter_name">章节名称规则(ChapterName)</string> <string name="rule_chapter_name">章节名称规则(ChapterName)</string>
<string name="rule_chapter_url">章节URL规则(chapterUrl)</string> <string name="rule_chapter_url">章节URL规则(chapterUrl)</string>
<string name="rule_is_vip">是否VIP(isVip)</string> <string name="rule_is_vip">VIP标识(isVip)</string>
<string name="rule_update_time">更新时间(updateTime)</string> <string name="rule_update_time">章节信息(ChapterInfo)</string>
<string name="rule_book_content">正文规则(content)</string> <string name="rule_book_content">正文规则(content)</string>
<string name="rule_next_content">正文下一页URL规则(nextContentUrl)</string> <string name="rule_next_content">正文下一页URL规则(nextContentUrl)</string>
<string name="rule_web_js">webJs</string> <string name="rule_web_js">webJs</string>

@ -7,6 +7,11 @@
android:title="书源管理" android:title="书源管理"
app:iconSpaceReserved="false" /> app:iconSpaceReserved="false" />
<androidx.preference.Preference
android:key="RssSourceManage"
android:title="订阅管理"
app:iconSpaceReserved="false" />
<androidx.preference.Preference <androidx.preference.Preference
android:key="replaceManage" android:key="replaceManage"
android:title="替换净化" android:title="替换净化"
@ -15,7 +20,7 @@
<io.legado.app.lib.theme.prefs.ATESwitchPreference <io.legado.app.lib.theme.prefs.ATESwitchPreference
android:defaultValue="false" android:defaultValue="false"
android:key="isNightTheme" android:key="isNightTheme"
android:title="暗色主题" android:title="夜间模式"
app:iconSpaceReserved="false" /> app:iconSpaceReserved="false" />
<io.legado.app.lib.theme.prefs.ATESwitchPreference <io.legado.app.lib.theme.prefs.ATESwitchPreference
@ -31,7 +36,7 @@
<androidx.preference.Preference <androidx.preference.Preference
android:key="web_dav_setting" android:key="web_dav_setting"
android:summary="通过WebDav云备份" android:summary="通过WebDav云备份"
android:title="云备份设置" android:title="账号同步"
app:iconSpaceReserved="false" /> app:iconSpaceReserved="false" />
<androidx.preference.Preference <androidx.preference.Preference

Loading…
Cancel
Save