Skip to content

Добавить во ViewController коллекцию onBackPressedListeners по аналогии с тем, как это сделано в BaseActivity.  #46

@vender98

Description

@vender98

Это необходимо для того, чтобы разграничить контекст 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()
}
}

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions