ApfEpImageAdapter.java 3.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. package com.epson.iprint.apf;
  2. import android.content.Context;
  3. import java.io.File;
  4. import java.util.Iterator;
  5. import epson.print.EPImage;
  6. import epson.print.EPImageList;
  7. import epson.print.service.PrintService;
  8. public class ApfEpImageAdapter {
  9. public interface ProgressCallback {
  10. boolean updateApfProgress(int i);
  11. }
  12. public static EPImageList getApfImageList(Context context, EPImageList ePImageList, PrintService printService) {
  13. int i;
  14. EPImage ePImage;
  15. String str;
  16. EPImageList ePImageList2 = ePImageList;
  17. PrintService printService2 = printService;
  18. if (ePImageList2 == null || ePImageList2.imageList == null) {
  19. return null;
  20. }
  21. ApfAdapter apfAdapter = new ApfAdapter(context);
  22. EPImageList ePImageList3 = new EPImageList();
  23. int size = ePImageList2.imageList.size();
  24. boolean z = ePImageList2.apfModeInPrinting == 1;
  25. boolean z2 = ePImageList.getSharpness() == 1;
  26. boolean z3 = ePImageList.getClearlyVivid() == 1;
  27. Iterator<EPImage> it = ePImageList2.imageList.iterator();
  28. int i2 = 0;
  29. while (it.hasNext()) {
  30. EPImage next = it.next();
  31. if (printService2 != null && !printService2.updateApfProgress((i2 * 100) / size)) {
  32. return null;
  33. }
  34. String apfFilename = apfAdapter.getApfFilename(next.loadImageFileName, ePImageList2.apfModeInPrinting, ePImageList.getSharpness(), ePImageList.getClearlyVivid());
  35. try {
  36. if (!new File(apfFilename).exists()) {
  37. str = apfFilename;
  38. ePImage = next;
  39. i = i2;
  40. if (!apfAdapter.processApf(next.loadImageFileName, apfFilename, z, z2, z3)) {
  41. return null;
  42. }
  43. } else {
  44. str = apfFilename;
  45. ePImage = next;
  46. i = i2;
  47. }
  48. String str2 = str;
  49. int i3 = i;
  50. EPImage ePImage2 = new EPImage(str2, i3);
  51. i2 = i3 + 1;
  52. EPImage ePImage3 = ePImage;
  53. copyPositionParams(ePImage3, ePImage2);
  54. ePImage2.setOrgName(ePImage3.loadImageFileName);
  55. ePImage2.loadImageFileName = str2;
  56. ePImageList3.add(ePImage2);
  57. } catch (OutOfMemoryError unused) {
  58. return null;
  59. } catch (Exception unused2) {
  60. return null;
  61. }
  62. }
  63. if (!printService2.updateApfProgress(100)) {
  64. return null;
  65. }
  66. return ePImageList3;
  67. }
  68. private static void copyPositionParams(EPImage ePImage, EPImage ePImage2) {
  69. ePImage2.previewPaperRectLeft = ePImage.previewPaperRectLeft;
  70. ePImage2.previewPaperRectTop = ePImage.previewPaperRectTop;
  71. ePImage2.previewPaperRectRight = ePImage.previewPaperRectRight;
  72. ePImage2.previewPaperRectBottom = ePImage.previewPaperRectBottom;
  73. ePImage2.previewImageRectLeft = ePImage.previewImageRectLeft;
  74. ePImage2.previewImageRectTop = ePImage.previewImageRectTop;
  75. ePImage2.previewImageRectRight = ePImage.previewImageRectRight;
  76. ePImage2.previewImageRectBottom = ePImage.previewImageRectBottom;
  77. ePImage2.previewWidth = ePImage.previewWidth;
  78. ePImage2.previewHeight = ePImage.previewHeight;
  79. ePImage2.isPaperLandScape = ePImage.isPaperLandScape;
  80. ePImage2.scaleFactor = ePImage.scaleFactor;
  81. ePImage2.previewImageRectCenterX = ePImage.previewImageRectCenterX;
  82. ePImage2.previewImageRectCenterY = ePImage.previewImageRectCenterY;
  83. }
  84. }