This commit is contained in:
Horis
2023-10-30 23:23:17 +08:00
parent 92497b7eb2
commit 4f6ab16a4f
4 changed files with 25 additions and 3 deletions
@@ -74,7 +74,11 @@ class TocActivity : VMBaseActivity<ActivityChapterListBinding, TocViewModel>(),
} }
} }
} }
return super.dispatchTouchEvent(ev) return try {
super.dispatchTouchEvent(ev)
} catch (e: IllegalArgumentException) {
false
}
} }
override fun onCompatCreateOptionsMenu(menu: Menu): Boolean { override fun onCompatCreateOptionsMenu(menu: Menu): Boolean {
@@ -124,7 +124,11 @@ class MainActivity : VMBaseActivity<ActivityMainBinding, MainViewModel>(),
} }
} }
} }
return super.dispatchTouchEvent(ev) return try {
super.dispatchTouchEvent(ev)
} catch (e: IllegalArgumentException) {
false
}
} }
override fun onPostCreate(savedInstanceState: Bundle?) { override fun onPostCreate(savedInstanceState: Bundle?) {
@@ -166,7 +166,9 @@ class BooksFragment() : BaseFragment(R.layout.fragment_books),
AppLog.put("书架更新出错", it) AppLog.put("书架更新出错", it)
}.conflate().collect { list -> }.conflate().collect { list ->
binding.tvEmptyMsg.isGone = list.isNotEmpty() binding.tvEmptyMsg.isGone = list.isNotEmpty()
binding.refreshLayout.isEnabled = list.isNotEmpty() binding.refreshLayout.run {
isEnabled = isEnabled && list.isNotEmpty()
}
booksAdapter.setItems(list) booksAdapter.setItems(list)
recoverPositionState() recoverPositionState()
delay(100) delay(100)
@@ -5,6 +5,7 @@ package io.legado.app.ui.rss.article
import android.os.Bundle import android.os.Bundle
import android.view.Menu import android.view.Menu
import android.view.MenuItem import android.view.MenuItem
import android.view.MotionEvent
import android.view.ViewGroup import android.view.ViewGroup
import androidx.activity.viewModels import androidx.activity.viewModels
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
@@ -54,6 +55,14 @@ class RssSortActivity : VMBaseActivity<ActivityRssArtivlesBinding, RssSortViewMo
} }
} }
override fun dispatchTouchEvent(ev: MotionEvent?): Boolean {
return try {
super.dispatchTouchEvent(ev)
} catch (e: IllegalArgumentException) {
false
}
}
override fun onCompatCreateOptionsMenu(menu: Menu): Boolean { override fun onCompatCreateOptionsMenu(menu: Menu): Boolean {
menuInflater.inflate(R.menu.rss_articles, menu) menuInflater.inflate(R.menu.rss_articles, menu)
return super.onCompatCreateOptionsMenu(menu) return super.onCompatCreateOptionsMenu(menu)
@@ -71,6 +80,7 @@ class RssSortActivity : VMBaseActivity<ActivityRssArtivlesBinding, RssSortViewMo
putExtra("type", "rssSource") putExtra("type", "rssSource")
putExtra("key", viewModel.rssSource?.sourceUrl) putExtra("key", viewModel.rssSource?.sourceUrl)
} }
R.id.menu_refresh_sort -> viewModel.clearSortCache { upFragments() } R.id.menu_refresh_sort -> viewModel.clearSortCache { upFragments() }
R.id.menu_set_source_variable -> setSourceVariable() R.id.menu_set_source_variable -> setSourceVariable()
R.id.menu_edit_source -> viewModel.rssSource?.sourceUrl?.let { R.id.menu_edit_source -> viewModel.rssSource?.sourceUrl?.let {
@@ -78,11 +88,13 @@ class RssSortActivity : VMBaseActivity<ActivityRssArtivlesBinding, RssSortViewMo
putExtra("sourceUrl", it) putExtra("sourceUrl", it)
} }
} }
R.id.menu_clear -> { R.id.menu_clear -> {
viewModel.url?.let { viewModel.url?.let {
viewModel.clearArticles() viewModel.clearArticles()
} }
} }
R.id.menu_switch_layout -> { R.id.menu_switch_layout -> {
viewModel.switchLayout() viewModel.switchLayout()
upFragments() upFragments()