Firstly, I have a function with result callback that starts another activity:
object Functions {
fun myFunction(context: Context, onResult: (resultCode: Int) -> Unit) {
context.startActivity(Intent(context, DelegateActivity::class.java))
}
}
Secondly, I have DelegateActivity (that receives a result from ResultActivity) and ResultActivity:
class DelegateActivity : Activity() {
override fun onCreate(savedInstanceState: Bundle?) {
startActivityForResult(Intent(this, ResultActivity::class.java))
}
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
// TODO: send result to onResult(resultCode) callback!
}
}
class ResultActivity : Activity() {
override fun onCreate(savedInstanceState: Bundle?) {
// some code with setResult()
}
}
My problem is that I have to forward the result from DelegateActivity to the onResult() - It's a requirement. How can I do this?
I can use EventBus/RxBus, but is there a better way?