bitsy-wallet/app/src/main/java/cy/agorise/bitsybitshareswallet/activities/MainActivity.kt

91 lines
3.1 KiB
Kotlin

package cy.agorise.bitsybitshareswallet.activities
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentManager
import androidx.fragment.app.FragmentPagerAdapter
import android.os.Bundle
import cy.agorise.bitsybitshareswallet.BuildConfig
import cy.agorise.bitsybitshareswallet.R
import cy.agorise.bitsybitshareswallet.fragments.BalancesFragment
import cy.agorise.bitsybitshareswallet.fragments.MerchantsFragment
import cy.agorise.bitsybitshareswallet.fragments.TransactionsFragment
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity() {
/**
* The [android.support.v4.view.PagerAdapter] that will provide
* fragments for each of the sections. We use a
* {@link FragmentPagerAdapter} derivative, which will keep every
* loaded fragment in memory. If this becomes too memory intensive, it
* may be best to switch to a
* [android.support.v4.app.FragmentStatePagerAdapter].
*/
private var mSectionsPagerAdapter: SectionsPagerAdapter? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// Create the adapter that will return a fragment for each of the three
// primary sections of the activity.
mSectionsPagerAdapter = SectionsPagerAdapter(supportFragmentManager)
// Set up the ViewPager with the sections adapter.
viewPager.adapter = mSectionsPagerAdapter
tabLayout.setupWithViewPager(viewPager)
// Force first tab to show BTS icon
tabLayout.getTabAt(0)?.setIcon(R.drawable.tab_home_selector)
initBottomBar()
ivSettings.setOnClickListener {
val intent = Intent(this, SettingsActivity::class.java)
startActivity(intent)
}
}
private fun initBottomBar() {
// Show app version number in bottom bar
tvBuildVersion.text = String.format("v%s", BuildConfig.VERSION_NAME)
// Show block number in bottom bar
tvBlockNumber.text = getString(R.string.block_number_bottom_bar, "-----")
// TODO add listener to update block number
}
/**
* A [FragmentPagerAdapter] that returns a fragment corresponding to
* one of the sections/tabs/pages.
*/
inner class SectionsPagerAdapter(fm: androidx.fragment.app.FragmentManager) : androidx.fragment.app.FragmentPagerAdapter(fm) {
override fun getItem(position: Int): androidx.fragment.app.Fragment {
return when (position) {
0 -> BalancesFragment()
1 -> TransactionsFragment()
else -> MerchantsFragment()
}
}
override fun getCount(): Int {
// Show 3 total pages.
return 3
}
override fun getPageTitle(position: Int): CharSequence? {
return when (position) {
0 -> ""
1 -> getString(R.string.title_transactions)
else -> getString(R.string.title_merchants)
}
}
}
}