mirror of
https://github.com/cwinfo/envayasms.git
synced 2025-07-13 01:36:27 +00:00
automatic failover between wifi/mobile if server cannot be reached; send timestamp of incoming message to server
This commit is contained in:
@ -8,18 +8,20 @@ import org.envaya.sms.OutgoingMessage;
|
||||
|
||||
public class ForwarderTask extends HttpTask {
|
||||
|
||||
private IncomingMessage originalSms;
|
||||
private IncomingMessage message;
|
||||
|
||||
public ForwarderTask(IncomingMessage originalSms, BasicNameValuePair... paramsArr) {
|
||||
super(originalSms.app, paramsArr);
|
||||
this.originalSms = originalSms;
|
||||
|
||||
public ForwarderTask(IncomingMessage message, BasicNameValuePair... paramsArr) {
|
||||
super(message.app, paramsArr);
|
||||
this.message = message;
|
||||
|
||||
params.add(new BasicNameValuePair("action", App.ACTION_INCOMING));
|
||||
params.add(new BasicNameValuePair("from", message.getFrom()));
|
||||
params.add(new BasicNameValuePair("timestamp", "" + message.getTimestamp()));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getDefaultToAddress() {
|
||||
return originalSms.getFrom();
|
||||
return message.getFrom();
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -29,11 +31,11 @@ public class ForwarderTask extends HttpTask {
|
||||
app.sendOutgoingMessage(reply);
|
||||
}
|
||||
|
||||
app.setIncomingMessageStatus(originalSms, true);
|
||||
app.setIncomingMessageStatus(message, true);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void handleFailure() {
|
||||
app.setIncomingMessageStatus(originalSms, false);
|
||||
app.setIncomingMessageStatus(message, false);
|
||||
}
|
||||
}
|
||||
|
@ -8,6 +8,8 @@ import android.os.AsyncTask;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.net.SocketTimeoutException;
|
||||
import java.net.UnknownHostException;
|
||||
import java.nio.charset.Charset;
|
||||
import java.security.MessageDigest;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
@ -32,7 +34,6 @@ import org.envaya.sms.Base64Coder;
|
||||
import org.envaya.sms.OutgoingMessage;
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
import org.w3c.dom.Node;
|
||||
import org.w3c.dom.NodeList;
|
||||
import org.xml.sax.SAXException;
|
||||
|
||||
@ -159,6 +160,11 @@ public class HttpTask extends AsyncTask<String, Void, HttpResponse> {
|
||||
{
|
||||
post.abort();
|
||||
app.logError("Error while contacting server", ex);
|
||||
|
||||
if (ex instanceof UnknownHostException || ex instanceof SocketTimeoutException)
|
||||
{
|
||||
app.asyncCheckConnectivity();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
catch (Throwable ex)
|
||||
|
Reference in New Issue
Block a user