EscprLibPrinter.java 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. package com.epson.memcardacc;
  2. import android.content.Context;
  3. import com.epson.mobilephone.common.EpLog;
  4. import com.epson.mobilephone.common.maintain2.MaintainPrinter2;
  5. import epson.print.MyPrinter;
  6. public class EscprLibPrinter {
  7. public static final int ERROR_PRINTER_CONNECTION = 2;
  8. public static final int ERROR_PRINTER_LOCATION = 1;
  9. public static final int NO_ERROR = 0;
  10. public static final int STATUS_BUSY = 2;
  11. public static final int STATUS_CANCELLING = 3;
  12. public static final int STATUS_ERROR = 4;
  13. public static final int STATUS_IDEL = 0;
  14. public static final int STATUS_PRINTING = 1;
  15. MaintainPrinter2 mMaintainPrinter;
  16. public int init(Context context, int i, boolean z) {
  17. EpLog.m76i();
  18. MyPrinter currentPrinter = getCurrentPrinter(context);
  19. String printerId = currentPrinter.getPrinterId();
  20. String ip = currentPrinter.getIp();
  21. int location = currentPrinter.getLocation();
  22. if (location != 1 && location != 3) {
  23. return 1;
  24. }
  25. this.mMaintainPrinter = getMaintainPrinter();
  26. this.mMaintainPrinter.doInitDriver(context, 2);
  27. if (this.mMaintainPrinter.doProbePrinter(i, printerId, ip, location) != 0) {
  28. this.mMaintainPrinter = null;
  29. return 2;
  30. } else if (this.mMaintainPrinter.doSetPrinter() != 0) {
  31. this.mMaintainPrinter = null;
  32. return 2;
  33. } else if (location == 1) {
  34. String doGetIp = this.mMaintainPrinter.doGetIp();
  35. if (ip.equals(doGetIp) || !z) {
  36. return 0;
  37. }
  38. currentPrinter.setIp(doGetIp);
  39. currentPrinter.setCurPrinter(context);
  40. return 0;
  41. } else if (location != 3 || printerId.equals(this.mMaintainPrinter.doGetId())) {
  42. return 0;
  43. } else {
  44. this.mMaintainPrinter = null;
  45. return 2;
  46. }
  47. }
  48. public int getStatus() {
  49. if (this.mMaintainPrinter.doGetStatus() != 0) {
  50. return 4;
  51. }
  52. switch (this.mMaintainPrinter.getMPrinterInfor().getMStatus()[0]) {
  53. case 0:
  54. return 0;
  55. case 1:
  56. return 1;
  57. case 2:
  58. return 2;
  59. case 3:
  60. return 3;
  61. default:
  62. return 4;
  63. }
  64. }
  65. public void release() {
  66. if (this.mMaintainPrinter != null) {
  67. this.mMaintainPrinter = null;
  68. }
  69. }
  70. public static int checkIdleOrError(Context context, int i) {
  71. EscprLibPrinter escprLibPrinter = new EscprLibPrinter();
  72. if (escprLibPrinter.init(context, i, false) != 0) {
  73. return 1;
  74. }
  75. int status = escprLibPrinter.getStatus();
  76. escprLibPrinter.release();
  77. if (status == 0 || status == 4) {
  78. return 0;
  79. }
  80. return 2;
  81. }
  82. private MyPrinter getCurrentPrinter(Context context) {
  83. return MyPrinter.getCurPrinter(context);
  84. }
  85. private MaintainPrinter2 getMaintainPrinter() {
  86. return MaintainPrinter2.getInstance();
  87. }
  88. }