TachiyomiSY-Plus/app/src/main/java/eu/kanade/tachiyomi/widget/TabbedBottomSheetDialog.kt
arkon 8df978a91c Clean up global chapter settings code
(cherry picked from commit da5f10a2f1ac4f65c740c9838558456c43855678)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourcePresenter.kt
2020-09-15 14:52:31 -04:00

41 lines
1.3 KiB
Kotlin

package eu.kanade.tachiyomi.widget
import android.view.View
import android.view.ViewGroup
import com.bluelinelabs.conductor.Router
import com.google.android.material.bottomsheet.BottomSheetDialog
import eu.kanade.tachiyomi.databinding.CommonTabbedSheetBinding
abstract class TabbedBottomSheetDialog(private val router: Router) : BottomSheetDialog(router.activity!!) {
val binding: CommonTabbedSheetBinding = CommonTabbedSheetBinding.inflate(router.activity!!.layoutInflater)
init {
val adapter = LibrarySettingsSheetAdapter()
binding.pager.offscreenPageLimit = 2
binding.pager.adapter = adapter
binding.tabs.setupWithViewPager(binding.pager)
setContentView(binding.root)
}
abstract fun getTabViews(): List<View>
abstract fun getTabTitles(): List<Int>
private inner class LibrarySettingsSheetAdapter : ViewPagerAdapter() {
override fun createView(container: ViewGroup, position: Int): View {
return getTabViews()[position]
}
override fun getCount(): Int {
return getTabViews().size
}
override fun getPageTitle(position: Int): CharSequence {
return router.activity!!.resources!!.getString(getTabTitles()[position])
}
}
}