Transfer.java 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. package com.acdp.transceivr;
  2. import com.eclipsesource.json.JsonObject;
  3. import okhttp3.Call;
  4. public class Transfer {
  5. public Call call;
  6. public Transfer(int id) {
  7. this.id = id;
  8. startTS=System.currentTimeMillis();
  9. }
  10. public long bytesRead;
  11. public long contentLength;
  12. public String from;
  13. public String to;
  14. public String uploadError;
  15. public int uploadCode;
  16. public String uploadResponseBody;
  17. public boolean downloadDone = false;
  18. public boolean uploadDone = false;
  19. public boolean canceled=false;
  20. public long startTS;
  21. public long currentTS;
  22. int id;
  23. public JsonObject toJSON() {
  24. JsonObject js = new JsonObject();
  25. js.add("id", id);
  26. js.add("bytesRead", bytesRead);
  27. js.add("contentLength", contentLength);
  28. js.add("from", from);
  29. js.add("to", to);
  30. js.add("uploadError", uploadError);
  31. js.add("uploadCode", uploadCode);
  32. js.add("uploadResponseBody", uploadResponseBody);
  33. js.add("progress", contentLength>0?((100 * bytesRead) / contentLength):0);
  34. js.add("downloadDone", downloadDone);
  35. js.add("uploadDone", uploadDone);
  36. var diff=currentTS-startTS;
  37. js.add("rate", diff>0?(bytesRead/diff):0);
  38. return js;
  39. }
  40. }