commit 优化代码

pull/57/head
ca1e 6 years ago
parent db800b9884
commit 5800460169
  1. 1
      app/src/main/java/io/legado/app/constant/Bus.kt
  2. 2
      app/src/main/java/io/legado/app/ui/book/read/config/ReadStyleDialog.kt
  3. 5
      app/src/main/java/io/legado/app/ui/config/ConfigFragment.kt
  4. 21
      app/src/main/java/io/legado/app/ui/main/MainActivity.kt
  5. 5
      app/src/main/java/io/legado/app/ui/widget/page/PageView.kt
  6. 3
      app/src/main/java/io/legado/app/utils/ContextExtensions.kt
  7. 1
      app/src/main/res/values/strings.xml

@ -17,4 +17,5 @@ object Bus {
const val AUDIO_PROGRESS = "audioProgress"
const val AUDIO_SIZE = "audioSize"
const val AUDIO_SPEED = "audioSpeed"
const val SHOW_RSS = "showRss"
}

@ -182,7 +182,7 @@ class ReadStyleDialog : DialogFragment() {
requireContext().putPrefInt("pageAnim", i)
val activity = activity
if (activity is ReadBookActivity) {
activity.page_view.upPageAnim()
activity.page_view.upPageAnim(i)
}
break
}

@ -10,6 +10,7 @@ import androidx.preference.Preference
import androidx.preference.PreferenceFragmentCompat
import io.legado.app.App
import io.legado.app.R
import io.legado.app.constant.Bus
import io.legado.app.constant.PreferKey
import io.legado.app.help.BookHelp
import io.legado.app.help.FileHelp
@ -65,7 +66,7 @@ class ConfigFragment : PreferenceFragmentCompat(),
FileHelp.deleteFile(it)
FileHelp.getFolder(it)
}
toast("成功清理缓存")
toast(R.string.clear_cache_success)
}
}
return super.onPreferenceTreeClick(preference)
@ -81,7 +82,7 @@ class ConfigFragment : PreferenceFragmentCompat(),
PreferKey.processText -> sharedPreferences?.let {
setProcessTextEnable(it.getBoolean("process_text", true))
}
PreferKey.showRss -> postEvent(PreferKey.showRss, PreferKey.showRss)
PreferKey.showRss -> postEvent(Bus.SHOW_RSS, "unused")
}
}

@ -13,7 +13,6 @@ import io.legado.app.BuildConfig
import io.legado.app.R
import io.legado.app.base.VMBaseActivity
import io.legado.app.constant.Bus
import io.legado.app.constant.PreferKey
import io.legado.app.help.ActivityHelp
import io.legado.app.help.storage.Backup
import io.legado.app.lib.theme.ATH
@ -45,7 +44,7 @@ class MainActivity : VMBaseActivity<MainViewModel>(R.layout.activity_main),
view_pager_main.adapter = TabFragmentPageAdapter(supportFragmentManager)
view_pager_main.addOnPageChangeListener(this)
bottom_navigation_view.setOnNavigationItemSelectedListener(this)
bottom_navigation_view.menu.findItem(R.id.menu_rss).isVisible = showRss()
bottom_navigation_view.menu.findItem(R.id.menu_rss).isVisible = isShowRSS
upVersion()
}
@ -66,10 +65,10 @@ class MainActivity : VMBaseActivity<MainViewModel>(R.layout.activity_main),
fragmentList.add(RssFragment())
fragmentList.add(MyFragment())
}
if (showRss() && fragmentList.size < 4) {
if (isShowRSS && fragmentList.size < 4) {
fragmentList.add(2, RssFragment())
}
if (!showRss() && fragmentList.size == 4) {
if (!isShowRSS && fragmentList.size == 4) {
fragmentList.removeAt(2)
}
}
@ -87,7 +86,7 @@ class MainActivity : VMBaseActivity<MainViewModel>(R.layout.activity_main),
pagePosition = position
when (position) {
0, 1, 3 -> bottom_navigation_view.menu.getItem(position).isChecked = true
2 -> if (showRss()) {
2 -> if (isShowRSS) {
bottom_navigation_view.menu.getItem(position).isChecked = true
} else {
bottom_navigation_view.menu.getItem(3).isChecked = true
@ -133,20 +132,16 @@ class MainActivity : VMBaseActivity<MainViewModel>(R.layout.activity_main),
observeEvent<String>(Bus.RECREATE) {
recreate()
}
observeEvent<String>(PreferKey.showRss) {
bottom_navigation_view.menu.findItem(R.id.menu_rss).isVisible = showRss()
observeEvent<String>(Bus.SHOW_RSS) {
bottom_navigation_view.menu.findItem(R.id.menu_rss).isVisible = isShowRSS
upFragmentList()
view_pager_main.adapter?.notifyDataSetChanged()
if (showRss()) {
if (isShowRSS) {
view_pager_main.setCurrentItem(3, false)
}
}
}
private fun showRss(): Boolean {
return getPrefBoolean("showRss", true)
}
private inner class TabFragmentPageAdapter internal constructor(fm: FragmentManager) :
FragmentStatePagerAdapter(fm, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT) {
@ -159,7 +154,7 @@ class MainActivity : VMBaseActivity<MainViewModel>(R.layout.activity_main),
}
override fun getCount(): Int {
return if (showRss()) 4 else 3
return if (isShowRSS) 4 else 3
}
}

@ -11,7 +11,6 @@ import io.legado.app.service.help.ReadBook
import io.legado.app.ui.widget.page.curl.CurlView
import io.legado.app.ui.widget.page.delegate.*
import io.legado.app.utils.activity
import io.legado.app.utils.getPrefInt
class PageView(context: Context, attrs: AttributeSet) :
FrameLayout(context, attrs),
@ -89,13 +88,13 @@ class PageView(context: Context, attrs: AttributeSet) :
}
}
fun upPageAnim() {
fun upPageAnim(pageAnim: Int = 0) {
if (curlView != null) {
removeView(curlView)
curlView = null
}
pageDelegate = null
pageDelegate = when (context.getPrefInt("pageAnim")) {
pageDelegate = when (pageAnim) {
0 -> CoverPageDelegate(this)
1 -> SlidePageDelegate(this)
2 -> SimulationPageDelegate(this)

@ -65,3 +65,6 @@ val Context.isNightTheme: Boolean
val Context.isTransparentStatusBar: Boolean
get() = getPrefBoolean("transparentStatusBar", true)
val Context.isShowRSS: Boolean
get() = getPrefBoolean("showRss", true)

@ -160,6 +160,7 @@
<string name="author_show">作者:%s</string>
<string name="aloud_stop">朗读停止</string>
<string name="clear_cache">清除缓存</string>
<string name="clear_cache_success">成功清理缓存</string>
<string name="action_save">保存</string>
<string name="edit_source">编辑源</string>
<string name="edit_book_source">编辑书源</string>

Loading…
Cancel
Save