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 дней.

0 ответов

Другие вопросы по тегам