Что касается вашей существующей архитектуры (MVP), то лучше поместить логику в Presenter
, на самом деле не должно быть никакой логики на View
(в вашем случае, в пользовательском представлении), кроме принятия ввода ( например: нажатие кнопки) и предоставление вывода.
Предполагается, что вы установили прослушиватель щелчков на своей кнопке (ну, конечно):
button.setOnClickListener { yourPresenter.doSomeAction() }
и в YourPresenter:
fun doSomeAction() {
//do necessary action for the button
//after that, send logs
}
Следуя этой схеме, вы можете легко выполнить модульные тесты на докладчике, например, проверить, действительно ли журналы вызваны (вы также можете указать точный ввод).
Примечание: Если вы используете чистую архитектуру, я рекомендую поместить ее на слой домена (Interactor/UseCase)
, поскольку Presentation Layer
не имеет значения, что и когда регистрировать.