123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203 |
- package epson.scan.activity;
- import android.content.Intent;
- import android.net.Uri;
- import android.os.Bundle;
- import android.text.Editable;
- import android.text.InputFilter;
- import android.text.TextWatcher;
- import android.view.View;
- import android.widget.Button;
- import android.widget.EditText;
- import android.widget.RadioGroup;
- import android.widget.TextView;
- import android.widget.Toast;
- import java.io.File;
- import java.util.ArrayList;
- import epson.common.Constants;
- import epson.common.ExternalFileUtils;
- import epson.print.ActivityIACommon;
- import epson.print.CommonDefine;
- import epson.print.R;
- import epson.print.ScanFileNumber;
- import epson.print.Util.EPLog;
- import epson.print.Util.Utils;
- import epson.print.fileBrower;
- import epson.provider.ScannedFileProvider;
- import epson.scan.lib.libHaru;
- import epson.server.utils.Define;
- import epson.server.utils.MyUtility;
- public class MailActivity extends ActivityIACommon implements View.OnClickListener, CommonDefine {
- private RadioGroup chooseFileType;
- private Button clearBtn;
- private int count;
- private Intent emailIntent;
- private File fileAttachment;
- private Long fileSizeInByte;
- private float fileSizeInKb;
- private EditText mFileName;
- private String mFileType = Constants.PDF_TYPE;
- private Button saveBtn;
- private ArrayList<String> saveFilePathArray = new ArrayList<>();
- private float totalFileSize = 0.0f;
- private Utils utils = new Utils();
- protected void onCreate(Bundle bundle) {
- super.onCreate(bundle);
- setContentView(R.layout.save_as);
- setActionBar(R.string.str_btn_mail, true);
- mFileName = (EditText) findViewById(R.id.save_as_dialog_file_name);
- mFileName.setFilters(new InputFilter[]{new InputFilter.LengthFilter(64)});
- mFileName.setOnFocusChangeListener(new View.OnFocusChangeListener() {
- public void onFocusChange(View view, boolean z) {
- if (!z) {
- mFileName.extendSelection(0);
- mFileName.setSelection(0);
- }
- }
- });
- chooseFileType = (RadioGroup) findViewById(R.id.file_type_for_save_as);
- saveBtn = (Button) findViewById(R.id.save_button);
- saveBtn.setText(R.string.str_btn_mail);
- saveBtn.setOnClickListener(this);
- clearBtn = (Button) findViewById(R.id.clear_mail_title_btn);
- clearBtn.setOnClickListener(this);
- chooseFileType.check(R.id.save_as_pdf_type);
- chooseFileType.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
- public void onCheckedChanged(RadioGroup radioGroup, int i) {
- switch (i) {
- case R.id.save_as_jpeg_type /*2131231434*/:
- String unused = mFileType = Constants.JPEG_TYPE;
- return;
- case R.id.save_as_pdf_type /*2131231435*/:
- String unused2 = mFileType = Constants.PDF_TYPE;
- return;
- default:
- return;
- }
- }
- });
- saveFilePathArray = getIntent().getStringArrayListExtra(Define.SAVING_FILE_PATH);
- count = ScanFileNumber.getCount(this);
- EditText editText = mFileName;
- editText.setText(getString(R.string.epson) + utils.editNumber(count));
- for (int i = 0; i < saveFilePathArray.size(); i++) {
- fileAttachment = new File(saveFilePathArray.get(i));
- fileSizeInByte = Long.valueOf(fileAttachment.length());
- fileSizeInKb = (float) (fileSizeInByte.longValue() / PlaybackStateCompat.ACTION_PLAY_FROM_MEDIA_ID);
- EPLog.i("Data", " " + fileSizeInKb);
- totalFileSize = totalFileSize + fileSizeInKb;
- }
- if (totalFileSize > 500.0f) {
- ((TextView) findViewById(R.id.save_as_file_size)).setText("" + MyUtility.mathRound((totalFileSize / 1024.0f), 2) + "MB");
- } else {
- ((TextView) findViewById(R.id.save_as_file_size)).setText("" + MyUtility.mathRound(totalFileSize, 2) + "KB");
- }
- if (mFileName.getText().toString().length() > 0) {
- clearBtn.setVisibility(View.VISIBLE);
- }
- mFileName.addTextChangedListener(new TextWatcher() {
- public void beforeTextChanged(CharSequence charSequence, int i, int i2, int i3) {
- }
- public void onTextChanged(CharSequence charSequence, int i, int i2, int i3) {
- }
- public void afterTextChanged(Editable editable) {
- if (mFileName.getText().toString().equals("")) {
- clearBtn.setVisibility(View.GONE);
- saveBtn.setEnabled(false);
- return;
- }
- clearBtn.setVisibility(View.VISIBLE);
- saveBtn.setEnabled(true);
- }
- });
- }
- public void onClick(View view) {
- String str;
- boolean z;
- int id = view.getId();
- if (id != R.id.clear_mail_title_btn) {
- if (id == R.id.save_button) {
- if (!fileBrower.isAvailableFileName(mFileName.getText().toString())) {
- Toast.makeText(getApplicationContext(), R.string.str_error_Filename, 1).show();
- return;
- }
- saveBtn.setEnabled(false);
- if (mFileType.equals(Constants.PDF_TYPE)) {
- str = mFileName.getText().toString();
- z = false;
- } else {
- String obj = mFileName.getText().toString();
- if (!obj.equals("EPSON" + utils.editNumber(count))) {
- str = mFileName.getText().toString();
- z = true;
- } else if (saveFilePathArray.size() == 1) {
- str = mFileName.getText().toString();
- z = false;
- } else {
- str = "EPSON";
- z = false;
- }
- }
- try {
- if (mFileType.equals(Constants.PDF_TYPE)) {
- libHaru libharu = new libHaru();
- String scannedImageDir = ExternalFileUtils.getInstance(this).getScannedImageDir();
- String path = new File(scannedImageDir, str + CommonDefine.FileType_PDF).getPath();
- libharu.createPDF(saveFilePathArray, path);
- emailIntent = new Intent("android.intent.action.SEND");
- fileAttachment = new File(path);
- Uri uriForFile = ScannedFileProvider.getUriForFile(this, fileAttachment);
- emailIntent = new Intent("android.intent.action.SEND");
- emailIntent.putExtra("android.intent.extra.STREAM", uriForFile);
- } else if (mFileType.equals(Constants.JPEG_TYPE)) {
- ArrayList arrayList = new ArrayList();
- emailIntent = new Intent("android.intent.action.SEND_MULTIPLE");
- int i = count;
- ExternalFileUtils.getInstance(this).createTempFolder(ExternalFileUtils.getInstance(this).getScannedImageDir());
- if (saveFilePathArray.size() == 1) {
- fileAttachment = MyUtility.createTempFile(this, saveFilePathArray.get(0), str + ".jpg");
- arrayList.add(ScannedFileProvider.getUriForFile(this, fileAttachment));
- } else {
- if (z) {
- i = 1;
- }
- for (int i2 = 0; i2 < saveFilePathArray.size(); i2++) {
- fileAttachment = MyUtility.createTempFile(this, saveFilePathArray.get(i2), str + utils.editNumber(i) + ".jpg");
- i++;
- arrayList.add(ScannedFileProvider.getUriForFile(this, fileAttachment));
- }
- }
- emailIntent.putParcelableArrayListExtra("android.intent.extra.STREAM", arrayList);
- }
- emailIntent.setType("message/rfc822");
- emailIntent.putExtra("android.intent.extra.SUBJECT", getString(R.string.app_name));
- emailIntent.putExtra("android.intent.extra.TEXT", getString(R.string.using_Epson_iPrint));
- startActivityForResult(Intent.createChooser(emailIntent, "Send mail..."), 1);
- return;
- } catch (Exception e) {
- e.printStackTrace();
- }
- } else {
- return;
- }
- }
- mFileName.setText("");
- }
- protected void onActivityResult(int i, int i2, Intent intent) {
- super.onActivityResult(i, i2, intent);
- if (i == 1 && i2 == 0) {
- setResult(-1);
- finish();
- }
- saveBtn.setEnabled(true);
- }
- }
|