pull/51/head
kunfei 5 years ago
parent 2c9bae929b
commit 97e17cb696
  1. 33
      app/src/main/java/io/legado/app/ui/main/MainActivity.kt
  2. 5
      app/src/main/res/xml/pref_config.xml

@ -24,10 +24,7 @@ import io.legado.app.ui.main.explore.ExploreFragment
import io.legado.app.ui.main.my.MyFragment
import io.legado.app.ui.main.rss.RssFragment
import io.legado.app.ui.widget.page.ChapterProvider
import io.legado.app.utils.getPrefInt
import io.legado.app.utils.getViewModel
import io.legado.app.utils.observeEvent
import io.legado.app.utils.putPrefInt
import io.legado.app.utils.*
import kotlinx.android.synthetic.main.activity_main.*
import kotlinx.android.synthetic.main.view_book_page.*
@ -48,6 +45,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)
upRssShow()
upVersion()
}
@ -61,6 +59,11 @@ class MainActivity : VMBaseActivity<MainViewModel>(R.layout.activity_main),
return false
}
private fun upRssShow() {
bottom_navigation_view.menu.findItem(R.id.menu_rss).isVisible = showRss()
view_pager_main.adapter?.notifyDataSetChanged()
}
private fun upVersion() {
if (getPrefInt("versionCode") != App.INSTANCE.versionCode) {
putPrefInt("versionCode", App.INSTANCE.versionCode)
@ -72,7 +75,15 @@ class MainActivity : VMBaseActivity<MainViewModel>(R.layout.activity_main),
override fun onPageSelected(position: Int) {
pagePosition = position
when (position) {
0, 1 -> bottom_navigation_view.menu.getItem(position).isChecked = true
2 -> if (showRss()) {
bottom_navigation_view.menu.getItem(position).isChecked = true
} else {
bottom_navigation_view.menu.getItem(3).isChecked = true
}
else -> MyFragment()
}
}
override fun onKeyUp(keyCode: Int, event: KeyEvent?): Boolean {
@ -118,20 +129,28 @@ class MainActivity : VMBaseActivity<MainViewModel>(R.layout.activity_main),
}
}
private class TabFragmentPageAdapter internal constructor(fm: FragmentManager) :
private fun showRss(): Boolean {
return getPrefBoolean("showRss", true)
}
private inner class TabFragmentPageAdapter internal constructor(fm: FragmentManager) :
FragmentPagerAdapter(fm, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT) {
override fun getItem(position: Int): Fragment {
return when (position) {
0 -> BookshelfFragment()
1 -> ExploreFragment()
2 -> RssFragment()
2 -> if (showRss()) {
RssFragment()
} else {
MyFragment()
}
else -> MyFragment()
}
}
override fun getCount(): Int {
return 4
return if (showRss()) 4 else 3
}
}
}

@ -16,6 +16,11 @@
android:title="@string/pt_default_read"
app:iconSpaceReserved="false" />
<io.legado.app.lib.theme.prefs.ATESwitchPreference
android:defaultValue="true"
android:key="showRss"
android:title="显示订阅"
app:iconSpaceReserved="false" />
<io.legado.app.lib.theme.prefs.ATESwitchPreference
android:defaultValue="true"

Loading…
Cancel
Save