ECopyComponent.java 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252
  1. package epson.print.rpcopy.Component.ecopycomponent;
  2. import android.content.Context;
  3. import com.epson.mobilephone.common.wifidirect.ActivityControlWiFi;
  4. import java.util.ArrayList;
  5. import java.util.HashMap;
  6. import java.util.Iterator;
  7. import epson.common.Utils;
  8. public final class ECopyComponent {
  9. String clientID;
  10. ICopyOptionListener optionChangedListener;
  11. ECopyOptionContext optionContext = new ECopyOptionContext();
  12. HashMap<Property, Object> properties = new HashMap<>();
  13. ICopySystemSettings systemSettings;
  14. public enum ECopyType {
  15. Standard,
  16. Borderless,
  17. A4_2up,
  18. B5_2up,
  19. A4_2up_Book,
  20. B5_2up_Book,
  21. Mirror,
  22. Photo
  23. }
  24. public interface ICopyCancelRequest {
  25. void cancel();
  26. }
  27. interface ICopyInvalidateResumeRequest extends ICopyResumeRequest {
  28. void invalidate();
  29. }
  30. public interface ICopyOptionContextListener {
  31. public enum ContextCreationError {
  32. ErrorCommunication,
  33. ErrorNotCopySupported,
  34. Error
  35. }
  36. void onCopyOptionContextCreated(ECopyType eCopyType, ECopyOptionContext eCopyOptionContext, ContextCreationError contextCreationError);
  37. }
  38. public interface ICopyOptionListener {
  39. public enum CopyOptionChangedError {
  40. ErrorCommunication,
  41. ErrorInvalidOption,
  42. Error
  43. }
  44. void onCopyOptionChanged(ECopyOptionItem eCopyOptionItem, ArrayList<ECopyOptionItem> arrayList, CopyOptionChangedError copyOptionChangedError);
  45. }
  46. public interface ICopyStatusListener {
  47. public enum CopyTaskProgress {
  48. Copying,
  49. Waiting2ndPage,
  50. Canceling,
  51. Scanning,
  52. Stopped,
  53. Processing
  54. }
  55. public enum CopyTaskResult {
  56. Succeed,
  57. Canceled,
  58. Busy,
  59. ErrorInvalidOption,
  60. ErrorCommunication,
  61. RemoveAdfPaper,
  62. ErrorOther
  63. }
  64. public enum CopyTaskType {
  65. Preview,
  66. Copy
  67. }
  68. void onFinished(CopyTaskType copyTaskType, CopyTaskResult copyTaskResult);
  69. void onProcessed(CopyTaskType copyTaskType, int i, int i2, CopyTaskProgress copyTaskProgress, ICopyResumeRequest iCopyResumeRequest);
  70. void onStarted(CopyTaskType copyTaskType);
  71. }
  72. public interface ICopySystemSettings {
  73. String getPrinterIPAddress();
  74. int getThickPaper();
  75. }
  76. protected interface ITask {
  77. void setClientID(String str);
  78. void setOptionContext(ECopyOptionContext eCopyOptionContext);
  79. void setRequestConnectionTimeout(int i);
  80. void setSystemSettings(ICopySystemSettings iCopySystemSettings);
  81. ICopyCancelRequest start();
  82. }
  83. public enum Property {
  84. RequestConnectionTimeout
  85. }
  86. ECopyComponent() {
  87. properties.put(Property.RequestConnectionTimeout, Integer.valueOf(ActivityControlWiFi.SCANNING_TIMEOUT));
  88. systemSettings = new ICopySystemSettings() {
  89. public String getPrinterIPAddress() {
  90. return "192.168.10.1";
  91. }
  92. public int getThickPaper() {
  93. return 0;
  94. }
  95. };
  96. }
  97. /* renamed from: epson.print.rpcopy.Component.ecopycomponent.ECopyComponent$2 */
  98. static /* synthetic */ class C22622 {
  99. /* renamed from: $SwitchMap$epson$print$rpcopy$Component$ecopycomponent$ECopyComponent$Property */
  100. static final /* synthetic */ int[] f392x2fb1f0b9 = new int[Property.values().length];
  101. static {
  102. try {
  103. f392x2fb1f0b9[Property.RequestConnectionTimeout.ordinal()] = 1;
  104. } catch (NoSuchFieldError unused) {
  105. }
  106. }
  107. }
  108. public void setProperty(Property property, int i) {
  109. if (C22622.f392x2fb1f0b9[property.ordinal()] == 1) {
  110. properties.put(property, Integer.valueOf(i));
  111. }
  112. }
  113. public void setSystemSettings(ICopySystemSettings iCopySystemSettings) {
  114. systemSettings = iCopySystemSettings;
  115. }
  116. static class ECopyComponentHolder {
  117. static final ECopyComponent instance = new ECopyComponent();
  118. ECopyComponentHolder() {
  119. }
  120. }
  121. public static ECopyComponent sharedComponent() {
  122. return ECopyComponentHolder.instance;
  123. }
  124. public void getRemoteOperationUUID(Context context) {
  125. clientID = Utils.getRemoteOperationUUID(context);
  126. }
  127. public interface ICopyResumeRequest {
  128. public enum ResumeState {
  129. NextPageReady,
  130. NextPageNotExist,
  131. ClearError,
  132. Cancel
  133. }
  134. StopReason getStopReason();
  135. boolean isPossibleClearError();
  136. void resume(ResumeState resumeState);
  137. public enum StopReason {
  138. None,
  139. ChangePage,
  140. PrinterMarkerSupplyEmptyError,
  141. PrinterMarkerWasteFullError,
  142. PrinterMediaJamError,
  143. PrinterMediaEmptyError,
  144. ManualfeedGuide,
  145. PrinterInputTrayMissingError,
  146. PrinterCoverOpenError,
  147. PrinterOutputAreaFullError,
  148. PrinterOtherError,
  149. ScannerMediaEmptyError,
  150. ScannerMediaJamError,
  151. ScannerMediaSizeMissmatchError,
  152. ScannerOtherError;
  153. String string;
  154. public String getDebugString() {
  155. return string;
  156. }
  157. }
  158. }
  159. public void bindCopyOptionContext(ECopyOptionContext eCopyOptionContext, ICopyOptionListener iCopyOptionListener) {
  160. optionContext = new ECopyOptionContext(eCopyOptionContext);
  161. optionChangedListener = iCopyOptionListener;
  162. }
  163. public ECopyOptionContext getBindedCopyOptionContext() {
  164. if (optionContext.isNull()) {
  165. return null;
  166. }
  167. return optionContext;
  168. }
  169. public ArrayList<ECopyOptionItem> getCopyOptionItems() {
  170. ArrayList<ECopyOptionItem> arrayList = new ArrayList<>();
  171. Iterator<ECopyOptionItem> it = optionContext.optionItems.iterator();
  172. while (it.hasNext()) {
  173. arrayList.add(new ECopyOptionItem(it.next()));
  174. }
  175. return arrayList;
  176. }
  177. public static void createCopyOptionContext(ECopyComponent eCopyComponent, ECopyType eCopyType, ICopyOptionContextListener iCopyOptionContextListener) {
  178. eCopyComponent.execute(new RemoteCopyGetOptionTask(eCopyType, iCopyOptionContextListener));
  179. }
  180. public void setCopyOptionItem(ECopyOptionItem eCopyOptionItem) {
  181. execute(new RemoteCopySetOptionTask(eCopyOptionItem, optionChangedListener));
  182. }
  183. public ICopyCancelRequest startCopy(ICopyStatusListener iCopyStatusListener, Context context) {
  184. return execute(new RemoteCopyTask(RemoteCopyTask.CopyMode.Copy, iCopyStatusListener, context));
  185. }
  186. public ICopyCancelRequest recoverCopy(String str, ICopyStatusListener iCopyStatusListener) {
  187. return execute(new RemoteCopyTask(RemoteCopyTask.CopyMode.Recover, str, iCopyStatusListener, (Context) null));
  188. }
  189. protected ICopyCancelRequest execute(ITask iTask) {
  190. iTask.setSystemSettings(systemSettings);
  191. iTask.setRequestConnectionTimeout(((Integer) properties.get(Property.RequestConnectionTimeout)).intValue());
  192. iTask.setClientID(clientID);
  193. iTask.setOptionContext(optionContext);
  194. return iTask.start();
  195. }
  196. }