RemoteCopyPhotoGetOptionTask.java 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  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.ERemoteCopyPhoto;
  5. import epson.print.copy.Component.eremoteoperation.ERemoteOperation;
  6. import java.util.ArrayList;
  7. class RemoteCopyPhotoGetOptionTask extends AsyncTask<Void, Void, Result> implements ECopyComponent.ITask {
  8. String clientID;
  9. ECopyComponent.ICopyOptionContextListener contextListener;
  10. ECopyComponent.ECopyType copyType;
  11. ERemoteCopyPhoto operation = new ERemoteCopyPhoto();
  12. ECopyOptionContext optionContext;
  13. ECopyComponent.ICopySystemSettings systemSettings;
  14. class Result {
  15. ECopyComponent.ECopyType copyType;
  16. ECopyComponent.ICopyOptionContextListener.ContextCreationError error;
  17. ECopyOptionContext optionContext;
  18. Result() {
  19. }
  20. }
  21. public RemoteCopyPhotoGetOptionTask(ECopyComponent.ECopyType eCopyType, ECopyComponent.ICopyOptionContextListener iCopyOptionContextListener) {
  22. this.copyType = eCopyType;
  23. this.contextListener = iCopyOptionContextListener;
  24. }
  25. public ECopyComponent.ICopyCancelRequest start() {
  26. super.execute(new Void[0]);
  27. return null;
  28. }
  29. public void setOptionContext(ECopyOptionContext eCopyOptionContext) {
  30. this.optionContext = eCopyOptionContext;
  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. protected Result doInBackground(Void... voidArr) {
  42. this.operation.setHostIP(this.systemSettings.getPrinterIPAddress());
  43. Result result = new Result();
  44. result.copyType = this.copyType;
  45. final ERemoteCopyPhoto.ERemoteCopyPhotoOptionResult selectableOptions = this.operation.getSelectableOptions();
  46. if (!selectableOptions.success()) {
  47. if (selectableOptions.isNull(ERemoteOperation.ERemoteParam.success)) {
  48. result.error = ECopyComponent.ICopyOptionContextListener.ContextCreationError.ErrorCommunication;
  49. } else {
  50. result.error = ECopyComponent.ICopyOptionContextListener.ContextCreationError.Error;
  51. }
  52. return result;
  53. }
  54. ERemoteCopyPhoto.ERemoteCopyPhotoOptionResult options = this.operation.getOptions(new ERemoteCopyPhoto.IRemoteCopyPhotoOptionsParameter() {
  55. public boolean default_as_fixed() {
  56. return true;
  57. }
  58. public String client_id() {
  59. return RemoteCopyPhotoGetOptionTask.this.clientID;
  60. }
  61. public ERemoteOperation.ERemoteParam layout() {
  62. return selectableOptions.parameter_default(ERemoteOperation.ERemoteParam.layout);
  63. }
  64. public ERemoteOperation.ERemoteParam print_media_type() {
  65. return selectableOptions.parameter_default(ERemoteOperation.ERemoteParam.print_media_type);
  66. }
  67. public ERemoteOperation.ERemoteParam print_media_size() {
  68. return selectableOptions.parameter_default(ERemoteOperation.ERemoteParam.print_media_size);
  69. }
  70. public ERemoteOperation.ERemoteParam print_quality() {
  71. return selectableOptions.parameter_default(ERemoteOperation.ERemoteParam.print_quality);
  72. }
  73. public ERemoteOperation.ERemoteParam print_media_source() {
  74. return selectableOptions.parameter_default(ERemoteOperation.ERemoteParam.print_media_source);
  75. }
  76. public ERemoteOperation.ERemoteParam x_apf() {
  77. return selectableOptions.parameter_default(ERemoteOperation.ERemoteParam.x_apf);
  78. }
  79. public ArrayList<ERemoteOperation.ERemoteParam> fixed_parameters() {
  80. return new ArrayList<>();
  81. }
  82. public ArrayList<ERemoteOperation.ERemoteParam> preferred_parameters() {
  83. return new ArrayList<>();
  84. }
  85. public ArrayList<ERemoteOperation.ERemoteParam> priority_order() {
  86. ArrayList<ERemoteOperation.ERemoteParam> arrayList = new ArrayList<>();
  87. arrayList.add(ERemoteOperation.ERemoteParam.layout);
  88. arrayList.add(ERemoteOperation.ERemoteParam.print_media_size);
  89. arrayList.add(ERemoteOperation.ERemoteParam.print_media_type);
  90. arrayList.add(ERemoteOperation.ERemoteParam.x_apf);
  91. arrayList.add(ERemoteOperation.ERemoteParam.print_quality);
  92. arrayList.add(ERemoteOperation.ERemoteParam.print_media_source);
  93. return arrayList;
  94. }
  95. });
  96. if (options.success()) {
  97. result.optionContext = new ECopyOptionContext(this.copyType);
  98. result.optionContext.setCopyOptionsResult(options);
  99. result.optionContext.add(ECopyOptionItem.createOptionItem(ERemoteOperation.ERemoteParam.print_media_size, options));
  100. result.optionContext.add(ECopyOptionItem.createOptionItem(ERemoteOperation.ERemoteParam.print_media_type, options));
  101. result.optionContext.add(ECopyOptionItem.createOptionItem(ERemoteOperation.ERemoteParam.print_media_source, options));
  102. result.optionContext.add(ECopyOptionItem.createOptionItem(ERemoteOperation.ERemoteParam.print_quality, options));
  103. result.optionContext.add(ECopyOptionItem.createOptionItem(ERemoteOperation.ERemoteParam.x_apf, options));
  104. result.optionContext.add(ECopyOptionItem.createOptionItem(ERemoteOperation.ERemoteParam.x_borderless, options));
  105. result.optionContext.add(ECopyOptionItem.createLocalOptionItem(ERemoteOperation.ERemoteParam.x_color_restoration, options));
  106. result.optionContext.add(ECopyOptionItem.createLocalOptionItem(ERemoteOperation.ERemoteParam.print_x_bleed, options));
  107. result.optionContext.add(ECopyOptionItem.createLocalOptionItem(ERemoteOperation.ERemoteParam.color_effects_type, options));
  108. } else if (options.isNull(ERemoteOperation.ERemoteParam.success)) {
  109. result.error = ECopyComponent.ICopyOptionContextListener.ContextCreationError.ErrorCommunication;
  110. } else {
  111. result.error = ECopyComponent.ICopyOptionContextListener.ContextCreationError.Error;
  112. }
  113. return result;
  114. }
  115. protected void onPostExecute(Result result) {
  116. this.contextListener.onCopyOptionContextCreated(result.copyType, result.optionContext, result.error);
  117. }
  118. }