- ltr = ledgerTransactions[0];
-
- if (!sendOK()) {
- int tried = 0;
- while (!legacySendOK()) {
- tried++;
- if (tried >= 2)
- throw new IOException(String.format("aborting after %d tries", tried));
- sleep(100);
- }
+ transaction = ledgerTransactions[0];
+
+ switch (mProfile.getApiVersion()) {
+ case auto:
+ Logger.debug("network", "Trying version 1.5.");
+ if (!send_1_15_OK()) {
+ Logger.debug("network", "Version 1.5 request failed. Trying with 1.14");
+ if (!send_1_14_OK()) {
+ Logger.debug("network",
+ "Version 1.14 failed too. Trying HTML form emulation");
+ legacySendOkWithRetry();
+ }
+ else {
+ Logger.debug("network", "Version 1.14 request succeeded");
+ }
+ }
+ else {
+ Logger.debug("network", "Version 1.15 request succeeded");
+ }
+ break;
+ case html:
+ legacySendOkWithRetry();
+ break;
+ case v1_14:
+ send_1_14_OK();
+ break;
+ case v1_15:
+ send_1_15_OK();
+ break;
+ default:
+ throw new IllegalStateException(
+ "Unexpected API version: " + mProfile.getApiVersion());