escprLib.java 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. package com.epson.mobilephone.common.wifidirect;
  2. import android.os.Bundle;
  3. import android.os.Handler;
  4. import android.os.Message;
  5. import java.security.MessageDigest;
  6. import java.security.NoSuchAlgorithmException;
  7. public class escprLib {
  8. public static final int EPS_ERR_COMM_ERROR = -1100;
  9. public static final int EPS_ERR_LIB_INTIALIZED = -1050;
  10. public static final int EPS_ERR_NONE = 0;
  11. public static final int EPS_ERR_PRINTER_NOT_FOUND = -1300;
  12. public static final int EPS_FIND_CANCELED = 42;
  13. public static final int EPS_PROTOCOL_LPR = 64;
  14. public static final int EPS_PROTOCOL_NET = 192;
  15. public static final int EPS_PROTOCOL_RAW = 128;
  16. public static final String PRINTER_FRIENDLYNAME = "friendlyname";
  17. public static final String PRINTER_ID = "id";
  18. public static final String PRINTER_IP = "ip";
  19. public static final String PRINTER_MACADDRESS = "mac";
  20. public static final String PRINTER_MANIFACTURER = "manufacturer";
  21. public static final String PRINTER_NAME = "name";
  22. public static final String PRINTER_PROTCOL = "protcol";
  23. public static final String PRINTER_SERIAL_NO = "serial_no";
  24. public static final String PRINTER_SUPPORTFUNC = "supportfunc";
  25. private String debugString;
  26. private Handler mHandler;
  27. int mIdFound;
  28. private boolean mIsSearch;
  29. private String printerList;
  30. public static class AutoGoTimeoutInfo {
  31. int cur;
  32. int max;
  33. int min;
  34. }
  35. public static class ConnectStrings {
  36. String friendlyName;
  37. String modelName;
  38. String password;
  39. String printerId;
  40. String printerIp;
  41. String serialNo;
  42. String ssid;
  43. }
  44. public native int epsWrapperCancelFindPrinter();
  45. public native int epsWrapperFindPrinter(int i, int i2);
  46. public native int epsWrapperGetAutoGoTimeOutValues(char[] cArr, AutoGoTimeoutInfo autoGoTimeoutInfo);
  47. public native int epsWrapperGetConnectStrings(byte[] bArr, ConnectStrings connectStrings);
  48. public native int epsWrapperGetSetupConnectStrings(ConnectStrings connectStrings);
  49. public native int epsWrapperInitDriver(int i);
  50. public native int epsWrapperReleaseDriver();
  51. public native int epsWrapperSetAutoGoTimeOut(char[] cArr, int i);
  52. public native int epsWrapperStartWifiDirect(char[] cArr);
  53. static {
  54. System.out.println("begin load escpr-wifidirect lib");
  55. System.loadLibrary("escpr-wifidirect");
  56. System.out.println("load escpr-wifidirect lib finish");
  57. }
  58. private void findPrinterCB() {
  59. String str = printerList;
  60. if (str != null && str.length() > 0) {
  61. String name = getClass().getName();
  62. EPLog.m87e(name, "EXTRACT Printer information: " + printerList);
  63. String[] split = printerList.split("\\|\\|");
  64. if (mIsSearch && mHandler != null) {
  65. Message obtain = Message.obtain();
  66. obtain.what = mIdFound;
  67. Bundle bundle = new Bundle();
  68. String str2 = "";
  69. if (split.length == 10 && split[9] != null) {
  70. str2 = split[9];
  71. }
  72. bundle.putInt(PRINTER_SUPPORTFUNC, Integer.parseInt(split[1]));
  73. bundle.putInt(PRINTER_PROTCOL, Integer.parseInt(split[2]));
  74. bundle.putString(PRINTER_MANIFACTURER, split[3]);
  75. bundle.putString("name", split[4]);
  76. bundle.putString(PRINTER_IP, split[5]);
  77. bundle.putString(PRINTER_FRIENDLYNAME, split[6]);
  78. bundle.putString(PRINTER_MACADDRESS, split[7]);
  79. bundle.putString("id", split[8]);
  80. bundle.putString(PRINTER_SERIAL_NO, str2);
  81. obtain.setData(bundle);
  82. mHandler.sendMessage(obtain);
  83. }
  84. }
  85. printerList = "";
  86. }
  87. private void javaDebugCB() {
  88. EPLog.m88i(getClass().getName(), debugString);
  89. debugString = "";
  90. }
  91. public void setHanlder(Handler handler, int i) {
  92. mHandler = handler;
  93. mIdFound = i;
  94. }
  95. public void setSearchStt(boolean z) {
  96. mIsSearch = z;
  97. }
  98. public static byte[] getMd5(byte[] bArr) {
  99. byte[] bArr2 = {0};
  100. try {
  101. MessageDigest instance = MessageDigest.getInstance("MD5");
  102. instance.update(bArr);
  103. return instance.digest();
  104. } catch (NoSuchAlgorithmException e) {
  105. e.printStackTrace();
  106. return bArr2;
  107. }
  108. }
  109. }