PhotoPreviewImageList.java 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. package epson.print.phlayout;
  2. import java.util.ArrayList;
  3. import java.util.Iterator;
  4. import epson.print.EPImage;
  5. public class PhotoPreviewImageList {
  6. private ArrayList<EpImageWrapper> mEpImageWrapperList = new ArrayList<>();
  7. private ArrayList<LayoutInfo> mLayoutInfoList = new ArrayList<>();
  8. public void clearExceptSrcFileName() {
  9. }
  10. public int size() {
  11. return mEpImageWrapperList.size();
  12. }
  13. public void add(@NonNull String str, int i) {
  14. add(new EpImageWrapper(str, (String) null, i));
  15. }
  16. public void add(@NonNull EpImageWrapper epImageWrapper) {
  17. mEpImageWrapperList.add(epImageWrapper);
  18. mLayoutInfoList.add(new LayoutInfo());
  19. }
  20. public void addOrgNameEpOrgName(@NonNull EpImageWrapper epImageWrapper) {
  21. mEpImageWrapperList.add(new EpImageWrapper(epImageWrapper.epImage.getOriginalFileName(), epImageWrapper.orgFilename, epImageWrapper.epImage.index));
  22. mLayoutInfoList.add(new LayoutInfo());
  23. }
  24. public void setList(@Nullable ArrayList<EpImageWrapper> arrayList) {
  25. clear();
  26. if (arrayList != null) {
  27. Iterator<EpImageWrapper> it = arrayList.iterator();
  28. while (it.hasNext()) {
  29. addOrgNameEpOrgName(it.next());
  30. }
  31. }
  32. }
  33. @NonNull
  34. public ArrayList<String> getGalleryFileList() {
  35. ArrayList<String> arrayList = new ArrayList<>();
  36. for (int i = 0; i < size(); i++) {
  37. EPImage ePImage = mEpImageWrapperList.get(i).epImage;
  38. if (ePImage == null) {
  39. arrayList.add((Object) null);
  40. } else {
  41. arrayList.add(ePImage.getOriginalFileName());
  42. }
  43. }
  44. return arrayList;
  45. }
  46. @Nullable
  47. public EPImage get(int i) {
  48. return mEpImageWrapperList.get(i).epImage;
  49. }
  50. public ArrayList<String> getArgumentFileList() {
  51. ArrayList<String> arrayList = new ArrayList<>();
  52. Iterator<EpImageWrapper> it = mEpImageWrapperList.iterator();
  53. while (it.hasNext()) {
  54. arrayList.add(it.next().getArgumentFilename());
  55. }
  56. return arrayList;
  57. }
  58. public void set(int i, @NonNull EPImage ePImage) {
  59. mEpImageWrapperList.get(i).epImage = ePImage;
  60. }
  61. public void clear() {
  62. mEpImageWrapperList.clear();
  63. mLayoutInfoList.clear();
  64. }
  65. public void remove(int i) {
  66. mEpImageWrapperList.remove(i);
  67. mLayoutInfoList.remove(i);
  68. }
  69. @NonNull
  70. public Element getElement(int i) {
  71. if (i >= 0 && i <= mEpImageWrapperList.size()) {
  72. return new Element(i);
  73. }
  74. throw new IndexOutOfBoundsException();
  75. }
  76. private static class LayoutInfo {
  77. int fitMode = 0;
  78. LayoutInfo() {
  79. }
  80. }
  81. public class Element {
  82. private int mIndex;
  83. @VisibleForTesting
  84. Element(int i) {
  85. mIndex = i;
  86. }
  87. public EPImage getEPImage() {
  88. return get(mIndex);
  89. }
  90. public void setFitMode(int i) {
  91. ((LayoutInfo) mLayoutInfoList.get(mIndex)).fitMode = i;
  92. }
  93. public int getFitMode() {
  94. return ((LayoutInfo) mLayoutInfoList.get(mIndex)).fitMode;
  95. }
  96. }
  97. public static class EpImageWrapper {
  98. public EPImage epImage;
  99. public String orgFilename;
  100. public EpImageWrapper(@NonNull String str, @Nullable String str2, int i) {
  101. epImage = new EPImage(str, i);
  102. orgFilename = str2;
  103. }
  104. public String getArgumentFilename() {
  105. String str = orgFilename;
  106. if (str != null) {
  107. return str;
  108. }
  109. return epImage.getOriginalFileName();
  110. }
  111. }
  112. }