123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606 |
- package com.epson.memcardacc;
- import android.arch.lifecycle.Observer;
- import android.arch.lifecycle.ViewModelProviders;
- import android.content.Intent;
- import android.os.AsyncTask;
- import android.os.Bundle;
- import android.os.StatFs;
- import android.support.p000v4.app.DialogFragment;
- import android.support.p000v4.app.FragmentActivity;
- import android.view.View;
- import android.widget.TextView;
- import com.epson.mobilephone.common.wifidirect.WiFiDirectManager;
- import epson.common.DialogProgress;
- import epson.common.DialogProgressViewModel;
- import epson.print.ActivityIACommon;
- import epson.print.CommonDefine;
- import epson.print.Util.EPLog;
- import java.io.File;
- import java.util.ArrayList;
- import java.util.Calendar;
- import java.util.Deque;
- import java.util.Iterator;
- import java.util.Locale;
- public class ConfirmReadMemcard extends ActivityIACommon implements DialogProgress.DialogButtonClick {
- private static final int ACTIVITY_DIRECTORY_SELECT = 2;
- private static final int ACTIVITY_TYPE_PROGRESS = 1;
- private static final String DIALOG_COMMUNICATION_ERROR = "dialog_communication_error";
- private static final String DIALOG_COPY_RESULT_CANCEL = "dialog_copy_result";
- private static final String DIALOG_COPY_RESULT_COMPLETE = "dialog_copy_result_complete";
- private static final String DIALOG_COPY_RESULT_ERROR = "dialog_copy_result_error";
- private static final String DIALOG_DISK_SPACE_SHORTAGE = "dialog_disk_space_shortage";
- private static final String DIALOG_PRINTER_BUSY = "dialog_printer_busy";
- private static final String DIALOG_PROGRESS = "dialog_progress";
- private static final String DIALOG_WRITE_LOCAL_DIR_CANNOT_GET = "dialog_write_local_dir_cannot_get";
- static final int ERROR_COMMUNICATION_ERROR = 11;
- static final int ERROR_MEMCARD_BUSY = 10;
- public static final String KEY_IMAGE_LIST = "imagelist";
- private static final String LOG_TAG = "ConfirmReadMemcard";
- public static final String MEMCARD_STORAGE_TYPE = "memcard_storage_type";
- public static final int RESULT_BACK_TO_MEMCARD_TOP = 1;
- boolean doTotalFileSizeCalc = false;
- boolean isKeepSimleApConnect = false;
- boolean isTryConnectSimpleAp = false;
- CheckAndNextActivityTask mCheckAndNextActivityTask;
- private String mCopyTargetFolderName;
- private TextView mCopyTargetPathText;
- private TextView mFileNumText;
- private TextView mFileSizeText;
- private ArrayList<String> mImageList;
- private int mMemcardStorageType;
- private DialogProgressViewModel mModelDialog;
- private long mTotalFileSize;
- private TotalFileSizeCalcTask mTotalFileSizeCalcTask;
- private String mWriteDirectory = MemcardConfig.DEFAULT_READER_LOCAL_DIRECTORY;
- public void onCancelDialog(String str) {
- }
- public void onNeutralClick(String str) {
- }
- public void onPositiveClick(String str) {
- }
- protected void onCreate(Bundle bundle) {
- super.onCreate(bundle);
- setContentView( R.layout.activity_confirm_read_memcard);
- mModelDialog = (DialogProgressViewModel) ViewModelProviders.m2of((FragmentActivity) this).get(DialogProgressViewModel.class);
- mModelDialog.getDialogJob().observe(this, new Observer() {
- public final void onChanged(Object obj) {
- ConfirmReadMemcard.lambda$onCreate$0(ConfirmReadMemcard.this, (Deque) obj);
- }
- });
- setActionBar( R.string.memcard_title_copy_confirm, true);
- mFileNumText = (TextView) findViewById(R.id.textFileNumber);
- mFileSizeText = (TextView) findViewById(R.id.textFileSize);
- mFileSizeText.setText(CommonDefine.QUESTION_MARK);
- mCopyTargetPathText = (TextView) findViewById(R.id.textWriteFolder);
- Intent intent = getIntent();
- mImageList = intent.getStringArrayListExtra(KEY_IMAGE_LIST);
- if (mImageList == null) {
- mImageList = new ArrayList<>();
- }
- mMemcardStorageType = intent.getIntExtra("memcard_storage_type", 1);
- int size = mImageList.size();
- mFileNumText.setText(String.format(getResources().getString(R.string.memcard_file_num_format), new Object[]{Integer.valueOf(size)}));
- setTargetDirectory(MemcardConfig.DEFAULT_READER_LOCAL_DIRECTORY);
- doTotalFileSizeCalc = true;
- }
- public static void lambda$onCreate$0(ConfirmReadMemcard confirmReadMemcard, Deque deque) {
- String[] checkQueue = confirmReadMemcard.mModelDialog.checkQueue();
- if (checkQueue != null) {
- String str = checkQueue[0];
- String str2 = checkQueue[1];
- if (str2.equals("do_show")) {
- confirmReadMemcard.showDialog(str);
- }
- if (str2.equals("do_dismiss")) {
- confirmReadMemcard.dismissDialog(str);
- }
- }
- }
- protected void onResume() {
- super.onResume();
- if (!WiFiDirectManager.isNeedConnect(this, WiFiDirectManager.DEVICE_TYPE_PRINTER)) {
- isTryConnectSimpleAp = false;
- } else if (!this.isTryConnectSimpleAp) {
- isTryConnectSimpleAp = true;
- if (WiFiDirectManager.reconnect(this, WiFiDirectManager.DEVICE_TYPE_PRINTER, -1)) {
- doTotalFileSizeCalc = true;
- return;
- }
- }
- isKeepSimleApConnect = false;
- if (this.doTotalFileSizeCalc) {
- mTotalFileSizeCalcTask = new TotalFileSizeCalcTask();
- mTotalFileSizeCalcTask.execute(new Void[0]);
- doTotalFileSizeCalc = false;
- }
- }
- protected void onPause() {
- EPLog.m305d(LOG_TAG, "onPause()");
- super.onPause();
- }
- protected void onStop() {
- EPLog.m305d(LOG_TAG, "onStop()");
- super.onStop();
- if (!this.isKeepSimleApConnect) {
- WiFiDirectManager.disconnect(this, WiFiDirectManager.DEVICE_TYPE_PRINTER, MemcardUtil.getPrinterIpAddress(this));
- }
- }
- protected void onDestroy() {
- mTotalFileSizeCalcTask.cancel(true);
- super.onDestroy();
- }
- public void onBackPressed() {
- super.onBackPressed();
- isKeepSimleApConnect = true;
- }
- private void localShowDialog(String str) {
- mModelDialog.doShow(str);
- }
- public void setTargetDirectory(String str) {
- mWriteDirectory = str;
- mCopyTargetFolderName = getTargetFolderName();
- String str2 = mCopyTargetFolderName;
- if (str2 == null) {
- localShowDialog(DIALOG_WRITE_LOCAL_DIR_CANNOT_GET);
- str2 = "";
- }
- EPLog.m313i(LOG_TAG, "outdir: " + mCopyTargetFolderName);
- mCopyTargetPathText.setText(String.format(getResources().getString(R.string.memcard_folder_save_to_format), new Object[]{str2}));
- }
- private String getTargetFolderName() {
- Calendar instance = Calendar.getInstance();
- for (int i = 0; i < 100; i++) {
- String format = String.format(Locale.US, "%s/%s/%04d%02d%02d%02d%02d%02d", new Object[]{MemcardConfig.BASE_DIRECTORY, 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)});
- File file = new File(format);
- if (!file.exists()) {
- boolean mkdirs = file.mkdirs();
- file.delete();
- if (mkdirs) {
- return format;
- }
- }
- }
- return null;
- }
- static long getTotalFileSize(ArrayList<String> arrayList) {
- long j = 0;
- if (arrayList == null) {
- return 0;
- }
- Iterator<String> it = arrayList.iterator();
- while (it.hasNext()) {
- j += new File(it.next()).length();
- }
- return j;
- }
- private boolean checkFileSize() {
- StatFs statFs = new StatFs(new File(MemcardConfig.BASE_DIRECTORY, mWriteDirectory).toString());
- return (mTotalFileSize / statFs.getBlockSizeLong()) + ((long) mImageList.size()) <= statFs.getAvailableBlocksLong();
- }
- public void updateFileSize(long j) {
- mTotalFileSize = j;
- mFileSizeText.setText(String.format(getResources().getString(R.string.memcard_total_file_size_format), new Object[]{Double.valueOf(( mTotalFileSize) / 1000000.0d)}));
- }
- private void startCopyActivity() {
- Intent intent = new Intent(this, MemcardReadProgress.class);
- intent.putStringArrayListExtra("imageList", mImageList);
- intent.putExtra("target_folder_name", mCopyTargetFolderName);
- intent.putExtra("memcard_storage_type", mMemcardStorageType);
- startActivityForResult(intent, 1);
- isKeepSimleApConnect = true;
- }
- public void copy_dest_button_clicked(View view) {
- Intent intent = new Intent(this, DirectorySelecterActivity.class);
- intent.putExtra(DirectorySelecterActivity.PARAM_BASE_DIRECTORY, MemcardConfig.BASE_DIRECTORY);
- intent.putExtra(DirectorySelecterActivity.PARAM_DEFAULT_DIR, MemcardConfig.DEFAULT_READER_LOCAL_DIRECTORY);
- startActivityForResult(intent, 2);
- }
- public void copy_button_clicked(View view) {
- mCheckAndNextActivityTask = new CheckAndNextActivityTask();
- mCheckAndNextActivityTask.execute(new Void[0]);
- }
-
-
- private void showDialog(java.lang.String r12) {
-
- throw new UnsupportedOperationException("Method not decompiled: com.epson.memcardacc.ConfirmReadMemcard.showDialog(java.lang.String):void");
- }
- private void dismissDialog(String str) {
- DialogFragment dialogFragment = (DialogFragment) getSupportFragmentManager().findFragmentByTag(String.valueOf(str));
- if (dialogFragment != null) {
- dialogFragment.dismiss();
- }
- }
- protected void onActivityResult(int i, int i2, Intent intent) {
- switch (i) {
- case 1:
- isKeepSimleApConnect = false;
- if (i2 == -2) {
- setResult(1);
- finish();
- return;
- } else if (i2 != 0) {
- localShowDialog(DIALOG_COPY_RESULT_ERROR);
- return;
- } else {
- return;
- }
- case 2:
- if (i2 == -1) {
- setTargetDirectory(intent.getStringExtra(DirectorySelecterActivity.RESULT_DIRECTORY));
- return;
- }
- return;
- default:
- return;
- }
- }
-
-
-
-
- public void onNegativeClick(java.lang.String r4) {
-
- throw new UnsupportedOperationException("Method not decompiled: com.epson.memcardacc.ConfirmReadMemcard.onNegativeClick(java.lang.String):void");
- }
- class TotalFileSizeCalcTask extends AsyncTask<Void, Void, Long> {
- CifsAccess mCifsAccess = CifsAccess.getInstance();
- TotalFileSizeCalcTask() {
- }
- protected synchronized Long doInBackground(Void... voidArr) {
- if (mCifsAccess.initDefault(ConfirmReadMemcard.this, 1) == 0) {
- return -1L;
- }
- if (mCifsAccess.connectDefaultStorageWidthDefaultAthInfo(ConfirmReadMemcard.mMemcardStorageType) == 0) {
- mCifsAccess.free();
- return -1L;
- }
- try {
- Iterator it = ConfirmReadMemcard.mImageList.iterator();
- long j = 0;
- while (it.hasNext()) {
- if (isCancelled()) {
- mCifsAccess.disconnectStorage();
- mCifsAccess.free();
- return 0L;
- }
- long fileSize = mCifsAccess.getFileSize((String) it.next());
- if (fileSize <= 0) {
- return -1L;
- }
- j += fileSize;
- }
- mCifsAccess.disconnectStorage();
- mCifsAccess.free();
- return Long.valueOf(j);
- } finally {
- mCifsAccess.disconnectStorage();
- mCifsAccess.free();
- }
- }
- protected void onPostExecute(Long l) {
- if (l != null) {
- if (l.longValue() == 0) {
- ConfirmReadMemcard.this.localShowDialog(ConfirmReadMemcard.DIALOG_COPY_RESULT_CANCEL);
- } else if (l.longValue() < 0) {
- ConfirmReadMemcard.this.localShowDialog(ConfirmReadMemcard.DIALOG_COMMUNICATION_ERROR);
- } else {
- ConfirmReadMemcard.this.updateFileSize(l.longValue());
- }
- }
- ConfirmReadMemcard.mModelDialog.doDismiss(ConfirmReadMemcard.DIALOG_PROGRESS);
- }
- protected void onPreExecute() {
- ConfirmReadMemcard.mModelDialog.doShow(ConfirmReadMemcard.DIALOG_PROGRESS);
- }
- }
- class CheckAndNextActivityTask extends AsyncTask<Void, Void, Integer> {
- CheckAndNextActivityTask() {
- }
- protected Integer doInBackground(Void... voidArr) {
- if (ConfirmReadMemcard.mCopyTargetFolderName == null) {
- return 100;
- }
- if (isCancelled()) {
- return -1;
- }
- if (!ConfirmReadMemcard.this.checkFileSize()) {
- return 1;
- }
- if (isCancelled()) {
- return -1;
- }
- switch (EscprLibPrinter.checkIdleOrError(ConfirmReadMemcard.this, 60)) {
- case 1:
- return 11;
- case 2:
- return 10;
- default:
- new File(ConfirmReadMemcard.mCopyTargetFolderName).mkdir();
- return 0;
- }
- }
- protected void onCancelled() {
- ConfirmReadMemcard.mModelDialog.doDismiss(ConfirmReadMemcard.DIALOG_PROGRESS);
- }
- protected void onPostExecute(Integer num) {
- ConfirmReadMemcard.mModelDialog.doDismiss(ConfirmReadMemcard.DIALOG_PROGRESS);
- switch (num.intValue()) {
- case 0:
- ConfirmReadMemcard.this.startCopyActivity();
- return;
- case 1:
- ConfirmReadMemcard.this.localShowDialog(ConfirmReadMemcard.DIALOG_DISK_SPACE_SHORTAGE);
- return;
- case 10:
- ConfirmReadMemcard.this.localShowDialog(ConfirmReadMemcard.DIALOG_PRINTER_BUSY);
- return;
- case 11:
- ConfirmReadMemcard.this.localShowDialog(ConfirmReadMemcard.DIALOG_COMMUNICATION_ERROR);
- return;
- default:
- return;
- }
- }
- protected void onPreExecute() {
- ConfirmReadMemcard.mModelDialog.doShow(ConfirmReadMemcard.DIALOG_PROGRESS);
- if (ConfirmReadMemcard.mCopyTargetFolderName == null) {
- ConfirmReadMemcard.this.setTargetDirectory(MemcardConfig.DEFAULT_READER_LOCAL_DIRECTORY);
- }
- }
- }
- }
|