diff options
Diffstat (limited to 'about/src/main/kotlin/ca/allanwang/kau/about/AboutActivityBase.kt')
-rw-r--r-- | about/src/main/kotlin/ca/allanwang/kau/about/AboutActivityBase.kt | 40 |
1 files changed, 28 insertions, 12 deletions
diff --git a/about/src/main/kotlin/ca/allanwang/kau/about/AboutActivityBase.kt b/about/src/main/kotlin/ca/allanwang/kau/about/AboutActivityBase.kt index 79077c5..7ba7811 100644 --- a/about/src/main/kotlin/ca/allanwang/kau/about/AboutActivityBase.kt +++ b/about/src/main/kotlin/ca/allanwang/kau/about/AboutActivityBase.kt @@ -33,7 +33,7 @@ import ca.allanwang.kau.utils.INVALID_ID import ca.allanwang.kau.utils.dimenPixelSize import com.mikepenz.aboutlibraries.Libs import com.mikepenz.aboutlibraries.entity.Library -import com.mikepenz.fastadapter.IItem +import com.mikepenz.fastadapter.GenericItem import kotlinx.android.synthetic.main.kau_activity_about.* /** @@ -47,7 +47,10 @@ import kotlinx.android.synthetic.main.kau_activity_about.* * Note that for the auto detection to work, the R fields must be excluded from Proguard * Manual lib listings and other extra modifications can be done so by overriding the open functions */ -abstract class AboutActivityBase(val rClass: Class<*>?, private val configBuilder: Configs.() -> Unit = {}) : +abstract class AboutActivityBase( + val rClass: Class<*>?, + private val configBuilder: Configs.() -> Unit = {} +) : KauBaseActivity(), ViewPager.OnPageChangeListener { val currentPage: Int @@ -69,7 +72,9 @@ abstract class AboutActivityBase(val rClass: Class<*>?, private val configBuilde val panels: List<AboutPanelContract> by lazy { val defaultPanels = mutableListOf(AboutPanelMain(), AboutPanelLibs()) - if (configs.faqXmlRes != INVALID_ID) defaultPanels.add(AboutPanelFaqs()) + if (configs.faqXmlRes != INVALID_ID) { + defaultPanels.add(AboutPanelFaqs()) + } defaultPanels } @@ -77,8 +82,10 @@ abstract class AboutActivityBase(val rClass: Class<*>?, private val configBuilde super.onCreate(savedInstanceState) setContentView(R.layout.kau_activity_about) pageStatus = IntArray(panels.size) - pageStatus[0] = 2 //the first page is instantly visible - if (configs.textColor != null) about_indicator.setColour(configs.textColor!!) + pageStatus[0] = 2 // the first page is instantly visible + if (configs.textColor != null) { + about_indicator.setColour(configs.textColor!!) + } with(about_pager) { adapter = AboutPagerAdapter() pageMargin = dimenPixelSize(R.dimen.kau_spacing_normal) @@ -86,7 +93,8 @@ abstract class AboutActivityBase(val rClass: Class<*>?, private val configBuilde addOnPageChangeListener(this@AboutActivityBase) } about_indicator.setViewPager(about_pager) - about_draggable_frame.addListener(object : ElasticDragDismissFrameLayout.SystemChromeFader(this) { + about_draggable_frame.addListener(object : + ElasticDragDismissFrameLayout.SystemChromeFader(this) { override fun onDragDismissed() { window.returnTransition = TransitionInflater.from(this@AboutActivityBase) .inflateTransition(if (about_draggable_frame.translationY > 0) R.transition.kau_exit_slide_bottom else R.transition.kau_exit_slide_top) @@ -107,14 +115,14 @@ abstract class AboutActivityBase(val rClass: Class<*>?, private val configBuilde var libPageTitle: String? = null set(value) { field = value - libPageTitleRes = INVALID_ID //reset res so we don't use our default + libPageTitleRes = INVALID_ID // reset res so we don't use our default } var faqXmlRes: Int = INVALID_ID var faqPageTitleRes: Int = R.string.kau_about_faq_intro var faqPageTitle: String? = null set(value) { field = value - faqPageTitleRes = INVALID_ID //reset res so we don't use our default + faqPageTitleRes = INVALID_ID // reset res so we don't use our default } /** * Whether new lines should be included @@ -128,7 +136,7 @@ abstract class AboutActivityBase(val rClass: Class<*>?, private val configBuilde * Open hook called just before the main page view is returned * Feel free to add your own items to the adapter in here */ - open fun postInflateMainPage(adapter: FastItemThemedAdapter<IItem<*, *>>) { + open fun postInflateMainPage(adapter: FastItemThemedAdapter<GenericItem>) { } /** @@ -138,7 +146,14 @@ abstract class AboutActivityBase(val rClass: Class<*>?, private val configBuilde * This is fetched asynchronously and you may override it to customize the list */ open fun getLibraries(libs: Libs): List<Library> = - libs.prepareLibraries(this, null, null, true, true, true)!! + libs.prepareLibraries( + this, + null, + null, + true, + true, + true + ) /* * ------------------------------------------------------------------- @@ -178,7 +193,8 @@ abstract class AboutActivityBase(val rClass: Class<*>?, private val configBuilde override fun onPageScrollStateChanged(state: Int) = Unit - override fun onPageScrolled(position: Int, positionOffset: Float, positionOffsetPixels: Int) = Unit + override fun onPageScrolled(position: Int, positionOffset: Float, positionOffsetPixels: Int) = + Unit override fun onPageSelected(position: Int) { if (pageStatus[position] == 0) pageStatus[position] = 1 // mark as seen if previously null @@ -186,7 +202,7 @@ abstract class AboutActivityBase(val rClass: Class<*>?, private val configBuilde } override fun onDestroy() { - AnimHolder.decelerateInterpolator.invalidate() //clear the reference to the interpolators we've used + AnimHolder.decelerateInterpolator.invalidate() // clear the reference to the interpolators we've used super.onDestroy() } } |