Search in sources :

Example 6 with ChatMessage

use of com.yellowmessenger.sdk.models.db.ChatMessage in project yellowmessenger-sdk by yellowmessenger.

the class ChatActivity method sendOption.

public void sendOption(final Question question, final Option option) {
    if (option.isLocation()) {
        askForLocation();
    } else {
        optionsLayout.setVisibility(View.GONE);
        optionsLayout.removeAllViews();
        ChatMessage chatMessage = new ChatMessage(username, option.getLabel(), name, true);
        chatMessage.setMessageValue(option.getValue());
        EventBus.getDefault().post(new SendMessageEvent(chatMessage));
        addMessage(chatMessage);
    }
}
Also used : ChatMessage(com.yellowmessenger.sdk.models.db.ChatMessage) SendMessageEvent(com.yellowmessenger.sdk.events.SendMessageEvent)

Example 7 with ChatMessage

use of com.yellowmessenger.sdk.models.db.ChatMessage in project yellowmessenger-sdk by yellowmessenger.

the class RecyclerChatActivity method sendOptionEvent.

public void sendOptionEvent(SendOptionEvent sendOptionEvent) {
    optionsLayout.setVisibility(View.GONE);
    optionsLayout.removeAllViews();
    ChatMessage chatMessage = new ChatMessage(username, sendOptionEvent.getOption().getLabel(), name, true);
    addMessage(chatMessage);
    chatMessage.setMessageValue(sendOptionEvent.getOption().getValue());
    EventBus.getDefault().post(new SendMessageEvent(chatMessage));
}
Also used : ChatMessage(com.yellowmessenger.sdk.models.db.ChatMessage) SendMessageEvent(com.yellowmessenger.sdk.events.SendMessageEvent)

Example 8 with ChatMessage

use of com.yellowmessenger.sdk.models.db.ChatMessage in project yellowmessenger-sdk by yellowmessenger.

the class RecyclerChatActivity 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();
            if (question.getOptions() != null && question.getOptions().size() > 0) {
                addOptions(question);
            }
        } else {
            optionsLayout.removeAllViews();
            initiateSendMessageListener();
        }
    }
}
Also used : ChatMessage(com.yellowmessenger.sdk.models.db.ChatMessage) Question(com.yellowmessenger.sdk.models.Question) Subscribe(org.greenrobot.eventbus.Subscribe)

Example 9 with ChatMessage

use of com.yellowmessenger.sdk.models.db.ChatMessage in project yellowmessenger-sdk by yellowmessenger.

the class RecyclerChatActivity 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();
    }
}
Also used : JSONObject(org.json.JSONObject) ChatMessage(com.yellowmessenger.sdk.models.db.ChatMessage) SendMessageEvent(com.yellowmessenger.sdk.events.SendMessageEvent) IOException(java.io.IOException)

Example 10 with ChatMessage

use of com.yellowmessenger.sdk.models.db.ChatMessage in project yellowmessenger-sdk by yellowmessenger.

the class XMPPService method onEvent.

@Subscribe
public void onEvent(UploadCompleteEvent event) {
    ChatMessage chatMessage = uploadMap.get(event.getUploadId());
    chatMessage.setMessage("{\"type\":\"image\",\"image\": \"" + event.getUrl() + "\"}");
    chatMessage.setBitmap(null);
    EventBus.getDefault().post(new SendMessageEvent(chatMessage));
}
Also used : ChatMessage(com.yellowmessenger.sdk.models.db.ChatMessage) SendMessageEvent(com.yellowmessenger.sdk.events.SendMessageEvent) Subscribe(org.greenrobot.eventbus.Subscribe)

Aggregations

ChatMessage (com.yellowmessenger.sdk.models.db.ChatMessage)29 SendMessageEvent (com.yellowmessenger.sdk.events.SendMessageEvent)13 View (android.view.View)7 HorizontalScrollView (android.widget.HorizontalScrollView)7 ImageView (android.widget.ImageView)7 TextView (android.widget.TextView)7 ParseException (java.text.ParseException)7 Date (java.util.Date)7 Subscribe (org.greenrobot.eventbus.Subscribe)5 Intent (android.content.Intent)4 ChatResponse (com.yellowmessenger.sdk.models.ChatResponse)3 Question (com.yellowmessenger.sdk.models.Question)3 NoSuchAlgorithmException (java.security.NoSuchAlgorithmException)3 SmackException (org.jivesoftware.smack.SmackException)3 JSONObject (org.json.JSONObject)3 XmppStringprepException (org.jxmpp.stringprep.XmppStringprepException)3 Paint (android.graphics.Paint)2 Bundle (android.os.Bundle)2 ViewGroup (android.view.ViewGroup)2 MessageReceivedEvent (com.yellowmessenger.sdk.events.MessageReceivedEvent)2