diff --git a/app/src/main/assets/updateLog.md b/app/src/main/assets/updateLog.md index 36a49ecc0..bb94e956f 100644 --- a/app/src/main/assets/updateLog.md +++ b/app/src/main/assets/updateLog.md @@ -3,13 +3,15 @@ * 关注合作公众号 **[小说拾遗]()** 获取好看的小说。 - 旧版数据导入教程:先在旧版阅读(2.x)中进行备份,然后在新版阅读(3.x)【我的】->【备份与恢复】,选择【导入旧版本数据】。 -**2020/10/04** +**2020/10/07** * 更新时预下载10章 * 支持更多分组 * url添加js参数,解析url时执行,可在访问url时处理url,例 ``` https://www.baidu.com,{"js":"java.headerMap.put('xxx', 'yyy')"} +https://www.baidu.com,{"js":"java.url=java.url+'yyyy'"} ``` +* 修复bug **2020/10/02** * 优化规则解析 diff --git a/app/src/main/java/io/legado/app/constant/PreferKey.kt b/app/src/main/java/io/legado/app/constant/PreferKey.kt index 7ef56460e..0dbd518af 100644 --- a/app/src/main/java/io/legado/app/constant/PreferKey.kt +++ b/app/src/main/java/io/legado/app/constant/PreferKey.kt @@ -21,7 +21,6 @@ object PreferKey { const val processText = "process_text" const val cleanCache = "cleanCache" const val saveTabPosition = "saveTabPosition" - const val pageAnim = "pageAnim" const val fontFolder = "fontFolder" const val backupPath = "backupUri" const val restoreIgnore = "restoreIgnore" @@ -40,7 +39,6 @@ object PreferKey { const val launcherIcon = "launcherIcon" const val textSelectAble = "selectText" const val lastBackup = "lastBackup" - const val bodyIndent = "textIndent" const val shareLayout = "shareLayout" const val readStyleSelect = "readStyleSelect" const val systemTypefaces = "system_typefaces" diff --git a/app/src/main/java/io/legado/app/help/BookHelp.kt b/app/src/main/java/io/legado/app/help/BookHelp.kt index f52252f0b..36a193fa0 100644 --- a/app/src/main/java/io/legado/app/help/BookHelp.kt +++ b/app/src/main/java/io/legado/app/help/BookHelp.kt @@ -327,10 +327,10 @@ object BookHelp { if (contents.isEmpty()) { contents.add(title) if (str != title && it.isNotEmpty()) { - contents.add("${ReadBookConfig.bodyIndent}$str") + contents.add("${ReadBookConfig.paragraphIndent}$str") } } else if (str.isNotEmpty()) { - contents.add("${ReadBookConfig.bodyIndent}$str") + contents.add("${ReadBookConfig.paragraphIndent}$str") } } return contents diff --git a/app/src/main/java/io/legado/app/help/ReadBookConfig.kt b/app/src/main/java/io/legado/app/help/ReadBookConfig.kt index 118f5b6ca..6e3557231 100644 --- a/app/src/main/java/io/legado/app/help/ReadBookConfig.kt +++ b/app/src/main/java/io/legado/app/help/ReadBookConfig.kt @@ -162,15 +162,6 @@ object ReadBookConfig { val clickTurnPage get() = App.INSTANCE.getPrefBoolean(PreferKey.clickTurnPage, true) val textFullJustify get() = App.INSTANCE.getPrefBoolean(PreferKey.textFullJustify, true) val textBottomJustify get() = App.INSTANCE.getPrefBoolean(PreferKey.textBottomJustify, true) - var bodyIndentCount = App.INSTANCE.getPrefInt(PreferKey.bodyIndent, 2) - set(value) { - field = value - bodyIndent = " ".repeat(value) - if (App.INSTANCE.getPrefInt(PreferKey.bodyIndent, 2) != value) { - App.INSTANCE.putPrefInt(PreferKey.bodyIndent, value) - } - } - var bodyIndent = " ".repeat(bodyIndentCount) var hideStatusBar = App.INSTANCE.getPrefBoolean(PreferKey.hideStatusBar) var hideNavigationBar = App.INSTANCE.getPrefBoolean(PreferKey.hideNavigationBar) @@ -242,6 +233,12 @@ object ReadBookConfig { config.titleBottomSpacing = value } + var paragraphIndent: String + get() = config.paragraphIndent + set(value) { + config.paragraphIndent = value + } + var paddingBottom: Int get() = config.paddingBottom set(value) { @@ -392,6 +389,7 @@ object ReadBookConfig { var titleSize: Int = 0, var titleTopSpacing: Int = 0, var titleBottomSpacing: Int = 0, + var paragraphIndent: String = "  ",//段落缩进 var paddingBottom: Int = 6, var paddingLeft: Int = 16, var paddingRight: Int = 16, diff --git a/app/src/main/java/io/legado/app/help/storage/Restore.kt b/app/src/main/java/io/legado/app/help/storage/Restore.kt index b98a248d1..7b0e7636d 100644 --- a/app/src/main/java/io/legado/app/help/storage/Restore.kt +++ b/app/src/main/java/io/legado/app/help/storage/Restore.kt @@ -63,7 +63,6 @@ object Restore { PreferKey.shareLayout, PreferKey.hideStatusBar, PreferKey.hideNavigationBar, - PreferKey.bodyIndent, PreferKey.autoReadSpeed ) @@ -216,7 +215,6 @@ object Restore { shareLayout = App.INSTANCE.getPrefBoolean(PreferKey.shareLayout) hideStatusBar = App.INSTANCE.getPrefBoolean(PreferKey.hideStatusBar) hideNavigationBar = App.INSTANCE.getPrefBoolean(PreferKey.hideNavigationBar) - bodyIndentCount = App.INSTANCE.getPrefInt(PreferKey.bodyIndent, 2) autoReadSpeed = App.INSTANCE.getPrefInt(PreferKey.autoReadSpeed, 46) } ChapterProvider.upStyle() diff --git a/app/src/main/java/io/legado/app/model/analyzeRule/AnalyzeUrl.kt b/app/src/main/java/io/legado/app/model/analyzeRule/AnalyzeUrl.kt index f9f7ec11e..3680e5322 100644 --- a/app/src/main/java/io/legado/app/model/analyzeRule/AnalyzeUrl.kt +++ b/app/src/main/java/io/legado/app/model/analyzeRule/AnalyzeUrl.kt @@ -105,13 +105,11 @@ class AnalyzeUrl( when { ruleStr.startsWith("") -> { ruleStr = ruleStr.substring(4, ruleStr.lastIndexOf("<")) - ruleUrl = - evalJS(ruleStr, ruleUrl) as String + ruleUrl = evalJS(ruleStr, ruleUrl) as String } ruleStr.startsWith("@js", true) -> { ruleStr = ruleStr.substring(4) - ruleUrl = - evalJS(ruleStr, ruleUrl) as String + ruleUrl = evalJS(ruleStr, ruleUrl) as String } else -> ruleUrl = ruleStr.replace("@result", ruleUrl) } @@ -258,10 +256,7 @@ class AnalyzeUrl( /** * 执行JS */ - private fun evalJS( - jsStr: String, - result: Any? = null - ): Any { + private fun evalJS(jsStr: String, result: Any? = null): Any? { val bindings = SimpleBindings() bindings["java"] = this bindings["page"] = page diff --git a/app/src/main/java/io/legado/app/service/CheckSourceService.kt b/app/src/main/java/io/legado/app/service/CheckSourceService.kt index 3dde78066..b8349df45 100644 --- a/app/src/main/java/io/legado/app/service/CheckSourceService.kt +++ b/app/src/main/java/io/legado/app/service/CheckSourceService.kt @@ -78,6 +78,7 @@ class CheckSourceService : BaseService() { allIds.addAll(ids) processIndex = 0 threadCount = min(allIds.size, threadCount) + postEvent(EventBus.CHECK_INIT, allIds.size) updateNotification(0, getString(R.string.progress_show, "", 0, allIds.size)) for (i in 0 until threadCount) { check() diff --git a/app/src/main/java/io/legado/app/service/help/ReadAloud.kt b/app/src/main/java/io/legado/app/service/help/ReadAloud.kt index b25c270c3..01197d441 100644 --- a/app/src/main/java/io/legado/app/service/help/ReadAloud.kt +++ b/app/src/main/java/io/legado/app/service/help/ReadAloud.kt @@ -18,7 +18,6 @@ object ReadAloud { private fun getReadAloudClass(): Class<*> { val spId = App.INSTANCE.getPrefLong(PreferKey.speakEngine) httpTTS = App.db.httpTTSDao().get(spId) - stop(App.INSTANCE) return if (httpTTS != null) { HttpReadAloudService::class.java } else { @@ -27,6 +26,7 @@ object ReadAloud { } fun upReadAloudClass() { + stop(App.INSTANCE) aloudClass = getReadAloudClass() } diff --git a/app/src/main/java/io/legado/app/ui/book/read/config/ReadStyleDialog.kt b/app/src/main/java/io/legado/app/ui/book/read/config/ReadStyleDialog.kt index a791e6939..7a0915ddd 100644 --- a/app/src/main/java/io/legado/app/ui/book/read/config/ReadStyleDialog.kt +++ b/app/src/main/java/io/legado/app/ui/book/read/config/ReadStyleDialog.kt @@ -126,7 +126,7 @@ class ReadStyleDialog : BaseDialogFragment(), FontSelectDialog.CallBack { title = getString(R.string.text_indent), items = resources.getStringArray(R.array.indent).toList() ) { _, index -> - ReadBookConfig.bodyIndentCount = index + ReadBookConfig.paragraphIndent = " ".repeat(index) postEvent(EventBus.UP_CONFIG, true) } } diff --git a/app/src/main/java/io/legado/app/ui/book/read/page/provider/ChapterProvider.kt b/app/src/main/java/io/legado/app/ui/book/read/page/provider/ChapterProvider.kt index a8cf1482d..4c59a4202 100644 --- a/app/src/main/java/io/legado/app/ui/book/read/page/provider/ChapterProvider.kt +++ b/app/src/main/java/io/legado/app/ui/book/read/page/provider/ChapterProvider.kt @@ -272,7 +272,7 @@ object ChapterProvider { ) return } - val bodyIndent = ReadBookConfig.bodyIndent + val bodyIndent = ReadBookConfig.paragraphIndent val icw = StaticLayout.getDesiredWidth(bodyIndent, textPaint) / bodyIndent.length bodyIndent.toStringArray().forEach { val x1 = x + icw diff --git a/app/src/main/java/io/legado/app/ui/book/source/manage/BookSourceActivity.kt b/app/src/main/java/io/legado/app/ui/book/source/manage/BookSourceActivity.kt index 0dcfb2aa8..1f64f0791 100644 --- a/app/src/main/java/io/legado/app/ui/book/source/manage/BookSourceActivity.kt +++ b/app/src/main/java/io/legado/app/ui/book/source/manage/BookSourceActivity.kt @@ -299,15 +299,14 @@ class BookSourceActivity : VMBaseActivity(R.layout.activity CheckSource.keyword = it } } - if (AppConfig.backgroundVerification) { - CheckSource.start(this@BookSourceActivity, adapter.getSelection()) - } else { + if (!AppConfig.backgroundVerification) { val bundle = Bundle() bundle.putInt("maxProgress", adapter.getSelection().size) CheckSourceDialog().apply { arguments = bundle }.show(supportFragmentManager, "CheckDialog") } + CheckSource.start(this@BookSourceActivity, adapter.getSelection()) } noButton { } }.show().applyTint() diff --git a/app/src/main/java/io/legado/app/ui/widget/image/photo/RotateGestureDetector.kt b/app/src/main/java/io/legado/app/ui/widget/image/photo/RotateGestureDetector.kt index 4bc309b56..77c8c232d 100644 --- a/app/src/main/java/io/legado/app/ui/widget/image/photo/RotateGestureDetector.kt +++ b/app/src/main/java/io/legado/app/ui/widget/image/photo/RotateGestureDetector.kt @@ -21,10 +21,10 @@ class RotateGestureDetector(private val mListener: OnRotateListener) { when (event.actionMasked) { MotionEvent.ACTION_POINTER_DOWN, MotionEvent.ACTION_POINTER_UP -> { - if (event.pointerCount == 2) mPrevSlope = caculateSlope(event) + if (event.pointerCount == 2) mPrevSlope = calculateSlope(event) } MotionEvent.ACTION_MOVE -> if (event.pointerCount > 1) { - mCurrSlope = caculateSlope(event) + mCurrSlope = calculateSlope(event) val currDegrees = Math.toDegrees(atan(mCurrSlope.toDouble())); val prevDegrees = Math.toDegrees(atan(mPrevSlope.toDouble())); @@ -32,7 +32,7 @@ class RotateGestureDetector(private val mListener: OnRotateListener) { val deltaSlope = currDegrees - prevDegrees; if (abs(deltaSlope) <= MAX_DEGREES_STEP) { - mListener?.onRotate(deltaSlope.toFloat(), (x2 + x1) / 2, (y2 + y1) / 2); + mListener.onRotate(deltaSlope.toFloat(), (x2 + x1) / 2, (y2 + y1) / 2); } mPrevSlope = mCurrSlope; } @@ -40,7 +40,7 @@ class RotateGestureDetector(private val mListener: OnRotateListener) { } - private fun caculateSlope(event: MotionEvent): Float { + private fun calculateSlope(event: MotionEvent): Float { val x1 = event.getX(0); val y1 = event.getY(0); val x2 = event.getX(1); diff --git a/app/src/main/res/values/pref_key_value.xml b/app/src/main/res/values/pref_key_value.xml index bec9d2af4..44522ad70 100644 --- a/app/src/main/res/values/pref_key_value.xml +++ b/app/src/main/res/values/pref_key_value.xml @@ -21,5 +21,5 @@ https://gedoor.github.io/MyBookshelf/ https://github.com/gedoor/legado/releases/latest https://api.github.com/repos/gedoor/legado/releases/latest - https://t.me/joinchat/S_beh0a2BD-g01HCHUZOfQ + https://t.me/joinchat/S_beh0a2BD_pGiHjrmGixA diff --git a/build.gradle b/build.gradle index 8846d3f5a..5029682c9 100644 --- a/build.gradle +++ b/build.gradle @@ -12,7 +12,7 @@ buildscript { maven { url 'https://plugins.gradle.org/m2/' } } dependencies { - classpath 'com.android.tools.build:gradle:4.0.1' + classpath 'com.android.tools.build:gradle:4.0.2' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath 'de.timfreiheit.resourceplaceholders:placeholders:0.3' classpath 'com.google.gms:google-services:4.3.3'