PrintSettingDependencyBuilder.java 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. package epson.print.inkrpln;
  2. import android.content.Context;
  3. import com.epson.mobilephone.common.maintain2.MaintainPrinter2;
  4. import epson.print.IprintApplication;
  5. public class PrintSettingDependencyBuilder extends DependencyBuilder {
  6. private final String mEscprLibPrinterId;
  7. private final String mPrinterIpAddress;
  8. private final int mPrinterLocation;
  9. private final String mPrinterModelName;
  10. private final String mPrinterSerialNumber;
  11. public PrintSettingDependencyBuilder(String str, String str2, String str3, int i, String str4) {
  12. mEscprLibPrinterId = str;
  13. mPrinterIpAddress = str2;
  14. mPrinterSerialNumber = str3;
  15. mPrinterLocation = i;
  16. mPrinterModelName = str4;
  17. }
  18. public PrinterAdapter createPrinterAdapter() {
  19. return new PsPrinterAdapter();
  20. }
  21. public InkRplnRepository createInkRplnRepository() {
  22. return new InkRplnRepository(true);
  23. }
  24. class PsPrinterAdapter extends PrinterAdapter {
  25. PsPrinterAdapter() {
  26. }
  27. public String getSerialNo(@NonNull Context context) {
  28. return mPrinterSerialNumber;
  29. }
  30. public String getNonRemotePrinterDeviceId(@NonNull Context context) {
  31. return mPrinterModelName;
  32. }
  33. public boolean isRemotePrinter(@NonNull Context context) {
  34. return mPrinterLocation == 2;
  35. }
  36. public void activateEma() {
  37. MaintainPrinter2 instance = MaintainPrinter2.getInstance();
  38. instance.doInitDriver(IprintApplication.getInstance(), 2);
  39. if (instance.doProbePrinter(60, mEscprLibPrinterId, mPrinterIpAddress, mPrinterLocation) == 0) {
  40. instance.setMSearchPos(0);
  41. instance.doSetPrinter();
  42. super.activateEma();
  43. }
  44. }
  45. }
  46. }