ImageFolderInfo.java 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. package epson.print.imgsel;
  2. import java.util.ArrayList;
  3. import java.util.Comparator;
  4. class ImageFolderInfo {
  5. public static final int IMAGE_ID_MAX = 4;
  6. public String mCanonicalName;
  7. private int mImageCount;
  8. private ArrayList<Long> mImageIdList = new ArrayList<>();
  9. private ArrayList<String> mImageNameList = new ArrayList<>();
  10. private int mMiniDatabaseOrder;
  11. public ImageFolderInfo(String str) {
  12. mCanonicalName = str;
  13. mMiniDatabaseOrder = -1;
  14. }
  15. public boolean addImageLastIfPossible(long j, String str, int i) {
  16. if (mMiniDatabaseOrder < 0) {
  17. mMiniDatabaseOrder = i;
  18. }
  19. mImageCount++;
  20. if (mImageIdList.size() >= 4) {
  21. return false;
  22. }
  23. mImageIdList.add(Long.valueOf(j));
  24. mImageNameList.add(str);
  25. return true;
  26. }
  27. public long getId(int i) {
  28. if (i >= mImageIdList.size() || i < 0) {
  29. return -1;
  30. }
  31. return mImageIdList.get(i).longValue();
  32. }
  33. public String getFileName(int i) {
  34. if (i >= mImageNameList.size() || i < 0) {
  35. return null;
  36. }
  37. return mImageNameList.get(i);
  38. }
  39. public int getFileIdCount() {
  40. return mImageIdList.size();
  41. }
  42. public int getImageCount() {
  43. return mImageCount;
  44. }
  45. public int getMiniDatabaseOrder() {
  46. return mMiniDatabaseOrder;
  47. }
  48. static class DatabaseOrderComparator implements Comparator<ImageFolderInfo> {
  49. DatabaseOrderComparator() {
  50. }
  51. public int compare(ImageFolderInfo imageFolderInfo, ImageFolderInfo imageFolderInfo2) {
  52. int miniDatabaseOrder = imageFolderInfo.getMiniDatabaseOrder();
  53. int miniDatabaseOrder2 = imageFolderInfo2.getMiniDatabaseOrder();
  54. if (miniDatabaseOrder > miniDatabaseOrder2) {
  55. return 1;
  56. }
  57. return miniDatabaseOrder == miniDatabaseOrder2 ? 0 : -1;
  58. }
  59. }
  60. }