Rafiul Islam
09/14/2021, 2:58 PMRafiul Islam
09/14/2021, 3:00 PM/***
* This will refresh my courses
*/
class MainActivityGotoHomeReceiver :
BroadcastReceiver() {
companion object {
const val INTENT_FILTER = "main.activity.goto.home"
}
var mainActivity: MainActivity? = null
override fun onReceive(context: Context?, intent: Intent?) {
if (context != null) {
val myCourseViewModel =
ViewModelProvider(mainActivity!!).get(MainActivityViewModel::class.java)
myCourseViewModel.gotoHomeFragment()
}
}
}
kevindmoore
09/14/2021, 3:10 PMRafiul Islam
09/14/2021, 3:15 PMclass MainActivityGotoLoginScreenReceiver() :
BroadcastReceiver() {
companion object {
const val INTENT_FILTER = "main.activity.goto.login.screen"
}
var mainActivity: MainActivity? = null
override fun onReceive(context: Context?, intent: Intent?) {
if (context != null) {
mainActivity?.finishAffinity()
mainActivity?.startActivity(Intent(mainActivity,LoginActivity::class.java))
}
}
}
kevindmoore
09/14/2021, 3:16 PMRafiul Islam
09/14/2021, 3:20 PMLocalBroadcastManager
with other implementation of observable pattern, depending on your usecase suitable options may be LiveData
or reactive streams.kevindmoore
09/14/2021, 3:21 PMkevindmoore
09/14/2021, 3:22 PMRafiul Islam
09/14/2021, 3:24 PMkevindmoore
09/14/2021, 3:24 PMRafiul Islam
09/14/2021, 3:30 PMRafiul Islam
09/14/2021, 6:20 PM