📄Core Directory
Core Directory
--core(directory)
--base(directory)
--ActBase.kt(file)(ActBase is an abstract class serving as blueprints for other classes)
--BaseActivity.kt(file)()
--FragBase.kt(file)
--DataResult.kt(file)
--ResultWrapper.kt(file)core/base/ActBase.kt
package com.matar.app.core.base
import android.os.Bundle
import androidx.activity.viewModels
import androidx.fragment.app.Fragment
import androidx.viewbinding.ViewBinding
import com.akexorcist.localizationactivity.ui.LocalizationActivity
import com.matar.app.ui.features.firebase.AnalyticsViewModel
import com.matar.app.ui.features.firebase.FirebaseViewModel
import com.matar.app.ui.util.PreferenceManager
abstract class ActBase<actBinding : ViewBinding> : LocalizationActivity() {
lateinit var binding: actBinding
protected val analyticsViewModel: AnalyticsViewModel by viewModels()
protected val firebaseViewModel: FirebaseViewModel by viewModels()
lateinit var preferenceManager: PreferenceManager
override fun onCreate(savedInstanceState: Bundle?) {
preferenceManager = PreferenceManager(this)
super.onCreate(savedInstanceState)
binding = setViewBinding()
setContentView(binding.root)
bindObjects()
bindListeners()
bindMethods()
}
abstract fun setViewBinding(): actBinding
abstract fun bindObjects()
abstract fun bindListeners()
abstract fun bindMethods()
fun openFragment(fragment: Fragment, fragmentName: String, fragmentContainerId: Int) {
val transaction = supportFragmentManager.beginTransaction()
transaction.replace(fragmentContainerId, fragment, fragmentName)
transaction.disallowAddToBackStack()
transaction.commit()
}
}core/base/BaseActivity.kt
core/base/Fragbase.kt
core/DataResult.kt
core/ResultWrapper.kt
Last updated