RemoteCopyGetOptionTask.java 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  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 epson.print.copy.Component.eremoteoperation.ERemotePrinter;
  8. import epson.print.copy.Component.eremoteoperation.ERemoteScanner;
  9. import java.util.Iterator;
  10. class RemoteCopyGetOptionTask extends AsyncTask<Void, Void, Result> implements ECopyComponent.ITask {
  11. String clientID;
  12. ECopyComponent.ICopyOptionContextListener contextListener;
  13. ECopyComponent.ECopyType copyType;
  14. ERemoteCopy operation = new ERemoteCopy();
  15. ECopyComponent.ICopySystemSettings systemSettings;
  16. public void setOptionContext(ECopyOptionContext eCopyOptionContext) {
  17. }
  18. class Result {
  19. ECopyComponent.ECopyType copyType;
  20. ECopyComponent.ICopyOptionContextListener.ContextCreationError error;
  21. ECopyOptionContext optionContext;
  22. Result() {
  23. }
  24. }
  25. public RemoteCopyGetOptionTask(ECopyComponent.ECopyType eCopyType, ECopyComponent.ICopyOptionContextListener iCopyOptionContextListener) {
  26. this.copyType = eCopyType;
  27. this.contextListener = iCopyOptionContextListener;
  28. }
  29. public ECopyComponent.ICopyCancelRequest start() {
  30. super.execute(new Void[0]);
  31. return null;
  32. }
  33. public void setSystemSettings(ECopyComponent.ICopySystemSettings iCopySystemSettings) {
  34. this.systemSettings = iCopySystemSettings;
  35. }
  36. public void setRequestConnectionTimeout(int i) {
  37. this.operation.setRequestConnectionTimeout(i);
  38. }
  39. public void setClientID(String str) {
  40. this.clientID = str;
  41. }
  42. private Result getErrorResult(ERemoteOperation.ERemoteOperationResult eRemoteOperationResult) {
  43. Result result = new Result();
  44. if (eRemoteOperationResult.isNull(ERemoteOperation.ERemoteParam.success)) {
  45. result.error = ECopyComponent.ICopyOptionContextListener.ContextCreationError.ErrorCommunication;
  46. } else {
  47. result.error = ECopyComponent.ICopyOptionContextListener.ContextCreationError.Error;
  48. }
  49. return result;
  50. }
  51. private Result checkDeviceError() {
  52. Result result = new Result();
  53. result.copyType = this.copyType;
  54. ERemoteDevice eRemoteDevice = new ERemoteDevice();
  55. eRemoteDevice.setHostIP(this.operation.getHostIP());
  56. eRemoteDevice.setRequestConnectionTimeout(this.operation.getRequestConnectionTimeout());
  57. ERemoteDevice.ERemoteDeviceFunctionsResult functions = eRemoteDevice.getFunctions(new ERemoteOperation.IRemoteOperationParameter() {
  58. public String client_id() {
  59. return RemoteCopyGetOptionTask.this.clientID;
  60. }
  61. });
  62. if (!functions.success()) {
  63. return getErrorResult(functions);
  64. }
  65. boolean z = false;
  66. Iterator<ERemoteOperation.ERemoteParam> it = functions.functions().iterator();
  67. while (true) {
  68. if (it.hasNext()) {
  69. if (it.next() == ERemoteOperation.ERemoteParam.copy) {
  70. z = true;
  71. break;
  72. }
  73. } else {
  74. break;
  75. }
  76. }
  77. if (!z) {
  78. result.error = ECopyComponent.ICopyOptionContextListener.ContextCreationError.ErrorNotCopySupported;
  79. return result;
  80. }
  81. ERemotePrinter eRemotePrinter = new ERemotePrinter();
  82. eRemotePrinter.setHostIP(this.operation.getHostIP());
  83. eRemotePrinter.setRequestConnectionTimeout(this.operation.getRequestConnectionTimeout());
  84. ERemotePrinter.ERemotePrinterComponentsResult components = eRemotePrinter.getComponents(new ERemoteOperation.IRemoteOperationParameter() {
  85. public String client_id() {
  86. return RemoteCopyGetOptionTask.this.clientID;
  87. }
  88. });
  89. if (!components.success()) {
  90. return getErrorResult(components);
  91. }
  92. ERemoteScanner eRemoteScanner = new ERemoteScanner();
  93. eRemoteScanner.setHostIP(this.operation.getHostIP());
  94. eRemoteScanner.setRequestConnectionTimeout(this.operation.getRequestConnectionTimeout());
  95. ERemoteScanner.ERemoteScannerComponentsResult components2 = eRemoteScanner.getComponents(new ERemoteOperation.IRemoteOperationParameter() {
  96. public String client_id() {
  97. return RemoteCopyGetOptionTask.this.clientID;
  98. }
  99. });
  100. if (!components2.success()) {
  101. return getErrorResult(components2);
  102. }
  103. return null;
  104. }
  105. /* access modifiers changed from: protected */
  106. public Result doInBackground(Void... voidArr) {
  107. this.operation.setHostIP(this.systemSettings.getPrinterIPAddress());
  108. Result checkDeviceError = checkDeviceError();
  109. if (checkDeviceError != null) {
  110. return checkDeviceError;
  111. }
  112. Result result = new Result();
  113. result.copyType = this.copyType;
  114. ERemoteCopy.ERemoteCopyOptionsResult selectableOptions = this.operation.getSelectableOptions();
  115. if (selectableOptions.success()) {
  116. result.optionContext = new ECopyOptionContext(result.copyType);
  117. result.optionContext.setCopyOptionsResult(selectableOptions);
  118. result.optionContext.add(ECopyOptionItem.createOptionItem(ERemoteOperation.ERemoteParam.print_media_size, selectableOptions));
  119. result.optionContext.add(ECopyOptionItem.createOptionItem(ERemoteOperation.ERemoteParam.print_media_type, selectableOptions));
  120. result.optionContext.add(ECopyOptionItem.createOptionItem(ERemoteOperation.ERemoteParam.print_media_source, selectableOptions));
  121. result.optionContext.add(ECopyOptionItem.createOptionItem(ERemoteOperation.ERemoteParam.print_quality, selectableOptions));
  122. result.optionContext.add(ECopyOptionItem.createOptionItem(ERemoteOperation.ERemoteParam.scan_content_type, selectableOptions));
  123. ECopyOptionItem createScaleOptionItem = ECopyOptionItem.createScaleOptionItem(ERemoteOperation.ERemoteParam.x_scale, selectableOptions);
  124. ECopyOptionItem createLocalOptionItem = ECopyOptionItem.createLocalOptionItem(ERemoteOperation.ERemoteParam.copy_magnification, 25, 400, ECopyOptionItem.CopyMagnificationAutofitValue);
  125. createLocalOptionItem.numberRange.exceptionValue = ECopyOptionItem.CopyMagnificationAutofitValue;
  126. result.optionContext.add(createScaleOptionItem);
  127. result.optionContext.add(createLocalOptionItem);
  128. boolean z = true;
  129. result.optionContext.add(ECopyOptionItem.createLocalOptionItem(ERemoteOperation.ERemoteParam.copies, 1, 99, 1));
  130. result.optionContext.add(ECopyOptionItem.createLocalOptionItem(ERemoteOperation.ERemoteParam.x_density, -4, 4, 0));
  131. result.optionContext.add(ECopyOptionItem.createLocalOptionItem(ERemoteOperation.ERemoteParam.color_effects_type, selectableOptions));
  132. ECopyOptionItem createLocalOptionItem2 = ECopyOptionItem.createLocalOptionItem(ERemoteOperation.ERemoteParam.print_x_bleed, selectableOptions);
  133. if (result.copyType != ECopyComponent.ECopyType.Borderless) {
  134. z = false;
  135. }
  136. createLocalOptionItem2.enabled = z;
  137. result.optionContext.add(createLocalOptionItem2);
  138. } else if (selectableOptions.isNull(ERemoteOperation.ERemoteParam.success)) {
  139. result.error = ECopyComponent.ICopyOptionContextListener.ContextCreationError.ErrorCommunication;
  140. } else {
  141. result.error = ECopyComponent.ICopyOptionContextListener.ContextCreationError.Error;
  142. }
  143. return result;
  144. }
  145. /* access modifiers changed from: protected */
  146. public void onPostExecute(Result result) {
  147. this.contextListener.onCopyOptionContextCreated(result.copyType, result.optionContext, result.error);
  148. }
  149. }