@Override
  public void onReceiveWithSms(Context context, Sms s, int partNum, int res, int smsID) {
    this.answerTo = s.getAnswerTo();
    s.setDelIntentTrue(partNum);
    smsHelper.setDelIntentTrue(smsID, partNum);
    boolean delIntComplete = s.delIntentsComplete();
    String smsSendTo;
    if (s.getTo() != null) { // prefer a name over a number in the to field
      smsSendTo = s.getTo();
    } else {
      smsSendTo = s.getNumber();
    }

    if (res == Activity.RESULT_OK && delIntComplete) {
      send(context.getString(R.string.chat_sms_delivered_to, s.getShortendMessage(), smsSendTo));
    } else if (s.getResSentIntent() == -1) {
      if (res == Activity.RESULT_CANCELED) {
        send(
            context.getString(
                R.string.chat_sms_not_delivered_to, s.getShortendMessage(), smsSendTo));
      }
      s.setResSentIntent(res);
    }
    if (delIntComplete) {
      removeSms(smsID);
    }
  }
示例#2
0
 public void parseLine(String line) {
   String cutLine = line.substring(18);
   try {
     if (cutLine.matches("\\d{5}.+")) {
       if (cutLine.toLowerCase().contains("kb")) {
         Mms mms = new Mms(getNumber(cutLine));
         mmsList.add(mms);
         System.out.println("Added an mms to " + mms.getNumber());
       } else if (cutLine.contains(":")) {
         Dial dial = getDialInfo(cutLine);
         dialList.add(dial);
         System.out.println("Added a call to " + dial.getNumber() + ", time: " + dial.getLength());
       } else {
         Sms sms = new Sms(getNumber(cutLine));
         int count = getSmsCount(cutLine);
         for (int q = 0; q < count; q++) {
           smsList.add(sms);
         }
         System.out.println("Added " + count + " sms to " + sms.getNumber());
       }
     } else {
       if (cutLine.toLowerCase().contains("kb")) {
         int kBytes = getKBytes(cutLine);
         Transfer transfer = new Transfer(kBytes);
         transferList.add(transfer);
         System.out.println("Added transfer of " + kBytes + " kilobytes");
       } else {
         throw new IncorrectEntryException();
       }
     }
   } catch (IncorrectEntryException e) {
     e.printStackTrace();
   }
 }