Pusher Chatkit Connect Callback в Java
Я пытаюсь реализовать Pusher ChatKit с сайта SDK: https://docs.pusher.com/chatkit. Я предпочитаю хранить мой код полностью на Java.
В примерах есть этот блок кода:
chatManager.connect { result ->
when (result) {
is Result.Success -> {
// We have connected!
currentUser = result.value // CurrentUser
}
is Result.Failure -> {
// Failure
handleConnectionError(result.error)
}
}
}
Однако приведенный выше код написан на Kotlin. В моем собственном коде mCurrentUser
является нулевым даже после chatManager.connect
метод работает.
Я обновил свою Android Studio для работы с Java 8 и пытаюсь использовать следующий код:
chatManager.connect(result -> {
if (result instanceof Result.Success) {
mCurrentUser = ((Result.Success<CurrentUser, Error>) result).getValue();
}
if (result instanceof Result.Failure) {
System.out.print(result);
}
return Unit.INSTANCE;
});
Когда я использую отладчик, весь блок пропускается. Методы подключения регистрируют успешное соединение, но result
всегда null
, Может кто-нибудь показать мне, как написать тот же обратный вызов с использованием слушателя? Или покажи мне проблему с моими лямбда-выражениями.
Кстати, chatManager.connect
принимает Function1<? super Result<CurrentUser, Error> Unit> callback
в качестве параметра. Заранее спасибо. Я застрял на этом в течение 2 дней.