示例#1
0
  public void sendMessage(String text, boolean isResend) {

    if (mConnection.getState() != ImConnection.LOGGED_IN) {
      // connection has been suspended, save the message without send it
      long now = System.currentTimeMillis();
      insertMessageInDb(null, text, now, Imps.MessageType.POSTPONED);
      return;
    }

    org.awesomeapp.messenger.model.Message msg = new org.awesomeapp.messenger.model.Message(text);
    msg.setID(nextID());

    msg.setFrom(mConnection.getLoginUser().getAddress());
    msg.setType(Imps.MessageType.OUTGOING);

    long sendTime = System.currentTimeMillis();

    if (!isResend) {
      insertMessageInDb(null, text, sendTime, msg.getType(), 0, msg.getID());
      insertOrUpdateChat(text);
    }

    int newType = mChatSession.sendMessageAsync(msg);

    if (msg.getDateTime() != null) sendTime = msg.getDateTime().getTime();

    updateMessageInDb(msg.getID(), newType, sendTime);
  }