package com.dc.cowbird.parser;
import android.util.Log;
import com.dc.cowbird.Constants;
import com.dc.cowbird.vo.Protocol;
import java.text.SimpleDateFormat;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* Created by Davi on 05/09/2015.
*/
public class OiSMS implements SMSParser {
final static String regextStr = "Oi, seguem os dados da sua solicitacao\\. Protocolo: (\\d*) do tipo (\\w*) foi aberto em (\\d{0,2}\\/\\d{0,2}\\/\\d{0,4}) (\\d{0,2}:\\d{0,2}:\\d{0,2})\\.";
Pattern p = null;
boolean enableDebugSms = false;
public OiSMS() {
p = Pattern.compile(regextStr);
}
@Override
public boolean canParse(String address, String body) {
if ((enableDebugSms || ("7588".equals(address)) && body.startsWith("Oi"))) {
System.out.println("Parseando Oi " + body);
System.out.println(p.matcher(body).matches() + "");
return p.matcher(body).matches();
}
return false;
}
@Override
public Protocol getProtocol(String address, String body, Long date, String subject) {
Matcher m = p.matcher(body);
try {
if (m.matches()) {
if (m.groupCount() > 1) {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy kk:mm");
date = sdf.parse(m.group(3) + " " + m.group(4)).getTime();
}
}
} catch (Exception e) {
Log.i(Constants.LOG_TAG, "Could not get date from '" + body, e);
}
return new Protocol(m.group(1), "OI", date, body);
}
}