Search in sources :

Example 1 with SendButtonAction

use of eu.siacs.conversations.ui.util.SendButtonAction in project Conversations by siacs.

the class ConversationFragment method updateSendButton.

public void updateSendButton() {
    boolean hasAttachments = mediaPreviewAdapter != null && mediaPreviewAdapter.hasAttachments();
    final Conversation c = this.conversation;
    final Presence.Status status;
    final String text = this.binding.textinput == null ? "" : this.binding.textinput.getText().toString();
    final SendButtonAction action;
    if (hasAttachments) {
        action = SendButtonAction.TEXT;
    } else {
        action = SendButtonTool.getAction(getActivity(), c, text);
    }
    if (c.getAccount().getStatus() == Account.State.ONLINE) {
        if (activity != null && activity.xmppConnectionService != null && activity.xmppConnectionService.getMessageArchiveService().isCatchingUp(c)) {
            status = Presence.Status.OFFLINE;
        } else if (c.getMode() == Conversation.MODE_SINGLE) {
            status = c.getContact().getShownStatus();
        } else {
            status = c.getMucOptions().online() ? Presence.Status.ONLINE : Presence.Status.OFFLINE;
        }
    } else {
        status = Presence.Status.OFFLINE;
    }
    this.binding.textSendButton.setTag(action);
    final Activity activity = getActivity();
    if (activity != null) {
        this.binding.textSendButton.setImageResource(SendButtonTool.getSendButtonImageResource(activity, action, status));
    }
}
Also used : SendButtonAction(eu.siacs.conversations.ui.util.SendButtonAction) Presence(eu.siacs.conversations.entities.Presence) Activity(android.app.Activity) Conversation(eu.siacs.conversations.entities.Conversation)

Aggregations

Activity (android.app.Activity)1 Conversation (eu.siacs.conversations.entities.Conversation)1 Presence (eu.siacs.conversations.entities.Presence)1 SendButtonAction (eu.siacs.conversations.ui.util.SendButtonAction)1