RemoteDeviceTask.java 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234
  1. package epson.print.copy.Component.ecopycomponent;
  2. import android.os.AsyncTask;
  3. import epson.print.copy.Component.ecopycomponent.ECopyComponent;
  4. import epson.print.copy.Component.eremoteoperation.ERemoteCopy;
  5. import epson.print.copy.Component.eremoteoperation.ERemoteDevice;
  6. import epson.print.copy.Component.eremoteoperation.ERemoteOperation;
  7. import java.util.ArrayList;
  8. import java.util.Iterator;
  9. class RemoteDeviceTask extends AsyncTask<Void, Void, Result> implements ECopyComponent.ITask {
  10. String clientID;
  11. ERemoteDevice operation = new ERemoteDevice();
  12. ECopyOptionContext optionContext;
  13. ECopyComponent.ICopyDeviceStatusListener statusListener;
  14. ECopyComponent.ICopySystemSettings systemSettings;
  15. class Result {
  16. ECopyComponent.ICopyDeviceStatusListener.Connection connetion;
  17. ArrayList<String> jobTokens;
  18. ECopyComponent.ICopyDeviceStatusListener.DeviceState printer;
  19. ArrayList<ECopyComponent.ICopyDeviceStatusListener.PrinterStateReason> printerReasons;
  20. ECopyComponent.ICopyDeviceStatusListener.DeviceState scanner;
  21. ArrayList<ECopyComponent.ICopyDeviceStatusListener.ScannerStateReason> scannerReasons;
  22. Result() {
  23. }
  24. }
  25. public RemoteDeviceTask(ECopyComponent.ICopyDeviceStatusListener iCopyDeviceStatusListener) {
  26. this.statusListener = iCopyDeviceStatusListener;
  27. }
  28. public ECopyComponent.ICopyCancelRequest start() {
  29. super.execute(new Void[0]);
  30. return null;
  31. }
  32. public void setSystemSettings(ECopyComponent.ICopySystemSettings iCopySystemSettings) {
  33. this.systemSettings = iCopySystemSettings;
  34. }
  35. public void setRequestConnectionTimeout(int i) {
  36. this.operation.setRequestConnectionTimeout(i);
  37. }
  38. public void setClientID(String str) {
  39. this.clientID = str;
  40. }
  41. public void setOptionContext(ECopyOptionContext eCopyOptionContext) {
  42. this.optionContext = eCopyOptionContext;
  43. }
  44. private ECopyComponent.ICopyDeviceStatusListener.DeviceState getDeviceState(ERemoteOperation.ERemoteParam eRemoteParam) {
  45. ECopyComponent.ICopyDeviceStatusListener.DeviceState deviceState = ECopyComponent.ICopyDeviceStatusListener.DeviceState.Stopped;
  46. switch (eRemoteParam) {
  47. case idle:
  48. return ECopyComponent.ICopyDeviceStatusListener.DeviceState.Idle;
  49. case processing:
  50. return ECopyComponent.ICopyDeviceStatusListener.DeviceState.Processing;
  51. case stopped:
  52. return ECopyComponent.ICopyDeviceStatusListener.DeviceState.Stopped;
  53. default:
  54. return deviceState;
  55. }
  56. }
  57. private ArrayList<ECopyComponent.ICopyDeviceStatusListener.PrinterStateReason> getPrinterErrorReasons() {
  58. ArrayList<ECopyComponent.ICopyDeviceStatusListener.PrinterStateReason> arrayList = new ArrayList<>();
  59. ECopyComponent.ICopyDeviceStatusListener.PrinterStateReason printerStateReason = ECopyComponent.ICopyDeviceStatusListener.PrinterStateReason.OtherError;
  60. printerStateReason.string = ERemoteOperation.ERemoteParam.other_error.string;
  61. arrayList.add(printerStateReason);
  62. return arrayList;
  63. }
  64. private ArrayList<ECopyComponent.ICopyDeviceStatusListener.PrinterStateReason> getPrinterReasons(ArrayList<ERemoteOperation.ERemoteParam> arrayList) {
  65. ECopyComponent.ICopyDeviceStatusListener.PrinterStateReason printerStateReason;
  66. ArrayList<ECopyComponent.ICopyDeviceStatusListener.PrinterStateReason> arrayList2 = new ArrayList<>();
  67. Iterator<ERemoteOperation.ERemoteParam> it = arrayList.iterator();
  68. while (it.hasNext()) {
  69. ERemoteOperation.ERemoteParam next = it.next();
  70. ECopyComponent.ICopyDeviceStatusListener.PrinterStateReason printerStateReason2 = ECopyComponent.ICopyDeviceStatusListener.PrinterStateReason.None;
  71. switch (next) {
  72. case none:
  73. printerStateReason = ECopyComponent.ICopyDeviceStatusListener.PrinterStateReason.None;
  74. break;
  75. case marker_supply_empty_error:
  76. printerStateReason = ECopyComponent.ICopyDeviceStatusListener.PrinterStateReason.MarkerSupplyEmptyError;
  77. break;
  78. case marker_waste_full_error:
  79. printerStateReason = ECopyComponent.ICopyDeviceStatusListener.PrinterStateReason.MarkerWasteFullError;
  80. break;
  81. case media_jam_error:
  82. printerStateReason = ECopyComponent.ICopyDeviceStatusListener.PrinterStateReason.MediaJamError;
  83. break;
  84. case media_empty_error:
  85. printerStateReason = ECopyComponent.ICopyDeviceStatusListener.PrinterStateReason.MediaEmptyError;
  86. break;
  87. case input_tray_missing_error:
  88. printerStateReason = ECopyComponent.ICopyDeviceStatusListener.PrinterStateReason.InputTrayMissingError;
  89. break;
  90. case cover_open_error:
  91. printerStateReason = ECopyComponent.ICopyDeviceStatusListener.PrinterStateReason.CoverOpenError;
  92. break;
  93. case output_area_full_error:
  94. printerStateReason = ECopyComponent.ICopyDeviceStatusListener.PrinterStateReason.OutputAreaFullError;
  95. break;
  96. case other_error:
  97. printerStateReason = ECopyComponent.ICopyDeviceStatusListener.PrinterStateReason.OtherError;
  98. break;
  99. case marker_supply_low_warning:
  100. printerStateReason = ECopyComponent.ICopyDeviceStatusListener.PrinterStateReason.MarkerSupplyLowWarning;
  101. break;
  102. case cover_open:
  103. printerStateReason = ECopyComponent.ICopyDeviceStatusListener.PrinterStateReason.CoverOpen;
  104. break;
  105. default:
  106. printerStateReason = ECopyComponent.ICopyDeviceStatusListener.PrinterStateReason.OtherError;
  107. break;
  108. }
  109. printerStateReason.string = next.string;
  110. arrayList2.add(printerStateReason);
  111. }
  112. return arrayList2;
  113. }
  114. private ArrayList<ECopyComponent.ICopyDeviceStatusListener.ScannerStateReason> getScannerErrorReasons() {
  115. ArrayList<ECopyComponent.ICopyDeviceStatusListener.ScannerStateReason> arrayList = new ArrayList<>();
  116. ECopyComponent.ICopyDeviceStatusListener.ScannerStateReason scannerStateReason = ECopyComponent.ICopyDeviceStatusListener.ScannerStateReason.OtherError;
  117. scannerStateReason.string = ERemoteOperation.ERemoteParam.other_error.string;
  118. arrayList.add(scannerStateReason);
  119. return arrayList;
  120. }
  121. private ArrayList<ECopyComponent.ICopyDeviceStatusListener.ScannerStateReason> getScannerReasons(ArrayList<ERemoteOperation.ERemoteParam> arrayList) {
  122. ECopyComponent.ICopyDeviceStatusListener.ScannerStateReason scannerStateReason;
  123. ArrayList<ECopyComponent.ICopyDeviceStatusListener.ScannerStateReason> arrayList2 = new ArrayList<>();
  124. Iterator<ERemoteOperation.ERemoteParam> it = arrayList.iterator();
  125. while (it.hasNext()) {
  126. ERemoteOperation.ERemoteParam next = it.next();
  127. ECopyComponent.ICopyDeviceStatusListener.ScannerStateReason scannerStateReason2 = ECopyComponent.ICopyDeviceStatusListener.ScannerStateReason.None;
  128. int i = C22033.f378xed9088c4[next.ordinal()];
  129. if (i == 4) {
  130. scannerStateReason = ECopyComponent.ICopyDeviceStatusListener.ScannerStateReason.None;
  131. } else if (i == 12) {
  132. scannerStateReason = ECopyComponent.ICopyDeviceStatusListener.ScannerStateReason.OtherError;
  133. } else if (i != 15) {
  134. switch (i) {
  135. case 7:
  136. scannerStateReason = ECopyComponent.ICopyDeviceStatusListener.ScannerStateReason.MediaJamError;
  137. break;
  138. case 8:
  139. scannerStateReason = ECopyComponent.ICopyDeviceStatusListener.ScannerStateReason.MediaEmptyError;
  140. break;
  141. default:
  142. scannerStateReason = ECopyComponent.ICopyDeviceStatusListener.ScannerStateReason.OtherError;
  143. break;
  144. }
  145. } else {
  146. scannerStateReason = ECopyComponent.ICopyDeviceStatusListener.ScannerStateReason.MediaSizeMissmatchError;
  147. }
  148. scannerStateReason.string = next.string;
  149. arrayList2.add(scannerStateReason);
  150. }
  151. return arrayList2;
  152. }
  153. private ArrayList<String> getJobTokens() {
  154. ERemoteCopy eRemoteCopy = new ERemoteCopy();
  155. eRemoteCopy.setHostIP(this.operation.getHostIP());
  156. eRemoteCopy.setRequestConnectionTimeout(this.operation.getRequestConnectionTimeout());
  157. ERemoteCopy.ERemoteCopyStatusResult status = eRemoteCopy.getStatus(new ERemoteCopy.IRemoteCopyStatusParameter() {
  158. public String job_token() {
  159. return "";
  160. }
  161. public String client_id() {
  162. return RemoteDeviceTask.this.clientID;
  163. }
  164. public ArrayList<ERemoteOperation.ERemoteParam> keys() {
  165. ArrayList<ERemoteOperation.ERemoteParam> arrayList = new ArrayList<>();
  166. arrayList.add(ERemoteOperation.ERemoteParam.job_tokens);
  167. return arrayList;
  168. }
  169. });
  170. if (status.success()) {
  171. return status.job_tokens();
  172. }
  173. return new ArrayList<>();
  174. }
  175. /* access modifiers changed from: protected */
  176. public Result doInBackground(Void... voidArr) {
  177. this.operation.setHostIP(this.systemSettings.getPrinterIPAddress());
  178. ERemoteDevice.ERemoteDeviceStatusResult status = this.operation.getStatus(new ERemoteOperation.IRemoteStatusParameter() {
  179. public String client_id() {
  180. return RemoteDeviceTask.this.clientID;
  181. }
  182. public ArrayList<ERemoteOperation.ERemoteParam> keys() {
  183. ArrayList<ERemoteOperation.ERemoteParam> arrayList = new ArrayList<>();
  184. arrayList.add(ERemoteOperation.ERemoteParam.printer_state);
  185. arrayList.add(ERemoteOperation.ERemoteParam.printer_state_reasons);
  186. arrayList.add(ERemoteOperation.ERemoteParam.scanner_state);
  187. arrayList.add(ERemoteOperation.ERemoteParam.scanner_state_reasons);
  188. return arrayList;
  189. }
  190. });
  191. Result result = new Result();
  192. if (status.success()) {
  193. result.connetion = ECopyComponent.ICopyDeviceStatusListener.Connection.Succeed;
  194. result.printer = getDeviceState(status.printer_state());
  195. result.scanner = getDeviceState(status.scanner_state());
  196. result.printerReasons = getPrinterReasons(status.printer_state_reasons());
  197. result.scannerReasons = getScannerReasons(status.scanner_state_reasons());
  198. result.jobTokens = getJobTokens();
  199. } else {
  200. result.connetion = ECopyComponent.ICopyDeviceStatusListener.Connection.Failed;
  201. result.printer = ECopyComponent.ICopyDeviceStatusListener.DeviceState.Stopped;
  202. result.scanner = ECopyComponent.ICopyDeviceStatusListener.DeviceState.Stopped;
  203. result.printerReasons = getPrinterErrorReasons();
  204. result.scannerReasons = getScannerErrorReasons();
  205. result.jobTokens = new ArrayList<>();
  206. }
  207. return result;
  208. }
  209. /* access modifiers changed from: protected */
  210. public void onPostExecute(Result result) {
  211. this.statusListener.onDeviceStatus(result.connetion, result.printer, result.scanner, result.printerReasons, result.scannerReasons, result.jobTokens);
  212. }
  213. }