78 lines
2.4 KiB
Kotlin
78 lines
2.4 KiB
Kotlin
|
package org.mosad.teapod.activity.onboarding
|
||
|
|
||
|
import android.content.Intent
|
||
|
import android.os.Bundle
|
||
|
import android.view.View
|
||
|
import androidx.appcompat.app.AppCompatActivity
|
||
|
import androidx.fragment.app.Fragment
|
||
|
import androidx.fragment.app.FragmentActivity
|
||
|
import androidx.viewpager2.adapter.FragmentStateAdapter
|
||
|
import com.google.android.material.tabs.TabLayoutMediator
|
||
|
import org.mosad.teapod.activity.main.MainActivity
|
||
|
import org.mosad.teapod.databinding.ActivityOnboardingBinding
|
||
|
|
||
|
class OnboardingActivity : AppCompatActivity() {
|
||
|
|
||
|
private lateinit var binding: ActivityOnboardingBinding
|
||
|
private lateinit var pagerAdapter: FragmentStateAdapter
|
||
|
|
||
|
private val fragments = arrayOf(OnLoginFragment())
|
||
|
|
||
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||
|
super.onCreate(savedInstanceState)
|
||
|
|
||
|
binding = ActivityOnboardingBinding.inflate(layoutInflater)
|
||
|
setContentView(binding.root)
|
||
|
|
||
|
pagerAdapter = ScreenSlidePagerAdapter(this)
|
||
|
binding.viewPager.adapter = pagerAdapter
|
||
|
TabLayoutMediator(binding.tabLayout, binding.viewPager) { tab, position ->
|
||
|
|
||
|
}.attach()
|
||
|
|
||
|
// we don't use the skip button, instead we use the start button to skip the last fragment
|
||
|
binding.buttonSkip.visibility = View.GONE
|
||
|
|
||
|
// hide tab layout if only one tab is displayed
|
||
|
if (fragments.size <= 1) {
|
||
|
binding.tabLayout.visibility = View.GONE
|
||
|
}
|
||
|
}
|
||
|
|
||
|
override fun onBackPressed() {
|
||
|
if (binding.viewPager.currentItem == 0) {
|
||
|
super.onBackPressed()
|
||
|
} else {
|
||
|
binding.viewPager.currentItem = binding.viewPager.currentItem - 1
|
||
|
}
|
||
|
}
|
||
|
|
||
|
fun nextFragment() {
|
||
|
if (binding.viewPager.currentItem < fragments.size - 1) {
|
||
|
binding.viewPager.currentItem++
|
||
|
} else {
|
||
|
launchMainActivity()
|
||
|
}
|
||
|
}
|
||
|
|
||
|
fun btnSkipClick(@Suppress("UNUSED_PARAMETER")v: View) {
|
||
|
//launchMainActivity() // currently not used in Teapod
|
||
|
}
|
||
|
|
||
|
fun launchMainActivity() {
|
||
|
startActivity(Intent(this, MainActivity::class.java))
|
||
|
finish()
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* A simple pager adapter that represents 5 ScreenSlidePageFragment objects, in
|
||
|
* sequence.
|
||
|
*/
|
||
|
private inner class ScreenSlidePagerAdapter(fa: FragmentActivity) : FragmentStateAdapter(fa) {
|
||
|
override fun getItemCount(): Int = fragments.size
|
||
|
|
||
|
override fun createFragment(position: Int): Fragment = fragments[position]
|
||
|
}
|
||
|
|
||
|
|
||
|
}
|