import com.fasterxml.jackson.databind.ObjectWriter;
import net.ktnx.mobileledger.json.ParsedLedgerTransaction;
-import net.ktnx.mobileledger.model.Data;
import net.ktnx.mobileledger.model.LedgerTransaction;
import net.ktnx.mobileledger.model.LedgerTransactionAccount;
+import net.ktnx.mobileledger.model.MobileLedgerProfile;
import net.ktnx.mobileledger.utils.Globals;
import net.ktnx.mobileledger.utils.NetworkUtil;
import net.ktnx.mobileledger.utils.UrlEncodedFormData;
import java.util.regex.Pattern;
import static android.os.SystemClock.sleep;
+import static net.ktnx.mobileledger.utils.Logger.debug;
public class SendTransactionTask extends AsyncTask<LedgerTransaction, Void, Void> {
private final TaskCallback taskCallback;
private String token;
private String session;
private LedgerTransaction ltr;
+ private MobileLedgerProfile mProfile;
- public SendTransactionTask(TaskCallback callback) {
+ public SendTransactionTask(TaskCallback callback, MobileLedgerProfile profile) {
taskCallback = callback;
+ mProfile = profile;
}
private boolean sendOK() throws IOException {
- HttpURLConnection http = NetworkUtil.prepareConnection(Data.profile.get(), "add");
+ HttpURLConnection http = NetworkUtil.prepareConnection(mProfile, "add");
http.setRequestMethod("PUT");
http.setRequestProperty("Content-Type", "application/json");
http.setRequestProperty("Accept", "*/*");
http.setDoInput(true);
http.addRequestProperty("Content-Length", String.valueOf(bodyBytes.length));
- Log.d("network", "request header: " + http.getRequestProperties().toString());
+ debug("network", "request header: " + http.getRequestProperties().toString());
try (OutputStream req = http.getOutputStream()) {
- Log.d("network", "Request body: " + body);
+ debug("network", "Request body: " + body);
req.write(bodyBytes);
final int responseCode = http.getResponseCode();
- Log.d("network",
+ debug("network",
String.format("Response: %d %s", responseCode, http.getResponseMessage()));
try (InputStream resp = http.getErrorStream()) {
default:
BufferedReader reader = new BufferedReader(new InputStreamReader(resp));
String line = reader.readLine();
- Log.d("network", "Response content: " + line);
+ debug("network", "Response content: " + line);
throw new IOException(
String.format("Error response code %d", responseCode));
}
return true;
}
private boolean legacySendOK() throws IOException {
- HttpURLConnection http = NetworkUtil.prepareConnection(Data.profile.get(), "add");
+ HttpURLConnection http = NetworkUtil.prepareConnection(mProfile, "add");
http.setRequestMethod("POST");
http.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
http.setRequestProperty("Accept", "*/*");
String body = params.toString();
http.addRequestProperty("Content-Length", String.valueOf(body.length()));
- Log.d("network", "request header: " + http.getRequestProperties().toString());
+ debug("network", "request header: " + http.getRequestProperties().toString());
try (OutputStream req = http.getOutputStream()) {
- Log.d("network", "Request body: " + body);
+ debug("network", "Request body: " + body);
req.write(body.getBytes(StandardCharsets.US_ASCII));
try (InputStream resp = http.getInputStream()) {
- Log.d("update_accounts", String.valueOf(http.getResponseCode()));
+ debug("update_accounts", String.valueOf(http.getResponseCode()));
if (http.getResponseCode() == 303) {
// everything is fine
return true;
Matcher m = reSessionCookie.matcher(cookie);
if (m.matches()) {
session = m.group(1);
- Log.d("network", "new session is " + session);
+ debug("network", "new session is " + session);
}
else {
- Log.d("network", "set-cookie: " + cookie);
+ debug("network", "set-cookie: " + cookie);
Log.w("network",
"Response Set-Cookie headers is not a _SESSION one");
}
"<input type=\"hidden\" name=\"_token\" value=\"([^\"]+)\">");
String line;
while ((line = reader.readLine()) != null) {
- //Log.d("dump", line);
+ //debug("dump", line);
Matcher m = re.matcher(line);
if (m.matches()) {
token = m.group(1);
- Log.d("save-transaction", line);
- Log.d("save-transaction", "Token=" + token);
+ debug("save-transaction", line);
+ debug("save-transaction", "Token=" + token);
return false; // retry
}
}