procrastinot-team/procrastinot

View on GitHub
app/src/main/java/com/github/mateo762/myapplication/habits/HabitsActivity.kt

Summary

Maintainability
B
4 hrs
Test Coverage
B
88%
package com.github.mateo762.myapplication.habits

import android.os.Bundle
import androidx.fragment.app.Fragment
import com.github.mateo762.myapplication.BaseActivity
import com.github.mateo762.myapplication.R
import com.github.mateo762.myapplication.habits.fragments.CreateHabitFragment
import com.github.mateo762.myapplication.habits.fragments.week.WeekFragment
import com.google.android.material.bottomnavigation.BottomNavigationView
import dagger.hilt.android.AndroidEntryPoint

abstract class HabitsActivity : BaseActivity() {

    @AndroidEntryPoint
    class HabitsEntryPoint : HabitsActivity()


    private lateinit var bottomNavView: BottomNavigationView

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_habits)
        super.onCreateDrawer()
        bottomNavView = findViewById(R.id.bottomNav)
        bottomNavView.setOnItemSelectedListener(bottomNavListener)
    }

    private val bottomNavListener = BottomNavigationView.OnNavigationItemSelectedListener {
        lateinit var selectedFragment: Fragment
        when (it.itemId) {
            R.id.developFragment -> {
                selectedFragment = CreateHabitFragment()
            }
            R.id.weekFragment -> {
                selectedFragment = WeekFragment()
            }
        }
        openFragmentSelected(selectedFragment)
        true
    }

    private fun openFragmentSelected(fragment: Fragment): Int {
        return supportFragmentManager.beginTransaction().replace(
            R.id.navHostFragment, fragment
        ).commit()
    }
}