91 lines
3.1 KiB
Kotlin
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)
|
|
}
|
|
}
|
|
}
|
|
}
|