X-Git-Url: https://git.ktnx.net/?p=mobile-ledger.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fasync%2FSendTransactionTask.java;h=496624bf52475a6c22e6e2a2388d9d48d44aa53b;hp=b670125903213c748f4beeb8f2fd2cf4c7fe7ec2;hb=0fa11b9a1009c706c3f75ef61a3a95bcfd05cab3;hpb=99c3bfb3451ebb1fc55d728d8d1741849cf789db diff --git a/app/src/main/java/net/ktnx/mobileledger/async/SendTransactionTask.java b/app/src/main/java/net/ktnx/mobileledger/async/SendTransactionTask.java index b6701259..496624bf 100644 --- a/app/src/main/java/net/ktnx/mobileledger/async/SendTransactionTask.java +++ b/app/src/main/java/net/ktnx/mobileledger/async/SendTransactionTask.java @@ -28,6 +28,7 @@ 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.Logger; import net.ktnx.mobileledger.utils.NetworkUtil; import net.ktnx.mobileledger.utils.UrlEncodedFormData; @@ -38,6 +39,8 @@ import java.io.InputStreamReader; import java.io.OutputStream; import java.net.HttpURLConnection; import java.nio.charset.StandardCharsets; +import java.util.Date; +import java.util.GregorianCalendar; import java.util.List; import java.util.Locale; import java.util.Map; @@ -45,6 +48,7 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; import static android.os.SystemClock.sleep; +import static net.ktnx.mobileledger.utils.Logger.debug; public class SendTransactionTask extends AsyncTask { private final TaskCallback taskCallback; @@ -53,10 +57,18 @@ public class SendTransactionTask extends AsyncTask 0.3) + throw new RuntimeException("Simulated test exception"); + } + catch (InterruptedException ex) { + Logger.debug("network", ex.toString()); + } + + return true; + } + byte[] bodyBytes = body.getBytes(StandardCharsets.UTF_8); http.setDoOutput(true); 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()) { @@ -96,7 +123,7 @@ public class SendTransactionTask extends AsyncTask"); 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 } } @@ -201,10 +237,10 @@ public class SendTransactionTask extends AsyncTask= 2) - throw new IOException(String.format("aborting after %d tries", tried)); - sleep(100); + tried++; + if (tried >= 2) + throw new IOException(String.format("aborting after %d tries", tried)); + sleep(100); } } }