Это необходимо для того, чтобы разграничить контекст onBackPressedListeners у ViewController и BaseActivity. Соответственно если коллекция у ViewController пуста, обращаемся к коллекции BaseActivity.
Почему возникла необходимость: на Лукойле в классе StationMapViewController в методе changeOnBackPressedListener происходит очистка имеющихся в Activity listener-ов, ввиду чего удаляется нужный для Activity listener. Текущее решение проблемы: добавлена коллекция onBackPressedListeners в рамках одного StationMapViewController. Нужно обобщить на все ViewController.
Вызов onBackPressed будет выглядеть как-то так:
private fun onBackPressed() {
if (onBackPressedListeners.isNotEmpty()) {
onBackPressedListeners.reversed().forEach { onBackPressedListener ->
if (onBackPressedListener.onBackPressed()) {
return
}
}
} else {
activity.onBackPressed()
}
}