package com.rahmat.app.androidchat.feature
import ai.api.AIDataService
import ai.api.model.AIRequest
import ai.api.model.AIResponse
import android.util.Log
import com.google.firebase.database.DatabaseReference
import com.rahmat.app.androidchat.entity.ChatMessage
import org.jetbrains.anko.coroutines.experimental.bg
import org.jetbrains.anko.custom.async
/**
* Created by muhrahmatullah on 09/10/18.
*/
class MainPresenter(val aiDataAIService: AIDataService,
val ref: DatabaseReference) : MainContract.Presenter {
val aiRequest = AIRequest()
override fun sendMessage(message: String) {
val chatMessage = ChatMessage(message, "user")
ref.child("chat").push().setValue(chatMessage)
aiRequest.setQuery(message)
async(UI) {
val response = bg {
aiDataAIService.request(aiRequest)
}
if (response.await() != null) {
sendMessageToServer(response.await())
}else{
Log.v("test", "didn't send")
}
}
}
private fun sendMessageToServer(response: AIResponse?) {
val result = response?.result
val reply = result?.fulfillment?.speech
val chatMessage = ChatMessage(reply, "bot")
ref.child("chat").push().setValue(chatMessage)
}
}
코드 부분에서
import kotlinx.coroutines.experimental.android.UI부분이 에러가 뜹니다. alt + enter를 해도 해결되지가 않습니다 에러는 e: java.lang.IllegalStateException: Backend Internal error: Exception during code generation 이라고 뜨네요 검색을 해봐도 도저히 모르겠습니다.