ConfirmReadMemcard.java 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613
  1. package com.epson.memcardacc;
  2. import android.arch.lifecycle.Observer;
  3. import android.arch.lifecycle.ViewModelProviders;
  4. import android.content.Intent;
  5. import android.os.AsyncTask;
  6. import android.os.Bundle;
  7. import android.os.StatFs;
  8. import android.support.p000v4.app.DialogFragment;
  9. import android.support.p000v4.app.FragmentActivity;
  10. import android.view.View;
  11. import android.widget.TextView;
  12. import com.epson.mobilephone.common.wifidirect.WiFiDirectManager;
  13. import epson.common.DialogProgress;
  14. import epson.common.DialogProgressViewModel;
  15. import epson.print.ActivityIACommon;
  16. import epson.print.C2135R;
  17. import epson.print.CommonDefine;
  18. import epson.print.Util.EPLog;
  19. import java.io.File;
  20. import java.util.ArrayList;
  21. import java.util.Calendar;
  22. import java.util.Deque;
  23. import java.util.Iterator;
  24. import java.util.Locale;
  25. public class ConfirmReadMemcard extends ActivityIACommon implements DialogProgress.DialogButtonClick {
  26. private static final int ACTIVITY_DIRECTORY_SELECT = 2;
  27. private static final int ACTIVITY_TYPE_PROGRESS = 1;
  28. private static final String DIALOG_COMMUNICATION_ERROR = "dialog_communication_error";
  29. private static final String DIALOG_COPY_RESULT_CANCEL = "dialog_copy_result";
  30. private static final String DIALOG_COPY_RESULT_COMPLETE = "dialog_copy_result_complete";
  31. private static final String DIALOG_COPY_RESULT_ERROR = "dialog_copy_result_error";
  32. private static final String DIALOG_DISK_SPACE_SHORTAGE = "dialog_disk_space_shortage";
  33. private static final String DIALOG_PRINTER_BUSY = "dialog_printer_busy";
  34. private static final String DIALOG_PROGRESS = "dialog_progress";
  35. private static final String DIALOG_WRITE_LOCAL_DIR_CANNOT_GET = "dialog_write_local_dir_cannot_get";
  36. static final int ERROR_COMMUNICATION_ERROR = 11;
  37. static final int ERROR_MEMCARD_BUSY = 10;
  38. public static final String KEY_IMAGE_LIST = "imagelist";
  39. private static final String LOG_TAG = "ConfirmReadMemcard";
  40. public static final String MEMCARD_STORAGE_TYPE = "memcard_storage_type";
  41. public static final int RESULT_BACK_TO_MEMCARD_TOP = 1;
  42. boolean doTotalFileSizeCalc = false;
  43. boolean isKeepSimleApConnect = false;
  44. boolean isTryConnectSimpleAp = false;
  45. CheckAndNextActivityTask mCheckAndNextActivityTask;
  46. /* access modifiers changed from: private */
  47. public String mCopyTargetFolderName;
  48. private TextView mCopyTargetPathText;
  49. private TextView mFileNumText;
  50. private TextView mFileSizeText;
  51. /* access modifiers changed from: private */
  52. public ArrayList<String> mImageList;
  53. /* access modifiers changed from: private */
  54. public int mMemcardStorageType;
  55. /* access modifiers changed from: private */
  56. public DialogProgressViewModel mModelDialog;
  57. private long mTotalFileSize;
  58. private TotalFileSizeCalcTask mTotalFileSizeCalcTask;
  59. private String mWriteDirectory = MemcardConfig.DEFAULT_READER_LOCAL_DIRECTORY;
  60. public void onCancelDialog(String str) {
  61. }
  62. public void onNeutralClick(String str) {
  63. }
  64. public void onPositiveClick(String str) {
  65. }
  66. protected void onCreate(Bundle bundle) {
  67. super.onCreate(bundle);
  68. setContentView((int) R.layout.activity_confirm_read_memcard);
  69. this.mModelDialog = (DialogProgressViewModel) ViewModelProviders.m2of((FragmentActivity) this).get(DialogProgressViewModel.class);
  70. this.mModelDialog.getDialogJob().observe(this, new Observer() {
  71. public final void onChanged(Object obj) {
  72. ConfirmReadMemcard.lambda$onCreate$0(ConfirmReadMemcard.this, (Deque) obj);
  73. }
  74. });
  75. setActionBar((int) R.string.memcard_title_copy_confirm, true);
  76. this.mFileNumText = (TextView) findViewById(R.C2137id.textFileNumber);
  77. this.mFileSizeText = (TextView) findViewById(R.C2137id.textFileSize);
  78. this.mFileSizeText.setText(CommonDefine.QUESTION_MARK);
  79. this.mCopyTargetPathText = (TextView) findViewById(R.C2137id.textWriteFolder);
  80. Intent intent = getIntent();
  81. this.mImageList = intent.getStringArrayListExtra(KEY_IMAGE_LIST);
  82. if (this.mImageList == null) {
  83. this.mImageList = new ArrayList<>();
  84. }
  85. this.mMemcardStorageType = intent.getIntExtra("memcard_storage_type", 1);
  86. int size = this.mImageList.size();
  87. this.mFileNumText.setText(String.format(getResources().getString(R.string.memcard_file_num_format), new Object[]{Integer.valueOf(size)}));
  88. setTargetDirectory(MemcardConfig.DEFAULT_READER_LOCAL_DIRECTORY);
  89. this.doTotalFileSizeCalc = true;
  90. }
  91. public static /* synthetic */ void lambda$onCreate$0(ConfirmReadMemcard confirmReadMemcard, Deque deque) {
  92. String[] checkQueue = confirmReadMemcard.mModelDialog.checkQueue();
  93. if (checkQueue != null) {
  94. String str = checkQueue[0];
  95. String str2 = checkQueue[1];
  96. if (str2.equals("do_show")) {
  97. confirmReadMemcard.showDialog(str);
  98. }
  99. if (str2.equals("do_dismiss")) {
  100. confirmReadMemcard.dismissDialog(str);
  101. }
  102. }
  103. }
  104. protected void onResume() {
  105. super.onResume();
  106. if (!WiFiDirectManager.isNeedConnect(this, WiFiDirectManager.DEVICE_TYPE_PRINTER)) {
  107. this.isTryConnectSimpleAp = false;
  108. } else if (!this.isTryConnectSimpleAp) {
  109. this.isTryConnectSimpleAp = true;
  110. if (WiFiDirectManager.reconnect(this, WiFiDirectManager.DEVICE_TYPE_PRINTER, -1)) {
  111. this.doTotalFileSizeCalc = true;
  112. return;
  113. }
  114. }
  115. this.isKeepSimleApConnect = false;
  116. if (this.doTotalFileSizeCalc) {
  117. this.mTotalFileSizeCalcTask = new TotalFileSizeCalcTask();
  118. this.mTotalFileSizeCalcTask.execute(new Void[0]);
  119. this.doTotalFileSizeCalc = false;
  120. }
  121. }
  122. protected void onPause() {
  123. EPLog.m305d(LOG_TAG, "onPause()");
  124. super.onPause();
  125. }
  126. protected void onStop() {
  127. EPLog.m305d(LOG_TAG, "onStop()");
  128. super.onStop();
  129. if (!this.isKeepSimleApConnect) {
  130. WiFiDirectManager.disconnect(this, WiFiDirectManager.DEVICE_TYPE_PRINTER, MemcardUtil.getPrinterIpAddress(this));
  131. }
  132. }
  133. protected void onDestroy() {
  134. this.mTotalFileSizeCalcTask.cancel(true);
  135. super.onDestroy();
  136. }
  137. public void onBackPressed() {
  138. super.onBackPressed();
  139. this.isKeepSimleApConnect = true;
  140. }
  141. /* access modifiers changed from: private */
  142. public void localShowDialog(String str) {
  143. this.mModelDialog.doShow(str);
  144. }
  145. public void setTargetDirectory(String str) {
  146. this.mWriteDirectory = str;
  147. this.mCopyTargetFolderName = getTargetFolderName();
  148. String str2 = this.mCopyTargetFolderName;
  149. if (str2 == null) {
  150. localShowDialog(DIALOG_WRITE_LOCAL_DIR_CANNOT_GET);
  151. str2 = "";
  152. }
  153. EPLog.m313i(LOG_TAG, "outdir: " + this.mCopyTargetFolderName);
  154. this.mCopyTargetPathText.setText(String.format(getResources().getString(R.string.memcard_folder_save_to_format), new Object[]{str2}));
  155. }
  156. private String getTargetFolderName() {
  157. Calendar instance = Calendar.getInstance();
  158. for (int i = 0; i < 100; i++) {
  159. String format = String.format(Locale.US, "%s/%s/%04d%02d%02d%02d%02d%02d", new Object[]{MemcardConfig.BASE_DIRECTORY, this.mWriteDirectory, Integer.valueOf(instance.get(1)), Integer.valueOf(instance.get(2) + 1), Integer.valueOf(instance.get(5)), Integer.valueOf(instance.get(11)), Integer.valueOf(instance.get(12)), Integer.valueOf(i)});
  160. File file = new File(format);
  161. if (!file.exists()) {
  162. boolean mkdirs = file.mkdirs();
  163. file.delete();
  164. if (mkdirs) {
  165. return format;
  166. }
  167. }
  168. }
  169. return null;
  170. }
  171. static long getTotalFileSize(ArrayList<String> arrayList) {
  172. long j = 0;
  173. if (arrayList == null) {
  174. return 0;
  175. }
  176. Iterator<String> it = arrayList.iterator();
  177. while (it.hasNext()) {
  178. j += new File(it.next()).length();
  179. }
  180. return j;
  181. }
  182. /* access modifiers changed from: private */
  183. public boolean checkFileSize() {
  184. StatFs statFs = new StatFs(new File(MemcardConfig.BASE_DIRECTORY, this.mWriteDirectory).toString());
  185. return (this.mTotalFileSize / statFs.getBlockSizeLong()) + ((long) this.mImageList.size()) <= statFs.getAvailableBlocksLong();
  186. }
  187. public void updateFileSize(long j) {
  188. this.mTotalFileSize = j;
  189. this.mFileSizeText.setText(String.format(getResources().getString(R.string.memcard_total_file_size_format), new Object[]{Double.valueOf(((double) this.mTotalFileSize) / 1000000.0d)}));
  190. }
  191. /* access modifiers changed from: private */
  192. public void startCopyActivity() {
  193. Intent intent = new Intent(this, MemcardReadProgress.class);
  194. intent.putStringArrayListExtra("imageList", this.mImageList);
  195. intent.putExtra("target_folder_name", this.mCopyTargetFolderName);
  196. intent.putExtra("memcard_storage_type", this.mMemcardStorageType);
  197. startActivityForResult(intent, 1);
  198. this.isKeepSimleApConnect = true;
  199. }
  200. public void copy_dest_button_clicked(View view) {
  201. Intent intent = new Intent(this, DirectorySelecterActivity.class);
  202. intent.putExtra(DirectorySelecterActivity.PARAM_BASE_DIRECTORY, MemcardConfig.BASE_DIRECTORY);
  203. intent.putExtra(DirectorySelecterActivity.PARAM_DEFAULT_DIR, MemcardConfig.DEFAULT_READER_LOCAL_DIRECTORY);
  204. startActivityForResult(intent, 2);
  205. }
  206. public void copy_button_clicked(View view) {
  207. this.mCheckAndNextActivityTask = new CheckAndNextActivityTask();
  208. this.mCheckAndNextActivityTask.execute(new Void[0]);
  209. }
  210. /* JADX WARNING: Can't fix incorrect switch cases order */
  211. /* Code decompiled incorrectly, please refer to instructions dump. */
  212. private void showDialog(java.lang.String r12) {
  213. /*
  214. r11 = this;
  215. int r0 = r12.hashCode()
  216. r1 = 0
  217. switch(r0) {
  218. case -2116590872: goto L_0x004f;
  219. case -2003975289: goto L_0x0045;
  220. case -508401744: goto L_0x003b;
  221. case -63760199: goto L_0x0031;
  222. case -21731516: goto L_0x0027;
  223. case 1079349783: goto L_0x001d;
  224. case 1194959080: goto L_0x0013;
  225. case 1429177493: goto L_0x0009;
  226. default: goto L_0x0008;
  227. }
  228. L_0x0008:
  229. goto L_0x0059
  230. L_0x0009:
  231. java.lang.String r0 = "dialog_printer_busy"
  232. boolean r0 = r12.equals(r0)
  233. if (r0 == 0) goto L_0x0059
  234. r0 = 6
  235. goto L_0x005a
  236. L_0x0013:
  237. java.lang.String r0 = "dialog_copy_result_complete"
  238. boolean r0 = r12.equals(r0)
  239. if (r0 == 0) goto L_0x0059
  240. r0 = 3
  241. goto L_0x005a
  242. L_0x001d:
  243. java.lang.String r0 = "dialog_write_local_dir_cannot_get"
  244. boolean r0 = r12.equals(r0)
  245. if (r0 == 0) goto L_0x0059
  246. r0 = 2
  247. goto L_0x005a
  248. L_0x0027:
  249. java.lang.String r0 = "dialog_progress"
  250. boolean r0 = r12.equals(r0)
  251. if (r0 == 0) goto L_0x0059
  252. r0 = 0
  253. goto L_0x005a
  254. L_0x0031:
  255. java.lang.String r0 = "dialog_copy_result_error"
  256. boolean r0 = r12.equals(r0)
  257. if (r0 == 0) goto L_0x0059
  258. r0 = 5
  259. goto L_0x005a
  260. L_0x003b:
  261. java.lang.String r0 = "dialog_copy_result"
  262. boolean r0 = r12.equals(r0)
  263. if (r0 == 0) goto L_0x0059
  264. r0 = 4
  265. goto L_0x005a
  266. L_0x0045:
  267. java.lang.String r0 = "dialog_disk_space_shortage"
  268. boolean r0 = r12.equals(r0)
  269. if (r0 == 0) goto L_0x0059
  270. r0 = 1
  271. goto L_0x005a
  272. L_0x004f:
  273. java.lang.String r0 = "dialog_communication_error"
  274. boolean r0 = r12.equals(r0)
  275. if (r0 == 0) goto L_0x0059
  276. r0 = 7
  277. goto L_0x005a
  278. L_0x0059:
  279. r0 = -1
  280. L_0x005a:
  281. r2 = 2131624893(0x7f0e03bd, float:1.8876979E38)
  282. r3 = 2131625202(0x7f0e04f2, float:1.8877605E38)
  283. switch(r0) {
  284. case 0: goto L_0x0107;
  285. case 1: goto L_0x00eb;
  286. case 2: goto L_0x00eb;
  287. case 3: goto L_0x00d5;
  288. case 4: goto L_0x00bd;
  289. case 5: goto L_0x009f;
  290. case 6: goto L_0x0082;
  291. case 7: goto L_0x0066;
  292. default: goto L_0x0063;
  293. }
  294. L_0x0063:
  295. r0 = 0
  296. goto L_0x0115
  297. L_0x0066:
  298. r5 = 2
  299. r0 = 2131624886(0x7f0e03b6, float:1.8876964E38)
  300. java.lang.String r6 = r11.getString(r0)
  301. r0 = 2131624887(0x7f0e03b7, float:1.8876966E38)
  302. java.lang.String r7 = r11.getString(r0)
  303. java.lang.String r8 = r11.getString(r3)
  304. r9 = 0
  305. r10 = 0
  306. r4 = r12
  307. epson.common.DialogProgress r0 = epson.common.DialogProgress.newInstance(r4, r5, r6, r7, r8, r9, r10)
  308. goto L_0x0115
  309. L_0x0082:
  310. r2 = 2
  311. r0 = 2131624471(0x7f0e0217, float:1.8876123E38)
  312. java.lang.String r0 = r11.getString(r0)
  313. r1 = 2131624472(0x7f0e0218, float:1.8876125E38)
  314. java.lang.String r4 = r11.getString(r1)
  315. java.lang.String r5 = r11.getString(r3)
  316. r6 = 0
  317. r7 = 0
  318. r1 = r12
  319. r3 = r0
  320. epson.common.DialogProgress r0 = epson.common.DialogProgress.newInstance(r1, r2, r3, r4, r5, r6, r7)
  321. goto L_0x0115
  322. L_0x009f:
  323. r0 = 2
  324. java.lang.String r4 = r11.getString(r2)
  325. r1 = 2131624894(0x7f0e03be, float:1.887698E38)
  326. java.lang.String r5 = r11.getString(r1)
  327. java.lang.String r6 = r11.getString(r3)
  328. r7 = 0
  329. r8 = 0
  330. r1 = r12
  331. r2 = r0
  332. r3 = r4
  333. r4 = r5
  334. r5 = r6
  335. r6 = r7
  336. r7 = r8
  337. epson.common.DialogProgress r0 = epson.common.DialogProgress.newInstance(r1, r2, r3, r4, r5, r6, r7)
  338. goto L_0x0115
  339. L_0x00bd:
  340. r0 = 2
  341. java.lang.String r4 = r11.getString(r2)
  342. r5 = 0
  343. r6 = 0
  344. r7 = 0
  345. java.lang.String r8 = r11.getString(r3)
  346. r1 = r12
  347. r2 = r0
  348. r3 = r4
  349. r4 = r5
  350. r5 = r6
  351. r6 = r7
  352. r7 = r8
  353. epson.common.DialogProgress r0 = epson.common.DialogProgress.newInstance(r1, r2, r3, r4, r5, r6, r7)
  354. goto L_0x0115
  355. L_0x00d5:
  356. r2 = 2
  357. r0 = 2131624890(0x7f0e03ba, float:1.8876972E38)
  358. java.lang.String r0 = r11.getString(r0)
  359. r4 = 0
  360. r5 = 0
  361. r6 = 0
  362. java.lang.String r7 = r11.getString(r3)
  363. r1 = r12
  364. r3 = r0
  365. epson.common.DialogProgress r0 = epson.common.DialogProgress.newInstance(r1, r2, r3, r4, r5, r6, r7)
  366. goto L_0x0115
  367. L_0x00eb:
  368. r2 = 2
  369. r0 = 2131624883(0x7f0e03b3, float:1.8876958E38)
  370. java.lang.String r0 = r11.getString(r0)
  371. r1 = 2131624884(0x7f0e03b4, float:1.887696E38)
  372. java.lang.String r4 = r11.getString(r1)
  373. java.lang.String r5 = r11.getString(r3)
  374. r6 = 0
  375. r7 = 0
  376. r1 = r12
  377. r3 = r0
  378. epson.common.DialogProgress r0 = epson.common.DialogProgress.newInstance(r1, r2, r3, r4, r5, r6, r7)
  379. goto L_0x0115
  380. L_0x0107:
  381. r0 = 2131624885(0x7f0e03b5, float:1.8876962E38)
  382. java.lang.String r0 = r11.getString(r0)
  383. epson.common.DialogProgress r0 = epson.common.DialogProgress.newInstance(r12, r1, r0)
  384. r0.setCancelable(r1)
  385. L_0x0115:
  386. if (r0 == 0) goto L_0x011e
  387. android.support.v4.app.FragmentManager r1 = r11.getSupportFragmentManager()
  388. r0.show(r1, r12)
  389. L_0x011e:
  390. return
  391. */
  392. throw new UnsupportedOperationException("Method not decompiled: com.epson.memcardacc.ConfirmReadMemcard.showDialog(java.lang.String):void");
  393. }
  394. private void dismissDialog(String str) {
  395. DialogFragment dialogFragment = (DialogFragment) getSupportFragmentManager().findFragmentByTag(String.valueOf(str));
  396. if (dialogFragment != null) {
  397. dialogFragment.dismiss();
  398. }
  399. }
  400. protected void onActivityResult(int i, int i2, Intent intent) {
  401. switch (i) {
  402. case 1:
  403. this.isKeepSimleApConnect = false;
  404. if (i2 == -2) {
  405. setResult(1);
  406. finish();
  407. return;
  408. } else if (i2 != 0) {
  409. localShowDialog(DIALOG_COPY_RESULT_ERROR);
  410. return;
  411. } else {
  412. return;
  413. }
  414. case 2:
  415. if (i2 == -1) {
  416. setTargetDirectory(intent.getStringExtra(DirectorySelecterActivity.RESULT_DIRECTORY));
  417. return;
  418. }
  419. return;
  420. default:
  421. return;
  422. }
  423. }
  424. /* JADX WARNING: Removed duplicated region for block: B:12:0x0029 */
  425. /* JADX WARNING: Removed duplicated region for block: B:13:0x002f */
  426. /* JADX WARNING: Removed duplicated region for block: B:16:? A[RETURN, SYNTHETIC] */
  427. /* Code decompiled incorrectly, please refer to instructions dump. */
  428. public void onNegativeClick(java.lang.String r4) {
  429. /*
  430. r3 = this;
  431. int r0 = r4.hashCode()
  432. r1 = -508401744(0xffffffffe1b267b0, float:-4.11374E20)
  433. r2 = 1
  434. if (r0 == r1) goto L_0x001a
  435. r1 = 1194959080(0x4739a0e8, float:47520.906)
  436. if (r0 == r1) goto L_0x0010
  437. goto L_0x0024
  438. L_0x0010:
  439. java.lang.String r0 = "dialog_copy_result_complete"
  440. boolean r4 = r4.equals(r0)
  441. if (r4 == 0) goto L_0x0024
  442. r4 = 0
  443. goto L_0x0025
  444. L_0x001a:
  445. java.lang.String r0 = "dialog_copy_result"
  446. boolean r4 = r4.equals(r0)
  447. if (r4 == 0) goto L_0x0024
  448. r4 = 1
  449. goto L_0x0025
  450. L_0x0024:
  451. r4 = -1
  452. L_0x0025:
  453. switch(r4) {
  454. case 0: goto L_0x002f;
  455. case 1: goto L_0x0029;
  456. default: goto L_0x0028;
  457. }
  458. L_0x0028:
  459. goto L_0x0035
  460. L_0x0029:
  461. java.lang.String r4 = r3.mWriteDirectory
  462. r3.setTargetDirectory(r4)
  463. goto L_0x0035
  464. L_0x002f:
  465. r3.setResult(r2)
  466. r3.finish()
  467. L_0x0035:
  468. return
  469. */
  470. throw new UnsupportedOperationException("Method not decompiled: com.epson.memcardacc.ConfirmReadMemcard.onNegativeClick(java.lang.String):void");
  471. }
  472. class TotalFileSizeCalcTask extends AsyncTask<Void, Void, Long> {
  473. CifsAccess mCifsAccess = CifsAccess.getInstance();
  474. TotalFileSizeCalcTask() {
  475. }
  476. protected synchronized Long doInBackground(Void... voidArr) {
  477. if (this.mCifsAccess.initDefault(ConfirmReadMemcard.this, 1) == 0) {
  478. return -1L;
  479. }
  480. if (this.mCifsAccess.connectDefaultStorageWidthDefaultAthInfo(ConfirmReadMemcard.this.mMemcardStorageType) == 0) {
  481. this.mCifsAccess.free();
  482. return -1L;
  483. }
  484. try {
  485. Iterator it = ConfirmReadMemcard.this.mImageList.iterator();
  486. long j = 0;
  487. while (it.hasNext()) {
  488. if (isCancelled()) {
  489. this.mCifsAccess.disconnectStorage();
  490. this.mCifsAccess.free();
  491. return 0L;
  492. }
  493. long fileSize = this.mCifsAccess.getFileSize((String) it.next());
  494. if (fileSize <= 0) {
  495. return -1L;
  496. }
  497. j += fileSize;
  498. }
  499. this.mCifsAccess.disconnectStorage();
  500. this.mCifsAccess.free();
  501. return Long.valueOf(j);
  502. } finally {
  503. this.mCifsAccess.disconnectStorage();
  504. this.mCifsAccess.free();
  505. }
  506. }
  507. protected void onPostExecute(Long l) {
  508. if (l != null) {
  509. if (l.longValue() == 0) {
  510. ConfirmReadMemcard.this.localShowDialog(ConfirmReadMemcard.DIALOG_COPY_RESULT_CANCEL);
  511. } else if (l.longValue() < 0) {
  512. ConfirmReadMemcard.this.localShowDialog(ConfirmReadMemcard.DIALOG_COMMUNICATION_ERROR);
  513. } else {
  514. ConfirmReadMemcard.this.updateFileSize(l.longValue());
  515. }
  516. }
  517. ConfirmReadMemcard.this.mModelDialog.doDismiss(ConfirmReadMemcard.DIALOG_PROGRESS);
  518. }
  519. protected void onPreExecute() {
  520. ConfirmReadMemcard.this.mModelDialog.doShow(ConfirmReadMemcard.DIALOG_PROGRESS);
  521. }
  522. }
  523. class CheckAndNextActivityTask extends AsyncTask<Void, Void, Integer> {
  524. CheckAndNextActivityTask() {
  525. }
  526. protected Integer doInBackground(Void... voidArr) {
  527. if (ConfirmReadMemcard.this.mCopyTargetFolderName == null) {
  528. return 100;
  529. }
  530. if (isCancelled()) {
  531. return -1;
  532. }
  533. if (!ConfirmReadMemcard.this.checkFileSize()) {
  534. return 1;
  535. }
  536. if (isCancelled()) {
  537. return -1;
  538. }
  539. switch (EscprLibPrinter.checkIdleOrError(ConfirmReadMemcard.this, 60)) {
  540. case 1:
  541. return 11;
  542. case 2:
  543. return 10;
  544. default:
  545. new File(ConfirmReadMemcard.this.mCopyTargetFolderName).mkdir();
  546. return 0;
  547. }
  548. }
  549. protected void onCancelled() {
  550. ConfirmReadMemcard.this.mModelDialog.doDismiss(ConfirmReadMemcard.DIALOG_PROGRESS);
  551. }
  552. protected void onPostExecute(Integer num) {
  553. ConfirmReadMemcard.this.mModelDialog.doDismiss(ConfirmReadMemcard.DIALOG_PROGRESS);
  554. switch (num.intValue()) {
  555. case 0:
  556. ConfirmReadMemcard.this.startCopyActivity();
  557. return;
  558. case 1:
  559. ConfirmReadMemcard.this.localShowDialog(ConfirmReadMemcard.DIALOG_DISK_SPACE_SHORTAGE);
  560. return;
  561. case 10:
  562. ConfirmReadMemcard.this.localShowDialog(ConfirmReadMemcard.DIALOG_PRINTER_BUSY);
  563. return;
  564. case 11:
  565. ConfirmReadMemcard.this.localShowDialog(ConfirmReadMemcard.DIALOG_COMMUNICATION_ERROR);
  566. return;
  567. default:
  568. return;
  569. }
  570. }
  571. protected void onPreExecute() {
  572. ConfirmReadMemcard.this.mModelDialog.doShow(ConfirmReadMemcard.DIALOG_PROGRESS);
  573. if (ConfirmReadMemcard.this.mCopyTargetFolderName == null) {
  574. ConfirmReadMemcard.this.setTargetDirectory(MemcardConfig.DEFAULT_READER_LOCAL_DIRECTORY);
  575. }
  576. }
  577. }
  578. }