ActivityIpPrinterSetting.java 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244
  1. package epson.print.screen;
  2. import android.app.AlertDialog;
  3. import android.content.DialogInterface;
  4. import android.content.Intent;
  5. import android.os.AsyncTask;
  6. import android.os.Bundle;
  7. import android.os.Handler;
  8. import android.os.Message;
  9. import android.view.Menu;
  10. import android.view.MenuItem;
  11. import android.view.View;
  12. import android.view.ViewGroup;
  13. import android.widget.Button;
  14. import android.widget.TextView;
  15. import com.epson.mobilephone.common.escpr.MediaInfo;
  16. import com.epson.mobilephone.common.maintain2.MaintainPrinter2;
  17. import epson.common.Constants;
  18. import epson.common.Utils;
  19. import epson.print.ActivityIACommon;
  20. import epson.print.R;
  21. import epson.print.EPPrinterInfo;
  22. import epson.print.EPPrinterManager;
  23. import epson.print.Util.EPLog;
  24. import epson.scan.lib.escanLib;
  25. public class ActivityIpPrinterSetting extends ActivityIACommon {
  26. private static final String IPADDRESS_EXP = "^(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$";
  27. public static final int PRINTER = 0;
  28. private static final String PRINTER_ID = "id";
  29. private static final String PRINTER_NAME = "name";
  30. private static final String PRINTER_SERIAL_NO = "serial_no";
  31. public static final int SCANNER = 1;
  32. private static final String TAG = "ActivityIpPrinterSetting";
  33. static MaintainPrinter2 mPrinter = MaintainPrinter2.getInstance();
  34. static escanLib mScanner = new escanLib();
  35. private final int ADD_PRINTER = 0;
  36. private final int ADD_SCANNER = 8;
  37. Button clearPrinterIpAdressButton;
  38. Button clearPrinterNameButton;
  39. Handler mHandler = new Handler(new Handler.Callback() {
  40. public boolean handleMessage(Message message) {
  41. Bundle data = message.getData();
  42. int i = message.what;
  43. if (i == 0) {
  44. EPLog.w(ActivityIpPrinterSetting.TAG, "Recieve ADD_PRINTER");
  45. ActivityIpPrinterSetting.this.printerInfo.printerName = data.getString("name");
  46. ActivityIpPrinterSetting.this.printerInfo.printerID = data.getString("id");
  47. ActivityIpPrinterSetting.this.printerInfo.printerSerialNo = data.getString("serial_no");
  48. return false;
  49. } else if (i != 8) {
  50. return false;
  51. } else {
  52. EPLog.w(ActivityIpPrinterSetting.TAG, "Recieve ADD_SCANNER");
  53. ActivityIpPrinterSetting.this.printerInfo.scannerID = data.getString("id");
  54. return false;
  55. }
  56. }
  57. });
  58. EPPrinterManager manager;
  59. String oldItemKey = null;
  60. EPPrinterInfo printerInfo;
  61. TextView printerIpAdress;
  62. TextView printerName;
  63. ViewGroup printerNameArea;
  64. /* access modifiers changed from: protected */
  65. public void onCreate(Bundle bundle) {
  66. Bundle extras;
  67. super.onCreate(bundle);
  68. setContentView((int) R.layout.ipprinter_setting_layout);
  69. setActionBar((int) R.string.str_ipprinter_add, true);
  70. this.printerNameArea = (ViewGroup) findViewById(R.id.printerNameArea);
  71. this.printerName = (TextView) findViewById(R.id.printer_name_edit);
  72. this.printerIpAdress = (TextView) findViewById(R.id.printer_ip_address_edit);
  73. this.clearPrinterNameButton = (Button) findViewById(R.id.clear_printer_name_btn);
  74. this.clearPrinterIpAdressButton = (Button) findViewById(R.id.clear_printer_ip_address_btn);
  75. this.manager = new EPPrinterManager(this);
  76. Intent intent = getIntent();
  77. if (!(intent == null || (extras = intent.getExtras()) == null)) {
  78. this.oldItemKey = extras.getString(Constants.PRINTER_KEY);
  79. String str = this.oldItemKey;
  80. if (str != null && str.length() > 0) {
  81. this.printerInfo = this.manager.loadIpPrinterInfo(this.oldItemKey);
  82. }
  83. }
  84. EPPrinterInfo ePPrinterInfo = this.printerInfo;
  85. if (ePPrinterInfo == null) {
  86. this.printerNameArea.setVisibility(8);
  87. } else {
  88. this.printerName.setText(ePPrinterInfo.userDefName);
  89. this.printerIpAdress.setText(this.printerInfo.printerIP);
  90. setTitle(R.string.str_ipprinter_edit);
  91. }
  92. this.clearPrinterNameButton.setOnClickListener(new View.OnClickListener() {
  93. public void onClick(View view) {
  94. ActivityIpPrinterSetting.this.printerName.setText("");
  95. }
  96. });
  97. this.clearPrinterIpAdressButton.setOnClickListener(new View.OnClickListener() {
  98. public void onClick(View view) {
  99. ActivityIpPrinterSetting.this.printerIpAdress.setText("");
  100. }
  101. });
  102. }
  103. public void onSaveButton() {
  104. String charSequence = this.printerIpAdress.getText().toString();
  105. if (this.printerNameArea.getVisibility() != 8 && this.printerName.length() <= 0) {
  106. new AlertDialog.Builder(this).setCancelable(false).setMessage(getString(R.string.epsonconnect_str_printer_name_error_empty)).setNegativeButton(getString(R.string.str_ok), new DialogInterface.OnClickListener() {
  107. public void onClick(DialogInterface dialogInterface, int i) {
  108. dialogInterface.dismiss();
  109. }
  110. }).show();
  111. } else if (charSequence.length() == 0) {
  112. new AlertDialog.Builder(this).setCancelable(false).setMessage(getString(R.string.str_ipprinter_ip_null)).setNegativeButton(getString(R.string.str_ok), new DialogInterface.OnClickListener() {
  113. public void onClick(DialogInterface dialogInterface, int i) {
  114. dialogInterface.dismiss();
  115. }
  116. }).show();
  117. } else if (!charSequence.matches(IPADDRESS_EXP)) {
  118. new AlertDialog.Builder(this).setCancelable(false).setMessage(getString(R.string.str_ipprinter_ip_fomaterror)).setNegativeButton(getString(R.string.str_ok), new DialogInterface.OnClickListener() {
  119. public void onClick(DialogInterface dialogInterface, int i) {
  120. dialogInterface.dismiss();
  121. }
  122. }).show();
  123. } else {
  124. new AsyncTask<String, Void, Integer>() {
  125. boolean bAddNewPrinter = false;
  126. public String mNewIpAddress;
  127. WorkingDialog progress;
  128. /* access modifiers changed from: protected */
  129. public void onPreExecute() {
  130. this.progress = new WorkingDialog(ActivityIpPrinterSetting.this);
  131. this.progress.show();
  132. ActivityIpPrinterSetting.mPrinter.getMEscpLib().setHanlder(ActivityIpPrinterSetting.this.mHandler);
  133. ActivityIpPrinterSetting.mScanner.setScanHandler(ActivityIpPrinterSetting.this.mHandler);
  134. }
  135. /* access modifiers changed from: protected */
  136. public Integer doInBackground(String... strArr) {
  137. boolean z;
  138. String str = strArr[0];
  139. if (ActivityIpPrinterSetting.this.printerNameArea.getVisibility() == 8) {
  140. ActivityIpPrinterSetting.this.printerInfo = new EPPrinterInfo();
  141. ActivityIpPrinterSetting.this.printerInfo.printerLocation = 3;
  142. ActivityIpPrinterSetting.this.printerInfo.printerID = null;
  143. ActivityIpPrinterSetting.this.printerInfo.scannerID = null;
  144. this.bAddNewPrinter = true;
  145. }
  146. this.mNewIpAddress = str;
  147. int doInitDriver = ActivityIpPrinterSetting.mPrinter.doInitDriver(ActivityIpPrinterSetting.this, 192);
  148. if (doInitDriver != -1050 && doInitDriver != 0) {
  149. return Integer.valueOf(doInitDriver);
  150. }
  151. ActivityIpPrinterSetting.mPrinter.getMEscpLib().setSearchStt(true);
  152. int doProbePrinter = ActivityIpPrinterSetting.mPrinter.doProbePrinter(60, ActivityIpPrinterSetting.this.printerInfo.printerID, str, 3);
  153. ActivityIpPrinterSetting.mPrinter.getMEscpLib().setSearchStt(false);
  154. if (doProbePrinter != 0) {
  155. return Integer.valueOf(doProbePrinter);
  156. }
  157. int escanWrapperInitDriver = ActivityIpPrinterSetting.mScanner.escanWrapperInitDriver(ActivityIpPrinterSetting.this);
  158. if (escanWrapperInitDriver == -1050) {
  159. z = true;
  160. } else if (escanWrapperInitDriver != 0) {
  161. return Integer.valueOf(escanWrapperInitDriver);
  162. } else {
  163. z = false;
  164. }
  165. ActivityIpPrinterSetting.mScanner.setSearchStt(true);
  166. int probeScannerByIp = ActivityIpPrinterSetting.mScanner.probeScannerByIp(ActivityIpPrinterSetting.this.printerInfo.scannerID, str);
  167. ActivityIpPrinterSetting.mScanner.setSearchStt(false);
  168. if (!z) {
  169. ActivityIpPrinterSetting.mScanner.escanWrapperReleaseDriver();
  170. }
  171. if (probeScannerByIp == -1306) {
  172. EPLog.w(ActivityIpPrinterSetting.TAG, "eScanLib return ESCAN_ERR_SCANNER_NOT_USEFUL");
  173. probeScannerByIp = 0;
  174. }
  175. return Integer.valueOf(probeScannerByIp);
  176. }
  177. /* access modifiers changed from: protected */
  178. public void onPostExecute(Integer num) {
  179. Integer[] numArr;
  180. if (this.progress.isShowing()) {
  181. this.progress.dismiss();
  182. }
  183. if (num.intValue() != 0) {
  184. if (-500001 == num.intValue()) {
  185. numArr = new Integer[]{Integer.valueOf(R.string.str_ipprinter_comerror_edit), Integer.valueOf(R.string.EPS_PRNERR_COMM_TITLE2), 0};
  186. } else {
  187. numArr = MediaInfo.ErrorTable.getStringId(num.intValue());
  188. if (numArr == null) {
  189. numArr = new Integer[]{Integer.valueOf(R.string.NOT_IMPLEMENT), Integer.valueOf(R.string.NOT_IMPLEMENT_TITLE), 1};
  190. }
  191. }
  192. ActivityIpPrinterSetting activityIpPrinterSetting = ActivityIpPrinterSetting.this;
  193. Utils.makeMessageBox(activityIpPrinterSetting, activityIpPrinterSetting.getString(numArr[1].intValue()), ActivityIpPrinterSetting.this.getString(numArr[0].intValue()), ActivityIpPrinterSetting.this.getString(R.string.str_ok)).show();
  194. } else if (!this.bAddNewPrinter || ActivityIpPrinterSetting.this.manager.loadIpPrinterInfo(ActivityIpPrinterSetting.this.printerInfo.printerID) == null) {
  195. if (ActivityIpPrinterSetting.this.oldItemKey != null && ActivityIpPrinterSetting.this.oldItemKey.length() > 0) {
  196. ActivityIpPrinterSetting.this.manager.deleteIpPrinterInfo(ActivityIpPrinterSetting.this.oldItemKey);
  197. }
  198. if (ActivityIpPrinterSetting.this.printerName.getText().toString().length() > 0) {
  199. ActivityIpPrinterSetting.this.printerInfo.userDefName = ActivityIpPrinterSetting.this.printerName.getText().toString();
  200. } else {
  201. ActivityIpPrinterSetting.this.printerInfo.userDefName = ActivityIpPrinterSetting.this.printerInfo.printerName;
  202. }
  203. ActivityIpPrinterSetting.this.manager.saveIPPrinterInfo(ActivityIpPrinterSetting.this.printerInfo.printerID, ActivityIpPrinterSetting.this.printerInfo);
  204. ActivityIpPrinterSetting.this.printerInfo.printerIP = this.mNewIpAddress;
  205. Intent intent = new Intent();
  206. intent.putExtra(Constants.PRINTER_NAME, ActivityIpPrinterSetting.this.printerInfo.printerName);
  207. intent.putExtra(Constants.PRINTER_ID, ActivityIpPrinterSetting.this.printerInfo.printerID);
  208. intent.putExtra(Constants.SCAN_REFS_SCANNER_ID, ActivityIpPrinterSetting.this.printerInfo.scannerID);
  209. intent.putExtra(Constants.PRINTER_IP, ActivityIpPrinterSetting.this.printerInfo.printerIP);
  210. intent.putExtra(Constants.PRINTER_SERIAL_NO, ActivityIpPrinterSetting.this.printerInfo.printerSerialNo);
  211. ActivityIpPrinterSetting.this.setResult(-1, intent);
  212. ActivityIpPrinterSetting.this.finish();
  213. } else {
  214. new AlertDialog.Builder(ActivityIpPrinterSetting.this).setCancelable(false).setMessage(ActivityIpPrinterSetting.this.getString(R.string.str_ipprinter_registed_already)).setNegativeButton(ActivityIpPrinterSetting.this.getString(R.string.str_ok), new DialogInterface.OnClickListener() {
  215. public void onClick(DialogInterface dialogInterface, int i) {
  216. dialogInterface.dismiss();
  217. }
  218. }).show();
  219. }
  220. }
  221. }.execute(new String[]{charSequence});
  222. }
  223. }
  224. public boolean onCreateOptionsMenu(Menu menu) {
  225. getMenuInflater().inflate(R.C2138menu.menu_done, menu);
  226. return super.onCreateOptionsMenu(menu);
  227. }
  228. public boolean onOptionsItemSelected(MenuItem menuItem) {
  229. if (menuItem.getItemId() != R.id.menuSettingsDone) {
  230. return super.onOptionsItemSelected(menuItem);
  231. }
  232. onSaveButton();
  233. return true;
  234. }
  235. }