use of com.yellowmessenger.sdk.models.db.ChatMessage in project yellowmessenger-sdk by yellowmessenger.
the class ChatActivity method getChatHistory.
private void getChatHistory() {
chatMessages.clear();
List<ChatMessage> newChatMessages = ChatMessageDAO.findAllByUsername(username, 200, 0);
if (newChatMessages.size() == 0) {
ChatMessage chatMessage = new ChatMessage(username, "Start", name, true);
chatMessage.setMessageValue("GET_STARTED");
EventBus.getDefault().post(new SendMessageEvent(chatMessage));
}
Collections.reverse(newChatMessages);
chatMessages.addAll(newChatMessages);
chatListAdapter.notifyDataSetChanged();
}
use of com.yellowmessenger.sdk.models.db.ChatMessage in project yellowmessenger-sdk by yellowmessenger.
the class ChatActivity method onEvent.
@Subscribe
public void onEvent(ChatUpdatedEvent event) {
if (chatMessages.size() > 0) {
ChatMessage chatMessage = chatMessages.get(chatMessages.size() - 1);
if (!chatMessage.isYou() && chatMessage.getChatType() == ChatType.QUESTION) {
Question question = chatMessage.getChatResponse().getQuestion();
editText.setInputType(FieldType.getInputType(question.getFieldType()));
if (question.getOptions() != null && question.getOptions().size() > 0 && !question.isPersistentOptions()) {
addOptions(question);
} else {
optionsLayout.removeAllViews();
}
} else {
optionsLayout.removeAllViews();
initiateSendMessageListener();
}
}
}
use of com.yellowmessenger.sdk.models.db.ChatMessage in project yellowmessenger-sdk by yellowmessenger.
the class ChatActivity method sendImageMessage.
public void sendImageMessage(Bitmap bm, String filename) {
String message = "";
ChatMessage chatMessage = new ChatMessage(username, message, name, true);
chatMessage.setBitmap(bm);
addMessage(chatMessage);
EventBus.getDefault().post(new UploadStartEvent(chatMessage, filename));
}
use of com.yellowmessenger.sdk.models.db.ChatMessage in project yellowmessenger-sdk by yellowmessenger.
the class ChatActivity method sendActionEvent.
public void sendActionEvent(SendActionEvent sendActionEvent) {
ChatMessage chatMessage = new ChatMessage(username, sendActionEvent.getAction().getTitle(), name, true);
addMessage(chatMessage);
chatMessage.setMessageValue(sendActionEvent.getAction().getText() != null ? sendActionEvent.getAction().getText() : sendActionEvent.getAction().getTitle());
EventBus.getDefault().post(new SendMessageEvent(chatMessage));
}
use of com.yellowmessenger.sdk.models.db.ChatMessage in project yellowmessenger-sdk by yellowmessenger.
the class ChatActivity method sendLocation.
private void sendLocation(LatLng latLng, String locationName, String address) {
optionsLayout.setVisibility(View.GONE);
optionsLayout.removeAllViews();
try {
JSONObject locationObj = new JSONObject();
locationObj.put("lat", latLng.latitude);
locationObj.put("lng", latLng.longitude);
locationObj.put("name", locationName);
locationObj.put("address", address);
JSONObject messageObject = new JSONObject();
messageObject.put("location", locationObj);
final ChatMessage chatMessage = new ChatMessage(username, messageObject.toString(), name, true);
addMessage(chatMessage);
EventBus.getDefault().post(new SendMessageEvent(chatMessage));
} catch (Exception e) {
e.printStackTrace();
}
}
Aggregations