mirror of
https://github.com/gedoor/legado.git
synced 2024-07-19 01:17:25 +08:00
Compare commits
1 Commits
6c9a8a74bd
...
ce60219cf3
Author | SHA1 | Date | |
---|---|---|---|
|
ce60219cf3 |
Binary file not shown.
Binary file not shown.
@ -1 +1 @@
|
||||
{"x86":"2aad90238c23fd16cd4f00932cc8bbfc","arm64-v8a":"44ea67de5cfb2fb4e9491efce9496e2f","armeabi-v7a":"52826628a666ad0f4b14ef602af85341","x86_64":"146de0053930fdabdb481fd9462fd1a7","version":"125.0.6422.113"}
|
||||
{"x86":"7bb90297b32867b4663edba1521c304a","arm64-v8a":"6281481485abdb423b9d1fcee5978157","armeabi-v7a":"3fa31a4b27e69408c6438eb24f53634b","x86_64":"5fbb8757a52a113ea8a8771b39fd7a1b","version":"125.0.6422.53"}
|
@ -1,7 +1,7 @@
|
||||
[
|
||||
{
|
||||
"uploadUrl": "https://sy.mgz6.com/shuyuan,{\"method\":\"POST\",\"body\": {\"file\": \"fileRequest\"},\"type\": \"multipart/form-data\"}",
|
||||
"downloadUrlRule": "$.data@js:if (result == '') \n '' \n else \n 'https://shuyuan.mgz6.com/shuyuan/' + result",
|
||||
"uploadUrl": "https://sy.mgz6.cc/shuyuan,{\"method\":\"POST\",\"body\": {\"file\": \"fileRequest\"},\"type\": \"multipart/form-data\"}",
|
||||
"downloadUrlRule": "$.data@js:if (result == '') \n '' \n else \n 'https://shuyuan.mgz6.cc/shuyuan/' + result",
|
||||
"summary": "喵公子网盘①(有效期7天)",
|
||||
"compress": false
|
||||
},
|
||||
|
@ -13,7 +13,7 @@
|
||||
* 漫画源看书显示乱码,**阅读与其他软件的源并不通用**,请导入阅读的支持的漫画源!
|
||||
|
||||
**2024/02/27**
|
||||
* 更新cronet: 125.0.6422.113
|
||||
* 更新cronet: 125.0.6422.53
|
||||
* 更新cronet: 123.0.6312.80
|
||||
* 更新cronet: 123.0.6312.40
|
||||
|
||||
|
@ -179,14 +179,6 @@ class EpubFile(var book: Book) {
|
||||
elements.select("img[src=\"cover.jpeg\"]").forEachIndexed { i, it ->
|
||||
if (i > 0) it.remove()
|
||||
}
|
||||
elements.select("img").forEach {
|
||||
if (it.attributesSize() <= 1) {
|
||||
return@forEach
|
||||
}
|
||||
val src = it.attr("src")
|
||||
it.clearAttributes()
|
||||
it.attr("src", src)
|
||||
}
|
||||
val tag = Book.rubyTag
|
||||
if (book.getDelTag(tag)) {
|
||||
elements.select("rp, rt").remove()
|
||||
|
@ -303,7 +303,9 @@ class ReadBookActivity : BaseReadBookActivity(),
|
||||
if (bookChanged) {
|
||||
bookChanged = false
|
||||
ReadBook.callBack = this
|
||||
viewModel.initData(intent)
|
||||
viewModel.initData(intent) {
|
||||
upMenu()
|
||||
}
|
||||
} else {
|
||||
//web端阅读时,app处于阅读界面,本地记录会覆盖web保存的进度,在此处恢复
|
||||
ReadBook.webBookProgress?.let {
|
||||
|
@ -159,7 +159,6 @@ class MoreConfigDialog : DialogFragment() {
|
||||
}
|
||||
|
||||
PreferKey.optimizeRender -> {
|
||||
ChapterProvider.upStyle()
|
||||
ReadBook.callBack?.upPageAnim(true)
|
||||
ReadBook.loadContent(false)
|
||||
}
|
||||
|
@ -200,7 +200,7 @@ class ReadStyleDialog : BaseDialogFragment(R.layout.dialog_read_book_style),
|
||||
override fun selectFont(path: String) {
|
||||
if (path != ReadBookConfig.textFont) {
|
||||
ReadBookConfig.textFont = path
|
||||
postEvent(EventBus.UP_CONFIG, arrayListOf(2, 5))
|
||||
postEvent(EventBus.UP_CONFIG, arrayListOf(8, 5))
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -200,7 +200,6 @@ class ReadView(context: Context, attrs: AttributeSet) :
|
||||
}
|
||||
|
||||
MotionEvent.ACTION_MOVE -> {
|
||||
if (!pressDown) return true
|
||||
val absX = abs(startX - event.x)
|
||||
val absY = abs(startY - event.y)
|
||||
if (!isMove) {
|
||||
|
@ -881,9 +881,7 @@ object ChapterProvider {
|
||||
tPaint.typeface = titleFont
|
||||
tPaint.textSize = with(ReadBookConfig) { textSize + titleSize }.toFloat().spToPx()
|
||||
tPaint.isAntiAlias = true
|
||||
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.Q && AppConfig.optimizeRender) {
|
||||
tPaint.isLinearText = true
|
||||
}
|
||||
//正文
|
||||
val cPaint = TextPaint()
|
||||
cPaint.color = ReadBookConfig.textColor
|
||||
@ -891,9 +889,7 @@ object ChapterProvider {
|
||||
cPaint.typeface = textFont
|
||||
cPaint.textSize = ReadBookConfig.textSize.toFloat().spToPx()
|
||||
cPaint.isAntiAlias = true
|
||||
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.Q && AppConfig.optimizeRender) {
|
||||
cPaint.isLinearText = true
|
||||
}
|
||||
return Pair(tPaint, cPaint)
|
||||
}
|
||||
|
||||
|
@ -14,8 +14,6 @@ import androidx.appcompat.widget.PopupMenu
|
||||
import androidx.appcompat.widget.SearchView
|
||||
import androidx.core.os.bundleOf
|
||||
import androidx.lifecycle.Lifecycle
|
||||
import androidx.lifecycle.LifecycleOwner
|
||||
import androidx.lifecycle.LifecycleRegistry
|
||||
import androidx.lifecycle.flowWithLifecycle
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import androidx.lifecycle.repeatOnLifecycle
|
||||
@ -52,7 +50,6 @@ import io.legado.app.utils.ACache
|
||||
import io.legado.app.utils.applyTint
|
||||
import io.legado.app.utils.cnCompare
|
||||
import io.legado.app.utils.dpToPx
|
||||
import io.legado.app.utils.flowWithLifecycleFirst
|
||||
import io.legado.app.utils.hideSoftInput
|
||||
import io.legado.app.utils.isAbsUrl
|
||||
import io.legado.app.utils.launch
|
||||
@ -71,7 +68,6 @@ import kotlinx.coroutines.Job
|
||||
import kotlinx.coroutines.delay
|
||||
import kotlinx.coroutines.flow.catch
|
||||
import kotlinx.coroutines.flow.conflate
|
||||
import kotlinx.coroutines.flow.distinctUntilChanged
|
||||
import kotlinx.coroutines.flow.flowOn
|
||||
import kotlinx.coroutines.flow.map
|
||||
import kotlinx.coroutines.isActive
|
||||
@ -102,6 +98,7 @@ class BookSourceActivity : VMBaseActivity<ActivityBookSourceBinding, BookSourceV
|
||||
override var sortAscending = true
|
||||
private set
|
||||
private var snackBar: Snackbar? = null
|
||||
private var isPaused = false
|
||||
private val qrResult = registerForActivityResult(QrCodeResult()) {
|
||||
it ?: return@registerForActivityResult
|
||||
showDialogFragment(ImportBookSourceDialog(it))
|
||||
@ -128,19 +125,6 @@ class BookSourceActivity : VMBaseActivity<ActivityBookSourceBinding, BookSourceV
|
||||
}
|
||||
}
|
||||
}
|
||||
private val groupMenuLifecycleOwner = object : LifecycleOwner {
|
||||
private val registry = LifecycleRegistry(this)
|
||||
override val lifecycle: Lifecycle get() = registry
|
||||
|
||||
fun onMenuOpened() {
|
||||
registry.handleLifecycleEvent(Lifecycle.Event.ON_START)
|
||||
}
|
||||
|
||||
fun onMenuClosed() {
|
||||
registry.handleLifecycleEvent(Lifecycle.Event.ON_STOP)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
override fun onActivityCreated(savedInstanceState: Bundle?) {
|
||||
initRecyclerView()
|
||||
@ -388,12 +372,7 @@ class BookSourceActivity : VMBaseActivity<ActivityBookSourceBinding, BookSourceV
|
||||
|
||||
private fun initLiveDataGroup() {
|
||||
lifecycleScope.launch {
|
||||
appDb.bookSourceDao.flowGroups()
|
||||
.flowWithLifecycle(lifecycle)
|
||||
.flowWithLifecycleFirst(groupMenuLifecycleOwner.lifecycle)
|
||||
.conflate()
|
||||
.distinctUntilChanged()
|
||||
.collect {
|
||||
appDb.bookSourceDao.flowGroups().conflate().collect {
|
||||
groups.clear()
|
||||
groups.addAll(it)
|
||||
upGroupMenu()
|
||||
@ -421,20 +400,6 @@ class BookSourceActivity : VMBaseActivity<ActivityBookSourceBinding, BookSourceV
|
||||
}
|
||||
}
|
||||
|
||||
override fun onMenuOpened(featureId: Int, menu: Menu): Boolean {
|
||||
if (menu === groupMenu) {
|
||||
groupMenuLifecycleOwner.onMenuOpened()
|
||||
}
|
||||
return super.onMenuOpened(featureId, menu)
|
||||
}
|
||||
|
||||
override fun onPanelClosed(featureId: Int, menu: Menu) {
|
||||
super.onPanelClosed(featureId, menu)
|
||||
if (menu === groupMenu) {
|
||||
groupMenuLifecycleOwner.onMenuClosed()
|
||||
}
|
||||
}
|
||||
|
||||
private fun initSelectActionBar() {
|
||||
binding.selectActionBar.setMainActionText(R.string.delete)
|
||||
binding.selectActionBar.inflateMenu(R.menu.book_source_sel)
|
||||
@ -672,6 +637,16 @@ class BookSourceActivity : VMBaseActivity<ActivityBookSourceBinding, BookSourceV
|
||||
}
|
||||
}
|
||||
|
||||
override fun onPause() {
|
||||
super.onPause()
|
||||
isPaused = true
|
||||
}
|
||||
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
isPaused = false
|
||||
}
|
||||
|
||||
override fun upCountView() {
|
||||
binding.selectActionBar
|
||||
.upCountView(adapter.selection.size, adapter.itemCount)
|
||||
|
@ -42,7 +42,7 @@ android.defaults.buildfeatures.shaders=false
|
||||
# and none from the library's dependencies, thereby reducing the size of the R class for that library.
|
||||
android.nonTransitiveRClass=true
|
||||
# https://chromiumdash.appspot.com/releases?platform=Android
|
||||
CronetVersion=125.0.6422.113
|
||||
CronetVersion=125.0.6422.53
|
||||
CronetMainVersion=125.0.0.0
|
||||
android.injected.testOnly=false
|
||||
android.nonFinalResIds=true
|
Loading…
Reference in New Issue
Block a user