导航菜单

页面标题

页面副标题

Harvest v2.32 - HarvestDetailActivity.java 源代码

正在查看: Harvest v2.32 应用的 HarvestDetailActivity.java JAVA 源代码文件

本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。


package com.ufields.tracking;

import android.app.AlertDialog;
import android.app.Dialog;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Build;
import android.os.Bundle;
import android.os.Environment;
import android.text.TextUtils;
import android.util.Log;
import android.util.Patterns;
import android.view.View;
import android.view.ViewGroup;
import android.view.inputmethod.InputMethodManager;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.AppCompatButton;
import androidx.appcompat.widget.Toolbar;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.core.app.ActivityCompat;
import androidx.core.content.FileProvider;
import butterknife.BindView;
import butterknife.ButterKnife;
import com.google.android.material.snackbar.Snackbar;
import com.ufields.tracking.App.AppUtils;
import com.ufields.tracking.App.EndPoints;
import com.ufields.tracking.App.MyApplication;
import com.ufields.tracking.Databases.DeleteScanTracking;
import com.ufields.tracking.Databases.ExportScannedTracking;
import com.ufields.tracking.Databases.FailedScanTracking;
import com.ufields.tracking.Databases.PendingTracking;
import com.ufields.tracking.Databases.UpdatedScanTracking;
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.List;
import java.util.Locale;
import jxl.CellView;
import jxl.Workbook;
import jxl.WorkbookSettings;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
import jxl.write.biff.RowsExceededException;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.HttpPut;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicHeader;
import org.apache.http.params.HttpConnectionParams;
import org.json.JSONException;
import org.json.JSONObject;

public class HarvestDetailActivity extends AppCompatActivity {

    @BindView(R.id.createHarvestBtn)
    AppCompatButton createHarvestBtn;

    @BindView(R.id.datePicker)
    TextView datePickerTV;
    private DeleteScanTracking deleteScanTracking;

    @BindView(R.id.email_LL)
    LinearLayout email_LL;
    private ExportScannedTracking exportScannedTracking;
    private FailedScanTracking failedScanTracking;

    @BindView(R.id.harvestLOTTV)
    TextView harvestLOTTV;

    @BindView(R.id.harvestLotET)
    EditText harvestLotET;
    private Boolean isM4Traceability;

    @BindView(R.id.noteET)
    EditText noteET;
    private Dialog pDialog;
    private PendingTracking pendingTracking;
    private ProgressBar progressBar;
    private TextView setMessage;

    @BindView(R.id.containerToolbar)
    ConstraintLayout snack;

    @BindView(R.id.toolbar)
    Toolbar toolbar;
    private TextView toolbarTitle;
    private UpdatedScanTracking updatedScanTracking;

    protected void onCreate(Bundle bundle) {
        AppUtils.setConfigChange(this);
        super.onCreate(bundle);
        setContentView(R.layout.activity_harvest_detail);
        ButterKnife.bind(this);
        this.isM4Traceability = MyApplication.getInstance().getPrefManager().getIsTraceabilityAccess();
        setView();
        setOnClickListener();
    }

    private void setView() {
        this.toolbarTitle = (TextView) this.toolbar.findViewById(R.id.toolbarText);
        setSupportActionBar(this.toolbar);
        getSupportActionBar().setTitle("");
        this.toolbarTitle.setText(getResources().getString(R.string.harvest_detail));
        Dialog dialog = new Dialog(this);
        this.pDialog = dialog;
        dialog.setCanceledOnTouchOutside(false);
        this.pDialog.requestWindowFeature(1);
        this.pDialog.setContentView(R.layout.progress_dialog);
        this.pDialog.setTitle("");
        this.progressBar = (ProgressBar) this.pDialog.findViewById(R.id.progress);
        this.setMessage = (TextView) this.pDialog.findViewById(R.id.message);
        if (!this.isM4Traceability.booleanValue()) {
            this.harvestLOTTV.setVisibility(8);
            this.harvestLotET.setVisibility(8);
        }
        this.datePickerTV.setText(getIntent().getStringExtra("harvestDate"));
        this.harvestLotET.setText(getIntent().getStringExtra("harvestLot"));
        this.noteET.setText(getIntent().getStringExtra("harvestNotes"));
        this.pendingTracking = MyApplication.getInstance().getPendingTracking();
        this.exportScannedTracking = MyApplication.getInstance().getExportScannedTracking();
        this.failedScanTracking = MyApplication.getInstance().getFailedScanTracking();
        this.deleteScanTracking = MyApplication.getInstance().getDeletedScanTracking();
        this.updatedScanTracking = MyApplication.getInstance().getUpdatedScanTracking();
    }

    private void setOnClickListener() {
        ((ImageView) this.toolbar.findViewById(R.id.toolbarBack)).setOnClickListener(new View.OnClickListener() {
            @Override
            public final void onClick(View view) {
                HarvestDetailActivity.this.m32x61aa47be(view);
            }
        });
        this.email_LL.setOnClickListener(new View.OnClickListener() {
            @Override
            public final void onClick(View view) {
                HarvestDetailActivity.this.m33x2496b11d(view);
            }
        });
        this.createHarvestBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public final void onClick(View view) {
                HarvestDetailActivity.this.m34xe7831a7c(view);
            }
        });
    }

    void m32x61aa47be(View view) {
        finish();
    }

    void m33x2496b11d(View view) {
        isWriteStoragePermissionGranted();
    }

    void m34xe7831a7c(View view) {
        if (isNetworkAvailable()) {
            validationCheck();
        } else {
            Toast.makeText(getApplicationContext(), getResources().getString(R.string.internetconnectionproblem), 0).show();
        }
    }

    private void validationCheck() {
        String trim = this.harvestLotET.getText().toString().trim();
        if (!trim.isEmpty()) {
            new saveHarvest().execute(getIntent().getStringExtra("harvestId"), trim, this.noteET.getText().toString().trim());
            return;
        }
        Toast.makeText(getApplicationContext(), getResources().getString(R.string.pleaseEnterHarvstLotNumber), 0).show();
    }

    public class saveHarvest extends AsyncTask<String, Void, String> {
        String organizationId = "";

        public saveHarvest() {
        }

        @Override
        protected void onPreExecute() {
            HarvestDetailActivity.this.setMessage.setText(HarvestDetailActivity.this.getResources().getString(R.string.startnewharvest));
            HarvestDetailActivity.this.showDialog();
            try {
                this.organizationId = new JSONObject(MyApplication.getInstance().getPrefManager().getOrganizationEmployee().getOrganizationInfo()).getString("_id");
            } catch (JSONException e) {
                e.printStackTrace();
            }
        }

        @Override
        public String doInBackground(String... strArr) {
            DefaultHttpClient defaultHttpClient = new DefaultHttpClient();
            HttpConnectionParams.setConnectionTimeout(defaultHttpClient.getParams(), 1000);
            JSONObject jSONObject = new JSONObject();
            HttpPut httpPut = new HttpPut(EndPoints.START_NEW_HARVEST);
            InputStream inputStream = null;
            try {
                jSONObject.put("harvestId", strArr[0]);
                jSONObject.put("harvestLot", strArr[1]);
                jSONObject.put("notes", strArr[2]);
                StringEntity stringEntity = new StringEntity(jSONObject.toString());
                stringEntity.setContentType(new BasicHeader("Content-Type", "application/json"));
                httpPut.setEntity(stringEntity);
                HttpResponse execute = defaultHttpClient.execute(httpPut);
                if (execute != null) {
                    inputStream = execute.getEntity().getContent();
                }
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            } catch (ClientProtocolException e2) {
                e2.printStackTrace();
            } catch (IOException e3) {
                e3.printStackTrace();
            } catch (JSONException e4) {
                e4.printStackTrace();
            }
            return inputStream != null ? HarvestDetailActivity.this.convertStreamToString(inputStream) : "";
        }

        @Override
        public void onPostExecute(String str) {
            HarvestDetailActivity.this.hideDialog();
            if (!str.equals("")) {
                try {
                    JSONObject jSONObject = new JSONObject(str);
                    if (jSONObject.has("success") && !jSONObject.getBoolean("success")) {
                        HarvestDetailActivity harvestDetailActivity = HarvestDetailActivity.this;
                        harvestDetailActivity.showSnackBar(harvestDetailActivity.getResources().getString(R.string.harvestnotstartedsuccessfully));
                    } else {
                        Toast.makeText((Context) HarvestDetailActivity.this, (CharSequence) jSONObject.getString("message"), 0).show();
                        Intent intent = new Intent();
                        intent.putExtra("harvestLot", HarvestDetailActivity.this.harvestLotET.getText().toString().trim());
                        intent.putExtra("harvestNote", HarvestDetailActivity.this.noteET.getText().toString().trim());
                        HarvestDetailActivity.this.setResult(-1, intent);
                        HarvestDetailActivity.this.finish();
                    }
                    return;
                } catch (JSONException unused) {
                    HarvestDetailActivity harvestDetailActivity2 = HarvestDetailActivity.this;
                    harvestDetailActivity2.showSnackBar(harvestDetailActivity2.getResources().getString(R.string.somethingwentwrong));
                    return;
                }
            }
            HarvestDetailActivity harvestDetailActivity3 = HarvestDetailActivity.this;
            harvestDetailActivity3.showSnackBar(harvestDetailActivity3.getResources().getString(R.string.internetconnectionproblem));
        }
    }

    public void showDialog() {
        if (this.pDialog.isShowing()) {
            return;
        }
        this.progressBar.setVisibility(0);
        this.pDialog.show();
    }

    public void hideDialog() {
        if (!this.pDialog.isShowing() || this.pDialog == null) {
            return;
        }
        this.progressBar.setVisibility(4);
        try {
            this.pDialog.dismiss();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public void showSnackBar(String str) {
        Snackbar make = Snackbar.make(this.snack, str, 0);
        View view = make.getView();
        view.setBackgroundColor(Color.parseColor("#D0021B"));
        TextView textView = (TextView) view.findViewById(R.id.snackbar_text);
        textView.setGravity(17);
        textView.setTextColor(Color.parseColor("#FFFFFF"));
        textView.setAllCaps(true);
        make.show();
    }

    private boolean isNetworkAvailable() {
        NetworkInfo activeNetworkInfo = ((ConnectivityManager) getSystemService("connectivity")).getActiveNetworkInfo();
        return activeNetworkInfo != null && activeNetworkInfo.isConnected();
    }

    public String convertStreamToString(InputStream inputStream) {
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
        StringBuilder sb = new StringBuilder();
        while (true) {
            try {
                try {
                    try {
                        String readLine = bufferedReader.readLine();
                        if (readLine == null) {
                            break;
                        }
                        sb.append(readLine);
                        sb.append('\n');
                    } catch (IOException e) {
                        e.printStackTrace();
                        inputStream.close();
                    }
                } catch (Throwable th) {
                    try {
                        inputStream.close();
                    } catch (IOException e2) {
                        e2.printStackTrace();
                    }
                    throw th;
                }
            } catch (IOException e3) {
                e3.printStackTrace();
            }
        }
        inputStream.close();
        return sb.toString();
    }

    private void createExcelSheet() {
        File file;
        String str;
        int i;
        String str2;
        int i2;
        String str3;
        int i3;
        File file2;
        String str4;
        File file3;
        String str5;
        WritableWorkbook writableWorkbook;
        HarvestDetailActivity harvestDetailActivity = this;
        List allTracking = harvestDetailActivity.exportScannedTracking.getAllTracking(getCurrentDate(), getIntent().getStringExtra("harvestId"));
        List allFailedTracking = harvestDetailActivity.failedScanTracking.getAllFailedTracking(getCurrentDate(), getIntent().getStringExtra("harvestId"));
        List allUpdatedTracking = harvestDetailActivity.updatedScanTracking.getAllUpdatedTracking(getCurrentDate(), getIntent().getStringExtra("harvestId"));
        List allDeletedTracking = harvestDetailActivity.deleteScanTracking.getAllDeletedTracking(getCurrentDate(), getIntent().getStringExtra("harvestId"));
        Log.e("ListScanFinderFetch", "createExcelSheet:scanIds-> " + allTracking + "   failedScanIDs->  " + allFailedTracking + "   updatedScanIds-> " + allUpdatedTracking + "  deletedScanIds->  " + allDeletedTracking);
        if (allTracking.size() == 0 && allFailedTracking.size() == 0 && allUpdatedTracking.size() == 0 && allDeletedTracking.size() == 0) {
            harvestDetailActivity.showSnackBar(getResources().getString(R.string.nothingtoexport), "#D0021B");
            return;
        }
        if (Build.VERSION.SDK_INT >= 30) {
            file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS) + "/uFieldsData/");
        } else {
            file = new File(Environment.getExternalStorageDirectory() + "/uFieldsData/");
        }
        File file4 = new File(file, getCurrentDate() + "_" + getIntent().getStringExtra("harvestFieldName").split("\\(")[0].replace(" ", "_").trim() + ".xls");
        try {
            if (!file4.exists()) {
                file.mkdirs();
                file4.createNewFile();
            }
            WorkbookSettings workbookSettings = new WorkbookSettings();
            workbookSettings.setLocale(new Locale("en", "EN"));
            WritableWorkbook createWorkbook = Workbook.createWorkbook(file4, workbookSettings);
            WritableSheet createSheet = createWorkbook.createSheet("SCANS LOG", 0);
            try {
                try {
                    createSheet.addCell(new Label(0, 0, "Scan number"));
                    createSheet.addCell(new Label(1, 0, "Employee"));
                    createSheet.addCell(new Label(2, 0, "time"));
                    createSheet.addCell(new Label(3, 0, "package"));
                    createSheet.addCell(new Label(4, 0, "package qty"));
                    for (int i4 = 0; i4 < 5; i4++) {
                        try {
                            CellView columnView = createSheet.getColumnView(i4);
                            columnView.setAutosize(true);
                            createSheet.setColumnView(i4, columnView);
                        } catch (IOException unused) {
                            i3 = R.string.somethingwentwrong;
                            harvestDetailActivity = this;
                            str3 = "#D0021B";
                            harvestDetailActivity.showSnackBar(getResources().getString(i3), str3);
                        } catch (RowsExceededException unused2) {
                            i2 = R.string.somethingwentwrong;
                            harvestDetailActivity = this;
                            str2 = "#D0021B";
                            harvestDetailActivity.showSnackBar(getResources().getString(i2), str2);
                        } catch (WriteException unused3) {
                            i = R.string.somethingwentwrong;
                            harvestDetailActivity = this;
                            str = "#D0021B";
                            harvestDetailActivity.showSnackBar(getResources().getString(i), str);
                        }
                    }
                    int i5 = 0;
                    int i6 = 0;
                    while (true) {
                        file2 = file;
                        str4 = "packageQty";
                        file3 = file4;
                        str5 = "packageName";
                        writableWorkbook = createWorkbook;
                        if (i5 >= allTracking.size()) {
                            break;
                        }
                        List list = allFailedTracking;
                        JSONObject jSONObject = new JSONObject((String) allTracking.get(i5));
                        String string = jSONObject.getString("employeeName");
                        String string2 = jSONObject.getString("time");
                        String string3 = jSONObject.getString("packageName");
                        int i7 = jSONObject.getInt("packageQty");
                        i5++;
                        List list2 = allDeletedTracking;
                        List list3 = allUpdatedTracking;
                        createSheet.addCell(new Label(0, i5, String.valueOf(i5)));
                        createSheet.addCell(new Label(1, i5, string));
                        createSheet.addCell(new Label(2, i5, string2));
                        createSheet.addCell(new Label(3, i5, string3));
                        createSheet.addCell(new Label(4, i5, String.valueOf(i7)));
                        i6 += i7;
                        file = file2;
                        file4 = file3;
                        createWorkbook = writableWorkbook;
                        allDeletedTracking = list2;
                        allFailedTracking = list;
                        allUpdatedTracking = list3;
                    }
                    List list4 = allFailedTracking;
                    List list5 = allUpdatedTracking;
                    List list6 = allDeletedTracking;
                    createSheet.addCell(new Label(3, allTracking.size() + 2, "Total Scans"));
                    createSheet.addCell(new Label(4, allTracking.size() + 2, String.valueOf(i6)));
                    int size = allTracking.size() + 10;
                    createSheet.addCell(new Label(0, size - 2, "Modified Scans"));
                    createSheet.addCell(new Label(0, size, "Scan Number"));
                    createSheet.addCell(new Label(1, size, "Employee"));
                    createSheet.addCell(new Label(2, size, "time"));
                    createSheet.addCell(new Label(3, size, "package"));
                    createSheet.addCell(new Label(4, size, "package qty"));
                    int i8 = 0;
                    while (i8 < list5.size()) {
                        List list7 = list5;
                        JSONObject jSONObject2 = new JSONObject((String) list7.get(i8));
                        String string4 = jSONObject2.getString("employeeName");
                        String string5 = jSONObject2.getString("time");
                        String string6 = jSONObject2.getString(str5);
                        list5 = list7;
                        int i9 = jSONObject2.getInt("beforeQty");
                        String str6 = str4;
                        int i10 = jSONObject2.getInt("afterQty");
                        size++;
                        int i11 = i8 + 1;
                        String str7 = str5;
                        createSheet.addCell(new Label(0, size, String.valueOf(i11)));
                        createSheet.addCell(new Label(1, size, string4));
                        createSheet.addCell(new Label(2, size, string5));
                        createSheet.addCell(new Label(3, size, string6));
                        createSheet.addCell(new Label(4, size, i9 + "->" + i10));
                        str4 = str6;
                        str5 = str7;
                        i8 = i11;
                    }
                    String str8 = str4;
                    String str9 = str5;
                    int i12 = size + 10;
                    createSheet.addCell(new Label(0, i12 - 2, "Deleted Scans"));
                    createSheet.addCell(new Label(0, i12, "Scan Number"));
                    createSheet.addCell(new Label(1, i12, "Employee"));
                    createSheet.addCell(new Label(2, i12, "time"));
                    createSheet.addCell(new Label(3, i12, "package"));
                    createSheet.addCell(new Label(4, i12, "package qty"));
                    int i13 = 0;
                    while (i13 < list6.size()) {
                        List list8 = list6;
                        JSONObject jSONObject3 = new JSONObject((String) list8.get(i13));
                        String string7 = jSONObject3.getString("employeeName");
                        String string8 = jSONObject3.getString("time");
                        String str10 = str9;
                        String string9 = jSONObject3.getString(str10);
                        String str11 = str8;
                        int i14 = jSONObject3.getInt(str11);
                        i12++;
                        i13++;
                        createSheet.addCell(new Label(0, i12, String.valueOf(i13)));
                        createSheet.addCell(new Label(1, i12, string7));
                        createSheet.addCell(new Label(2, i12, string8));
                        createSheet.addCell(new Label(3, i12, string9));
                        createSheet.addCell(new Label(4, i12, String.valueOf(i14)));
                        list6 = list8;
                        str9 = str10;
                        str8 = str11;
                    }
                    int i15 = i12 + 10;
                    createSheet.addCell(new Label(0, i15, "Error log"));
                    createSheet.addCell(new Label(1, i15, "time"));
                    createSheet.addCell(new Label(2, i15, "Employee"));
                    createSheet.addCell(new Label(3, i15, "Reason"));
                    int i16 = 0;
                    while (i16 < list4.size()) {
                        List list9 = list4;
                        JSONObject jSONObject4 = new JSONObject((String) list9.get(i16));
                        String string10 = jSONObject4.getString("employee");
                        String string11 = jSONObject4.getString("time");
                        String string12 = jSONObject4.getString("reason");
                        i15++;
                        i16++;
                        createSheet.addCell(new Label(0, i15, String.valueOf(i16)));
                        createSheet.addCell(new Label(1, i15, string11));
                        createSheet.addCell(new Label(2, i15, string10));
                        createSheet.addCell(new Label(3, i15, string12));
                        list4 = list9;
                    }
                    writableWorkbook.write();
                    writableWorkbook.close();
                    harvestDetailActivity = this;
                    harvestDetailActivity.createDialog(file3, file2);
                } catch (JSONException unused4) {
                    harvestDetailActivity = this;
                    harvestDetailActivity.showSnackBar(getResources().getString(R.string.somethingwentwrong), "#D0021B");
                }
            } catch (IOException unused5) {
                harvestDetailActivity = this;
                str3 = "#D0021B";
                i3 = R.string.somethingwentwrong;
                harvestDetailActivity.showSnackBar(getResources().getString(i3), str3);
            } catch (RowsExceededException unused6) {
                harvestDetailActivity = this;
                str2 = "#D0021B";
                i2 = R.string.somethingwentwrong;
                harvestDetailActivity.showSnackBar(getResources().getString(i2), str2);
            } catch (WriteException unused7) {
                harvestDetailActivity = this;
                str = "#D0021B";
                i = R.string.somethingwentwrong;
                harvestDetailActivity.showSnackBar(getResources().getString(i), str);
            }
        } catch (IOException unused8) {
        } catch (RowsExceededException unused9) {
        } catch (WriteException unused10) {
        } catch (JSONException unused11) {
        }
    }

    private void createDialog(final File file, File file2) {
        AlertDialog.Builder builder = new AlertDialog.Builder(this, R.style.AlertDialogTheme);
        View inflate = getLayoutInflater().inflate(R.layout.dialoge_layout, (ViewGroup) null);
        builder.setView(inflate);
        builder.setCancelable(false);
        final AlertDialog create = builder.create();
        final EditText editText = (EditText) inflate.findViewById(R.id.edt_email);
        Button button = (Button) inflate.findViewById(R.id.buttonSend);
        Button button2 = (Button) inflate.findViewById(R.id.buttonDismiss);
        TextView textView = (TextView) inflate.findViewById(R.id.txtSaveFile);
        ((TextView) inflate.findViewById(R.id.headerTxt)).setText(R.string.sendTo);
        editText.setHint(R.string.email);
        button.setText(R.string.send);
        button2.setText(R.string.dismiss);
        textView.setText(R.string.saveFile);
        button2.setOnClickListener(new View.OnClickListener() {
            @Override
            public final void onClick(View view) {
                create.dismiss();
            }
        });
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public final void onClick(View view) {
                HarvestDetailActivity.this.m31lambda$createDialog$4$comufieldstrackingHarvestDetailActivity(editText, file, create, view);
            }
        });
        create.show();
    }

    void m31lambda$createDialog$4$comufieldstrackingHarvestDetailActivity(EditText editText, File file, AlertDialog alertDialog, View view) {
        String trim = editText.getText().toString().trim();
        if (TextUtils.isEmpty(trim)) {
            showSnackBar(getResources().getString(R.string.enterEmail), "#03184E");
        } else if (isValidEmail(trim)) {
            sendMail(trim.split(","), file);
            alertDialog.dismiss();
        } else {
            try {
                ((InputMethodManager) getSystemService("input_method")).hideSoftInputFromWindow(view.getWindowToken(), 0);
            } catch (Exception unused) {
            }
            showSnackBar(getResources().getString(R.string.mailNotValid), "#03184E");
        }
    }

    private boolean isValidEmail(String str) {
        boolean z = false;
        for (String str2 : str.split("[,]")) {
            z = Patterns.EMAIL_ADDRESS.matcher(str2.trim()).matches();
        }
        return z;
    }

    private void sendMail(String[] strArr, File file) {
        Uri uriForFile = FileProvider.getUriForFile(getApplicationContext(), getApplicationContext().getPackageName() + ".provider", file);
        Intent intent = new Intent("android.intent.action.SENDTO");
        intent.setData(Uri.parse("mailto:"));
        Intent intent2 = new Intent("android.intent.action.SEND");
        intent2.putExtra("android.intent.extra.EMAIL", strArr);
        intent2.putExtra("android.intent.extra.STREAM", uriForFile);
        intent2.putExtra("android.intent.extra.SUBJECT", getResources().getString(R.string.harvestExport));
        intent2.setSelector(intent);
        startActivity(Intent.createChooser(intent2, getResources().getString(R.string.sendEmail)));
    }

    public void isWriteStoragePermissionGranted() {
        if (Build.VERSION.SDK_INT >= 23 && Build.VERSION.SDK_INT < 33) {
            if (checkSelfPermission("android.permission.WRITE_EXTERNAL_STORAGE") == 0) {
                createExcelSheet();
                return;
            } else {
                ActivityCompat.requestPermissions(this, new String[]{"android.permission.WRITE_EXTERNAL_STORAGE"}, 2);
                return;
            }
        }
        createExcelSheet();
    }

    public void onRequestPermissionsResult(int i, String[] strArr, int[] iArr) {
        super.onRequestPermissionsResult(i, strArr, iArr);
        if (i == 2) {
            if (iArr[0] == 0) {
                createExcelSheet();
            } else {
                showSnackBar(getResources().getString(R.string.writepermissiondenied), "#D0021B");
            }
        }
    }

    private void showSnackBar(String str, String str2) {
        Snackbar make = Snackbar.make(this.snack, str, 500);
        View view = make.getView();
        view.setBackgroundColor(Color.parseColor(str2));
        TextView textView = (TextView) view.findViewById(R.id.snackbar_text);
        textView.setGravity(17);
        textView.setTextColor(Color.parseColor("#FFFFFF"));
        textView.setAllCaps(true);
        make.show();
    }

    private String getCurrentDate() {
        return new SimpleDateFormat("yyyy-MM-dd").format(Calendar.getInstance().getTime());
    }
}